skip to main content
research-article

Formal verification of UML state diagrams: a petri net based approach

Published: 24 January 2011 Publication History

Abstract

In spite of its informal semantics and of some ambiguities, UML is a widespread modelling language used in both industry and academia. On the other hand, Petri nets are a mathematical modelling language with a formal semantics and are well suited for formal verification. However, altough there is a growing interest in model checking techniques from industry, the software engineers continue to be unfamiliar with such a formalism. For that reason, it is convenient to supply formal verification techniques of UML diagrams that are completely automatic and transparent to the designer. This is the issue discussed in this paper. We propose to translate UML state diagrams into Coloured Petri nets on which verification of some desired properties can be checked automatically. We show on our example that, when expected properties are not checked, this is an opportunity to revise the model into a more adequate one

References

[1]
B. Bérard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L. Petrucci, and Ph. Schnoebelen. Systems and software verification: model-checking techniques and tools. Springer-Verlag, 2001.
[2]
Andrea Bondavalli, Mario Dal Cin, Diego Latella, István Majzik, András Pataricza, and Giancarlo Savoia. Dependability analysis in the early phases of UML -based system design. Comput. Syst. Sci. Eng., 16(5):265--275, 2001.
[3]
Luciano Baresi and Mauro Pezze. On formalizing UML with high-level Petri nets. In G. Agha, F. de Cindio, and G. Rozenberg, editors, Concurrent Object-Oriented Programming and Petri Nets, volume 2001 of Lecture Notes in Computer Science, pages 276--304. Springer, 2001.
[4]
Zhijiang Dong, Yujian Fu, and Xudong He. Deriving hierarchical predicate/transition nets from statechart diagrams. In SEKE, pages 150--157, 2003.
[5]
Werner Damm and Ernst-Rüdiger Olderog, editors. Formal Techniques in Real-Time and Fault-Tolerant Systems, 7th International Symposium, FTRTFT 2002, Co-sponsored by IFIP WG 2.2, Proceedings, volume 2469 of Lecture Notes in Computer Science. Springer, 2002.
[6]
E. Allen Emerson and Joseph Y. Halpern. "sometimes" and "not never" revisited: on branching versus linear time temporal logic. J. ACM, 33(1):151--178, 1986.
[7]
GraphViz: http://www.graphviz.org/.
[8]
Z. Hu and S. M. Shatz. Mapping UML diagrams to a Petri net notation for system simulation. In SEKE, pages 213--219, 2004.
[9]
T. Holvoet and P. Verbaeten. Petri charts : an alternative technique for hierarchical net construction. In IEEE Conference on System, Man, and Cybernetics, pages 1--6, 1995.
[10]
Robert G. Pettit IV and Hassan Gomaa. Modeling behavioral patterns of concurrent objects using Petri nets. In ISORC, pages 303--312. IEEE Computer Society, 2006.
[11]
Kurt Jensen and Lars M. Kristensen. Coloured Petri Nets, Modelling and Validation of Concurrent Systems. Springer Verlag Monograph, 2008.
[12]
Kurt Jensen, Lars Michael, Kristensen Lisa Wells, K. Jensen, and L. M. Kristensen. Coloured petri nets and CPN tools for modelling and validation of concurrent systems. In International Journal on Software Tools for Technology Transfer, page 2007, 2007.
[13]
Alexander Knapp, Stephan Merz, and Christopher Rauh. Model checking - timed UML state machines and collaborations. In Damm and Olderog {DO02}, pages 395--416.
[14]
Alexander Knapp, Stephan Merz, and Christopher Rauh. Model checking - timed UML state machines and collaborations. In Damm and Olderog {DO02}, pages 395--416.
[15]
F. Kordon and Y. Thierry-Mieg. Experiences in model driven verification of behavior with UML. In Foundations of Computer Software, Future Trends and Techniques for Development, volume 6028 of Lecture Notes in Computer Science, pages 181--200. Springer, 2010.
[16]
Jiexin Lian, Zhaoxia Hu, and Sol M. Shatz. Simulation-based analysis of UML statechart diagrams: methods and case studies. Software Quality Journal, 16(1):45--78, 2008.
[17]
LIP6/MoVe. The CPN-AMI home page, http://www.lip6.fr/cpn-ami/.
[18]
Johan Lilius and Ivan Paltor. vUML: A tool for verifying UML models. In ASE, pages 255--258, 1999.
[19]
Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems Specifications. Springer-Verlag, 1992.
[20]
Iulian Ober, Susanne Graf, and Ileana Ober. Model checking of UML models via a mapping to communicating extended timed automata. In In 11th International SPIN Workshop on Model Checking of Software, 2004, volume 2989 of LNCS, 2004.
[21]
Papyrus UML : http://www.papyrusuml.org/.
[22]
Robert G. Pettit, IV, Robert G. Pettit Iv, and Hassan Gomaa. Validation of dynamic behavior in UML using colored Petri nets. In Proc. of UMLn2000 Workshop - Dynamic Behaviour in UML Models: Semantic Questions, volume 1939 in LNCS, pages 295--302. Springer Verlag, 2000.
[23]
Ivan Paltor and Johan Lilius. Formalising UML state machines for model checking. In Robert B. France and Bernhard Rumpe, editors, UML, volume 1723 of Lecture Notes in Computer Science, pages 430--445. Springer, 1999.
[24]
UML Revision Task Force. OMG UML Specification. http://www.uml.org.
[25]
K. Varpaaniemi, K. Hiekkanen J. Halme, and T. Pyssysalo. PROD reference manual. Technical report b13, Helsinki University of Technology, Digital Systems Laboratory. Espoo, Finland, 1995.
[26]
XSLT: http://www.w3.org/TR/1999/REC-xslt-19991116.

Cited By

View all
  • (2023)Formalizing UML State Machines for Automated Verification – A SurveyACM Computing Surveys10.1145/357982155:13s(1-47)Online publication date: 13-Jul-2023
  • (2021)Designing a methodological framework for modeling and performance forecasting of self‐adaptive cloud systemsConcurrency and Computation: Practice and Experience10.1002/cpe.656934:3Online publication date: 16-Aug-2021
  • (2020)Formal Verification of Control Modules in Cyber-Physical SystemsSensors10.3390/s2018515420:18(5154)Online publication date: 10-Sep-2020
  • Show More Cited By
  1. Formal verification of UML state diagrams: a petri net based approach

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGSOFT Software Engineering Notes
    ACM SIGSOFT Software Engineering Notes  Volume 36, Issue 1
    January 2011
    210 pages
    ISSN:0163-5948
    DOI:10.1145/1921532
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 24 January 2011
    Published in SIGSOFT Volume 36, Issue 1

    Check for updates

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)6
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 07 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Formalizing UML State Machines for Automated Verification – A SurveyACM Computing Surveys10.1145/357982155:13s(1-47)Online publication date: 13-Jul-2023
    • (2021)Designing a methodological framework for modeling and performance forecasting of self‐adaptive cloud systemsConcurrency and Computation: Practice and Experience10.1002/cpe.656934:3Online publication date: 16-Aug-2021
    • (2020)Formal Verification of Control Modules in Cyber-Physical SystemsSensors10.3390/s2018515420:18(5154)Online publication date: 10-Sep-2020
    • (2020)Reliability and performance analysis of safety-critical system using transformation of UML into state space modelsAnnals of Nuclear Energy10.1016/j.anucene.2020.107628146(107628)Online publication date: Oct-2020
    • (2019)Quality-centric security pattern mutationsSoftware Quality Journal10.1007/s11219-019-09454-527:4(1531-1561)Online publication date: 24-Jul-2019
    • (2019)From Petri Nets to UML: A New Approach for Model AnalysisMensch – Beziehung – Störung10.1007/978-3-319-98056-0_3(52-68)Online publication date: 8-May-2019
    • (2019)Formal Verification of UML State Machine Diagrams Using Petri NetsNetworked Systems10.1007/978-3-030-31277-0_5(67-74)Online publication date: 19-Jun-2019
    • (2019)Generation and Validation of Frame Conditions in Formal ModelsModel-Driven Engineering and Software Development10.1007/978-3-030-11030-7_12(259-283)Online publication date: 1-Feb-2019
    • (2018)From Petri Nets to UML Model: A New Transformation Approach2018 IEEE International Conference on Information Reuse and Integration (IRI)10.1109/IRI.2018.00080(503-510)Online publication date: 6-Jul-2018
    • (2018)A Model-driven Approach for Formal Verification of Embedded Systems Using Timed Colored Petri Nets2018 IEEE 4th International Conference on Computer and Communications (ICCC)10.1109/CompComm.2018.8780731(2580-2584)Online publication date: Dec-2018
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media