Executing reconfigurations in hierarchical component architectures

Mechatronic systems reconfigure the structure of their software architecture, e.g., to avoid hazardous situations or to optimize operational conditions like minimizing their energy consumption. As software architectures are typically build on components, reconfiguration actions need to respect the component structure. This structure should be hierarchical to enable encapsulated components. While many reconfiguration approaches for embedded real-time systems allow the use of hierarchically embedded components, i.e., horizontal composition, none of them offers a modeling and verification solution to take hierarchical composition, i.e., encapsulation, into account. In this paper, we present an extension to our existing modeling language, muml, to enable safe hierarchical reconfigurations. The two main extensions are (a) an adapted variant of the two-phase commit protocol to initiate reconfigurations which maintain component encapsulation and (b) a timed model checking verification approach for instances of our model. We illustrate our approach on a case study in the area of smart railway systems by showing two different use cases of our approach and the verification of their safety properties.

[1]  Kung-Kiu Lau,et al.  Software Component Models , 2006, IEEE Transactions on Software Engineering.

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

[3]  Markus Endler,et al.  Programming generic dynamic reconfigurations for distributed applications , 1992, CDS.

[4]  Jeff Magee,et al.  Analysing dynamic change in software architectures: a case study , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[5]  Cecília M. F. Rubira,et al.  A fault-tolerant architectural approach for dependable systems , 2006, IEEE Software.

[6]  Allen D. Malony,et al.  An Open Domain-Extensible Environment for Simulation-Based Scientific Investigation (ODESSI) , 2009, ICCS.

[7]  Wang Yi,et al.  UPPAAL 4.0 , 2006, Third International Conference on the Quantitative Evaluation of Systems - (QEST'06).

[8]  Michael McLennan,et al.  HUBzero: A Platform for Dissemination and Collaboration in Computational Science and Engineering , 2010, Computing in Science & Engineering.

[9]  Nenad Medvidovic,et al.  A software architecture-based framework for highly distributed and data intensive scientific applications , 2006, ICSE.

[10]  Shayne Flint,et al.  A survey of scientific software development , 2010, ESEM '10.

[11]  Paul Pettersson,et al.  Formal Semantics of the ProCom Real-Time Component Model , 2009, 2009 35th Euromicro Conference on Software Engineering and Advanced Applications.

[12]  Petr Tuma,et al.  A COMPONENT-ORIENTED FRAMEWORK FOR SPACECRAFT ON-BOARD SOFTWARE , 2008 .

[13]  Daniel C. Stanzione,et al.  The iPlant Collaborative: Cyberinfrastructure to Feed the World , 2011, Computer.

[14]  Michael A. Heroux Software Challenges for Extreme Scale Computing: Going From Petascale to Exascale Systems , 2009, Int. J. High Perform. Comput. Appl..

[15]  Jeffrey C. Carver Development of a Mesh Generation Code with a Graphical Front-End: A Case Study , 2011, J. Organ. End User Comput..

[16]  Tomás Bures,et al.  Property networks allowing oracle-based mode-change propagation in hierarchical components , 2012, CBSE '12.

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

[18]  Luciano Baresi,et al.  Version-consistent dynamic reconfiguration of component-based distributed systems , 2011, ESEC/FSE '11.

[19]  David Garlan,et al.  Specifying and Analyzing Dynamic Software Architectures , 1998, FASE.

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

[21]  Hans A. Hansson,et al.  Towards mode switch handling in component-based multi-mode systems , 2012, CBSE '12.

[22]  Karen Schuchardt,et al.  Ecce—a problem‐solving environment's evolution toward Grid services and a Web architecture , 2002, Concurr. Comput. Pract. Exp..

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

[24]  Robert L. Young,et al.  SciNapse: a problem-solving environment for partial differential equations , 1997 .

[25]  Michelle Miller,et al.  An integrated problem solving environment: the SCIRun computational steering system , 1998, Proceedings of the Thirty-First Hawaii International Conference on System Sciences.

[26]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[27]  Paul A. David,et al.  Towards a cyberinfrastructure for enhanced scientific collaboration: Providing its 'soft' foundations may be the hardest part , 2006 .

[28]  Mohammad Ghafari,et al.  An architectural approach to ensure globally consistent dynamic reconfiguration of component-based systems , 2012, CBSE '12.

[29]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java , 2006, Softw. Pract. Exp..

[30]  Ian Gorton,et al.  Velo: A Knowledge-Management Framework for Modeling and Simulation , 2012, Computing in Science & Engineering.

[31]  Steffen Becker,et al.  Towards modeling reconfiguration in hierarchical component architectures , 2012, CBSE '12.

[32]  Ludovic Henrio,et al.  A reconfiguration framework for distributed components , 2009, SINTER '09.

[33]  Jeffrey C. Carver,et al.  Understanding the High-Performance-Computing Community: A Software Engineer's Perspective , 2008, IEEE Software.

[34]  Ian T. Foster Globus Toolkit Version 4: Software for Service-Oriented Systems , 2005, NPC.

[35]  Petr Hnetynka,et al.  Dynamic Reconfiguration and Access to Services in Hierarchical Component Models , 2006, CBSE.

[36]  Ying-Hwa Kuo,et al.  Research Needs and Directions of Regional Climate Modeling Using WRF and CCSM , 2006 .

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

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

[39]  Pablo de la Fuente,et al.  Dynamic coordination architecture through the use of reflection , 2001, SAC.

[40]  James R. Rice,et al.  From Scientific Software Libraries to Problem Solving Environments John R. Rice , 1996 .

[41]  John R. Williams,et al.  The EPIC crop growth model , 1989 .

[42]  Adam Wynne,et al.  Components in the Pipeline , 2011, IEEE Software.

[43]  Valerio Panzica La Manna Local dynamic update for component-based distributed systems , 2012, CBSE '12.

[44]  Thomas Ledoux,et al.  Reliable Dynamic Reconfigurations in a Reflective Component Model , 2010, CBSE.

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

[46]  Christina Courtright,et al.  Context in information behavior research , 2007 .