A semantic framework for metamodel-based languages

In the model-based development context, metamodel-based languages are increasingly being defined and adopted either for general purposes or for specific domains of interest. However, meta-languages such as the MOF (Meta Object Facility)—combined with the OCL (Object Constraint Language) for expressing constraints—used to specify metamodels focus on structural and static semantics but have no built-in support for specifying behavioral semantics. This paper introduces a formal semantic framework for the definition of the semantics of metamodel-based languages. Using metamodelling principles, we propose several techniques, some based on the translational approach while others based on the weaving approach, all showing how the Abstract State Machine formal method can be integrated with current metamodel engineering environments to endow language metamodels with precise and executable semantics.We exemplify the use of our semantic framework by applying the proposed techniques to the OMG metamodelling framework for the behaviour specification of the Finite State Machines provided in terms of a metamodel.

[1]  M. Broy,et al.  2nd UML 2 semantics symposium: formal semantics for UML , 2006, MoDELS'06.

[2]  Mark Richters,et al.  A precise approach to validating UML models and OCL constraints , 2002 .

[3]  Jan Jürjens A UML statecharts semantics with message-passing , 2002, SAC '02.

[4]  Angelo Gargantini,et al.  Ten Reasons to Metamodel ASMs , 2009, Rigorous Methods for Software Construction and Analysis.

[5]  Elvinia Riccobene,et al.  Towards an Interchange Language for ASMs , 2004, Abstract State Machines.

[6]  Matthias Anlauff,et al.  XASM - An Extensible, Component-Based ASM Language , 2000, Abstract State Machines.

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

[8]  Carl A. Gunter Semantics of programming languages: structures and techniques , 1993, Choice Reviews Online.

[9]  Jean Bézivin,et al.  Model-based DSL frameworks , 2006, OOPSLA '06.

[10]  Sandeep Neema,et al.  Compositional Specification of Behavioral Semantics , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[11]  Benoît Combemale,et al.  Towards a Formal Verification of Process Model's Properties SIMPLEPDL and TOCL Case Study , 2007, ICEIS.

[12]  Arend Rensink Model Driven Architecture - Foundations and Applications, 5th European Conference, ECMDA-FA 2009, Enschede, The Netherlands, June 23-26, 2009. Proceedings , 2009, ECMDA-FA.

[13]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

[14]  Egon Börger The ASM Method for System Design and Analysis. A Tutorial Introduction , 2005, FroCoS.

[15]  Martin Gogolla,et al.  Validating UML Models and OCL Constraints , 2000, UML.

[16]  Angelo Gargantini,et al.  Metamodelling a formal method : applying MDE to abstract state machines , 2006 .

[17]  Gabor Karsai,et al.  The Graph Rewriting and Transformation Language: GReAT , 2007, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[18]  Elvinia Riccobene,et al.  Mapping UML into Abstract State Machines: A Framework to Simulate UML Models , 2004, Stud. Inform. Univ..

[19]  Wolfgang Müller,et al.  An ASM Definition of the Dynamic OCL 2.0 Semantics , 2004, UML.

[20]  Jean Bézivin,et al.  On the unification power of models , 2005, Software & Systems Modeling.

[21]  Bernhard Rumpe,et al.  Meaningful modeling: what's the semantics of "semantics"? , 2004, Computer.

[22]  Jean Bézivin,et al.  ATL: a QVT-like transformation language , 2006, OOPSLA '06.

[23]  R. Petit A Tutorial Introduction , 1980 .

[24]  Egon Börger,et al.  Abstract State Machines , 2003 .

[25]  Stuart Kent,et al.  The MMF approach to engineering object-oriented design languages. , 2001 .

[26]  Kevin J. Compton,et al.  A Semantic Model for the State Machine in the Unified Modeling Language , 2000 .

[27]  Elvinia Riccobene,et al.  Modeling the Dynamics of UML State Machines , 2000, Abstract State Machines.

[28]  Martin Odersky,et al.  Abstract State Machines - Theory and Applications , 2002, Lecture Notes in Computer Science.

[29]  Markus Scheidgen,et al.  Human Comprehensible and Machine Processable Specifications of Operational Semantics , 2007, ECMDA-FA.

[30]  Gabor Karsai,et al.  Model-Integrated Computing , 1997, Computer.

[31]  Jean-Marc Jézéquel,et al.  Weaving executability into object-oriented meta-languages , 2005, MoDELS'05.

[32]  Jean Bézivin,et al.  Extending AMMA for Supporting Dynamic Semantics Specifications of DSLs , 2006 .

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

[34]  Jörn W. Janneck,et al.  Moses-a tool suite for visual modeling of discrete-event systems , 2001, Proceedings IEEE Symposia on Human-Centric Computing Languages and Environments (Cat. No.01TH8587).

[35]  Sandeep Neema,et al.  Toward a semantic anchoring infrastructure for domain-specific modeling languages , 2005, EMSOFT.

[36]  Ileana Ober More meaningful UML models , 2000, Proceedings 37th International Conference on Technology of Object-Oriented Languages and Systems. TOOLS-Pacific 2000.

[37]  Angelo Gargantini,et al.  A Metamodel-based Simulator for ASMs , 2007 .

[38]  Jean Bézivin,et al.  A Practical Experiment to Give Dynamic Semantics to a DSL for Telephony Services Development , 2006 .