Model Patterns - The Quest for the Right Level of Abstraction

We know by now that evolution in software is inevitable. Given that is so, we should not just allow for but accommodate for change throughout the software lifecycle. The claim of this paper is that, in order to accommodate for change effectively, we need a modelling discipline with a built-in notion of refinement, so that domain concepts can be defined and understood on their appropriate level of abstraction, and change can be captured on that same level. Refinement serves to connect levels of abstraction within the same model, enabling a simultaneous understanding of that same model on different levels. We propose the term model pattern for the central concept in such a modelling discipline.

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

[2]  Achim D. Brucker,et al.  Featherweight OCL: A Proposal for a Machine-Checked Formal Semantics for OCL 2.5 , 2014, Arch. Formal Proofs.

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

[4]  Kevin Lano,et al.  First International Workshop on Patterns in Model Engineering , 2015 .

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

[6]  Arend Rensink,et al.  On a Graph-Based Semantics for UML Class and Object Diagrams , 2008, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

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

[8]  Kevin Lano,et al.  Correct-by-construction synthesis of model transformations using transformation patterns , 2012, Software & Systems Modeling.

[9]  Jürgen Dingel,et al.  Model transformation intents and their properties , 2016, Software & Systems Modeling.

[10]  Dániel Varró,et al.  VPM: A visual, precise and multilevel metamodeling framework for describing mathematical domains and UML (The Mathematics of Metamodeling is Metamodeling Mathematics) , 2003, Software & Systems Modeling.

[11]  Kevin Lano,et al.  Model-Transformation Design Patterns , 2014, IEEE Transactions on Software Engineering.

[12]  Ed Seidewitz,et al.  What Models Mean , 2003, IEEE Softw..

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

[14]  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).

[15]  Dániel Varró,et al.  Metamodeling Mathematics: A Precise and Visual Framework for Describing Semantics Domains of UML Models , 2002, UML.

[16]  Bernhard Steffen,et al.  CINCO: a simplicity-driven approach to full generation of domain-specific graphical modeling tools , 2018, International Journal on Software Tools for Technology Transfer.

[17]  Ruth Sara Aguilar-Savén,et al.  Business process modelling: Review and framework , 2004 .