signer. The majority of the existing approaches, (Har-
ald, 2003), (Lu and Kim., 2011), (øystein Haugen
et al., 2005), of the second category, required the com-
putation of positive and negative traces sets, but they
are based on rules of standard semantics. Hence, they
do not permit the computation of all possible traces
for SD that models a distributed system. i.e they are
not suitable for such system. In addition, they did
not distinguish between mandatory and possible be-
haviours which can lead to the loss of some manda-
tory behaviours when refining SD; they also ignore
guard conditions. Our approach is more appropriate
and safe for distributed systems, because, it is based
on an operational semantics permitting to avoid the
shortcomings of trace semantics that are related to
the factorial complexity of the computation of traces.
In (øystein Haugen et al., 2005), the authors define
new operator XALT (not yet standardized by OMG)
that permits to express mandatory choices. When re-
fining SD, their approach permitted the loss of alter-
natives expressed by ALT CF when they didn’t permit
the loss of any alternative expressed by XALT opera-
tor. They defined three types of refinement: i) supple-
menting that consists in categorizing inconclusive be-
haviours as either positive or negative; ii) narrowing
that consists to reduce possible behaviours; iii) de-
tailing that permits to increase the granularity of se-
quence diagram. In the work of (Lu and Kim., 2011),
required behaviours are expressed by ALT CF; the au-
thors defined a new semantics by extending the def-
inition of trace by including the guard condition as
an essential element. This extension is mainly made
in order to preserve ALT branches when the SD is re-
fined. In our point of view, this definition is not intu-
itive because the guard is systematically lost when a
trace is generated.
With our operational semantics (Dhaou et al.,
2015), guards are supported intuitively by preserv-
ing the standard definition of trace. Although, in
their works (Lu and Kim., 2011), (øystein Haugen
et al., 2005), the authors claimed that their approach
supports, in addition to the semantic refinement, the
structural one, in the formalized refinement relation,
new labels are hidden without making any prelimi-
nary verification. This leads to many inconsistencies
that can not be detected. For instance, in case of hori-
zontal refinement, two child lifelines of distinct parent
lifelines can exchange new events which is prohibited.
In our refinement relation an explicit mapping be-
tween abstract and refined labels is defined and per-
mits to avoid such inconsistencies.
7 CONCLUSION
This work deals with refinement of SDs that, espe-
cially, model behaviours of distributed systems. To
overcome the limitations of existing approaches, our
proposed approach has the following advantages:
• it considers both structural and semantic refine-
ments of SD: i) by defining clearly rules that gov-
ern a correct structural refinement guiding the de-
signer; ii) by proposing an intuitive and coherent
method for the formalization of refinement rela-
tion. This latter possesses the necessary proper-
ties favorable to an incremental development like
transitivity; it permits the addition of new labels in
the refined SD. It is substitutive since it supports
the renaming of labels; which is a desired prop-
erty in case of reuse of SD and their instantiation,
• it permits to reduce the set of possible abstract
traces in the refined SD, while the required ones,
expressed by ALT CF, are preserved,
• we deal correctly with the guards (of ALT, OPT
and LOOP CF) as well as their refinement,
• our approach is not linked with a target formal-
ism chosen for the implementation. The imple-
mentation processing in Event-B for correction of
refinement relation is generic.
We are extending our proposal to consider SD
with some CF that are particularly important for dis-
tributed systems like parallel operator and co-regions,
as well as time features and nested CF.
REFERENCES
Dhaou, F., Mouakher, I., Attiogb
´
e, C., and Bsaies, K.
(2015). Extending Causal Semantics of UML2.0 Se-
quence Diagram for Distributed Systems. ICSOFT-EA
2015 - Proceedings of the 10th International Confer-
ence on Software Engineering and Applications, Col-
mar, Alsace, France, pages 339–347.
Fischbein, D., Uchitel, S., and Braberman, V. (2006). A
Foundation for Behavioural Conformance in Software
Product Line Architectures. pages 39–48.
Harald, S. (2003). Semantics of Interactions in UML 2.0.
In HCC, pages 129–136.
Kruger, I. H. (2000). Distributed System Design with Mes-
sage Sequence Charts.
Leuschel, Michael and Butler, Michael (2005). Automatic
Refinement Checking for B. In Lau, Kung-Kiu and
Banach, Richard, editor, Formal Methods and Soft-
ware Engineering, volume 3785 of Lecture Notes in
Computer Science, pages 345–359. Springer Berlin /
Heidelberg.
Lu, L. and Kim., D.-K. (2011). Required Behavior of
Sequence Diagrams: Semantics and Refinement. In
Refinement of UML2.0 Sequence Diagrams for Distributed Systems
317