Reusing dynamic communication protocols in self-adaptive embedded component architectures

Component based software engineering aims at re-using components in other systems. This requires a verification whether the component can safely interact with its communication partners in a new environment. Such verification is mandatory in case of safety-critical real-time systems where the communication is characterized by a varying number of components instances all being of the same type. Reuse can be facilitated by separating abstract communication protocol definitions and concrete component implementations. In contrast to standard refinement definitions for real-time systems, our definition explicitly takes varying numbers of communication partners into account. Additionally, we relax the strict conditions of a bisimulation to ease reuse of components. Along with our refinement definition, we provide a formal verification procedure to check for correct refinements which preserves properties verified for the abstract protocol definition. We evaluated our approach using a self-adaptive real-time system from the domain of autonomous train systems. The evaluation results show that checking for correct refinements is more efficient than re-verifying the desired properties on the refined component.

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

[2]  Francesco Parisi-Presicce,et al.  Formal Software Specification with Refinements and Modules of Typed Graph Transformation Systems , 2002, J. Comput. Syst. Sci..

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

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

[5]  Séverine Sentilles,et al.  A Classification Framework for Component Models , 2007 .

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

[7]  Betty H. C. Cheng,et al.  Model-based development of dynamically adaptive software , 2006, ICSE.

[8]  Stavros Tripakis,et al.  Analysis of Timed Systems Using Time-Abstracting Bisimulations , 2001, Formal Methods Syst. Des..

[9]  Bruce Powell Douglass,et al.  Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems , 2002 .

[10]  Stefan Henkler,et al.  Refinement Checking of Self-Adaptive Embedded Component Architectures , 2010 .

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

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

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

[14]  Kung-Kiu Lau,et al.  Software Component Models , 2007, IEEE Trans. Software Eng..

[15]  Stefan Henkler,et al.  Modeling and verifying dynamic communication structures based on graph transformations , 2011, Computer Science - Research and Development.

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

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

[18]  Kim G. Larsen,et al.  Scaling up Uppaal Automatic Verification of Real-Time Systems Using Compositionality and Abstraction , 2000, FTRTFT.

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

[20]  Petr Hošek,et al.  Comparison of component frameworks for real-time embedded systems , 2010, Knowledge and Information Systems.

[21]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[22]  Reiko Heckel,et al.  Behavioral Refinement of Graph Transformation-Based Models , 2005, Electron. Notes Theor. Comput. Sci..

[23]  Carsten Weise,et al.  Efficient Scaling-Invariant Checking of Timed Bisimulation , 1997, STACS.

[24]  Holger Giese,et al.  Modeling and Verification of Cooperative Self-adaptive Mechatronic Systems , 2005, Monterey Workshop.