Software & Systems Modeling

, Volume 18, Issue 3, pp 1699–1735 | Cite as

Metamodel specialization for graphical language support

  • Audris KalninsEmail author
  • Janis Barzdins
Special Section Paper


Most of current modeling languages are based on graphical diagrams. The concrete graphical syntax of these languages typically is defined informally—by text and diagram examples. Only recently, starting from UML 2.5, a formalism is offered for defining the graphical syntax of UML. This formalism is based on Diagram Definition standard by OMG, where the main emphasis is on enabling diagram interchange between different tools implementing the given language. While this is crucial for standardized languages such as UML, this aspect is not so important for domain-specific languages. In this paper, an approach is offered for a simple direct definition of concrete graphical syntax by means of metamodels. Metamodels are typically used for a language definition, but mainly the MOF-inspired approach via meta-metamodel instantiation is used. We offer an alternative approach based on core metamodel specialization which leads to a more direct and understandable definition staying at the same meta-layer. In addition, our approach permits a natural extension—facility for a graphical editor definition for the given language, which is vital in the world of DSLs. In contrast to most DSL development platforms, which are based on the abstract syntax metamodel of the language and a mapping to graphics, our facility is based directly on the graphical syntax. But we show that in those cases where the relation to the DSL abstract syntax is really required, a mapping from the graphical syntax to abstract syntax can be relatively easily defined by the specialization approach.


Metamodeling Metamodel specialization Graphical syntax definition Graphical DSL Graphical editors 



This work is supported by the Latvian National research program SOPHIS under grant agreement Nr.10-4/VPP-4/11.


  1. 1.
    Object Management Group. Meta Object Facility (MOF) Core Specification – Version 2.5 – formal/2014-06-05 (2015)Google Scholar
  2. 2.
    Object Management Group. Unified Modeling Language (UML) – Version 2.5 – formal/2015-03-01 (2015)Google Scholar
  3. 3.
    Object Management Group. Diagram Definition (DD) – Version 1.1 – formal/2015-06-01 (2015)Google Scholar
  4. 4.
    Graphical Modeling Framework (GMF) Tooling.
  5. 5.
    Eclipse Modeling Framework (EMF).
  6. 6.
    Barzdins, J., Rencis, E., Kozlovics, S.: The Transformation-Driven Architecture. In: Proceedings of DSM’08 Workshop of OOPSLA 2008, Nashville, Tennessee, pp. 60 – 63, University of Alabama at Birmingham (2008)Google Scholar
  7. 7.
    Sprogis, A.: Configuration Language for Domain Specific Tools and its Implementation. Ph.D. thesis (in Latvian), University of Latvia, Riga (2013)Google Scholar
  8. 8.
    Kalnins, A., Barzdins, J.: Metamodel Specialization for Graphical Modeling Language Support. In: Proceedings of MODELS 2016, 19th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, ACM, pp. 103–112 (2016)Google Scholar
  9. 9.
    Graphical Editing Framework (GEF).
  10. 10.
    Obeo Designer: Domain Specific Modeling for Software Architects.
  11. 11.
    Juliot, E. Benois, J.: Viewpoints creation using Obeo Designer or how to build Eclipse DSM without being an expert developer? Obeo Whitepaper.
  12. 12.
  13. 13.
    Acceleo – Eclipsepedia.
  14. 14.
    Kolovos, D., Rose, L., et al.: Taming EMF and GMF using Model Transformation. In: Petriu, D., Rouquette, N., Haugen, O. (eds.) Proceedings of the 13th International Conference on Model Driven Engineering Languages and Systems (MODELS 2010), LNCS, Vol. 6394, pp. 211–225. Springer (2010)Google Scholar
  15. 15.
    Kolovos, D., Rose, L., et al.: Eugenia: towards disciplined and automated development of GMF-based graphical model editors. SoSyM 16(1), 229–255 (2017)Google Scholar
  16. 16.
    Kolovos, D., Roze, l., Garcia-Dominguez, A., Paige, R.: The Epsilon Book. (2017)
  17. 17.
    Kouhen, A., et al.: Evaluation of modeling tools adaptation. HAL archives (2012).
  18. 18.
    Wienands, C. Golm, M.: Anatomy of a visual domain-specific language project in an industrial context. In: Proceedings of 12th International Conference on Model Driven Engineering Languages and Systems (MODELS 2009), LNCS, Vol. 5795, pp. 453–467. Springer (2009)Google Scholar
  19. 19.
  20. 20.
    Kalnins, A., Vilitis, O., Barzdins, J., et al.: Building Tools by Model Transformations in Eclipse. In: Proceedings of DSM’07 workshop of OOPSLA 2007, Montreal, Canada, Jyvaskyla University Printing House, pp. 194–207 (2007)Google Scholar
  21. 21.
    Kalnins, A., Barzdins, J., Celms, E.: Model transformation language MOLA. In: Proceedings of Model Driven Architecture: European MDA Workshops: Foundations and Applications, LNCS, Vol. 3599, pp. 62-76. Springer (2005)Google Scholar
  22. 22.
    Vilitis, O.: Metamodel-based transformation-driven graphical tool building platform. GlobeEdit (2015)Google Scholar
  23. 23.
    MOLA Home, IMCS University of Latvia.
  24. 24.
    Barzdins, J., et al.: GrTP: Transformation Based Graphical Tool Building Platform. In: Proceedings of MDDAUI‘07 Workshop of MODELS 2007, Nashville, Tennessee, USA, CEUR Workshop Proceedings, Vol. 297, 4 pp. (2007)Google Scholar
  25. 25.
    Liepins, R.: Library for model querying – lQuery. In: Proceedings of 2012 Workshop on OCL and Textual Modelling (part of Models 2012), ACM Digital Library, p. 6 (2012)Google Scholar
  26. 26.
    Sprogis, A.: The configurator in DSL tool building. Comput. Sci. Inf. Technol. Sci. Pap. Univ. Latv. 756, 173–192 (2010)Google Scholar
  27. 27.
    Sprogis, A., Barzdins, J.: Specification, configuration and implementation of DSL tool. In: Frontiers of AI and applications, Databases and Information Systems VII, Vol. 249, pp. 330–343, IOS Press (2013)Google Scholar
  28. 28.
    Barzdins, J., Barzdins, G., Cerans, K., Liepins, R., Sprogis, A.: UML style graphical notation and editor for OWL 2. In: Proceedings of Perspectives in Business Informatics Research (BIR 2010), LNBIP, Vol. 64, pp. 102–113. Springer (2010)Google Scholar
  29. 29.
    Barzdinš, J., Barzdinš, G., Cerans, K., Liepinš, R., Sprogis, A.: OWLGrEd: a UML Style Graphical Editor for OWL. In: Ontology Repositories and Editors for the Semantic Web, Proceedings of the 1st Workshop on Ontology Repositories and Editors for the Semantic Web, Hersonissos, Greece, CEUR Workshop Proceedings, Vol. 596, p. 5 (2010)Google Scholar
  30. 30.
    Cerans, K., Liepinš, R., Ovcinnikova, J., Sprogis, A.: Advanced OWL 2.0 Ontology Visualization in OWLGrEd. In: Frontiers of AI and Applications, Databases and Information Systems VII, Vol. 249. pp. 41–54, IOS Press (2013)Google Scholar
  31. 31.
    Liepins, R., Grasmanis, M., Bojars, U.: OWLGrEd ontology visualizer. In: Proceedings of the International Semantic Web Conference, Developers Workshop 2014 (ISWC-DEV’2014), CEUR Workshop Proceedings, Vol. 1268, pp. 37–42 (2014)Google Scholar
  32. 32.
  33. 33.
    Barzdins, J., Cerans, K., Grasmanis, M., Kalnins, A., Kozlovics, S., Lace, L., Liepins, R., Rencis, E., Sprogis, A., Zarins, A.: Domain specific languages for business process management: a case study. In: Proceedings of 9th OOPSLA Workshop on Domain-Specific Modeling, Orlando, USA, October 2009, pp. 34–40 (2009)Google Scholar
  34. 34.
  35. 35.
    Eisenberg, J.: SVG Essentials. O’Reilly Media, Sebastopot (2011)Google Scholar
  36. 36.
    Object Management Group, Meta Object Facility (MOF) 2.0 Query/ View/Transformation Specification – Version 1.2 – formal/2015-02-01 (2015)Google Scholar
  37. 37.
    Elaasar, M., Labiche, Y.: Diagram definition: a case study with the UML class diagram. In: Proceedings of the ACM/IEEE 14th International Conference on Model Driven Engineering Languages and Systems (MODELS 2011), LNCS, Vol. 698, pp. 364-378. Springer (2011)Google Scholar
  38. 38.
    Fouché, A., Noyrit, F., Gérard, S., Elaasar, M.: Systematic generation of standard compliant tool support of diagrammatic modeling languages. In: Proceedings of the ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS 2015), pp. 348–357, IEEE (2015)Google Scholar
  39. 39.
    Costagliola, G., Deufemia, V., Polese, G.: A framework for modeling and implementing visual notations with applications to software engineering. ACM Trans. Softw. Eng. Methodol. 13(4), 431–487 (2004)CrossRefGoogle Scholar
  40. 40.
    Rekkers, J., Schurr, A.: Defining and parsing visual languages with layered graph grammars. J. Vis. Lang. Comput. 8(1), 27–55 (1997)CrossRefGoogle Scholar
  41. 41.
    Ermel, C., Ehrig, K., Taentzer, G., Weiss, E.: Object oriented and rule-based design of visual languages using tiger. In: Proceedings of GraBaTs’06, Electronic Communications of the EASST, p. 12 (2006)Google Scholar
  42. 42.
    Taentzer, G., Crema, A., Schmutzler, R., Ermel, C.: Generating domain-specific model editors with complex editing commands. In: Proceedings of AGTIVE 2007, LNCS, Vol. 5088, Springer, pp. 98–103 (2007)Google Scholar
  43. 43.
    Taentzer, G.: AGG: A Graph Transformation Environment for Modeling and Validation of Software. In: Proceedings of Applications of Graph Transformations with Industrial Relevance (AGTIVE 2003), LNCS, Vol. 3062, pp. 446-453. Springer (2004)Google Scholar
  44. 44.
    Rath, I., Varro, D.: Challenges for advanced domain-specific modeling frameworks. In: Proceedings of Workshop on Domain-Specific Program Development (DSPD), ECOOP 2006, p. 4 (2006)Google Scholar
  45. 45.
    Visual Automated Model Transformations (VIATRA2), GMT subproject, Budapest University of Technology and Economics.
  46. 46.
  47. 47.
    Rose, L., Kolovos, D., Paige, R.: EuGENia Live: a flexible graphical modelling tool. In: Proceedings of XM’12, ACM Digital Library, pp. 15–20 (2012)Google Scholar
  48. 48.
    Reid, J., Valentine, T.: JavaScript Programmer’s Reference. Apress, New York (2013)CrossRefGoogle Scholar
  49. 49.
    Izquierdo, J.C., Cabot, J.: Collaboro: a collaborative (meta) modeling tool. PeerJ Computer. Science 2, e84 (2016)Google Scholar
  50. 50.
    Cook, S., Jones, G., Kent, S., Wills, A.C.: Domain-Specific Development with Visual Studio DSL Tools. Addison-Wesley Professional, Boston (2007)Google Scholar
  51. 51.
    Kelly, S., Tolvanen, J.-P.: Domain-Specific Modeling: Enabling Full Code Generation. Wiley, Hoboken (2008)CrossRefGoogle Scholar
  52. 52.
    Bardohl, R., Ermel, C., Weinhold, I.: GenGED – A visual definition tool for visual modeling environments. In: Proceedings of Applications of Graph Transformations with Industrial Relevance (AGTIVE 2003), LNCS, Vol. 3062, pp. 413–419. Springer (2004)Google Scholar
  53. 53.
    Minas, M.: Concepts and realization of a diagram editor generator based on hypergraph transformation. Sci. Comput. Program. 44(2), 157–180 (2002)CrossRefzbMATHGoogle Scholar
  54. 54.
    Vangheluwe, H., de Lara, J.: Domain-specific visual modelling in AToM3. Proceedings of DSM 04, p. 8 (2004).
  55. 55.
    Pierre, S., et al.: A family-based framework for i-DSML adaptation. In: Proceedings of 10th European Conference ECMFA 2014, LNCS, Vol. 8569, pp. 164–179. Springer (2014)Google Scholar
  56. 56.
    Bruck, J., Damus, C.: Creating Robust Scalable DSLs with UML, eclipsecon 2008 tutorial. (2008)
  57. 57.
    Atkinson, C., Kuhne, T.: Concepts for comparing modeling tool architectures. In: Briand, L., Williams, C. (eds.) Model Driven Engineering Languages and Systems: 8th International Conference (MODELS 2005), LNCS, Vol. 3713, pp. 398–413. Springer (2005)Google Scholar
  58. 58.
    Atkinson, C., Gerbig, R., Kuhne, T.: A unifying approach to connections for multi-level modeling. In: Proceedings of the ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS 2015), pp. 216–225, IEEE (2015)Google Scholar
  59. 59.
    Clark, T., Gonzalez-Perez, C., Henderson-Sellers, B.: A Foundation for Multi-Level Modelling. In: Proceedings of the Workshop on Multi-Level Modelling (MULTI 2014), CEUR Workshop Proceedings, Vol. 1286, pp. 43–52 (2014)Google Scholar
  60. 60.
    Atkinson, C., Kuhne, T.: Profiles in a strict metamodeling framework. Sci. Comput. Program. 44(1), 5–22 (2002)CrossRefzbMATHGoogle Scholar
  61. 61.
    Atkinson, C.: Supporting and applying the UML conceptual framework. In: Proceedings of the Conference: The Unified Modeling Language (UML’98), LNCS, Vol. 1618, pp. 21–36. Springer (1998)Google Scholar
  62. 62.
    Atkinson, C., Gerbig, R., Kuhne, T.: comparing multi-level modeling approaches. In: Proceedings of the Workshop on Multi-Level Modelling (MULTI 2014), CEUR Workshop Proceedings, Vol. 1286, pp. 53-62 (2014)Google Scholar
  63. 63.
    Rencis, E., Barzdins, J., Kozlovics, S.: Towards open graphical tool-building framework. In: Proceedings of BIR 2011, pp. 80-87, RTU Press, Riga (2011)Google Scholar
  64. 64.
    Eclipse OCL (Object Constraint Language).
  65. 65.
  66. 66.
  67. 67.
    Sprogis, A.: DSML Tool Building Platform in WEB. In: DB&IS 2016 Proceedings, CCIS Vol. 615, pp. 99–109. Springer (2016)Google Scholar
  68. 68.
    Sprogis, A.: ajoo: WEB Based framework for domain specific modeling tools. In: Frontiers in Artificial Intelligence and Applications, Databases and Information Systems IX, Vol. 291, pp. 115–125. IOS Press (2016)Google Scholar
  69. 69.
    Object Management Group. Interaction flow modeling language (IFML) Version 1.0 formal/2015-02-05 (2015)Google Scholar
  70. 70.
    Brambilla, M., Fraternali, P.: Interaction Flow Modeling Language. Model-Driven UI Engineering of Web and Mobile Apps with IFML. Elsevier, Amsterdam (2015)Google Scholar
  71. 71.
    Wazlawick, R.: Object-Oriented Analysis and Design for Information Systems. Modeling with UML, OCL and IFML. Elsevier, Amsterdam (2014)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Institute of Mathematics and Computer ScienceUniversity of LatviaRigaLatvia

Personalised recommendations