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.



















Similar content being viewed by others
Notes
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.
Also see Footnote 2.
Tools might infer display constraints from UML DI files, for example, when only properties are shown on classes.
References
Aho, A., Lam, M., Sethi, R., Ullman, J.: Compilers: Principles, Techniques, and Tools. Addison Wesley, Boston (2006)
Bock, C.: UML without pictures. In: IEEE Software Special Issue on Model-Driven Development 20(5):33–35 (2003)
Object Management Group: Diagram Definition. http://omg.org/spec/DD (2014). Accessed 9 April 2016
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)
Object Management Group: OMG Unified Modeling Language, version 2.5. http://www.omg.org/spec/UML/2.5 (2015). Accessed 9 April 2016
Object Management Group: Business Process Model and Notation, version 2.0”. http://www.omg.org/spec/BPMN/2.0 (2013). Accessed 9 April 2016
Bock, C., Barbau, R., Narayanana, A.: BPMN profile for operational requirements. J. Object Orient. Technol. 13(2), 1–35 (2014)
Object Management Group: Action Language for Foundational UML. http://www.omg.org/spec/ALF (2013). Accessed 9 April 2016
Schenck, D., Wilson, P.: Information Modeling the EXPRESS Way. Oxford University Press, Oxford (1994)
W3C OWL Working Group: OWL 2 Web Ontology Language Document Overview. http://www.w3.org/TR/owl2-overview (2012). Accessed 9 April 2016
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)
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)
Baar, T.: Correctly defined concrete syntax. Softw. Syst. Model. 7(4), 383–398 (2008)
Wile, D.: Abstract syntax from concrete syntax. In: Proceedings of the 19th International Conference on Software Engineering, pp. 472–480 (1997)
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)
Poruban, J., Forgac, M., Sabo, M.: Annotation based parser generator. Compt. Sci. Inf. Syst. 7(2), 291–307 (2010)
Alone, Y., Deshmukh, V.: Annotation based innovative Parser Generator. Int. J. Adv. Res. Comput. Sci. Manag. Stud. 2(1), 498–501 (2014)
Genesereth, M., Nilsson, N.: Logical Foundations of Artificial Intelligence. Morgan Kaufman, Los Altos (1987)
Flanagan, D.: JavaScript: The Definitive Guide. O’Reilly Media, Sebastopol (2011)
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)
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
Tennent, R.: The denotational semantics of programming languages. Commun. ACM 19(8), 437–453 (1976)
Backlund, B., Hagsand, O., Pehrson, B.: Generation of visual language-oriented design environments. J. Vis. Lang. Comput. 1(4), 333–354 (1990)
Arefi, F., Hughes, C.E., Workman, D.A.: Automatically generating visual syntax-directed editors. Commun. ACM 33(3), 349–360 (1990)
Flatscher, R.: Metamodeling in EIA/CDIF—meta-metamodel and metamodels. ACM Trans. Model. Comput Simul. 12(4), 322–342 (2002)
Object Management Group: Reference Metamodel for the EXPRESS Information Modeling Language. http://www.omg.org/spec/EXPRESS (2015). Accessed 9 April 2016
W3C: Extensible Markup Language. http://www.w3.org/TR/xml11 (2006). Accessed 9 April 2016
Object Management Group: Meta Object Facility. http://omg.org/spec/MOF (2015). Accessed 9 April 2016
Object Management Group: XML Metadata Interchange. http://omg.org/spec/XMI (2015). Accessed 9 April 2016
The Eclipse Foundation: Graphical Modeling Framework. http://www.eclipse.org/modeling/gmp (2013). Accessed 9 April 2016
The Eclipse Foundation: Model Development Tools. http://www.eclipse.org/modeling/mdt/?project=uml2 (2015). Accessed 9 April 2016
Object Management Group: Diagram Interchange. http://doc.omg.org/formal/06-04-04 (2006). Accessed 9 April 2016
Object Management Group: Systems Modeling Language, Version 1.4. http://www.omg.org/spec/SysML(2015). Accessed 9 April 2016
Object Management Group: Interaction Flow Modeling Language. http://www.omg.org/spec/IFML (2015). Accessed 9 April 2016
Object Management Group: Semantics of a Foundational Subset for Executable UML Models. http://www.omg.org/spec/FUML (2013). Accessed 9 April 2016
Schildt, H.: Java: The Complete Reference. McGraw-Hill, New York (2014)
W3C: XML Schema. http://www.w3.org/XML/Schema (2012). Accessed 9 April 2016
Object Management Group: UML Profile for BPMN 2 Processes. http://www.omg.org/spec/BPMNProfile (2014). Accessed 9 April 2016
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)
Grundy, J., Hosking, J.: The MViews framework for constructing multi-view editing environments. N. Z. J. Comput. 4(2), 31–40 (1993)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley Professional, Boston (1994)
W3C: Scalable Vector Graphics. http://www.w3.org/TR/SVG11 (2011). Accessed 9 April 2016
Object Management Group: Query/View/Transformation Specification. http://www.omg.org/spec/QVT (2015). Accessed 9 April 2016
Author information
Authors and Affiliations
Corresponding author
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
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-016-0537-x