Sync Objects (SYNC)

Sync objects help coordinate the processing of multiple executable objects. They are load-based synchronization mechanisms that allow you to assign logical resources to certain processes based on how much they consume and then regulate the process flow by consuming and releasing these resources. You use them to define states, status transitions actions and values, and assign them later to other objects.

Object Definition

Overview

Sync objects help you deal with cases like these:

These are but one example of external dependencies among processes that you probably face. Sync objects allow you to assign virtual resources to each process. At runtime, resources are reserved and, therefore, no longer available. When the task completes, the resources are released and made available to the next task, which can then execute.

In a Sync object you define states that depict the stages of your processes. You link these states to particular actions and define further follow-up states and actions to build the conditions that control when and how executable objects will be processed. Additionally, you can (but must not) assign values to those actions that help fine-tune those conditions.

You then assign the Sync object to the executable objects you want to control this way. You can assign a Sync object to as many other objects as you need. As soon as the executable objects are activated, the system checks what is the current state of the Sync object and, depending on the action (and value, if set) assigned to that state, the executable object is processed or not.

Sync objects created in client 0 are available for all clients.

Defining Sync Objects

The steps for defining Sync objects (SYNC) are the same as for any other Automic object. This section describes the settings that are specific to only Sync objects.

A Sync object definition is made up of the following pages:

To Define a Sync Object

Basically, you first define the start state of a Sync object and determine what should be its subsequent state in case the first one is reached. You associate states first to values and then to actions, thus establishing the dependencies you need.

  1. In the State Definition section define the states that can be assumed by the Sync object.
    1. Enter a state in the first input field.
    2. Optionally, enter a short description that helps you recognize the purpose of this state when you later on assign this object.
    3. Click the Add button to insert the state in the list below.
    4. If you want to edit this entry, click it to expand it in edit mode.

      XXX

      Make your changes and click the icons on the right hand side to either confirm or cancel your changes, or to remove the entry from the list.

  2. Optionally, assign values to the states in the Default/Current Settings section. The execution of the actions you define below will then depend on the values assigned to the states.

    1. Select an entry from the State dropdown list; it contains all the states you added in the previous section.
    2. Use the spin button or type to enter the Value you want to assign to the selected state.
    3. Click the Refresh button to display the current state and value of the Sync object.
  3. In the Action Definition section you define the actions that can be called by an executable object and establish dependencies that determine when they can be called.
    1. Click on the first row of the Action Name column and type the name of the action. Make sure that you use short, descriptive names that you can easily recognize when assigning the Sync object to other objects.
    2. In the State column choose the state that the Sync object must have for this action to be executed.
    3. In the Value column you can (but must not) assign a value to this combination of action and state.

      Open the dropdown list to select a comparison operator and specify the value

    4. In Change State to specify what should happen if the action reaches the state and value you have just entered. To do so, select a status from the dropdown list.
    5. Again, assign a value to this combination of action and state.
    6. Save the object.

      You can now assign it to other executable objects on their General>Sync page.

See also: