Adaptive Software based on Correct-by-Construction Metamodels

Despite significant research efforts in the last decade, UML has not reached the status of being a highconfidence modeling language. This is due to unsound foundations that result from the insufficiently formal structuring of metamodels that define the MOF/UML Infrastructure. Nowadays, UML-related metamodels are implemented in computing environments (e.g., EMF) to play the role of metadata when one seeks adaptation at runtime. To properly instrument metamodel-based adaptation, this chapter re-formalizes the core of the MOF/UML Infrastructure along with giving formal proofs that avoid ambiguities, contradictions, or redundancies. A (meta-)class creation mechanism (either by instantiation or inheritance) is based on inductive types taken from the constructive logic. Inherent proofs based on the Coq proof assistant are also provided. This chapter's contribution is aligned with a previously established metamodeling framework named "Matters of (meta-)modeling."

[1]  Richard F. Paige,et al.  Metamodel-based model conformance and multiview consistency checking , 2007, TSEM.

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

[3]  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.

[4]  Jozef Hooman,et al.  Formalizing UML Models and OCL Constraints in PVS , 2004, SFEDL@ETAPS.

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

[6]  Stéphane Ducasse,et al.  Meta-environment and executable meta-language using smalltalk: an experience report , 2009, Software & Systems Modeling.

[7]  Thomas Kühne,et al.  Matters of (Meta-) Modeling , 2006, Software & Systems Modeling.

[8]  Colin Atkinson,et al.  Model-Driven Development: A Metamodeling Foundation , 2003, IEEE Softw..

[9]  Gabriele Taentzer,et al.  Generating instance models from meta models , 2006, Software & Systems Modeling.

[10]  Tomi Männistö,et al.  Nivel: a metamodelling language with a formal semantics , 2009, Software & Systems Modeling.

[11]  Warren Harrison Is software engineering as we know it over the hill? , 2003, IEEE Software.

[12]  Dragan Milicev On the Semantics of Associations and Association Ends in UML , 2007, IEEE Transactions on Software Engineering.

[13]  Franck Barbier,et al.  Contracts for Model Execution Verification , 2011, ECMFA.

[14]  Jean Bézivin,et al.  KM3: A DSL for Metamodel Specification , 2006, FMOODS.

[15]  Artur Boronat,et al.  An algebraic semantics for MOF , 2009, Formal Aspects of Computing.

[16]  Ivan Porres,et al.  A metamodeling language supporting subset and union properties , 2007, Software & Systems Modeling.

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

[18]  Franck Barbier,et al.  Model execution adaptation? , 2012, MRT '12.

[19]  Manfred Broy,et al.  UML formal semantics: lessons learned , 2011, Software & Systems Modeling.

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

[21]  Andy Evans,et al.  The Metamodelling Language Calculus: Foundation Semantics for UML , 2001, FASE.

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

[23]  Jean Bézivin,et al.  Towards a precise definition of the OMG/MDA framework , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[24]  Wolfgang Hesse,et al.  More matters on (meta-)modelling: remarks on Thomas Kühne’s “matters” , 2006, Software & Systems Modeling.

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

[26]  Conor McBride,et al.  A Few Constructions on Constructors , 2004, TYPES.

[27]  Thomas Kühne Clarifying matters of (meta-) modeling: an author’s reply , 2006, Software & Systems Modeling.

[28]  Iman Poernomo Proofs-as-Model-Transformations , 2008, ICMT@TOOLS.