3.4 Step Transition System of APN nets
4.1.2 Structure and Functioning of Control System
The necessity to describe and explain both the elements and the functioning of the control system arises from the simulation demonstrated in the example above. Hence, the control system (CS) of a unidirectional step could be described as a component of the building block that consists of:
• the control place (pc),
• the database places (Pd),
• the response places (Pr) and
• transitions whose pre- and post-places are either control, database or re- sponse places.
The control place (pc) is used to control the corresponding place of the step (i.e.,
the post-place of the transition of the step). In other words, there is a one-to-one correspondence between the control places and the post-places of transition of the steps. The control place is also used for the depositing of tokens reflecting in that way the detection of the user’s action. The detection of a user’s action prompts the system to give the proper response to the user. It is important to note that each control system has only one control place.
The database places (Pd) store all the useful information about the configu-
ration of the system in form of tokens. For instance, after firing a transition that has as pre-places the control place and a database place, the system can respond to the user’s action according to the information that is given through the token that resides in the control place. For example, in Figure 4.2(b), if we assume that a black token is stored in the control place, in this example p7, then the system
will check the colour of the token, will also check its database places, and will then execute the transition that is enabled giving the proper advice to the user. In this case, the system realises that the colour of the token is black, checks the
4.1 Step-Modelling Approach
database place p9 (where the information about the black token is located) and
finds out that the user associated with the black token must be provided with the information that is indicated by the post-place p11 of the executed transition t7.
The response places (Pr) usually represent the advice that is given to the user
through the output devices of the system (public displays, private displays, etc.). An example of a response place is place p11, as was mentioned earlier.
The number of the response and database places of a control system is de- termined by the number of different advices that the system can provide with respect to the number of different options that a user has after making an action, which is described by the associated step. For instance, lets assume that the first step of Figure 4.3 represents a car that moves from the entrance of the garage (p1) to another position (p2). Lets also assume that when a car arrives at p2,
it can only go forward. Then the system will only have a database place that includes all the users and a response place that shows the same advice to all of them. Continuing with the second step of Figure 4.3, we assume that at place p6 each user has two options (go left or forward). Thus, if a (black) user is at
place p6, then the system should provide the correct advice regardless of what
the choice of the user will be after that advice. In this example, the system has allocated a parking spot to the black user and depending on where that parking place is (according to the topology of the garage), it gives directions to the user. Hence, being at place p6, the system should advise the user to go towards the
appropriate direction, by executing transition t7. However, as is explained by
our definition of the ambient systems (see section 2.1.1), a user always has the initiative, which means that he is not obliged to follow the advice of the system. On the other hand, the system always has to provide the correct information to the user. Regarding the advice that is given to the user through the response places of the control system, it should be noticed that the labels of these places represent the nature of the advice (e.g. instructions like forward, backward, right or left can be represented by the respective labels in case of a guidance system). Finally, the absence or presence of tokens in these places indicates whether the advice has been given or not.
It should be mentioned that the different response or database places cannot be merged into one response or database place per control system respectively. This happens due to the fact that the different colours of tokens that reside into those places of the control system do not represent the data that corresponds to the advices given by the system but to the IDs of the users that are related to those advices. Furthermore, the several response and database places of the dif- ferent unidirectional steps are used to capture the update of the data at different instances of the system’s functioning. For example, a token that is hosted in any response or database places of the net always represents the ID of a particular user, but according to in which response or database place it resides, the system
4.1 Step-Modelling Approach
provides the respective advice showing in that way that the data and the advices are updated after each user’s action. Therefore, merging these places and using the colours of tokens to represent the advices of the system instead of having different places to represent them would not effectively reflect the update of the data as the colours of tokens would be always linked to particular advices during the operation of the system.
To complete the description of the control system, we explain the role of its transitions. There exist two types of transitions: the retrieve transitions (Tr)
and the emptying transitions (Tem). The retrieve transitions have as pre-places
the response places and as post-places the database places. These transitions are used to refill the database places with those tokens that have been removed from those places recently. The importance of the ‘refill’ process lies in the fact that the database places could be used more than once by a user if that user wants to repeat the same action in the future1. On the other hand, the emptying transitions have as pre-places the database places and the control place and as post-places the response places. The emptying transitions are responsible for the advice that is given to the user as their firing results in the depositing of tokens into the response places. Furthermore, the emptying transitions control the state of the control places, and by extension, the state of the next step transition, i.e., t ∈ TST. For example, this means that if an advice has not been given to a user,
due to the fact that the system has not responded to a user’s action yet (i.e., the respective emptying transition has not been executed), the user is not allowed to proceed to another task (because a token still resides in the control place) till he gets the advice, ‘controlling’ in that way (via the colour-sensitive inhibitor arc) the interaction.
Another important issue is the colour-sensitive inhibitor arc, the formal defi- nition of which is given in section3.3. Here, we simply describe the usefulness of the colour-sensitive inhibitor arc for the APN models, and the difference between that arc and the ordinary inhibitor arc [32]. The colour-sensitive inhibitor arc ‘prevents’ a user from taking the next action before the response of the system for his current one. We could say that this restriction (presence of colour-sensitive inhibitor arc in a model) synchronises the system’s actions with those of the user (the user acts and the system reacts). The difference between the colour-sensitive inhibitor arc and the ordinary inhibitor arc is that a colour-sensitive inhibitor arc permits the firing of a transition for all the data types (colours) of the tokens except for those that reside in the inhibitor places of the transition. The example 1It should be noted that the retrieve transitions are not used to depict the update of data. The data is always the same for each unidirectional step. The update of data is represented by the use of the different unidirectional steps, which carry the appropriate information for each user’s action at a particular time. Thus, a delayed execution of a retrieve transition does not affect the next action of a user.