Skip to main content
Log in

Automated formal verification of visual modeling languages by model checking

  • Special section on graph transformations and visual modeling techniques
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Graph transformation has recently become more and more popular as a general, rule-based visual specification paradigm to formally capture (a) requirements or behavior of user models (on the model-level), and (b) the operational semantics of modeling languages (on the meta-level) as demonstrated by benchmark applications around the Unified Modeling Language (UML). The current paper focuses on the model checking-based automated formal verification of graph transformation systems used either on the model-level or meta-level. We present a general translation that inputs (i) a metamodel of an arbitrary visual modeling language, (ii) a set of graph transformation rules that defines a formal operational semantics for the language, and (iii) an arbitrary well-formed model instance of the language and generates a transitions system (TS) that serve as the underlying mathematical specification formalism of various model checker tools. The main theoretical benefit of our approach is an optimization technique that projects only the dynamic parts of the graph transformation system into the target transition system, which results in a drastical reduction in the state space. The main practical benefit is the use of existing back-end model checker tools, which directly provides formal verification facilities (without additional efforts required to implement an analysis tool) for many practical applications captured in a very high-level visual notation. The practical feasibility of the approach is demonstrated by modeling and analyzing the well-known verification benchmark of dining philosophers both on the model and meta-level.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. The Murφ Model Checker (1996) http://verify.stanford.edu/dill/murphi.html

  2. Alur R, Dill DL (1994) A theory of timed automata. Theoretical Computer Science 126:183–235

    Article  MathSciNet  Google Scholar 

  3. Baldan P, Corradini A, König B (2001) A static analysis technique for graph transformation systems. In: Larsen KG, Nielsen M (eds) CONCUR 2001 – Concurrency Theory, 12th International Conference, LNCS, vol 2154. Springer, Aalborg, Denmark, pp 381–395

  4. Baldan P, König B (2002) Approximating the behaviour of graph transformation systems. In: Corradini A, Ehrig H, Kreowski H-J, Rozenberg G (eds) Proc. ICGT 2002: First International Conference on Graph Transformation, LNCS, vol 2505. Springer, Barcelona, Spain, pp 14–29

    Google Scholar 

  5. Baresi L, Heckel R, Thöne S, Varró D (2003) Modeling and analysis of architectural styles. In: Inverardi P, Paakki J (eds) Proc ESEC 2003: 9th European Software Engineering Conference. ACM Press, Helsinki, Finland, pp 68–77

  6. Baresi L, Heckel R, Thöne S, Varró D (2003) Modeling and analysis of architectural styles based on graph transformation. In: Crnkovic I, Schmidt H, Stafford J, Wallnau K (eds) The 6th ICSE Workshop on Component Based Software Engineering: Automated Reasoning and Prediction. Carnegie Mellon University, USA, and Monash University, Australia, Portland, Oregon, USA, pp 67–72

  7. Bensalem S, Ganesh V, Lakhnech Y, Munoz C, Owre S, Ruess H, Rushby J, Rusu V, SaïdiH, Shankar N, Singerman E, Tiwari A (2000) An overview of SAL. In: Holloway CM (ed) LFM 2000: Fifth NASA Langley Formal Methods Workshop, pp 187–196

  8. Börger E, Schmid J (2000) Composition and submachine concepts for sequential asms. In: Clote P, Schwichtenberg H (eds) Computer Science Logic (Gurevich Festschrift). Proc. 14th International Workshop CSL, LNCS, vol 1862, pp 41–60

  9. Börger E, Stärk R (2003) Abstract State Machines. A method for High-Level System Design and Analysis. Springer-Verlag

  10. Bottoni P, Koch M, Parisi-Presicce F, Taentzer G (2000) Consistency checking and visualization of OCL constraints. In: Evans A, Kent S, Selic B (eds) Proc. 2000 – Third International Conference on The Unified Modeling Language. Advancing the Standard., LNCS, vol 1939. Springer, York, UK, pp 294–308

  11. Bottoni P, Schürr A, Taentzer G (2000) Efficient parsing of visual languages based on critical pair analysis and contextual layered graph transformation. Tech. rep., University of Rome

  12. Clarke E, Biere A, Raimi R, Zhu Y (2001) Bounded model checking using satisfiability solving. Formal Methods in System Design 19(1):7–34

    Article  Google Scholar 

  13. Compton K, Gurevich Y, Huggins J, Shen W (2000) An Automatic Verification Tool for UML. Tech. Rep. CSE-TR-423-00

  14. Corradini A, Montanari U, Rossi F (1996) Graph processes. Fundamenta Informaticae 26(3/4):241–265

  15. Corradini A, Montanari U, Rossi F, Ehrig H, Heckel R, Löwe M (1997) In: [43], chap. Algebraic Approaches to Graph Transformation — Part I: Basic Concepts and Double Pushout Approach. World Scientific, pp 163–245

  16. Crow J, Owre S, Rushby J, Shankar N, Srivas M (1995) A tutorial introduction to PVS. Presented at WIFT ’95: Workshop on Industrial-Strength Formal Specification Techniques, Boca Raton, Florida

  17. Daws C, Olivero A, Tripakis S, Yovine S (1995) The tool KRONOS. In: Hybrid Systems III: Verification and Control, vol 1066, pp 208–219. Springer, Rutgers University, New Brunswick, NJ, USA

  18. de Lara J, Vangheluwe H (2002) Computer aided multi-paradigm modelling to process Petri nets and statecharts. In: Corradini A, Ehrig H, Kreowski H-J, Rozenberg G (eds) Proc. ICGT 2002: First International Conference on Graph Transformation, LNCS, vol 2505. Springer-Verlag, Barcelona, Spain, pp 239–253

    Google Scholar 

  19. Distefano D, Rensink A, Katoen J-P (2002) Model checking birth and death. In: Foundations of Information Technology in the Era of Network and Mobile Computing, vol 223 of IFIP Conference Proceedings. Kluwer Academic Publishers, pp 435–447

  20. Ehrig H, Engels G, Kreowski H-J, Rozenberg G (eds) (1999) Handbook on Graph Grammars and Computing by Graph Transformation, vol 2: Applications, Languages and Tools. World Scientific

  21. Ehrig H, Heckel R, Korff M, Löwe M, Ribeiro L, Wagner A, Corradini A (1997) In: [43], chap. Algebraic Approaches to Graph Transformation – Part II: Single pushout approach and comparison with double pushout approach. World Scientific, pp 247–312

  22. Engels G, Hausmann JH, Heckel R, Sauer S (2000) Dynamic meta modeling: A graphical approach to the operational semantics of behavioral diagrams in UML. In: Evans A, Kent S, Selic B (eds) UML 2000 – The Unified Modeling Language. Advancing the Standard, of LNCS, vol 1939. Springer, pp 323–337

  23. Engels G, Heckel R, Küster JM (2001) Rule-based specification of behavioral consistency based on the UML meta-model. In: Gogolla M, Kobryn C (eds) UML 2001: The Unified Modeling Language. Modeling Languages, Concepts and Tools, LNCS, vol 2185. Springer, pp 272–286

  24. Engels G, Heckel R, Küster J-M, Groenewegen L (2002) Consistency-preserving model evolution through transformations. In: Jézéquel J-M, Hussmann H, Cook S (eds) Proc. Fifth International Conference on the Unified Modeling Language – The Language and its Applications, LNCS vol 2460. Springer, Dresden, Germany, pp 212–227

  25. Gurevich Y (1995) Specification and Validation Methods, chap. Evolving Algebras 1993: Lipari Guide. Oxford University Press

    Google Scholar 

  26. Gyapay S, Heckel R, Varró D (2002) Graph transformation with time: Causality and logical clocks. In: Corradini A, Ehrig H, Kreowski H-J, Rozenberg G (eds) Proc. ICGT 2002: 1st International Conference on Graph Transformation, LNCS, vol 2505. Springer-Verlag, Barcelona, Spain, pp 120–134

    MathSciNet  Google Scholar 

  27. Heckel R (1998) Compositional verification of reactive systems specified by graph transformation. In: Proc. FASE: Fundamental Approaches to Software Engineering, LNCS, vol 1382. Springer, pp 138–153

  28. Heckel R, Ehrig H, Wolter U, Corradini A (1997) Integrating the specification techniques of graph transformation and temporal logic. In: Proc. Mathematical Foundations of Computer Science (MFCS’97), Bratislava, LNCS, vol 1295. Springer, pp 219–228

  29. Heckel R, Küster JM, Taentzer G (2002) Confluence of typed attributed graph transformation systems. In: Corradini A, Ehrig H, Kreowski H-J, Rozenberg G (eds) Proc. ICGT 2002: First International Conference on Graph Transformation, LNCS, vol 2505. Springer, Barcelona, Spain, pp 161–176

    Google Scholar 

  30. Hoare CAR (1985) Communicating Sequential Processes. Prentice-Hall

  31. Holzmann G (1997) The model checker SPIN. IEEE Transactions on Software Engineering 23(5):279–295

    Article  Google Scholar 

  32. Kuske S (2001) A formal semantics of UML state machines based on structured graph transformation. In: Gogolla M, Kobryn C (eds) UML 2001: The Unified Modeling Language. Modeling Languages, Concepts and Tools, LNCS, vol 2185. Springer, pp 241–256

  33. Lamport L (1983) What good is temporal logic. In: Mason REA (ed) Proc. of the IFIP Congress, pp 657–668. North Holland

  34. Latella D, Majzik I, Massink M (1999) Automatic verification of UML statechart diagrams using the SPIN model-checker. Formal Aspects of Computing 11(6):637–664

    Article  Google Scholar 

  35. Milner R (1995) Communication and Concurrency. Prentice-Hall

  36. Nickel U, Niere J, Zündorf A (2000) Tool demonstration: The FUJABA environment. In: The 22nd International Conference on Software Engineering (ICSE). ACM Press, Limerick, Ireland

  37. Object Management Group (1999) Meta Object Facility Version 1.3. http://www.omg.org

  38. Padberg J, Enders BJ (2002) Rule invariants in graph transformation systems for analyzing safety-critical systems. In: Corradini A, Ehrig H, Kreowski H-J, Rozenberg G (eds) Proc. ICGT 2002: Firs International Conference on Graph Transformation, LNCS, vol 2505. Springer, Barcelona, Spain, pp 334–350

    Google Scholar 

  39. Paltor I, Lilius J (1999) vUML: A tool for verifying UML models. In: Hall RJ, Tyugu E (eds) Proc. of the 14th IEEE International Conference on Automated Software Engineering, ASE’99. IEEE

  40. Pataricza A (2001) Semi-decisions in the validation of dependable systems. In: Suppl. Proc. DSN 2001: The International IEEE Conference on Dependable Systems and Networks. Göteborg, Sweden, pp 114–115

    Google Scholar 

  41. Peled D (2001) Software Reliability Methods. Springer

  42. Rensink A (2003) Model checking graph grammars. In: Leuschel M, Gruner S, Lo Presti S (eds) Proc. of the 3rd Workshop on Automated Verification of Critical Systems (AVOCS 2003), Technical Report DSSE–TR–03–2. University of Southampton, pp 150–160

  43. Rozenberg G (ed) (1997) Handbook of Graph Grammars and Computing by Graph Transformations: Foundations. World Scientific

    Google Scholar 

  44. SaïdiH (2000) Model checking guided abstraction and analysis. In: Palsberg J (ed) Seventh International Static Analysis Symposium (SAS’00), LNCS, vol 1824. Springer-Verlag, Santa Barbara, CA, pp 377–339. http://www.sdl.sri.com/papers/saidi_sas00/

  45. Schmidt Á, Varró D (2003) CheckVML: A tool for model checking visual modeling languages. In: Stevens P, Whittle J, Booch G (eds) Proc. UML 2003: 6th International Conference on the Unified Modeling Language, LNCS, vol 2863. Springer, San Francisco, CA, USA, pp 92–95

    Google Scholar 

  46. Schürr A, Winter AJ, Zündorf A (1999) In: [20], chap. The PROGRES Approach: Language and Environment. World Scientific, pp 487–550

    Google Scholar 

  47. Sprinkle J, Karsai G (2002) Defining a basis for metamodel driven model migration. In: Proceedings of 9th Annual IEEE Internation Conference and Workshop on the Engineering of Computer-Based Systems, Lund, Sweden

  48. Varró D (2002) Automatic program generation for and by model transformation systems. In: Kreowski H-J, Knirsch P (eds) Proc. AGT 2002: Workshop on Applied Graph Transformation. Grenoble, France, pp 161–173

    Google Scholar 

  49. Varró D (2002) A formal semantics of UML Statecharts by model transition systems. In: Corradini A, Ehrig H, Kreowski H-J, Rozenberg G (eds) Proc. ICGT 2002: 1st International Conference on Graph Transformation, LNCS, vol 2505. Springer-Verlag, Barcelona, Spain, pp 378–392

    Google Scholar 

  50. Varró D (2002) Towards symbolic analysis of visual modelling languages. In: Bottoni P, Minas M (eds) Proc. GT-VMT 2002: International Workshop on Graph Transformation and Visual Modelling Techniques, ENTCS, vol 72. Elsevier, Barcelona, Spain, pp 57–70

  51. Varró D (2003) Automated Model Transformations for the Analysis of IT Systems. Ph.D. thesis, Budapest University of Technology and Economics, Department of Measurement and Information Systems, Submitted

  52. Varró D, Pataricza A (2002) Metamodeling mathematics: A precise and visual framework for describing semantics domains of UML models. In: Jézéquel J-M, Hussmann H, Cook S (eds) Proc. Fifth International Conference on the Unified Modeling Language – The Language and its Applications, LNCS, vol 2460. Springer-Verlag, Dresden, Germany, pp 18–33

  53. Varró D, Varró G, Pataricza A (2002) Designing the automatic transformation of visual languages. Science of Computer Programming 44(2):205–227

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Dániel Varró.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Varró, D. Automated formal verification of visual modeling languages by model checking. Softw Syst Model 3, 85–113 (2004). https://doi.org/10.1007/s10270-003-0050-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-003-0050-x

Keywords

Navigation