On the Theoretical Foundation of Meta-Modelling in Graphically Extended BNF and First Order Logic

Meta-modeling plays an important role in model driven software development methodology. In our previous work, a graphic extension of BNF (GEBNF) was proposed to define the abstract syntax of graphic modeling languages. From a GEBNF syntax definition, a first order predicate logic language can be induced so that meta-modeling can be performed formally by specifying a predicate on the domain of syntactically valid models. In this paper, we investigate the theoretical foundation of this meta-modeling approach. We first formally define the semantics of GEBNF syntax definitions as algebras that contain no junk and satisfy constraints derived from GEBNF syntax rules. The semantics of the induced logic is then formally defined by regarding such algebras as models. We then formally prove that well-formed syntax definitions together with syntax morphisms form a category, where syntax morphisms represent the translations between modeling languages. The models (i.e. algebras) in a modeling language and the homomorphisms between them also form a category. Finally, we prove that the functors from GEBNF syntax definitions to the categories of models and to sentences in the induced first order logic form an institution. Therefore, GEBNF and its induced logics form a valid formal specification language for models.

[1]  Hong Zhu,et al.  Tool Support for Design Pattern Recognition at Model Level , 2009, 2009 33rd Annual IEEE International Computer Software and Applications Conference.

[2]  Amnon H. Eden,et al.  A Theory of Object-Oriented Design , 2002, Inf. Syst. Frontiers.

[3]  Yann-Gaël Guéhéneuc,et al.  Instantiating and detecting design patterns: putting bits and pieces together , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[4]  Stephan Flake,et al.  Towards the Completion of the Formal Semantics of OCL 2.0 , 2004, ACSC.

[5]  Wilfrid Hodges,et al.  Mathematical logic , 2007, Oxford texts in logic.

[6]  Bernhard Rumpe,et al.  The Amsterdam Manifesto on OCL , 2014, Object Modeling with the OCL.

[7]  Artur Boronat,et al.  Algebraic Semantics of OCL-Constrained Metamodel Specifications , 2009, TOOLS.

[8]  Anneke Kleppe,et al.  The Semantics of the OCL Action Clause , 2002, Object Modeling with the OCL.

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

[10]  Hong Zhu,et al.  Semantics of Metamodels in UML , 2009, 2009 Third IEEE International Symposium on Theoretical Aspects of Software Engineering.

[11]  John Grundy,et al.  Design pattern modelling and instantiation using DPML , 2002 .

[12]  Joseph A. Goguen,et al.  Institutions: abstract model theory for specification and programming , 1992, JACM.

[13]  Amnon H. Eden,et al.  Objectives , 1975 .

[14]  Amnon H. Eden,et al.  LePUS3: An Object-Oriented Design Description Language , 2008, Diagrams.

[15]  Martin Gogolla,et al.  OCL: Syntax, Semantics, and Tools , 2002, Object Modeling with the OCL.

[16]  Hong Zhu,et al.  Specifying Behavioural Features of Design Patterns in First Order Logic , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[17]  Robert B. France,et al.  A UML-based pattern specification technique , 2004, IEEE Transactions on Software Engineering.

[18]  Achim D. Brucker,et al.  Semantic Issues of OCL: Past, Present, and Future , 2006, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[19]  John C. Grundy,et al.  A visual language for design pattern modelling and instantiation , 2001, Proceedings IEEE Symposia on Human-Centric Computing Languages and Environments (Cat. No.01TH8587).

[20]  Hong Zhu,et al.  On the Composition of Design Patterns , 2008, 2008 The Eighth International Conference on Quality Software.

[21]  Lionel C. Briand,et al.  A metamodeling approach to pattern specification , 2006, MoDELS'06.

[22]  Alexander Knapp,et al.  Semantics of OCL Operation Specifications , 2004, OCL 2.0 @ UML.

[23]  Hong Zhu,et al.  Formal specification of the variants and behavioural features of design patterns , 2010, J. Syst. Softw..

[24]  Sébastien Gérard,et al.  A two-aspect approach for a clearer behavior model , 2003, Sixth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, 2003..

[25]  Hong Zhu,et al.  WELL-FORMEDNESS , CONSISTENCY AND COMPLETENESS OF GRAPHIC MODELS , 2006 .

[26]  Tony Clark,et al.  Object Modeling with the OCL: The Rationale behind the Object Constraint Language , 2002 .

[27]  Heinrich Hußmann,et al.  On the Precise Meaning of OCL Constraints , 2002, Object Modeling with the OCL.

[28]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[29]  Achim D. Brucker,et al.  A Proposal for a Formal OCL Semantics in Isabelle/HOL , 2002, TPHOLs.

[30]  María Victoria Cengarle,et al.  A Formal Semantics for OCL 1.4 , 2001, UML.