A multi-level approach to modeling language extension in the Enterprise Systems Domain

As the number and diversity of technologies involved in building enterprise systems continues to grow so does the importance of modeling tools that are able to present customized views of enterprise systems to different stakeholders according to their needs and skills. Moreover, since the range of required view types is continuously evolving, it must be possible to extend and enhance the languages and services offered by such tools on an ongoing basis. However, this can be difficult with today's modeling tools because the meta-models that define the languages, views and services they support are usually hardwired and thus not amenable to extensions. In practice, therefore, various workarounds have to be used to extend a tool's underlying meta-model. Some of these are built into the implemented modeling standards (e.g. UML 2, BPMN 2.0 and ArchiMate 2.0) while others have to be applied by complementary, external tools (e.g. annotation models). These techniques not only increase accidental complexity, they also reduce the ability of the modeling tool to ensure adherence to enterprise rules and constraints. In this paper we discuss the strengths and weaknesses of the various approaches for language extension and propose a modeling framework best able to support the main extension scenarios currently found in practice today.

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

[2]  Stefan Jablonski,et al.  The Open Meta Modeling Environment , 2011 .

[3]  Abdulrahman Alreshidi,et al.  Towards a quality modelling language for component-based systems (QML/CS) , 2013, QASBA 2013.

[4]  Colin Atkinson,et al.  On-the-Fly Emendation of Multi-level Models , 2012, ECMFA.

[5]  Colin Atkinson,et al.  Melanie: multi-level modeling and ontology engineering environment , 2012, MW '12.

[6]  Colin Atkinson,et al.  Modeling Language Extension in the Enterprise Systems Domain , 2013, 2013 17th IEEE International Enterprise Distributed Object Computing Conference.

[7]  Colin Atkinson,et al.  Reducing accidental complexity in domain models , 2008, Software & Systems Modeling.

[8]  Jon Whittle,et al.  MATA: A Tool for Aspect-Oriented Modeling Based on Graph Transformation , 2007, MoDELS Workshops.

[9]  Hans Vangheluwe,et al.  AToMPM: A Web-based Modeling Environment , 2013, MoDELS.

[10]  Wolfgang Pree,et al.  Variability in Automation System Models , 2009, ICSR.

[11]  Georg Grossmann,et al.  On the application of software modelling principles on ISO 15926 , 2012, MOTPW '12.

[12]  Peter Kilpatrick,et al.  Extending BPM Environments of Your Choice with Performance Related Decision Support , 2009, BPM.

[13]  Timo Soininen,et al.  Extending and implementing the stable model semantics , 2000, Artif. Intell..

[14]  Stefan Jablonski,et al.  Towards an open meta modeling environment , 2010, DSM '10.

[15]  Claudia Kocian,et al.  Geschäftsprozessmodellierung mit BPMN 2.0 - Business Process Model and Notation im Methodenvergleich. , 2011 .

[16]  Steffen Zschaler,et al.  Formal specification of non-functional properties of component-based software systems , 2010, Software & Systems Modeling.

[17]  G. Nordstrom,et al.  On metamodel composition , 2001, Proceedings of the 2001 IEEE International Conference on Control Applications (CCA'01) (Cat. No.01CH37204).

[18]  Colin Atkinson,et al.  A Flexible Infrastructure for Multilevel Language Engineering , 2009, IEEE Transactions on Software Engineering.

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

[20]  Colin Atkinson,et al.  Level-Agnostic Designation of Model Elements , 2014, ECMFA.

[21]  Colin Atkinson,et al.  Symbiotic general-purpose and domain-specific languages , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[22]  Adrian Rutle,et al.  DPF Workbench: a multi-level language workbench for MDE , 2013 .

[23]  Brian Henderson-Sellers,et al.  Keynote: On the Ease of Extending a Powertype-Based Methodology Metamodel , 2006, WoMM.

[24]  Mario Piattini,et al.  A BPMN Extension for the Modeling of Security Requirements in Business Processes , 2007, IEICE Trans. Inf. Syst..

[25]  Brian Henderson-Sellers,et al.  Metamodelling for software engineering , 2008 .

[26]  Alexander Egyed,et al.  Cross-layer modeler: a tool for flexible multilevel modeling with consistency checking , 2011, ESEC/FSE '11.

[27]  Colin Atkinson,et al.  Strict Profiles: Why and How , 2000, UML.

[28]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

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

[30]  Wolfgang Pree,et al.  Representation and Traversal of Large Clabject Models , 2009, MoDELS.

[31]  Juan de Lara,et al.  AToM3: A Tool for Multi-formalism and Meta-modelling , 2002, FASE.

[32]  Juha-Pekka Tolvanen,et al.  MetaEdit+: defining and using integrated domain-specific modeling languages , 2009, OOPSLA Companion.

[33]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[34]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[35]  Dominik Kantner Specification and Implementation of a Deep OCL Dialect , 2014 .

[36]  Steffen Becker,et al.  The Palladio component model for model-driven performance prediction , 2009, J. Syst. Softw..

[37]  Henk Jonkers,et al.  The Architecture of the ArchiMate Language , 2009, BMMDS/EMMSAD.

[38]  Peter Kilpatrick,et al.  Systematic Usage of Embedded Modelling Languages in Automated Model Transformation Chains , 2009, SLE.

[39]  Tomi Männistö,et al.  Nivel: a metamodelling language with a formal semantics , 2009, Software & Systems Modeling.

[40]  Wilhelm Hasselbring,et al.  A Method for Aspect-oriented Meta-Model Evolution , 2014, VAO '14.

[41]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[42]  Tony Clark,et al.  Software language engineering with XMF and XModeler , 2013 .

[43]  Richard C. Gronback Eclipse Modeling Project: A Domain-Specific Language Toolkit , 2009 .

[44]  John A. Zachman,et al.  A Framework for Information Systems Architecture , 1987, IBM Syst. J..

[45]  Wasif Gilani,et al.  Model Transformation Chains and Model Management for End-to-End Performance Decision Support , 2009, GTTSE.

[46]  Jacques Klein,et al.  Model-Driven Security with A System of Aspect-Oriented Security Design Patterns , 2014, VAO '14.

[47]  Desmond D'Souza,et al.  First-Class Extensibility for UML-Profiles, Stereotypes, Patterns , 1999, UML.

[48]  Dirk van der Linden,et al.  On the accommodation of conceptual distinctions in conceptual modeling languages , 2014, Modellierung.

[49]  Jörg Kienzle,et al.  Concern-Oriented Software Design , 2013, MoDELS.

[50]  Qing Li,et al.  Unified Modeling Language , 2009 .

[51]  Peter P. Chen The entity-relationship model: toward a unified view of data , 1975, VLDB '75.

[52]  Jacques Klein,et al.  Aspect-Oriented Design with Reusable Aspect Models , 2010, LNCS Trans. Aspect Oriented Softw. Dev..

[53]  August-Wilhelm Scheer,et al.  Business Process Engineering , 1989 .

[54]  Mario Piattini,et al.  Secure business process model specification through a UML 2.0 activity diagram profile , 2011, Decis. Support Syst..

[55]  Brian Henderson-Sellers,et al.  On the Search for a Level-Agnostic Modelling Language , 2013, CAiSE.

[56]  A. Scheer Business Process Engineering: Reference Models for Industrial Enterprises , 1994 .