Software & Systems Modeling

, Volume 17, Issue 4, pp 1079–1103 | Cite as

Reusing metamodels and notation with Diagram Definition

  • Conrad Bock
  • Maged Elaasar
Regular Paper


It is increasingly common for language specifications to describe visual forms (concrete syntax) separately from underlying concepts (abstract syntax). This is typically to enable interchange of visual information between graphical modeling tools, such as positions of nodes and routings of lines. Often overlooked is that separation of visual forms and abstract concepts enables languages to define multiple visual forms for the same underlying concepts and for the same visual form to be used for similar underlying concepts in different languages (many-to-many relationships between concrete and abstract syntax). Visual forms can be adapted to communities using different notations for the same concepts and can be used to integrate communities using the same notation for similar concepts. Models of concrete syntax have been available for some time, but are rarely used to capture these many-to-many relationships with abstract syntax. This paper shows how to model these relationships using concrete graphical syntax expressed in the Diagram Definition standard, examining cases drawn from the Unified Modeling Language and the Business Process Model and Notation. This gives definers of graphical languages a way to specify visual forms for multiple communities.


Notation Metamodel Diagram Definition Syntax 


  1. 1.
    Aho, A., Lam, M., Sethi, R., Ullman, J.: Compilers: Principles, Techniques, and Tools. Addison Wesley, Boston (2006)zbMATHGoogle Scholar
  2. 2.
    Bock, C.: UML without pictures. In: IEEE Software Special Issue on Model-Driven Development 20(5):33–35 (2003)Google Scholar
  3. 3.
    Object Management Group: Diagram Definition. (2014). Accessed 9 April 2016
  4. 4.
    Elaasar, M., Labiche, Y.: Diagram definition: a case study with the UML class diagram. In: Model Driven Engineering Languages and Systems. Lecture Notes in Computer Science 6981, pp. 364–378 (2011)Google Scholar
  5. 5.
    Object Management Group: OMG Unified Modeling Language, version 2.5. (2015). Accessed 9 April 2016
  6. 6.
    Object Management Group: Business Process Model and Notation, version 2.0”. (2013). Accessed 9 April 2016
  7. 7.
    Bock, C., Barbau, R., Narayanana, A.: BPMN profile for operational requirements. J. Object Orient. Technol. 13(2), 1–35 (2014)Google Scholar
  8. 8.
    Object Management Group: Action Language for Foundational UML. (2013). Accessed 9 April 2016
  9. 9.
    Schenck, D., Wilson, P.: Information Modeling the EXPRESS Way. Oxford University Press, Oxford (1994)Google Scholar
  10. 10.
    W3C OWL Working Group: OWL 2 Web Ontology Language Document Overview. (2012). Accessed 9 April 2016
  11. 11.
    Rath, I., Okros, A., Varro, D.: Synchronization of abstract and concrete syntax in domain-specific modeling languages. Softw. Syst. Model. 9(4), 453–471 (2010)CrossRefGoogle Scholar
  12. 12.
    Krahn, H., Rumpe, B., Volkel, S.: Integrated definition of abstract and concrete syntax for textual languages. In: Model Driven Engineering Languages and Systems. Lecture Notes in Computer Science 4735, pp. 286–300 (2007)Google Scholar
  13. 13.
    Baar, T.: Correctly defined concrete syntax. Softw. Syst. Model. 7(4), 383–398 (2008)CrossRefGoogle Scholar
  14. 14.
    Wile, D.: Abstract syntax from concrete syntax. In: Proceedings of the 19th International Conference on Software Engineering, pp. 472–480 (1997)Google Scholar
  15. 15.
    Muller, P., Fondement, F., Fleurey, F., Hassenforder, M., Schnekenburger, R., Gerard, S., Jezequel, J.: Model-driven analysis and synthesis of textual concrete syntax. Softw. Syst. Model. 7(4), 423–441 (2008)CrossRefGoogle Scholar
  16. 16.
    Poruban, J., Forgac, M., Sabo, M.: Annotation based parser generator. Compt. Sci. Inf. Syst. 7(2), 291–307 (2010)CrossRefGoogle Scholar
  17. 17.
    Alone, Y., Deshmukh, V.: Annotation based innovative Parser Generator. Int. J. Adv. Res. Comput. Sci. Manag. Stud. 2(1), 498–501 (2014)Google Scholar
  18. 18.
    Genesereth, M., Nilsson, N.: Logical Foundations of Artificial Intelligence. Morgan Kaufman, Los Altos (1987)zbMATHGoogle Scholar
  19. 19.
    Flanagan, D.: JavaScript: The Definitive Guide. O’Reilly Media, Sebastopol (2011)zbMATHGoogle Scholar
  20. 20.
    Backus, J., Bauer, F., Green, J., Katz, C., McCarthy, J., Naur, P., Perlis, A., Rutishauser, H., Samuelson, K., Vauquois, B., Wegstein, J., van Wijngaarden, A., Woodger, M.: Revised report on the algorithm language ALGOL 60. Commun. ACM 6(1), 1–17 (1963)CrossRefzbMATHGoogle Scholar
  21. 21.
    International Standards Organization: Information Technology—Syntactic Metalanguage—Extended BNF. (1966). Accessed 9 April 2016
  22. 22.
    Tennent, R.: The denotational semantics of programming languages. Commun. ACM 19(8), 437–453 (1976)MathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    Backlund, B., Hagsand, O., Pehrson, B.: Generation of visual language-oriented design environments. J. Vis. Lang. Comput. 1(4), 333–354 (1990)CrossRefGoogle Scholar
  24. 24.
    Arefi, F., Hughes, C.E., Workman, D.A.: Automatically generating visual syntax-directed editors. Commun. ACM 33(3), 349–360 (1990)CrossRefGoogle Scholar
  25. 25.
    Flatscher, R.: Metamodeling in EIA/CDIF—meta-metamodel and metamodels. ACM Trans. Model. Comput Simul. 12(4), 322–342 (2002)CrossRefGoogle Scholar
  26. 26.
    Object Management Group: Reference Metamodel for the EXPRESS Information Modeling Language. (2015). Accessed 9 April 2016
  27. 27.
    W3C: Extensible Markup Language. (2006). Accessed 9 April 2016
  28. 28.
    Object Management Group: Meta Object Facility. (2015). Accessed 9 April 2016
  29. 29.
    Object Management Group: XML Metadata Interchange. (2015). Accessed 9 April 2016
  30. 30.
    The Eclipse Foundation: Graphical Modeling Framework. (2013). Accessed 9 April 2016
  31. 31.
    The Eclipse Foundation: Model Development Tools. (2015). Accessed 9 April 2016
  32. 32.
    Object Management Group: Diagram Interchange. (2006). Accessed 9 April 2016
  33. 33.
    Object Management Group: Systems Modeling Language, Version 1.4. Accessed 9 April 2016
  34. 34.
    Object Management Group: Interaction Flow Modeling Language. (2015). Accessed 9 April 2016
  35. 35.
    Object Management Group: Semantics of a Foundational Subset for Executable UML Models. (2013). Accessed 9 April 2016
  36. 36.
    Schildt, H.: Java: The Complete Reference. McGraw-Hill, New York (2014)Google Scholar
  37. 37.
    W3C: XML Schema. (2012). Accessed 9 April 2016
  38. 38.
    Object Management Group: UML Profile for BPMN 2 Processes. (2014). Accessed 9 April 2016
  39. 39.
    Krasner, G., Pope, S.: A cookbook for using the model-view-controller user interface paradigm in smalltalk-80. J. Object Orient. Prog. 1(3), 26–49 (1988)Google Scholar
  40. 40.
    Grundy, J., Hosking, J.: The MViews framework for constructing multi-view editing environments. N. Z. J. Comput. 4(2), 31–40 (1993)Google Scholar
  41. 41.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley Professional, Boston (1994)zbMATHGoogle Scholar
  42. 42.
    W3C: Scalable Vector Graphics. (2011). Accessed 9 April 2016
  43. 43.
    Object Management Group: Query/View/Transformation Specification. (2015). Accessed 9 April 2016

Copyright information

© Springer-Verlag Berlin Heidelberg (outside the USA) 2016 2016

Authors and Affiliations

  1. 1.U.S. National Institute of Standards and TechnologyGaithersburgUSA
  2. 2.Jet Propulsion LaboratoryCalifornia Institute of TechnologyPasadenaUSA

Personalised recommendations