Skip to main content
Log in

Correctly defined concrete syntax

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

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.

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.

Similar content being viewed by others

References

  1. 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)

  2. Rumbaugh J., Jacobson I., Booch G.: The Unified Modeling Language Reference Manual. Object Technology Series, 2nd edn. Addison-Wesley, Reading (2005)

    Google Scholar 

  3. 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)

  4. 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)

  5. 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)

    Article  Google Scholar 

  6. 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)

    Article  Google Scholar 

  7. OMG. Diagram Interchange, Version 1.0. formal/06-04-04 (2006)

  8. USE homepage, http://www.db.informatik.uni-bremen.de/projects/USE/

  9. 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)

  10. Detlefs, D.L., Nelson, G., Saxe, J.B.: Simplify: the ESC theorem prover. Technical Report (1996)

  11. 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)

  12. Beckert, B., Hähnle, R., Schmitt, P.H. (eds.): Verification of Object-Oriented Software: The KeY Approach, vol. 4334, LNCS. Springer, Heidelberg (2007)

  13. Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformation, vol. 1. World Scientific, Singapore (1997)

  14. 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)

  15. Bardohl R.: A visual environment for visual languages. Sci. Comput. Program. (SCP) 44(2), 181–203 (2002)

    Article  MATH  Google Scholar 

  16. 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)

  17. Minas M.: Specifying graph-like diagrams with DiaGen. Electron. Notes Theor. Comput. Sci. 72(2), 102–111 (2002)

    Article  MathSciNet  Google Scholar 

  18. OMG. MOF Models to Text Transformation Language, Final Adopted Specification. OMG Adopted Specification, ptc/06-11-01 (2006)

  19. 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)

  20. Glinz M., Berner S., Joos S.: Object-oriented modeling with ADORA. Inf. Syst. 27(6), 425–444 (2002)

    Article  MATH  Google Scholar 

  21. 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)

  22. 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)

  23. 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)

  24. Eclipse. Eclipse project, http://www.eclipse.org (2007)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Thomas Baar.

Additional information

Communicated by Prof. O. Nierstrasz.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-008-0086-z

Keywords

Navigation