Abstract
Due to their complexity, the syntax of modern modeling languages is preferably defined in two steps. The abstract syntax identifies all modeling concepts whereas the concrete syntax should clarify how these concepts are rendered by graphical and/or textual elements. While the abstract syntax is often defined in form of a metamodel, there does not exist such standard format yet for concrete syntax definitions. The diversity of definition formats—ranging from EBNF grammars to informal text—is becoming a major obstacle for advances in modeling language engineering, including the automatic generation of editors. In this paper, we propose a uniform format for concrete syntax definitions. Our approach captures both textual and graphical model representations and even allows to assign more than one rendering to the same modeling concept. Consequently, following our approach, a model can have multiple, fully equivalent representations, but—in order to avoid ambiguities when reading a model representation—two different models should always have distinguishable representations. We call a syntax definition correct, if all well-formed models are represented in a non-ambiguous way. As the main contribution of this paper, we present a rigorous analysis technique to check the correctness of concrete syntax definitions.
Similar content being viewed by others
References
Marković, S., Baar, T.: An OCL semantics specified with QVT. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Proceedings, MoDELS/UML 2006, Genova, Italy, October 1–6, 2006, vol. 4199, LNCS, pp. 660–674. Springer, Heidelberg (2006)
Rumbaugh J., Jacobson I., Booch G.: The Unified Modeling Language Reference Manual. Object Technology Series, 2nd edn. Addison-Wesley, Reading (2005)
Baar, T.: Correctly defined concrete syntax for visual models. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Proceedings, MoDELS/UML 2006, Genova, Italy, vol. 4199, LNCS, pp. 111–125. Springer, Heidelberg (2006)
Fondement, F., Baar, T.: Making metamodels aware of concrete syntax. In: Hartman, A., Kreische, D. (eds.) Proceedings of European conference on Model Driven Architecture (ECMDA-FA), vol. 3748, LNCS, pp. 190–204. Springer, Heidelberg (2005)
Costagliola G., De Lucia A., Orefice S., Polese G.: A classification framework to support the design of visual languages. J. Vis. Lang. Comput. 13(6), 573–600 (2002)
Costagliola G., Deufemia V., Polese G.: A framework for modeling and implementing visual notations with applications to software engineering. ACM Trans. Softw. Eng. Methodol. (TOSEM) 13(4), 431–487 (2004)
OMG. Diagram Interchange, Version 1.0. formal/06-04-04 (2006)
USE homepage, http://www.db.informatik.uni-bremen.de/projects/USE/
Muller, P.-A., Fleurey, F., Fondement, F., Hassenforder, M., Schneckenburger, R., Gérard, S., Jézéquel, J.-M.: Model-driven analysis and synthesis of concrete syntax. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio G. (eds.) Model Driven Engineering Languages and Systems, 9th International Conference, MoDELS 2006, Genova, Italy, October 1–6, 2006, Proceedings, vol. 4199, LNCS, pp. 98–110. Springer, Heidelberg (2006)
Detlefs, D.L., Nelson, G., Saxe, J.B.: Simplify: the ESC theorem prover. Technical Report (1996)
Presburger, M.: Über die vollständigkeit eines gewissen systems der arithmetik ganzer zahlen, in welchen, die addition als einzige operation hervortritt. Sprawozdanie z I Kongresu Matematikow Krajow Slowcanskich Warszawa, pp. 92–101 (1929)
Beckert, B., Hähnle, R., Schmitt, P.H. (eds.): Verification of Object-Oriented Software: The KeY Approach, vol. 4334, LNCS. Springer, Heidelberg (2007)
Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformation, vol. 1. World Scientific, Singapore (1997)
Bardohl, R., Ehrig, H., de Lara, J., Taentzer, G.: Integrating meta-modelling aspects with graph transformation for efficient visual language definition and model manipulation. In: Fundamental Approaches to Software Engineering, 7th International Conference, FASE 2004, vol. 2984, Lecture Notes in Computer Science, pp. 214–228. Springer, Heidelberg (2004)
Bardohl R.: A visual environment for visual languages. Sci. Comput. Program. (SCP) 44(2), 181–203 (2002)
de Lara, J., Vangheluwe, H.: Atom3: A tool for multi-formalism and meta-modelling. In: Kutsche, R.-D., Weber, H. (eds.) Fundamental Approaches to Software Engineering, 5th International Conference, FASE 2002, held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2002, Grenoble, France, April 8–12, 2002, Proceedings, vol. 2306, LNCS, pp. 174–188. Springer, Heidelberg (2002)
Minas M.: Specifying graph-like diagrams with DiaGen. Electron. Notes Theor. Comput. Sci. 72(2), 102–111 (2002)
OMG. MOF Models to Text Transformation Language, Final Adopted Specification. OMG Adopted Specification, ptc/06-11-01 (2006)
Xia, Y., Glinz, M.: Rigorous EBNF-based definition for a graphic modeling language. In: Proceedings of 10th Asia-Pacific Software Engineering Conference (APSEC 2003), pp. 186–196. IEEE Computer Society Press (2003)
Glinz M., Berner S., Joos S.: Object-oriented modeling with ADORA. Inf. Syst. 27(6), 425–444 (2002)
Alanen, M., Lundkvist, T., Porres, I.: A mapping language from models to DI diagrams. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Proceedings, MoDELS/UML 2006, Genova, Italy, vol. 4199, LNCS, pp. 454–468. Springer, Heidelberg (2006)
Schürr, A.: Specification of graph translators with triple graph grammars. In: Proceedings of 20th International Workshop on Graph-Theoretic Concepts in Computer Science (WG’94), vol. 903, LNCS, pp. 151–163. Springer, Heidelberg (1995)
Königs, A., Schürr, A.: Tool integration with triple graph grammars—a survey. In: Heckel, R. (ed.) Proceedings of the SegraVis School on Foundations of Visual Modelling Techniques, vol. 148, Electronic Notes in Theoretical Computer Science, pp. 113–150. Elsevier, Amsterdam (2006)
Eclipse. Eclipse project, http://www.eclipse.org (2007)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. O. Nierstrasz.
Rights and permissions
About this article
Cite this article
Baar, T. Correctly defined concrete syntax. Softw Syst Model 7, 383–398 (2008). https://doi.org/10.1007/s10270-008-0086-z
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-008-0086-z