Mixins and Extenders for Modular Metamodel Customisation

Srđan Živković, Dimitris Karagiannis

Abstract

Metamodelling is a practical yet rigorous formalism for modelling language definition with a metamodel being its pivotal engineering artifact. A multitude of domain-specific modelling languages (DSML) are engineered to cover various modelling domains. Metamodels of such languages evolve over time by introducing changes and extensions and are further customised to suite project-specific needs. While majority of DSML development techniques provide concepts for creating metamodels from scratch, composition concepts for metamodel customisation beyond class inheritance are sought towards more flexibility and reuse. In this paper, we introduce a modular approach for metamodel customisation based on the idea of mixins and extenders. While mixins allow for defining self-contained metamodel modules for reuse, extenders enable non-intrusive composition of such reusable modules on top of existing metamodels. We show how this approach can be applied in a metamodelling tool such as ADOxx and demonstrate its usefulness by customising the BPMN language. The benefit of the modular metamodel customisation is twofold. On the language engineering level, our approach significantly promotes reuse, flexibility and overall efficiency in language definition and customisation. On the modelling level, the approach leverages engineering flexibility to provide custom modelling languages that better suits enterprise modelling needs.

References

  1. Ancona, D., Lagorio, G., and Zucca, E. (2000). Jama Smooth Extension of Java with Mixins. In ECOOP 2000 U°Object-Oriented Programming, pages 154-178. Springer.
  2. Bracha, G. and Griswold, D. (1996). Extending Smalltalk with Mixins. In Workshop on Extending Smalltalk.
  3. Braun, R. and Esswein, W. (2015). Designing Dialects of Enterprise Modeling Languages with the Profiling Technique. In 19th IEEE International Enterprise Distributed Object Computing Conference, EDOC 2015, Adelaide, Australia, September 21-25, 2015, pages 60-67.
  4. de Lara, J. and Guerra, E. (2013). From Types to Type Requirements: Genericity for Model-Driven Engineering. Software & Systems Modeling, 12(3):453-474.
  5. Fondement, Frédéric and Muller, Pierre-Alain and Thiry, Laurent and Wittmann, Brice and Forestier, Germain (2013). Big Metamodels are Evil. In Model-Driven Engineering Languages and Systems, pages 138-153. Springer.
  6. Herbst, J., Junginger, S., and Kühn, H. (1997). Simulation in Financial Services with the Business Process Management System ADONIS. In Proceedings of the 9th European Simulation Symposium.
  7. Jézéquel, J.-M., Combemale, B., Barais, O., Monperrus, M., and Fouquet, F. (2013). Mashup of Metalanguages and its Implementation in the Kermeta Language Workbench. Software & Systems Modeling, pages 1-16.
  8. Junginger, S., Kühn, H., Strobl, R., and Karagiannis, D. (2000). Ein Geschäftsprozessmanagement-Werkzeug der nächsten Generation - ADONIS: Konzeption und Anwendungen. Wirtschaftsinformatik, 42(5):392- 401.
  9. Kelly, S., Lyytinen, K., and Rossi, M. (1996). Metaedit+ a Fully Configurable Multi-User and Multi-Tool CASE and CAME Environment. In Advanced Information Systems Engineering, pages 1-21. Springer.
  10. Kühn, H. (2010). The ADOxx Metamodelling Platform. In Workshop on Methods as Plug-Ins for MetaModelling, Klagenfurt, Austria.
  11. Langer, P., Wieland, K., Wimmer, M., Cabot, J., et al. (2012). EMF Profiles: A Lightweight Extension Approach for EMF Models. Journal of Object Technology, 11(1):1-29.
  12. Ledeczi, A., Maroti, M., Bakay, A., Karsai, G., Garrett, J., Thomason, C., Nordstrom, G., Sprinkle, J., and Volgyesi, P. (2001). The generic modeling environment. In Workshop on Intelligent Signal Processing, Budapest, Hungary, volume 17.
  13. Moon, D. A. (1986). Object-oriented programming with Flavors. In ACM Sigplan Notices, volume 21, pages 1-8. ACM.
  14. MSDN (2015). Extension Methods (C# Programming Guide). https://msdn.microsoft.com/enus//library/bb383977.aspx.
  15. Odersky, M., Altherr, P., Cremet, V., Emir, B., Maneth, S., Micheloud, S., Mihaylov, N., Schinz, M., Stenman, E., and Zenger, M. (2004). An overview of the Scala programming language. Technical report, EPFL.
  16. OMG (2011). UML 2.4.1 Infrastructure Specification. http://www.omg.org/ spec/UML/2.4.1/Infrastructure/PDF/.
  17. OMG (2013). Business Process Model and Notation (BPMN) Version 2.0.2. http://www.omg.org/spec/BPMN/2.0.2/PDF.
  18. OMG (2014). Meta Object Facility (MOF) Version 2.4.2. http://www.omg.org/spec/MOF/2.4.2/.
  19. OMILab (2015). ADOxx Metamodelling Platform. http://www.adoxx.org.
  20. Rausch, T., Kuehn, H., Murzek, M., and Brennan, T. (2011). Making BPMN 2.0 Fit for Full Business Use. BPMN 2.0 Handbook Second Edition, page 189.
  21. Selic, B. (2007). A Systematic Approach to Domainspecific Language Design using UML. InObject and Component-Oriented Real-Time Distributed Computing, 2007. 10th IEEE International Symposium on, pages 2-9. IEEE.
  22. Selic, B. (2011). The Theory and Practice of Modeling Language Design for Model-Based Software Engineering - A Personal Perspective. In Generative and Transformational Techniques in Software Engineering III, pages 290-321. Springer.
  23. Smaragdakis, Y. and Batory, D. (2001). Mixinbased Programming in C++. In Generative and Component-based Software Engineering, pages 164- 178. Springer.
  24. Steinberg, D., Budinsky, F., Merks, E., and Paternostro, M. (2008). EMF: Eclipse Modeling Framework. Pearson Education.
  25. Vallecillo, A. (2010). On the Combination of Domain Specific Modeling Languages. In Proceedings of European Conference on Modelling Foundations and Applications, 2010. (ECMFA 2010), volume 6138 of LNCS, pages 305-320. Springer.
Download


Paper Citation


in Harvard Style

Živković S. and Karagiannis D. (2016). Mixins and Extenders for Modular Metamodel Customisation . In Proceedings of the 18th International Conference on Enterprise Information Systems - Volume 1: ICEIS, ISBN 978-989-758-187-8, pages 259-270. DOI: 10.5220/0005761102590270


in Bibtex Style

@conference{iceis16,
author={Srđan Živković and Dimitris Karagiannis},
title={Mixins and Extenders for Modular Metamodel Customisation},
booktitle={Proceedings of the 18th International Conference on Enterprise Information Systems - Volume 1: ICEIS,},
year={2016},
pages={259-270},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005761102590270},
isbn={978-989-758-187-8},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 18th International Conference on Enterprise Information Systems - Volume 1: ICEIS,
TI - Mixins and Extenders for Modular Metamodel Customisation
SN - 978-989-758-187-8
AU - Živković S.
AU - Karagiannis D.
PY - 2016
SP - 259
EP - 270
DO - 10.5220/0005761102590270