Skip to main content
Log in

Reusing metamodels and notation with Diagram Definition

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19

Similar content being viewed by others

Notes

  1. Precursors to metamodels in academic work used links between abstract syntax tree elements that are not hierarchically related [23, 24].

  2. An earlier modeling language in the product modeling community specified graphical and textual concrete syntax for the same language concepts [9], with metamodels added later at OMG [26].

  3. It also did not separate user-controllable graphical information, such as position and size, from standards-defined information, such as shapes, resulting in redundant inclusion of standards information in interchange files; see Sect. 3.

  4. Also see Footnote 2.

  5. Tools might infer display constraints from UML DI files, for example, when only properties are shown on classes.

References

  1. Aho, A., Lam, M., Sethi, R., Ullman, J.: Compilers: Principles, Techniques, and Tools. Addison Wesley, Boston (2006)

    MATH  Google Scholar 

  2. Bock, C.: UML without pictures. In: IEEE Software Special Issue on Model-Driven Development 20(5):33–35 (2003)

  3. Object Management Group: Diagram Definition. http://omg.org/spec/DD (2014). Accessed 9 April 2016

  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)

  5. Object Management Group: OMG Unified Modeling Language, version 2.5. http://www.omg.org/spec/UML/2.5 (2015). Accessed 9 April 2016

  6. Object Management Group: Business Process Model and Notation, version 2.0”. http://www.omg.org/spec/BPMN/2.0 (2013). Accessed 9 April 2016

  7. Bock, C., Barbau, R., Narayanana, A.: BPMN profile for operational requirements. J. Object Orient. Technol. 13(2), 1–35 (2014)

    Google Scholar 

  8. Object Management Group: Action Language for Foundational UML. http://www.omg.org/spec/ALF (2013). Accessed 9 April 2016

  9. Schenck, D., Wilson, P.: Information Modeling the EXPRESS Way. Oxford University Press, Oxford (1994)

    Google Scholar 

  10. W3C OWL Working Group: OWL 2 Web Ontology Language Document Overview. http://www.w3.org/TR/owl2-overview (2012). Accessed 9 April 2016

  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)

    Article  Google Scholar 

  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)

  13. Baar, T.: Correctly defined concrete syntax. Softw. Syst. Model. 7(4), 383–398 (2008)

    Article  Google Scholar 

  14. Wile, D.: Abstract syntax from concrete syntax. In: Proceedings of the 19th International Conference on Software Engineering, pp. 472–480 (1997)

  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)

    Article  Google Scholar 

  16. Poruban, J., Forgac, M., Sabo, M.: Annotation based parser generator. Compt. Sci. Inf. Syst. 7(2), 291–307 (2010)

    Article  Google Scholar 

  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. Genesereth, M., Nilsson, N.: Logical Foundations of Artificial Intelligence. Morgan Kaufman, Los Altos (1987)

    MATH  Google Scholar 

  19. Flanagan, D.: JavaScript: The Definitive Guide. O’Reilly Media, Sebastopol (2011)

    MATH  Google Scholar 

  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)

    Article  MATH  Google Scholar 

  21. International Standards Organization: Information Technology—Syntactic Metalanguage—Extended BNF. http://standards.iso.org/ittf/PubliclyAvailableStandards/s026153_ISO_IEC_14977_1996(E).zip (1966). Accessed 9 April 2016

  22. Tennent, R.: The denotational semantics of programming languages. Commun. ACM 19(8), 437–453 (1976)

    Article  MathSciNet  MATH  Google Scholar 

  23. Backlund, B., Hagsand, O., Pehrson, B.: Generation of visual language-oriented design environments. J. Vis. Lang. Comput. 1(4), 333–354 (1990)

    Article  Google Scholar 

  24. Arefi, F., Hughes, C.E., Workman, D.A.: Automatically generating visual syntax-directed editors. Commun. ACM 33(3), 349–360 (1990)

    Article  Google Scholar 

  25. Flatscher, R.: Metamodeling in EIA/CDIF—meta-metamodel and metamodels. ACM Trans. Model. Comput Simul. 12(4), 322–342 (2002)

    Article  Google Scholar 

  26. Object Management Group: Reference Metamodel for the EXPRESS Information Modeling Language. http://www.omg.org/spec/EXPRESS (2015). Accessed 9 April 2016

  27. W3C: Extensible Markup Language. http://www.w3.org/TR/xml11 (2006). Accessed 9 April 2016

  28. Object Management Group: Meta Object Facility. http://omg.org/spec/MOF (2015). Accessed 9 April 2016

  29. Object Management Group: XML Metadata Interchange. http://omg.org/spec/XMI (2015). Accessed 9 April 2016

  30. The Eclipse Foundation: Graphical Modeling Framework. http://www.eclipse.org/modeling/gmp (2013). Accessed 9 April 2016

  31. The Eclipse Foundation: Model Development Tools. http://www.eclipse.org/modeling/mdt/?project=uml2 (2015). Accessed 9 April 2016

  32. Object Management Group: Diagram Interchange. http://doc.omg.org/formal/06-04-04 (2006). Accessed 9 April 2016

  33. Object Management Group: Systems Modeling Language, Version 1.4. http://www.omg.org/spec/SysML(2015). Accessed 9 April 2016

  34. Object Management Group: Interaction Flow Modeling Language. http://www.omg.org/spec/IFML (2015). Accessed 9 April 2016

  35. Object Management Group: Semantics of a Foundational Subset for Executable UML Models. http://www.omg.org/spec/FUML (2013). Accessed 9 April 2016

  36. Schildt, H.: Java: The Complete Reference. McGraw-Hill, New York (2014)

    Google Scholar 

  37. W3C: XML Schema. http://www.w3.org/XML/Schema (2012). Accessed 9 April 2016

  38. Object Management Group: UML Profile for BPMN 2 Processes. http://www.omg.org/spec/BPMNProfile (2014). Accessed 9 April 2016

  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. 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. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley Professional, Boston (1994)

    MATH  Google Scholar 

  42. W3C: Scalable Vector Graphics. http://www.w3.org/TR/SVG11 (2011). Accessed 9 April 2016

  43. Object Management Group: Query/View/Transformation Specification. http://www.omg.org/spec/QVT (2015). Accessed 9 April 2016

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Conrad Bock.

Additional information

Communicated by Prof. Thomas Kühne.

The authors thank Anantha Narayanan, David Wagner, and Denis Gagne for their helpful comments. Identification of any commercial equipment and materials is only to adequately specify procedures. It is not intended to imply recommendation or endorsement by the U.S. National Institute of Standards and Technology, nor does it imply that the materials or equipment are necessarily the best available for the purpose.This research was carried out in part at the Jet Propulsion Laboratory, California Institute of Technology, under a contract with the U.S. National Aeronautics and Space Administration.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bock, C., Elaasar, M. Reusing metamodels and notation with Diagram Definition. Softw Syst Model 17, 1079–1103 (2018). https://doi.org/10.1007/s10270-016-0537-x

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-016-0537-x

Keywords

Navigation