Formalization of MOF-Based Metamodels

Formal and semiformal techniques can play complementary roles in MDA-based software development processes. We consider it beneficial for both semiformal and formal specification techniques. On the one hand, semiformal techniques lack a precise semantics; however, they have the ability to visualize language constructions, allowing a great difference in the productivity of the specification process, especially when the graphical view is supported by means of good tools. On the other hand, formal specification allows us to produce a precise and analyzable software specification and clarifies the intended meaning of metamodels, helps to validate model transformations, and provides reference for implementations; however, they require familiarity with formal notations that most designers and implementers do not currently have and the learning curve for the application of these techniques requires considerable time. A combination of metamodeling and formal specification techniques can help us to address MDAbased processes such as reverse engineering, forward engineering and round-trip engineering. In light of this, we propose to use the algebraic metamodeling language, called NEREUS which can be viewed as an intermediate notation. NEREUS can be integrated with different formal languages and object-oriented languages. It is particularly suited for specifying metamodels based on the concepts of entity, relation and system. Most of the MOF metamodel concepts can be mapped directly to NEREUS. In terms of NEREUS we will explain a reusable infrastructure for more efficient development of evolution system techniques and high quality of the results. In the following sections we summarize the main specification languages linked to object-orientation approaches such as UML and MDA and, motivate the use of NEREUS as a metamodeling language.

[1]  Iman Poernomo,et al.  The meta-object facility typed , 2006, SAC.

[2]  Bernhard Rumpe,et al.  The UML as a formal modeling notation , 1998, Comput. Stand. Interfaces.

[3]  Artur Boronat,et al.  An Algebraic Semantics for MOF , 2008, FASE.

[4]  Martin Gogolla,et al.  An Integrated Semantics for UML Class, Object and State Diagrams Based on Graph Transformation , 2002, IFM.

[5]  Keng Siau,et al.  Unified modeling language : systems analysis, design and development issues , 2001 .

[6]  Luca Cardelli,et al.  On understanding types, data abstraction, and polymorphism , 1985, CSUR.

[7]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[8]  Betty H. C. Cheng,et al.  A Formal Semantics for Object Model Diagrams , 1995, IEEE Trans. Software Eng..

[9]  Gianna Reggio,et al.  Towards a Rigorous Semantics of UML Supporting Its Multiview Approach , 2001, FASE.

[10]  Martin Gogolla,et al.  On Constraints and Queries in UML , 1997, UML Workshop.

[11]  Gary T. Leavens An Overview of Larch/C++: Behavioral Specifications for C++ Modules , 1996 .

[12]  Bernhard Beckert,et al.  The KeY tool , 2005, Software & Systems Modeling.

[13]  David A. Carrington,et al.  Formalizing the UML Class Diagram Using Object-Z , 1999, UML.

[14]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[15]  Liliana Favre,et al.  UML and the Unified Process , 2003 .

[16]  Brian Henderson-Sellers,et al.  Formalization of the Whole-Part Relationship in the Unified Modeling Language , 2003, IEEE Trans. Software Eng..

[17]  Jim Steel,et al.  Transformation: The Missing Link of MDA , 2002, ICGT.

[18]  Frédéric Jouault,et al.  On the architectural alignment of ATL and QVT , 2006, SAC '06.

[19]  Artur Boronat,et al.  Algebraic Semantics of EMOF/OCL Metamodels , 2007 .

[20]  Richard F. Paige,et al.  BON-CASE: An Extensible CASE Tool for Formal Specification and Reasoning , 2002, J. Object Technol..

[21]  Betty H. C. Cheng,et al.  A general framework for formalizing UML with formal languages , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[22]  Liliana Favre A Rigorous Framework for Model-Driven Development , 2006 .

[23]  Stuart Kent,et al.  A relational approach to defining and implementing transformations between metamodels , 2003, Software & Systems Modeling.

[24]  Gabor Karsai,et al.  Applying a Model Transformation Taxonomy to Graph Transformation Technology , 2006, GRaMoT@GPCE.

[25]  J. R. Abrial,et al.  The B-Book: Programming , 1996 .

[26]  Martin Gogolla,et al.  Validating UML and OCL models in USE by automatic snapshot generation , 2005, Software & Systems Modeling.

[27]  Liliana Favre,et al.  Foundations for MDA-based Forward Engineering , 2005, J. Object Technol..

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

[29]  Elvinia Riccobene,et al.  An ASM Semantics for UML Activity Diagrams , 2000, AMAST.

[30]  Joseph A. Goguen,et al.  OOZE: An Object Oriented Z Environment , 1991, ECOOP.

[31]  Gabriele Taentzer,et al.  AGG: A Graph Transformation Environment for Modeling and Validation of Software , 2003, AGTIVE.

[32]  Egidio Astesiano,et al.  Algebraic Foundations of Systems Specification , 1999, IFIP State-of-the-Art Reports.

[33]  Peter D. Mosses,et al.  CASL User Manual: Introduction to Using the Common Algebraic Specification Language , 2004 .

[34]  J. R. Abrial,et al.  The B-Book: Mathematics , 1996 .