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.
Similar content being viewed by others
References
The Murφ Model Checker (1996) http://verify.stanford.edu/dill/murphi.html
Alur R, Dill DL (1994) A theory of timed automata. Theoretical Computer Science 126:183–235
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
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
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
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
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
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
Börger E, Stärk R (2003) Abstract State Machines. A method for High-Level System Design and Analysis. Springer-Verlag
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
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
Clarke E, Biere A, Raimi R, Zhu Y (2001) Bounded model checking using satisfiability solving. Formal Methods in System Design 19(1):7–34
Compton K, Gurevich Y, Huggins J, Shen W (2000) An Automatic Verification Tool for UML. Tech. Rep. CSE-TR-423-00
Corradini A, Montanari U, Rossi F (1996) Graph processes. Fundamenta Informaticae 26(3/4):241–265
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
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
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
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
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
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
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
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
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
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
Gurevich Y (1995) Specification and Validation Methods, chap. Evolving Algebras 1993: Lipari Guide. Oxford University Press
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
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
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
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
Hoare CAR (1985) Communicating Sequential Processes. Prentice-Hall
Holzmann G (1997) The model checker SPIN. IEEE Transactions on Software Engineering 23(5):279–295
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
Lamport L (1983) What good is temporal logic. In: Mason REA (ed) Proc. of the IFIP Congress, pp 657–668. North Holland
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
Milner R (1995) Communication and Concurrency. Prentice-Hall
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
Object Management Group (1999) Meta Object Facility Version 1.3. http://www.omg.org
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
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
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
Peled D (2001) Software Reliability Methods. Springer
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
Rozenberg G (ed) (1997) Handbook of Graph Grammars and Computing by Graph Transformations: Foundations. World Scientific
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/
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
Schürr A, Winter AJ, Zündorf A (1999) In: [20], chap. The PROGRES Approach: Language and Environment. World Scientific, pp 487–550
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
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
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
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
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
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
Varró D, Varró G, Pataricza A (2002) Designing the automatic transformation of visual languages. Science of Computer Programming 44(2):205–227
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-003-0050-x