Model Checking State Machines Using Object Diagrams

  • Thouraya Bouabana-TebibelEmail author


UML behavioral diagrams are often formalized by transformation into a state-transition language that sets on a rigorously defined semantics. The state-transition models are afterwards model-checked to prove the correctness of the models construction as well as their faithfulness with the user requirements. The model-checking is performed on a reachability graph, generated from the behavioral models, whose size depends on the models structure and their initial marking. The purpose of this paper is twofold. We first propose an approach to initialize formal models at any time of the system life cycle using UML diagrams. The formal models are Object Petri nets, OPNs for short, derived from UML state machines. The OPNs marking is mainly deduced from the sequence diagrams. Secondly, we propose an approach to specify the association ends on the OPNs in order to allow their validation by means of OCL invariants. A case study is given to illustrate the approach throughout the paper.


State Machine Temporal Logic Sequence Diagram Graph Transformation Linear Temporal Logic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Andrade E, Macie0l P, Callou G, Nogueira B (2008) Mapping UML interaction overview diagram to time petri net for analysis and verification of embedded real-time systems with energy constraints. CIMCA 2008, ViennaGoogle Scholar
  2. 2.
    Andrade E, Maciel P, Callou G, Nogueira B, Araũjo C (2009) Mapping UML sequence diagram to time petri net for requirement validation of embedded real-time systems with energy constraints. SAC’2009, Hawaii, pp 377–381Google Scholar
  3. 3.
    Baresi L (2002) Some premilinary hints on formalizing UML with object petri nets. The 6th world conference on integrated design and process technology, PasadenaGoogle Scholar
  4. 4.
    Baresi L, Pezzè M (2001) On formalizing UML with high-level Petri Nets. Concurrent Object-Oriented Programming and Petri Nets, Advances in Petri Nets Series. LNCS. Springer, pp 276–304Google Scholar
  5. 5.
    Baresi L, Pezzè M (2005) Formal interpreters for diagram notations. ACM Trans Softw Eng Methodol 14(1):42–84CrossRefGoogle Scholar
  6. 6.
    Baresi L, Morzenti A, Motta A, Rossi M (2011) From interaction overview diagrams to temporal logic. MODELS’10 Oslo LNCS 6637:90–104Google Scholar
  7. 7.
    Bokhari A, Poehlman WPS (2006) Translation of UML models to object coloured petri nets with a view to analysis. SEKE 2006, San Francisco, pp 568–571Google Scholar
  8. 8.
    Bouabana-Tebibel T (2007) Object dynamics formalization using object flows within UML state machines. Enterp Model Inf Syst Archit 2(1):26–39Google Scholar
  9. 9.
    Bouabana-Tebibel T (2011) Language integration for model formalization. The 12th 2011 IEEE international conference on information reuse and integration, Las VegasGoogle Scholar
  10. 10.
    Bouabana-Tebibel T, Belmesk M (2007) An object-oriented approach to formally analyze the UML 2.0 activity partitions. Inf Softw Technol 49(9–10):999–1016CrossRefGoogle Scholar
  11. 11.
    Bowles J, Andrews S, Kloul L (2010) Synthesising PEPA nets from IODs for performance analysis. WOSP/SIPEW ’10, San JoseGoogle Scholar
  12. 12.
    Delatour J, De Lamotte F (2003) ArgoPN: A CASE tool merging UML and petri nets. The 1st international workshop on validation and verification of software for enterprise information systems, AngersGoogle Scholar
  13. 13.
    Fish A, Störrle H (2007) Visual qualities of the unified modeling language: deficiencies and improvements. IEEE symposium on visual languages and human-centric computing, Coeur d’Alène pp 41–49Google Scholar
  14. 14.
    Flake S (2003) UML-based specification of state-oriented real-time properties. PhD thesis, Faculty of Computer Science, Electrical Engineering and Mathematics, Paderborn University, GermanyGoogle Scholar
  15. 15.
    Flake S, Mueller W (2004) Past- and future-oriented temporal time-bounded properties with OCL. 2nd international conferance on software engineering and formal methods, Beijing. ©IEEE Computer Society, pp 154–163Google Scholar
  16. 16.
    Guangyu Li, Yao S (2009) Research on mapping algorithm of UML sequence diagrams to object petri nets. WRI Glob Congr Intell Syst 4:285–289Google Scholar
  17. 17.
    Harel D, Maoz S (2006) Assert and negate revisited: modal semantics for UML sequence diagrams. 5th international workshop on scenarios and state machines: models, algorithms, and tools. ACM, New York, pp 13–20Google Scholar
  18. 18.
    Harel D, Kugler H, Pnueli A (2005) Synthesis revisited: generating statechart models from scenario-based requirements. In: Formal methods in software and system modeling. LNCS, vol 3393. Springer, pp 309–324Google Scholar
  19. 19.
    Holscher K, Ziemann P, Gogolla M (2006) On translating UML models into graph trans-formation systems. J Vis Lang Comput 17:78–105CrossRefGoogle Scholar
  20. 20.
    Hsiung P-A, Lin S-W, Tseng C-H, Lee T-Y, Fu J-M, See W-B (2004) VERTAF: an application framework for the design and verification of embedded real-time software. IEEE Trans Softw Eng 30(10):656–674CrossRefGoogle Scholar
  21. 21.
    Jensen K (1998) An introduction to the practical use of coloured petri nets. Lectures on Petri Nets II: Applications. LNCS, vol 1492. Springer, pp 237–292Google Scholar
  22. 22.
    Kloul L, Filipe KJ (2005) From intraction overview diagrams to PEPA nets. The work-shop on PASTA. EdinburghGoogle Scholar
  23. 23.
    Knapp A, Wuttke J (2007) Model checking of UML 2.0 interactions. LNCS, vol 4364. Springer, pp 42–51Google Scholar
  24. 24.
    Kong K, Zhan K, Dong J, Xu D (2009) Specifying behavioral semantics of UML diagrams through graph transformations. J Syst Softw 82:292–306CrossRefGoogle Scholar
  25. 25.
    Object Management Group (2001) The UML action semanticsGoogle Scholar
  26. 26.
    Object Management Group (2003) UML 2.0 OCL specificationGoogle Scholar
  27. 27.
    Object Management Group (2011) UML 2.4.1 superstructure specificationGoogle Scholar
  28. 28.
    PROD 3.4 (2004) An advanced tool for efficient reachability analysis. Laboratory for Theoretical Computer Science, Helsinki University of Technology. EspooGoogle Scholar
  29. 29.
    Saldana JA, Shatz SM, Hu Z (2001) Formalization of object behavior and interactions from UML models. Int J Softw Eng Knowl Eng 11(6):643–673CrossRefGoogle Scholar
  30. 30.
    Staines TS (2008) Intuitive mapping of UML 2 activity diagrams into fundamental modeling concept petri net diagrams and colored petri nets. 15th IEEE inttenational conferance and workshop on the engineering of computer based systems, Belfast. IEEE Xplore, pp 191–200Google Scholar
  31. 31.
    Störrle H, Hausmann JH (2005) Towards a formal semantics of UML 2.0 activities. Softw Eng 64:117–128Google Scholar
  32. 32.
    Truong N, Souquiéres J (2004) Validation des propriétés d’un scénario UML/OCL à partir de sa dérivation en B. Approches Formelles dans l’Assitance au Développement de Logiciels, FranceGoogle Scholar

Copyright information

© Springer-Verlag Wien 2013

Authors and Affiliations

  1. 1.Laboratoire de Communication dans les Systèmes Informatiques - LCSIEcole nationale Supérieure d’Informatique - ESIAlgiersAlgeria

Personalised recommendations