Proved Metamodels as Backbone for Software Adaptation

In this paper we demonstrate the error-prone status of the UML 2.3 metamodel relating to state machines. We consequently provide a corrected version based on formal proofs written and processed with the help of the Coq system prover. The purpose of the proposed research is to support dynamical adaptation by means of models at runtime. Software components are internally endowed with complex state machines (models) realizing their behavior. Adaptation amounts to dynamically changing the state machines’ structure (for instance, adding a new state). This occurs via SimUML, a state machine execution engine that is constructed on the top of a metamodel resulting from correctness proofs.

[1]  Frank Eliassen,et al.  Using architecture models for runtime adaptability , 2006, IEEE Software.

[2]  Rogério de Lemos,et al.  Software Engineering for Self-Adaptive Systems [outcome of a Dagstuhl Seminar] , 2009, Software Engineering for Self-Adaptive Systems.

[3]  Roy Sterritt,et al.  Fulfilling the Vision of Autonomic Computing , 2010, Computer.

[4]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[5]  Nabil Hameurlain,et al.  MOCAS: A State-Based Component Model for Self-Adaptation , 2009, 2009 Third IEEE International Conference on Self-Adaptive and Self-Organizing Systems.

[6]  Yves Bertot,et al.  Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions , 2010 .

[7]  Janos Sztipanovits,et al.  Formalizing the structural semantics of domain-specific modeling languages , 2009, Software & Systems Modeling.

[8]  David A. Carrington,et al.  A Formal Model of the UML Metamodel: The UML State Machine and Its Integrity Constraints , 2002, ZB.

[9]  Jean-Marc Jézéquel,et al.  Code generation from UML models with semantic variation points , 2005, MoDELS'05.

[10]  Michelle L. Crane,et al.  UML vs. classical vs. rhapsody statecharts: not all models are created equal , 2005, MoDELS'05.

[11]  Franck Fleurey,et al.  A Domain Specific Modeling Language Supporting Specification, Simulation and Execution of Dynamic Adaptive Systems , 2009, MoDELS.

[12]  Xavier Crégut,et al.  A Framework to Formalise the MDE Foundations , 2007 .

[13]  Martin Gogolla,et al.  Towards an integrated graph-based semantics for UML , 2003, Software & Systems Modeling.

[14]  Brice Morin,et al.  Models@ Run.time to Support Dynamic Adaptation , 2009, Computer.

[15]  Michael von der Beeck,et al.  A Comparison of Statecharts Variants , 1994, FTRTFT.

[16]  Michael von der Beeck,et al.  Formalization of UML-Statecharts , 2001, UML.

[17]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[18]  Kevin Lano,et al.  A compositional semantics of UML-RSDS , 2009, Software & Systems Modeling.

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

[20]  Robert B. France,et al.  Model-driven development using UML 2.0: promises and pitfalls , 2006, Computer.

[21]  Franck Barbier Supporting the UML State Machine Diagramsat Runtime , 2008, ECMDA-FA.

[22]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[23]  Gilles Motet,et al.  A UML model consistency verification approach based on meta-modeling formalization , 2006, SAC.

[24]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.