Correctly defined concrete syntax

7Citations
Citations of this article
19Readers
Mendeley users who have this article in their library.
Get full text

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. © Springer-Verlag 2008.

Cite

CITATION STYLE

APA

Baar, T. (2008). Correctly defined concrete syntax. Software and Systems Modeling, 7(4), 383–398. https://doi.org/10.1007/s10270-008-0086-z

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free