Scenario-driven analysis of systems specified through graph transformations

Model checking is one of the most accurate analysis techniques which are used to verify software and hardware systems. However, the analysis of large and complex systems tends to become infeasible since their state spaces easily become too big. Besides well-known abstraction techniques, which may hamper the accuracy of results, in this paper we propose the use of scenario-driven model checking to address and mitigate the state explosion problem. The proposal starts from systems specified through a Graph Transformation (GT) system and it is focused on the analysis of the most significant scenarios. We exploit the modularity of GT systems to reduce the state space by eliminating all the nodes and rules that are not involved in the scenario. Focused analysis also helps concentrate on the most critical behaviors of the system and smooth the risks associated with them. The paper introduces the analysis approach and explains how scenarios (specified in terms of sequence diagrams) can help to reduce the state space. All main concepts are illustrated through a simple application for a travel agency specified as if it were a service-oriented application.

[1]  B. König,et al.  Verifying Finite-State Graph Grammars: An Unfolding-Based Approach , 2004, CONCUR.

[2]  Dragan Bosnacki,et al.  Partial-order reduction for general state exploring algorithms , 2006, International Journal on Software Tools for Technology Transfer.

[3]  Luciano Baresi,et al.  On the Use of Alloy to Analyze Graph Transformation Systems , 2006, ICGT.

[4]  Luciano Baresi,et al.  Loupe: Verifying Publish-Subscribe Architectures with a Magnifying Lens , 2011, IEEE Transactions on Software Engineering.

[5]  Luciano Baresi,et al.  An Efficient Solution for Model Checking Graph Transformation Systems , 2008, Electron. Notes Theor. Comput. Sci..

[6]  Leila Ribeiro,et al.  Formal Verification of Object-Oriented Graph Grammars Specifications , 2007, GT-VC@CONCUR.

[7]  Mourad Badri,et al.  Applying Model Checking to Concurrent UML Models , 2008, J. Object Technol..

[8]  Vahid Rafe,et al.  Modeling Fault Tolerant Services in Service-Oriented Architecture , 2009, 2009 Third IEEE International Symposium on Theoretical Aspects of Software Engineering.

[9]  Luciano Baresi,et al.  Towards automated verification of layered graph transformation specifications , 2009, IET Softw..

[10]  Matthew B. Dwyer,et al.  Bogor: an extensible and highly-modular software model checking framework , 2003, ESEC/FSE-11.

[11]  Dániel Varró,et al.  CheckVML: A Tool for Model Checking Visual Modeling Languages , 2003, UML.

[12]  Kenneth L. McMillan,et al.  Interpolation and SAT-Based Model Checking , 2003, CAV.

[13]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation (Monographs in Theoretical Computer Science. An EATCS Series) , 1992 .

[14]  Dániel Varró,et al.  Modeling and Verification of Reliable Messaging by Graph Transformation Systems , 2007, Electron. Notes Theor. Comput. Sci..

[15]  Arend Rensink The GROOVE Simulator: A Tool for State Space Generation , 2003, AGTIVE.

[16]  Luciano Baresi,et al.  Modeling and validation of service-oriented architectures: application vs. style , 2003, ESEC/FSE-11.

[17]  Stefan Edelkamp,et al.  Heuristic Search for the Analysis of Graph Transition Systems , 2006, ICGT.

[18]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[19]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[20]  Sebastian Thöne Dynamic software architectures: a style based modeling and refinement technique with graph transformations , 2005 .

[21]  Luciano Baresi,et al.  Tutorial Introduction to Graph Transformation: A Software Engineering Perspective , 2002, ICGT.

[22]  Alberto Lluch-Lafuente Symmetry reduction and heuristic search for error detection in model checking , 2003 .

[23]  Luciano Baresi,et al.  Style-based refinement of dynamic software architectures , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[24]  Henrik Behrens Requirements Analysis and Prototyping using Scenarios and Statecharts , 2002 .

[25]  Bernd Westphal LSC Verification for UML Models with Unbounded Creation and Destruction , 2006, Electron. Notes Theor. Comput. Sci..

[26]  Luciano Baresi,et al.  Style-based modeling and refinement of service-oriented architectures , 2006, Software & Systems Modeling.

[27]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[28]  Nora Koch,et al.  Formal verification of an automotive scenario in service-oriented computing , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[29]  Reiko Heckel,et al.  Rewriting Logic Semantics and Verification of Model Transformations , 2009, FASE.

[30]  O.A. Mohamed,et al.  Integrating SAT with Multiway Decision Graphs for efficient model checking , 2007, 2007 Internatonal Conference on Microelectronics.