Abstract
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.
Similar content being viewed by others
References
Alur R (1999) Timed automata. In: Halbwachs N, Peled D (eds) Proceedings of the 11th international conference on computer aided verification (CAV ’99), July 6–10, 1999, Trento, Italy. Lecture Notes in Computer Science (LNCS), vol 1633. Springer, Berlin, pp 8–22
Alur R (2008) Model checking: From tools to theory. In: 25 years of model checking. Lecture notes in computer science, vol 5000. Springer, Berlin Heidelberg, pp 89–106
Alur R, Courcoubetis C, Dill D (1993) Model-checking in dense real-time. Inf Comput 104:2–34
Bauer J, Wilhelm R (2007) Static analysis of dynamic communication systems. In: File G, Nielson HR (eds) 14th international static analysis symposium, vol 4634. Springer, Berlin. http://www.model.in.tum.de/~joba/sas07.pdf
Becker B, Beyer D, Giese H, Klein F, Schilling D (2006) Symbolic invariant verification for systems with dynamic structural adaptation. In: Proc. of the 28th international conference on software engineering (ICSE), Shanghai, China. ACM, New York, pp 72–81
Behrmann G, David A, Larsen KG (2004) A tutorial on Uppaal. In: Bernardo M, Corradini F (eds) Formal methods for the design of real-time systems: 4th international school on formal methods for the design of computer, communication, and software systems, SFM-RT 2004. LNCS, vol 3185. Springer, Berlin, pp 200–236
Bengtsson J, Yi W (2003) Timed automata: semantics, algorithms and tools. In: Desel J, Reisig W, Rozenberg G (eds) Lectures on concurrency and Petri nets. Lecture notes in computer science, vol 3098. Springer, Berlin, pp 87–124
Bliudze S, Sifakis J (2010) Causal semantics for the algebra of connectors. In: Formal methods in system design, vol 36. Springer, Berlin, pp 167–194. doi:10.1007/s10703-010-0091-z
Boronat A, Ölveczky PC (2010) Formal real-time model transformations in moment2. In: Proceedings of the 13th international conference on fundamental approaches to software engineering, FASE 2010, pp 29–43
Bradbury JS, Cordy JR, Dingel J, Wermelinger M (2004) A survey of self-management in dynamic software architecture specifications. In: WOSS ’04: Proceedings of the 1st ACM SIGSOFT workshop on Self-managed systems. ACM, New York, pp 28–33. doi:10.1007/s00450-011-0184-y
Burmester S, Giese H, Hirsch M, Schilling D (2004) Incremental design and formal verification with UML/RT in the FUJABA real-time tool suite. In: Proc of the international workshop on specification and validation of UML models for real-time and embedded systems, SVERTS2004, pp 1–20
Corradini A, Montanari U, Rossi F, Ehrig H, Heckel R, Löwe M (1997) Algebraic approaches to graph transformation. Part I: basic concepts and double pushout approach. In: Handbook of graph grammars and computing by graph transformation, vol 1 Foundations. World Scientific, River Edge, pp 163–245, Chap 3
David A (2006) UPPAAL DBM library programmer’s reference
Eckardt T, Henkler S (2010) Component behavior synthesis for critical systems. In: Architecting critical systems. Lecture notes in computer science, vol 6150. Springer, Berlin, pp 52–71
Ehrig H, Heckel R, Korff M, Löwe M, Ribeiro L, Wagner A, Corradini A (1997) Algebraic approaches to graph transformation. Part II: single pushout approach and comparison with double pushout approach. In: Handbook of graph grammars and computing by graph transformation, vol 1. Foundations. World Scientific, River Edge, pp 247–312
Engels G, Lewerentz C, Nagl M, Schäfer W, Schürr A (1992) Building integrated software development environments. Part I: tool specification. ACM Trans Softw Eng Methodol 1(2):135–167
Fischer T, Niere J, Torunski L, Zündorf A (2000) In: Theory and application of graph transformations, 6th international workshop, TAGT’98, Paderborn, Germany, 1998. Lecture Notes in Computer Science, vol 1764. Springer, Berlin
Giese H, Burmester S (2003) Real-time statechart semantics. Tech. Rep. tr-ri-03-239, Lehrstuhl für Softwaretechnik, Universität Paderborn, Paderborn, Germany
Giese H, Tichy M, Burmester S, Schäfer W, Flake S (2003) Towards the compositional verification of real-time uml designs. In: Proc of the European software engineering conference (ESEC), Helsinki, Finland. ACM, New York, pp 38–47
Giese H, Burmester S, Schäfer W, Oberschelp O (2004) Modular design and verification of component-based mechatronic systems with online-reconfiguration. In: Proc of 12th ACM SIGSOFT foundations of software engineering 2004 (FSE 2004), Newport Beach, USA. ACM, New York, pp 179–188
Giese H, Henkler S, Roubin Hirsch M V, Tichy M (2008) Modeling techniques for software-intensive systems. In: Tiako DPF (ed) Designing software-intensive systems: methods and principles, Langston University, OK, pp 21–58
Heinzemann C, Suck J, Eckardt T (2010) Reachability analysis on timed graph transformation systems. In: Proc of the eighth international workshop on graph based tools (GraBaTs 2010), Electronic Communications of the EASST, vol 31
Heinzemann C, Suck J, Jubeh R, Zündorf A (2010) Topology analysis of car platoons merge with fujabart & timedstorycharts—a case study. In: Gorp PV, Mazanek S, Rensink A (eds) Transformation tool contest, Malaga
Henke C, Tichy M, Böcker J, Schäfer W (2008) Organization and control of autonomous railway convoys. In: Proc of the 9th international symposium on advanced vehicle control, Kobe, Japan
Henkler S, Greenyer J, Hirsch M, Schäfer W, Alhawash K, Eckardt T, Heinzemann C, Löffler R, Seibel A, Giese H (2009) Synthesis of timed behavior from scenarios in the fujaba real-time tool suite. In: Proc of the 31th international conference on software engineering (ICSE), Vancouver, Canada.
Kastenberg H, Rensink A (2006) Model checking dynamic states in groove. In: Valmari A (ed) Model checking software (SPIN), Vienna, Austria. Lecture notes in computer science, vol 3925. Springer, Berlin, pp 299–305
König B, Kozioura V (2008) Towards the verification of attributed graph transformation systems. In: Proc of ICGT ’08 (International conference on graph transformation). LNCS, vol 5214. Springer, Berlin, pp 305–320
de Lara J, Vangheluwe H (2010) Automating the transformation-based analysis of visual languages. In: Formal aspects of computing, vol 22. Springer, Berlin, pp 297–326
Niggemann O, Stroop J (2008) Models for model’s sake: why explicit system models are also an end to themselves. In: Schäfer W, Dwyer MB, Gruhn V (eds) 30th international conference on software engineering (ICSE 2008), Leipzig, Germany, May 10–18, 2008. ACM, New York, pp 561–570
Ölveczky PC, Meseguer J (2007) Semantics and pragmatics of real-time maude. High-Order Symb Comput 20(1–2):161–196
Priesterjahn C, Tichy M, Henkler S, Hirsch M, Schäfer W (2010) Fujaba4eclipse real-time tool suite. In: Model-based engineering of embedded real-time systems (MBEERTS). Springer, Berlin
Rensink A (2004) The GROOVE simulator: a tool for state space generation. In: Pfalz J, Nagl M, Böhlen B (eds) Applications of graph transformations with industrial relevance (AGTIVE). Lecture notes in computer science, vol 3062. Springer, Berlin, pp 479–485
Rensink A (2007) Isomorphism checking in groove. In: Zündorf A, Varró D (eds) Graph-based tools (GraBaTs), Natal, Brazil, European Association of Software Science and Technology, Electronic Communications of the EASST, vol 1
Rensink A (2008) Explicit state model checking for graph grammars. In: Concurrency, graphs and models. Lecture notes in computer science, vol 5065. Springer, Berlin, pp 114–132
Rivera JE, Duran F, Vallecillo A (2009) A graphical approach for modeling time-dependent behavior of dsls. In: Proceedings of the 2009 IEEE symposium on visual languages and human-centric computing (VL/HCC). IEEE Computer Society, Washington, pp 51–55
Rozenberg G (1997) Handbook of graph grammars and computing by graph transformation, vol 1: Foundations. World Scientific, River Edge
Schäfer W, Wehrheim H (2007) The challenges of building advanced mechatronic systems. In: FOSE ’07: 2007 future of software engineering. IEEE Computer Society, Washington, pp 72–84
Schürr A (1997) Programmed graph replacement systems. In: Handbook of graph grammars and computing by graph transformation, vol 1. Foundations. World Scientific, River Edge, pp 479–546
Torrini P, Heckel R, Ráth I, Bergmann G (2010) Stochastic graph transformation with regions. In: GM-VMT’10, Electronic communications of the EASST, vol 29
UML 2.2 (2009) superstructure specification. Object Management Group, document—formal/09-02-02
Zündorf A (2001) Rigorous object oriented software development. University of Paderborn
Zündorf A (2009) Model checking the leader election protocol with Fujaba. In: 5th international workshop on graph-based tools (GraBaTs)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Eckardt, T., Heinzemann, C., Henkler, S. et al. Modeling and verifying dynamic communication structures based on graph transformations. Comput Sci Res Dev 28, 3–22 (2013). https://doi.org/10.1007/s00450-011-0184-y
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00450-011-0184-y