Skip to main content
Log in

Modeling and verifying dynamic communication structures based on graph transformations

  • Special Issue Paper
  • Published:
Computer Science - Research and Development

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. 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

    Google Scholar 

  2. 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

    Chapter  Google Scholar 

  3. Alur R, Courcoubetis C, Dill D (1993) Model-checking in dense real-time. Inf Comput 104:2–34

    Article  MathSciNet  MATH  Google Scholar 

  4. 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

    Google Scholar 

  5. 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

    Google Scholar 

  6. 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

    Google Scholar 

  7. 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

    Chapter  Google Scholar 

  8. 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

    Google Scholar 

  9. 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

    Google Scholar 

  10. 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

    Chapter  Google Scholar 

  11. 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

    Google Scholar 

  12. 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

    Chapter  Google Scholar 

  13. David A (2006) UPPAAL DBM library programmer’s reference

  14. 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

    Chapter  Google Scholar 

  15. 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

    Chapter  Google Scholar 

  16. 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

    Article  Google Scholar 

  17. 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

    Google Scholar 

  18. Giese H, Burmester S (2003) Real-time statechart semantics. Tech. Rep. tr-ri-03-239, Lehrstuhl für Softwaretechnik, Universität Paderborn, Paderborn, Germany

  19. 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

    Google Scholar 

  20. 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

    Google Scholar 

  21. 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

    Chapter  Google Scholar 

  22. 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

    Google Scholar 

  23. 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

    Google Scholar 

  24. 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

    Google Scholar 

  25. 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.

    Google Scholar 

  26. 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

    Chapter  Google Scholar 

  27. 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

    Google Scholar 

  28. 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

    Google Scholar 

  29. 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

    Google Scholar 

  30. Ölveczky PC, Meseguer J (2007) Semantics and pragmatics of real-time maude. High-Order Symb Comput 20(1–2):161–196

    Article  MATH  Google Scholar 

  31. 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

    Google Scholar 

  32. 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

    Chapter  Google Scholar 

  33. 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

    Google Scholar 

  34. 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

    Chapter  Google Scholar 

  35. 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

    Chapter  Google Scholar 

  36. Rozenberg G (1997) Handbook of graph grammars and computing by graph transformation, vol 1: Foundations. World Scientific, River Edge

    Book  Google Scholar 

  37. 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

    Chapter  Google Scholar 

  38. 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

    Chapter  Google Scholar 

  39. 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

    Google Scholar 

  40. UML 2.2 (2009) superstructure specification. Object Management Group, document—formal/09-02-02

  41. Zündorf A (2001) Rigorous object oriented software development. University of Paderborn

  42. Zündorf A (2009) Model checking the leader election protocol with Fujaba. In: 5th international workshop on graph-based tools (GraBaTs)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Claudia Priesterjahn.

Rights and permissions

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00450-011-0184-y

Keywords

Navigation