Reusable abstractions for modeling languages

Model-driven engineering proposes the use of models to describe the relevant aspects of the system to be built and synthesize the final application from them. Models are normally described using Domain-Specific Modeling Languages (DSMLs), which provide primitives and constructs of the domain. Still, the increasing complexity of systems has raised the need for abstraction techniques able to produce simpler versions of the models while retaining some properties of interest. The problem is that developing such abstractions for each DSML from scratch is time and resource consuming. In this paper, our goal is reducing the effort to provide modeling languages with abstraction mechanisms. For this purpose, we have devised some techniques, based on generic programming and domain-specific meta-modeling, to define generic abstraction operations that can be reused over families of modeling languages sharing certain characteristics. Abstractions can make use of clustering algorithms as similarity criteria for model elements. These algorithms can be made generic as well, and customized for particular languages by means of annotation models. As a result, we have developed a catalog of reusable abstractions using the proposed techniques, together with a working implementation in the MetaDepth multi-level meta-modeling tool. Our techniques and prototypes demonstrate that it is feasible to build reusable and adaptable abstractions, so that similar abstractions need not be developed from scratch, and their integration in new or existing modeling languages is less costly.

[1]  Peretz Shoval,et al.  Hierarchical entity-relationship diagrams: the model, method of creation and experimental evaluation , 2004, Requirements Engineering.

[2]  Juha-Pekka Tolvanen,et al.  Domain-Specific Modeling: Enabling Full Code Generation , 2008 .

[3]  Daniel Schreiber,et al.  Can programming be liberated from the two-level style: multi-level programming with deepjava , 2007, OOPSLA.

[4]  Michael Jackson Aspects of abstraction in software development , 2012, Software & Systems Modeling.

[5]  Benoît Combemale,et al.  Modeling model slicers , 2011, MODELS'11.

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

[7]  Clémentine Nebut,et al.  Building abstractions in class models: formal concept analysis in a model-driven approach , 2006, MoDELS'06.

[8]  Stefan Jablonski,et al.  A Meta Modeling Framework for Domain Specific Process Management , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[9]  Clémentine Nebut,et al.  Use of Model Driven Engineering in Building Generic FCA/RCA Tools , 2007, CLA.

[10]  Stefanie Rinderle-Ma,et al.  Change Patterns and Change Support Features in Process-Aware Information Systems , 2007, Seminal Contributions to Information Systems Engineering.

[11]  Kevin Lano,et al.  Slicing Techniques for UML Models , 2011, J. Object Technol..

[12]  Olivier Barais,et al.  Generic Model Refactorings , 2009, MoDELS.

[13]  C. Maria Keet Enhancing Comprehension of Ontologies and Conceptual Models Through Abstractions , 2007, AI*IA.

[14]  Pieter J. Mosterman,et al.  Computer automated multi-paradigm modeling , 2002 .

[15]  Jean-Marc Jézéquel,et al.  Refactoring UML Models , 2001, UML.

[16]  Wil M. P. van der Aalst,et al.  Formalization and verification of event-driven process chains , 1999, Inf. Softw. Technol..

[17]  Satu Elisa Schaeffer,et al.  Graph Clustering , 2017, Encyclopedia of Machine Learning and Data Mining.

[18]  Colin Atkinson,et al.  Rearchitecting the UML infrastructure , 2002, TOMC.

[19]  Juan de Lara,et al.  Visual specification of measurements and redesigns for domain specific visual languages , 2008, J. Vis. Lang. Comput..

[20]  Bran Selic A Short Catalogue of Abstraction Patterns for Model-Based Software Engineering , 2011, Int. J. Softw. Informatics.

[21]  Juan de Lara,et al.  Defining visual notations and their manipulation through meta-modelling and graph transformation , 2004, J. Vis. Lang. Comput..

[22]  Mathias Weske,et al.  Business process model abstraction: a definition, catalog, and survey , 2012, Distributed and Parallel Databases.

[23]  Juan de Lara,et al.  Supporting user-oriented analysis for multi-view domain-specific visual languages , 2009, Inf. Softw. Technol..

[24]  Juan de Lara,et al.  Abstracting Modelling Languages: A Reutilization Approach , 2012, CAiSE.

[25]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[26]  Mark Minas,et al.  Structure, Abstraction, and Direct Manipulation in Diagram Editors , 2002, Diagrams.

[27]  Juan de Lara,et al.  From types to type requirements: genericity for model-driven engineering , 2011, Software & Systems Modeling.

[28]  Juan de Lara,et al.  transML: a family of languages to model model transformations , 2010, MODELS'10.

[29]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[30]  Mathias Weske,et al.  A Semantic Approach for Business Process Model Abstraction , 2011, CAiSE.

[31]  Daniel L. Moody,et al.  A Methodology for Clustering Entity Relationship Models - A Human Information Processing Approach , 1999, ER.

[32]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

[33]  Martin Fowler,et al.  Refactoring - Improving the Design of Existing Code , 1999, Addison Wesley object technology series.

[34]  Pieter J. Mosterman,et al.  Computer Automated Multi-Paradigm Modeling : An Introduction , 2000 .

[35]  Fausto Giunchiglia,et al.  A Theory of Abstraction , 1992, Artif. Intell..

[36]  Mathias Weske,et al.  Business Process Model Abstraction , 2010, BPM 2010.

[37]  Inderjeet Mani,et al.  A Theory of Granularity and its Application to Problems of Polysemy and Underspecification of Meaning , 1998, KR.

[38]  Juan de Lara,et al.  Deep Meta-modelling with MetaDepth , 2010, TOOLS.

[39]  Brian Henderson-Sellers,et al.  Granularity in Conceptual Modelling: Application to Metamodels , 2010, ER.

[40]  Edmund M. Clarke,et al.  Model checking and abstraction , 1994, TOPL.

[41]  Richard F. Paige,et al.  The Epsilon Object Language (EOL) , 2006, ECMDA-FA.

[42]  Raimund Dachselt,et al.  Towards seamless semantic zooming techniques for UML diagrams , 2008, SOFTVIS.

[43]  Moe Thandar Wynn,et al.  Reduction rules for YAWL workflows with cancellation regions and OR-joins , 2009, Inf. Softw. Technol..

[44]  Marianne Huchard,et al.  Relational concept discovery in structured datasets , 2007, Annals of Mathematics and Artificial Intelligence.

[45]  Mathias Weske,et al.  The Triconnected Abstraction of Process Models , 2009, BPM.

[46]  Alexander Egyed Semantic abstraction rules for class diagrams , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[47]  David Harel,et al.  On visual formalisms , 1988, CACM.

[48]  Volker Gruhn,et al.  Model-Driven Software Development , 2005 .

[49]  J. MacQueen Some methods for classification and analysis of multivariate observations , 1967 .

[50]  Yi Zhou,et al.  Reduction Methods for Real-Time Systems Using Delay Time Petri Nets , 2001, IEEE Trans. Software Eng..

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

[52]  Brian Henderson-Sellers,et al.  A powertype-based metamodelling framework , 2006, Software & Systems Modeling.

[53]  Richard F. Paige,et al.  The Epsilon Transformation Language , 2008, ICMT@TOOLS.

[54]  E. Guerra,et al.  Domain-Specific Textual Meta-Modelling Languages for Model Driven Engineering , 2012, ECMFA.

[55]  ShovalPeretz,et al.  Hierarchical entity-relationship diagrams , 2004 .

[56]  Aniruddha S. Gokhale,et al.  Domain-Specific Modeling , 2008, Handbook of Dynamic System Modeling.