Modeling and verifying dynamic communication structures based on graph transformations

Current and especially future software systems increasingly exhibit so-called self-* properties (e.g., self-healing or self-optimization). In essence, this means that software in such systems needs to be reconfigurable at run-time to remedy a detected failure or to adjust to a changing environment. Reconfiguration includes adding or deleting (software) components as well as adding or deleting component interaction. As a consequence, the state space of self-* systems becomes so complex, that current verification approaches like model checking or theorem proving usually do not scale. Our approach addresses this problem by firstly defining a system architecture with clearly defined components and their interfaces (ports including the definition of signatures of all events and methods which the port may receive and the component may execute) and so-called coordination patterns. These coordination patterns specify communication protocols based on the definition of the ports only for those component interactions which are defined in the (static) architecture specification by a corresponding connection. Secondly, the reconfiguration of architectures is precisely defined by giving a formal definition of all change operations, e.g., adding or deleting components and component connections. By exploiting this formal definition, it becomes provable that an architecture includes only component connections which correspond to the defined coordination patterns. Then, the verification of safety and liveness properties has to be carried out only for each individual coordination pattern rather than for the system as a whole.

[1]  Juan de Lara,et al.  Automating the transformation-based analysis of visual languages , 2009, Formal Aspects of Computing.

[2]  Kim Guldstrand Larsen,et al.  Formal Methods for the Design of Real-Time Systems , 2004, Lecture Notes in Computer Science.

[3]  Antonio Vallecillo,et al.  A graphical approach for modeling time-dependent behavior of DSLs , 2009, 2009 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[4]  Parosh Aziz Abdulla,et al.  Static Analysis of Dynamic Communication Systems , 2007 .

[5]  Rajeev Alur,et al.  Timed Automata , 1999, CAV.

[6]  ÖlveczkyPeter Csaba,et al.  Semantics and pragmatics of Real-Time Maude , 2007 .

[7]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

[8]  Reiko Heckel,et al.  Algebraic Approaches to Graph Transformation - Part II: Single Pushout Approach and Comparison with Double Pushout Approach , 1997, Handbook of Graph Grammars.

[9]  Rajeev Alur,et al.  Model-Checking in Dense Real-time , 1993, Inf. Comput..

[10]  A. Schfürr,et al.  Programmed graph replacement systems , 1997 .

[11]  Martin Hirsch,et al.  Modell-basierte Verifikation von vernetzten mechatronischen Systemen , 2008 .

[12]  Joseph Sifakis,et al.  Causal semantics for the algebra of connectors , 2008, Formal Methods Syst. Des..

[13]  Albert Zündorf,et al.  Topology Analysis of Car Platoons Merge with FujabaRT & TimedStoryCharts - a Case Study , 2010 .

[14]  Wang Yi,et al.  Timed Automata: Semantics, Algorithms and Tools , 2003, Lectures on Concurrency and Petri Nets.

[15]  Albert Zündorf Model Checking the Leader Election Protocol with Fujaba , 2009 .

[16]  Holger Giese,et al.  Incremental Design and Formal Verification with UML/RT in the FUJABA Real-Time Tool Suite , 2004 .

[17]  Arend Rensink,et al.  Isomorphism Checking in GROOVE , 2007, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

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

[19]  Rajeev Alur,et al.  Model Checking: From Tools to Theory , 2008, 25 Years of Model Checking.

[20]  Stefan Henkler,et al.  Component Behavior Synthesis for Critical Systems , 2010, MBEES.

[21]  Holger Giese,et al.  Modeling Techniques for Software-Intensive Systems , 2009 .

[22]  Holger Giese,et al.  Synthesis of timed behavior from scenarios in the Fujaba Real-Time Tool Suite , 2009, 2009 IEEE 31st International Conference on Software Engineering.

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

[24]  Christian Heinzemann,et al.  Reachability Analysis on Timed Graph Transformation Systems , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[25]  Andy Schürr,et al.  Programmed Graph Replacement Systems , 1997, Handbook of Graph Grammars.

[26]  Holger Giese,et al.  Real-Time Statechart Semantics , 2003 .

[27]  Holger Giese,et al.  Symbolic invariant verification for systems with dynamic structural adaptation , 2006, ICSE.

[28]  Holger Giese,et al.  Towards the compositional verification of real-time UML designs , 2003, ESEC/FSE-11.

[29]  Alexandre David Uppaal DBM Library Programmer's Reference , 2006 .

[30]  Reiko Heckel,et al.  Algebraic Approaches to Graph Transformation - Part I: Basic Concepts and Double Pushout Approach , 1997, Handbook of Graph Grammars.

[31]  Reinhard Wilhelm,et al.  Static Analysis of Dynamic Communication Systems by Partner Abstraction , 2007, SAS.

[32]  Holger Giese,et al.  Modeling collaborations with dynamic structural adaptation in mechatronic UML , 2008, SEAMS '08.

[33]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 3: concurrency, parallelism, and distribution , 1999 .

[34]  Jürgen Dingel,et al.  A survey of self-management in dynamic software architecture specifications , 2004, WOSS '04.

[35]  Kim G. Larsen,et al.  A Tutorial on Uppaal , 2004, SFM.

[36]  Stefan Henkler,et al.  Fujaba4Eclipse Real-Time Tool Suite , 2007, Model-Based Engineering of Embedded Real-Time Systems.

[37]  Peter Csaba Ölveczky,et al.  Formal Real-Time Model Transformations in MOMENT2 , 2010, FASE.

[38]  K. Mani Chandy,et al.  Proofs of Networks of Processes , 1981, IEEE Transactions on Software Engineering.

[39]  Stephan Merz,et al.  Model Checking , 2000 .

[40]  Arend Rensink,et al.  Model Checking Dynamic States in GROOVE , 2006, SPIN.

[41]  Reiko Heckel,et al.  Stochastic Graph Transformation with Regions , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[42]  Manfred Nagl,et al.  Building integrated software development environments. Part I: tool specification , 1992, TSEM.

[43]  Wilhelm Schäfer,et al.  The Challenges of Building Advanced Mechatronic Systems , 2007, Future of Software Engineering (FOSE '07).

[44]  Holger Giese,et al.  Modular design and verification of component-based mechatronic systems with online-reconfiguration , 2004, SIGSOFT '04/FSE-12.

[45]  Oliver Niggemann,et al.  Models for model's sake , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[46]  Barbara König,et al.  Towards the Verification of Attributed Graph Transformation Systems , 2008, ICGT.

[47]  Stefan Henkler,et al.  12 Fujaba4Eclipse Real-Time Tool Suite , 2010 .