A Framework for Temporal Verification Support in Domain-Specific Modelling

In Domain-Specific Modelling (DSM) the general goal is to provide Domain-Specific Modelling Languages (DSMLs) for domain users to model systems using concepts and notations they are familiar with, in their problem domain. Verifying whether a model satisfies a set of requirements is considered to be an important challenge in DSM, but is nevertheless mostly neglected. We present a solution in the form of ProMoBox, a framework that integrates the definition and verification of temporal properties in discrete-time behavioural DSMLs, whose semantics can be described as a schedule of graph rewrite rules. Thanks to the expressiveness of graph rewriting, this covers a very large class of problems. With ProMoBox, the domain user models not only the system with a DSML, but also its properties, input model, run-time state and output trace. A DSML is thus comprised of five sublanguages, which share domain-specific syntax, and are generated from a single metamodel. Generic transformations to and from a verification backbone ensure that both the language engineer and the domain user are shielded from underlying notations and techniques. We explicitly model the ProMoBox framework's process in the paper. Furthermore, we evaluate ProMoBox to assert that it supports the specification and verification of properties in a highly flexible and automated way.

[1]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[2]  Tom Mens,et al.  ProMoBox in Practice : A Case Study on the GISMO Domain-Specific Modelling Language , 2014, MPM@MoDELS.

[3]  Christel Baier,et al.  Principles of model checking , 2008 .

[4]  Aniruddha S. Gokhale,et al.  Domain-Specific Modeling , 2008, Handbook of Dynamic System Modeling.

[5]  Bart Meyers,et al.  ProMoBox: A Framework for Generating Domain-Specific Property Languages , 2014, SLE.

[6]  Matteo Risoldi,et al.  A methodology for the development of complex domain specific languages , 2010 .

[7]  Dániel Varró,et al.  Automated formal verification of visual modeling languages by model checking , 2004, Software & Systems Modeling.

[8]  Eugene Syriani,et al.  A multi-paradigm foundation for model transformation language engineering , 2011 .

[9]  Volker Gruhn,et al.  Patterns for Timed Property Specifications , 2006, QAPL.

[10]  Bart Meyers,et al.  Towards domain-specific property languages: the ProMoBox approach , 2013, DSM '13.

[11]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[12]  J. B. Brooke,et al.  SUS: a retrospective , 2013 .

[13]  Girish Keshav Palshikar Introduction to Model-checking , 2004 .

[14]  James C. Corbett,et al.  A Language Framework for Expressing Checkable Properties of Dynamic Software , 2000, SPIN.

[15]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[16]  Safouan Taha,et al.  Temporal Constraint Support for OCL , 2012, SLE.

[17]  Vinay Kulkarni,et al.  Cost estimation for model-driven engineering , 2012, MODELS'12.

[18]  Alessandro Cimatti,et al.  Proving and explaining the unfeasibility of Message Sequence Charts for hybrid systems , 2011, 2011 Formal Methods in Computer-Aided Design (FMCAD).

[19]  César Muñoz,et al.  An Overview of SAL , 2000 .

[20]  Xavier Crégut,et al.  Leveraging Formal Verification Tools for DSML Users: A Process Modeling Case Study , 2012, ISoLA.

[21]  Albert Zündorf,et al.  Story Diagrams: A New Graph Rewrite Language Based on the Unified Modeling Language and Java , 1998, TAGT.

[22]  Holger Giese,et al.  Joint Structural and Temporal Property Specification Using Timed Story Scenario Diagrams , 2007, FASE.

[23]  H. Vangheluwe,et al.  The Formalism Transformation Graph as a Guide to Model Driven Engineering , 2012 .

[24]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[25]  Antonio Cicchetti,et al.  Automating Co-evolution in Model-Driven Engineering , 2008, 2008 12th International IEEE Enterprise Distributed Object Computing Conference.

[26]  Antonio Vallecillo,et al.  Analyzing Rule-Based Behavioral Semantics of Visual Modeling Languages with Maude , 2009, SLE.

[27]  Laurent Safa The Practice of Deploying DSM Report from a Japanese Appliance Maker Trenches , 2006 .

[28]  Benoît Combemale,et al.  A Design Pattern to Build Executable DSMLs and Associated V&V Tools , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[29]  Xavier Crégut,et al.  Formal Verification Integration Approach for DSML , 2013, MoDELS.

[30]  Martin Gogolla,et al.  OCL Extended with Temporal Logic , 2003, Ershov Memorial Conference.

[31]  Antonio Cicchetti,et al.  A generic in-place transformation-based approach to structured model co-evolution , 2011 .

[32]  M. Seidl,et al.  A Classification of Model Checking-Based Verification Approaches for Software Models , 2013 .

[33]  Chris F. Kemerer,et al.  An empirical validation of software cost estimation models , 1987, CACM.

[34]  Alexander Knapp,et al.  Model checking of UML 2.0 interactions , 2006, MoDELS'06.

[35]  Richard F. Paige,et al.  The Epsilon Generation Language , 2008, ECMDA-FA.

[36]  Andrea De Lucia,et al.  A Classification Framework to Support the Design of Visual Languages , 2002, J. Vis. Lang. Comput..

[37]  Gerti Kappel,et al.  Automated verification of model transformations based on visual contracts , 2013, Automated Software Engineering.

[38]  Narciso Martí-Oliet,et al.  All About Maude - A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic , 2007, All About Maude.

[39]  Juan de Lara,et al.  Visual Specification of Metrics for Domain Specific Visual Languages , 2008, Electron. Notes Theor. Comput. Sci..

[40]  Wang Yi,et al.  UPPAAL - a Tool Suite for Automatic Verification of Real-Time Systems , 1996, Hybrid Systems.

[41]  B.H.C. Cheng,et al.  Real-time specification patterns , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[42]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[43]  Pieter J. Mosterman,et al.  Computer Automated Multi-Paradigm Modeling : An Introduction , 2000 .

[44]  Clifford J. Maloney,et al.  Systematic mistake analysis of digital computer programs , 1963, CACM.

[45]  Alexander K. Wißpeintner,et al.  Specification of an Elevator Control System -- An AutoFocus Case Study , 1999 .

[46]  P. J. Monsterman Hybrid dynamic systems: A hybrid bond graph modeling paradigm and its application in diagnosis , 1997 .

[47]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[48]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..

[49]  Lars Grunske,et al.  Aligning Qualitative, Real-Time, and Probabilistic Property Specification Patterns Using a Structured English Grammar , 2015, IEEE Transactions on Software Engineering.

[50]  Christophe Jacquet,et al.  Semantic Adaptation for Models of Computation , 2011, 2011 Eleventh International Conference on Application of Concurrency to System Design.

[51]  Matthew B. Dwyer,et al.  The hidden models of model checking , 2012, Software & Systems Modeling.

[52]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[53]  Michel R. V. Chaudron Models in Software Engineering, Workshops and Symposia at MODELS 2008, Toulouse, France, September 28 - October 3, 2008. Reports and Revised Selected Papers , 2009, MoDELS Workshops.

[54]  Leila Ribeiro,et al.  Specification Patterns for Properties over Reachable States of Graph Grammars , 2012, SBMF.

[55]  Stephan Merz,et al.  Model Checking - Timed UML State Machines and Collaborations , 2002, FTRTFT.

[56]  Juan de Lara,et al.  A Visual Specification Language for Model-to-Model Transformations , 2010, 2010 IEEE Symposium on Visual Languages and Human-Centric Computing.

[57]  Gerti Kappel,et al.  Towards Scenario-Based Testing of UML Diagrams , 2012, TAP@TOOLS.

[58]  Dániel Varró,et al.  Adaptive Graph Pattern Matching for Model Transformations using Model-sensitive Search Plans , 2006, GRaMoT@GPCE.

[59]  Hans Vangheluwe,et al.  The FTG+PM framework for multi-paradigm modelling: an automotive case study , 2012, MPM '12.

[60]  Hans Vangheluwe,et al.  AToMPM: A Web-based Modeling Environment , 2013, MoDELS.

[61]  George S. Avrunin,et al.  Property specification patterns for finite-state verification , 1998, FMSP '98.

[62]  Bernhard Schätz,et al.  AutoFocus: A Tool for Distributed Systems Specification , 1996, FTRTFT.

[63]  Hans Vangheluwe,et al.  Explicit transformation modeling , 2009, MODELS'09.

[64]  Edmund M. Clarke,et al.  Using Branching Time Temporal Logic to Synthesize Synchronization Skeletons , 1982, Sci. Comput. Program..

[65]  Petra Kaufmann,et al.  OCL meets CTL: Towards CTL-Extended OCL Model Checking , 2013, OCL@MoDELS.

[66]  Antonio Vallecillo,et al.  Formal Specification and Analysis of Domain Specific Models Using Maude , 2009, Simul..

[67]  Elmar Jürgens,et al.  COPE - Automating Coupled Evolution of Metamodels and Models , 2009, ECOOP.

[68]  Henry Muccini,et al.  CHARMY: A Framework for Designing and Verifying Architectural Specifications , 2009, IEEE Transactions on Software Engineering.

[69]  Antonio Cicchetti,et al.  A generic in-place transformation-based approach to structured model co-evolution , 2011, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[70]  Guoliang Zheng,et al.  Consistency Checking of Concurrent Models for Scenario-Based Specifications , 2005, SDL Forum.

[71]  Charles Ashbacher "The Unified Modeling Language Reference Manual, Second Edition", by James Rumbaugh , 2004, J. Object Technol..

[72]  Phil McMinn,et al.  Search‐based software test data generation: a survey , 2004, Softw. Test. Verification Reliab..

[73]  Bart Meyers,et al.  A DSL for Explicit Semantic Adaptation , 2013, MPM@MoDELS.

[74]  Bowen Alpern,et al.  Recognizing safety and liveness , 2005, Distributed Computing.

[75]  Arend Rensink Explicit State Model Checking for Graph Grammars , 2008, Concurrency, Graphs and Models.

[76]  Martin Gogolla,et al.  Model transformations? transformation models! , 2006, MoDELS'06.

[77]  Kousha Etessami,et al.  Events and constraints: a graphical editor for capturing logic requirements of programs , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[78]  Thomas Kühne,et al.  Matters of (Meta-) Modeling , 2006, Software & Systems Modeling.

[79]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[80]  Dirk Fahland,et al.  Where Did I Misbehave? Diagnostic Information in Compliance Checking , 2012, BPM.

[81]  Wolfgang Reisig,et al.  Lectures on Petri Nets I: Basic Models , 1996, Lecture Notes in Computer Science.

[82]  Juha-Pekka Tolvanen,et al.  Domain-Specific Modeling: Enabling Full Code Generation , 2008 .

[83]  Bernhard Rumpe,et al.  Domain specific modeling , 2005, Software & Systems Modeling.

[84]  Bart Meyers,et al.  A framework for evolution of modelling languages , 2011, Sci. Comput. Program..

[85]  Bart Meyers,et al.  Automated testing support for reactive domain-specific modelling languages , 2016, SLE.