nakakis, 1999; Alur et al., 2005) formalize MSC us-
ing automata. They examine different cases of MSC
verification of temporal properties and present tech-
niques for iteratively specifying requirements (Alur
et al., 2003). They focus on MSC Graph, which
is an aggregation of MSCs. We extend their work
to encompass more complicated aggregations using
CFs. Peled et al. perform intensive research on the
verification of MSCs (Muscholl et al., 1998; Gunter
et al., 2001), in particular, they present an extension
of the High-Level MSC (Peled, 2000). They spec-
ify MSC properties in temporal logic and check for
safety and liveness properties. Leue et al. translate
the MSC specification, especially branching and iter-
ation of High-Level MSC, into PROMELA to verify
MSCs using the XSPIN tool (Leue and Ladkin, 1996).
As Sequence Diagrams have similar expressive fea-
tures, our technique can be extended to work with
their approach. Kugler et al. improve the technique
of smart play-out, which is used to model check LSCs
to avoid violations over computations (Kugler et al.,
2009). Walkinshaw and Bogdanov (Walkinshaw and
Bogdanov, 2008) detail an inference technique to con-
strain a finite-state model with LTL. These constraints
reduce the number of traces required as input to a
model checker for discovery of safety counter exam-
ples. Our work can automatically model check each
Sequence Diagram of a system against LTL properties
separately, which helps to alleviate the state explosion
problem.
Micskei and Waeselynck survey comprehensively
formal semantics proposed for Sequence Diagrams by
13 groups and present the different semantic options
(Micskei and Waeselynck, 2011). In these groups,
Knapp and Wuttke present an operational seman-
tics for a translation of an Interaction into automata,
which is used to model check UML state machines
with SPIN or UPPAAL (Knapp and Wuttke, 2006).
Their approach does not support all CFs and the in-
terpretation of automata restricts the specification of
Interaction Constraints. Haugen et al. present the for-
mal semantics of UML 2 Sequence Diagram through
an approach named STAIRS (Haugen et al., 2005).
STAIRS provides a trace-based representation for a
subset of CFs, focusing on the refinement for Interac-
tions. To relate state-based behaviors with scenario-
based descriptions, Bontemps et al. formally study
the problem of scenario checking, synthesis, and ver-
ification of the LSC (Bontemps et al., 2005). Their
work focuses on providing an algorithm and proving
the complexityfor each problem. Uchitel et al. (Uchi-
tel et al., 2003) synthesize a behavioral specification
in the form of a Finite Sequential Process, which can
be checked using their labeled transition system ana-
lyzer. With the semantic definition of Uchitel et al.,
Damas et al. synthesize a labeled transition system
model from both positive and negative scenarios, ex-
pressed in MSC (Damas et al., 2005).
7 CONCLUSIONS
In this paper, we present an approach to transform
Sequence Diagrams and all CFs into NuSMV mod-
els. This enables software engineers to verify if a Se-
quence Diagram satisfies desired properties and visu-
alize counterexamples as Sequence Diagrams to help
user locate violations. We supplement our technique
with a proof-of-concept tool suite and perform an
evaluation using a case study of an industry web ap-
plication. We believe our approach can be adapted to
model check MSCs and High-Level MSCs.
ACKNOWLEDGEMENTS
Jianwei Niu is supported in part by NSF award CNS-
0964710.
REFERENCES
Alawneh, L., Debbabi, M., Hassaine, F., Jarraya, Y., and
Soeanu, A. (2006). A unified approach for verifica-
tion and validation of systems and software engineer-
ing models. In ECBS 2006, pages 409–418.
Alur, R., Etessami, K., and Yannakakis, M. (2003). Infer-
ence of Message Sequence Charts. TSE, 29(7):623–
633.
Alur, R., Etessami, K., and Yannakakis, M. (2005). Real-
izability and verification of MSC graphs. Theoretical
Computer Science, 331(1):97–114.
Alur, R. and Yannakakis, M. (1999). Model checking
of Message Sequence Charts. In CONCUR, volume
1664 of LNCS, pages 114–129.
Bontemps, Y., Heymans, P., and Schobbens, P.-Y. (2005).
From Live Sequence Charts to state machines and
back: A guided tour. TSE, 31(12):999–1014.
Cimatti, A., Clarke, E., Giunchiglia, F., and Roveri, M.
(2000). NuSMV: a new symbolic model checker. Int.
Journal on Soft. Tools for Tech. Transfer, 2:410–425.
Damas, C., Lambeau, B., Dupont, P., and van Lamsweerde,
A. (2005). Generating annotated behavior models
from end-user scenarios. TSE, 31(12):1056–1073.
Eichner, C., Fleischhack, H., Meyer, R., Schrimpf, U., and
Stehno, C. (2005). Compositional semantics for UML
2.0 Sequence Diagram using Petri Nets. In Int. SDL
Forum, volume 3530 of LNCS, pages 133–148.
Gunter, E. L., Muscholl, A., and Peled, D. (2001). Compo-
sitional Message Sequence Charts. In TACAS, volume
2031 of LNCS, pages 496–511.
FormalAnalysisofSequenceDiagramwithCombinedFragments
53