Instances

An Instance is the concrete object of a Primitive. Such set of Instances can be declared by the user and do not share any data other than the definition of their attributes.

Location

As an example, two Instances of Location could be initiated out of the Primitive Location:

Location goodsPallet
    type = "pallet"
    name = "productionArea_palletPlace"
End

Location warehousePos1
    type = "pallet"
    name = "warehouseArea_pos1"
End

The Instance goodsPallet has two member variables, a type and a value. The type attribute states what item is located there and the value the logical name of this location. Speaking of the example introduced in the introduction, the formerly shown Location Instances each define a specific location inside the two areas.

Example instance Figure 1: Floor plan with Locations goodsPallet and warehousePos1

The figure shows those locations inside the two areas Warehouse and Production.

Event

The Instances of an Event and Time Primitive could be defined as following:

Event agvLoadedAtGoodsPallet
    type = "Boolean"
    name = "LightBarrier"
End

Event agvLoadedAtWarehousePos1
    type = "Boolean"
    name = "LightBarrier"
End

Time

Scheduling tasks can be easily done via time-based job scheduler in Unix-like computer operating systems. The following explanation is taken from Cron.

# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday;
# │ │ │ │ │                                   7 is also Sunday on some systems)
# │ │ │ │ │
# │ │ │ │ │
# * * * * * <command to execute>

The following example schedules an event each morning at 8:30am.

Time morningBreak
    timing = "30 08 * * *"  # Cron format
End

Constraint

Constraints can be used for example in scheduling to have an additional variable which flows into optimization. In this example the cost of a transport, e.g. by an AGV, needs to be less equal than 100.

Constraint costs
    type = "Integer"
End

Syntax: The syntax of Primitives introduced here is complemented by assigning values to the attributes. These values must be enclosed by ". The name has to start with a lowercase character. Each attribute also needs to be prefixed with four spaces (or a \t).