Correctly Defined Concrete Syntax for Visual Modeling Languages

  • Thomas Baar
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4199)


The syntax of modeling languages is usually defined in two steps. The abstract syntax identifies modeling concepts whereas the concrete syntax clarifies how these modeling concepts are rendered by visual and/or textual elements. While the abstract syntax is often defined in form of a metamodel there is no such standard format yet for concrete syntax definitions; at least as long as the concrete syntax is not purely text-based and classical grammar-based approaches are not applicable. In a previous paper, we proposed to extend the metamodeling approach also to concrete syntax definitions. In this paper, we present an analysis technique for our concrete syntax definitions that detects inconsistencies between the abstract and the concrete syntax of a modeling language. We have implemented our approach on top of the automatic decision procedure Simplify.


Modeling Language Abstract Syntax Proof Obligation Visual Language Concrete Syntax 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual, 2nd edn. Object Technology Series. Addison-Wesley, Reading (2005)Google Scholar
  2. 2.
    Fondement, F., Baar, T.: Making metamodels aware of concrete syntax. In: Hartman, A., Kreische, D. (eds.) ECMDA-FA 2005. LNCS, vol. 3748, pp. 190–204. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Detlefs, D.L., Nelson, G., Saxe, J.: Simplify: the ESC theorem prover. Technical report, DEC (1996)Google Scholar
  4. 4.
    OMG. Unified Modeling Language: Diagram interchange version 2.0. Convenience Document ptc/05-06-04 (June 2005)Google Scholar
  5. 5.
    Costagliola, G., De Lucia, A., Orefice, S., Polese, G.: A classification framework to support the design of visual languages. Journal of Visual Languages and Computing 13(6), 573–600 (2002)CrossRefGoogle Scholar
  6. 6.
    Rohrer, F., Helg, F.: Synchronization between display objects and representation templates in graphical language construction. Minor thesis at Software Engineering Laboratory of EPFL (2006), Available from
  7. 7.
    Schürr, A.: Specification of graph translators with triple graph grammars. In: Mayr, E.W., Schmidt, G., Tinhofer, G. (eds.) WG 1994. LNCS, vol. 903, pp. 151–163. Springer, Heidelberg (1995)Google Scholar
  8. 8.
    Pressburger, M.: Über de 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)Google Scholar
  9. 9.
    Beckert, B., Hähnle, R., Schmitt, P.H.: The KeY Book – The Road to Verified Software. Springer, Heidelberg (to appear, 2006)Google Scholar
  10. 10.
    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. Electronic Notes in Theoretical Computer Science, vol. 148, pp. 113–150. Elsevier Science Publ., Amsterdam (2006)Google Scholar
  11. 11.
    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, Los Alamitos (2003)Google Scholar
  12. 12.
    Glinz, M., Berner, S., Joos, S.: Object-oriented modeling with ADORA. Information Systems 27(6), 425–444 (2002)MATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Thomas Baar
    • 1
  1. 1.School of Computer and Communication SciencesÉcole Polytechnique Fédérale de Lausanne (EPFL)LausanneSwitzerland

Personalised recommendations