The JointlyGet statement enables an entity to obtain a resource. The JointlyGet performs the same function as the Get except when capturing multiple resources — no resource is captured until all required are available. The capability of this statement make it the preferred method of capturing single or multiple resources, because it fulfills the need 99% of the time. In addition, waiting to capture any resource until all are available helps to reduce resource waiting time (the resource isn’t working but is held for another resource to become free.)
JOINTLYGET [ quantity ] resource, [ priority ]
JOINTLYGET [ quantity ] resource, [ priority ] AND [ quantity ] resource, [ priority ]
JOINTLYGET [ quantity ] resource, [ priority ] OR [ quantity ] resource, [ priority]
[quantity] Optionally specify the number of units of the resource that you want to capture. (The square brackets illustrate only that this element is optional.)
- By default, quantity is equal to one unit of the resource.
resource The name of the resource you want to capture.
AND Used to capture more than one resource once they all become available. To capture multiple resources as each one becomes available, use the GET statement.
OR Used to capture one resource or the other. Useful for situations where one of several resources could be used to accomplish the same thing.
[priority] You can optionally specify the priority level to get the resource (0-999). The higher the number, the higher priority. (The square brackets illustrate only that this element is optional.)
The following examples demonstrate the use of the JOINTLYGET statement. The first shows a simple request for a resource called Operator and a resource called Helper. The second tests the a_ Size attribute to determine whether or not the Operator needs two Helper resources. The third example requests the Operator and three units of the resource called Helper. If three helpers are not available, the statement may get two operators and two helpers.
1) JOINTLYGET Operator AND Helper
2) IF a_Size > 10 THEN JOINTLYGET Operator AND 2 Helper
3) JOINTLYGET (Operator AND 3 Helper) OR (2 Operator AND 2 Helper)