The existing semantics that are proposed in the litera-
ture for SD are of two categories (Zolt
´
an and H
´
el
`
ene,
2011): the semantics of the first category are compo-
sitional ((Cengarle and Alexander, 2004), (Knapp and
Wuttke, 2006), (øystein Haugen et al., 2005), (Harald,
2003), (Eichner et al., 2005), (Youcef, 2006), (Fer-
nandes et al., 2007), (Shen et al., 2008)) such that they
proceed to the parsing of the SD with CF into several
basic SDs, then the semantics of an SD is mechani-
cally built from the semantics of its constituent. The
constituents are ordered and combined by the weak
sequencing operator. In these semantics the guards
are implicitly evaluated, hence several hidden issues
are not treated explicitly.
In the semantics of the second category ((Cavarra
and Filipe, 2004), (Juliana, 2006), (Harel and Maoz,
2008)), the SD is treated as a whole, and guards
are explicitly evaluated. However some of them ap-
ply syntactic restrictions to avoid many inconsisten-
cies. For instance, in the approach of (øystein Hau-
gen et al., 2005), the guards are handled as local con-
straints. Contrarily to our approach their semantics
allows non-local choices. However, it is not specified
how to handle constraints if several guards are true
simultaneously. In the works of (Cavarra and Filipe,
2004), (Juliana, 2006), (Shen et al., 2008), each life-
line can make its choice independently, however they
impose an ordered guard evaluation of the operands
(from top to bottom, and the first one evaluated as true
be chosen). In (Eichner et al., 2005), the authors use
a black box semantics to interpret CF, that consists to
consider the CF as an atomic event, thus the behaviour
of a CF does not interfere with the behaviours out-
side the CF. In some works, the authors adopt a non-
standard interpretation of the ALT and the LOOP CF.
In (Youcef, 2006), (Huszerl et al., 2008), (Cavarra and
Filipe, 2004), (Maoz et al., 2011), the authors trans-
form the ALT CF into an IF − T HEN − ELSE con-
struct, hence there is no problem of synchronization
between the lifelines; moreover they do not consider
LOOP operand with guard that requires a special pro-
cessing. In (Group, 2005), the authors define a deter-
ministic ALT. In (Youcef, 2006), the authors use strict
sequencing rather than weak for the LOOP CF to avoid
a pathological case of divergence in LOOP combina-
tion when using asynchronous communication. Simi-
larly, in (Knapp and Wuttke, 2006), the authors define
a new CF SLOOP that enforces strict sequencing be-
tween the iterations. Hence a synchronization on en-
tering and exiting CF is imposed. In (Juliana, 2006),
the proposed approach considers a smaller number of
CF (ALT, PAR, SEQ, and state invariants). The authors
did not deal with synchronization issue and they did
not consider the LOOP CF that requires a special pro-
cessing for the definition of preceding events of each
event. In our approach, we interpret the LOOP and
ALT CF as in the standard semantics, differently of
the interpretation in the structured programming lan-
guages. We deal with ALT CF having several true
guards simultaneously and we deal with guarded loop
CF. The guard evaluation is explicit. For an ALT CF
the guard evaluation is done in one step to ensure that
only one of the operands is chosen.
7 CONCLUSION
The causal semantics that we have proposed in our
previous work (Dhaou et al., 2017), the meaning of
SD with nested CF (ALT, OPT, LOOP) modelling be-
haviours of distributed systems is unambiguously in-
terpreted using the partial order relations. The prece-
dence relations allow to compute all possible valid
traces for SDs with nested CF that model behaviours
of distributed systems, by avoiding the parsing of SD
equipped with (ALT, OPT, LOOP) CF, hence the com-
pact syntactic representation is preserved. The pro-
posed semantics can serves as basis for the derivation
of traces of UML2.X SD, as well as for the definition
of an operational semantics that facilitates the analy-
sis of the SD.
In this paper we extended our semantics to cover
an important aspect that is the guard evaluation and
it consequences. This aspect is tackled with different
manners by the existing semantics that are not usually
appropriate in our context where the components are
distributed. We are developing a plug-in for autom-
atizing the computation of precedence relationships
between the events of SD with nested CF. We plan to
implement the semantics above in Event-B (Abrial,
1996), (Butler, 2008) to enable rigorous model analy-
sis, the checking of the correctness of the model and
some properties using the formal techniques of Event-
B and its various tools Rodin: with a theorem-prover,
and with ProB model-checker.
REFERENCES
Abrial, J.-R. (1996). The B Book. Cambridge University
Press.
Aredo, D. B. (2002). A framework for semantics of uml se-
quence diagrams. in PVS Journal of Universal Com-
puter Science (JUCS), pages 674–697.
Butler, M. (2008). Incremental design of distributed sys-
tems with event-b. Lecture Notes in Marktoberdorf
Summer School.
Cavarra, A. and Filipe, J. K. (2004). Formalizing liveness-
enriched sequence diagrams using asms. In Abstract
Guard Evaluation and Synchronization Issues in Causal Semantics for UML2.X Sequence Diagrams
281