Information Technology Reference
In-Depth Information
= df C i ∈C ON C i ,inafirst
step every action of a class C i is translated into an action of an action system.
During this step, method calls are transformed into function calls of action sys-
tems. Because a function call in an action system needs to statically specify the
target action system name and the function name, i.e. looks like ActionSystem-
Name . FunctionName (...), and the name of the target object (action system) is
not known until runtime, the translation needs to split the method call into a
non-deterministic choice over calls to all possible action systems (objects) created
for the target type. Notice that an implementation may do this more eciently:
here we only show how an object-oriented action system could be directly spec-
ified using the action system syntax. Also notice that during the transformation
of an object-oriented action system all named actions and methods get renamed
so that the names are unique.
In a second step, each single class C i of an object-oriented action system is
translated into an action system: for the class C i itself and for each object of C i
an action system is constructed. Remember that the methods have already been
translated in the previous step. All action systems that were built in this step are
then parallel composed and form the action system A ( C i ) describing class C i .
Finally composing all action systems A ( C i ) as specified in the system assembly
block completes the mapping of the object-oriented action system OO to an
action system A ( OO ).
After generating the set of all object names
ON
3.3 Prioritizing Composition
Given two actions S 1 and S 2 , then the prioritizing composition S 1 // S 2 can be
re-written using non-deterministic choice and the enabledness guard as follows
(cf. Table 1).
g.S 1 : S 2 end)
Hence, in case the enabledness guard of action S 1 does not hold, the system
will deterministically choose action S 2 provided S 2 is enabled. However, if S 1 is
enabled, the system will only choose S 1 because action S 2 is guarded by
S 1 // S 2
S 1
(requires
¬
g.S 1 .
When prioritizing composition is applied to action systems AS 1 and AS 2 (as
in the SAB), it is defined such that priority is given to the actions of AS 1 over
the actions of AS 2 . As an example, the prioritized composition AS 1 // AS 2 of
two action systems
¬
AS 1 =
[ var X : T 1 = I 0 ;
do A 1
|
A 1
m
: u 1
...
od ]
|
AS 2 =
[ var Z : T 2 = I 0 ;
do A 1
|
A 2
n
: u 2
...
od ]
|
yields AS 1 // 2 :
A 1 // 2 =
[ var X : T 1 = I 0 ; Z : T 2 = I 0 ;
do ( A 1
|
A 1
m
...
)
 
Search WWH ::




Custom Search