Visual modeling languages such as UML are typically defined withan annotated metamodel. This technique combines the syntax definitionand semantics definition together, which makes definitions hard tounderstand for the readers, even when we look at the syntax part ofthe language only.
There is also some research work in which a graph grammar isproposed to define a visual programming language. The focus of thisresearch is on the efficiency of the grammar to parse a visualprogramming language, instead of the understandability of the syntaxfor human beings.
In our research we are exploring a third way for defining amodeling language like our ADORA language. The principal idea is tocombine the preciseness and conciseness of BNF with the needs of avisual modeling language.
When we define a language, we would like to make a clear cutbetween the syntax definition and semantics definition, and also makethe syntax definition concise and easy to understand. We extend themechanism of BNF, so that it can be used to define the abstract andconcrete syntax of visual specification languages, such as ADORA and UML. The main extension is described as follows.
1. A table is set up, in which each graphical element can beuniquely mapped to a string in the text form and each string onlycorresponds to one graphical element. For example, the graphicalnotation of class will be mapped to a string CLASS. Therefore, thesyntax of a visual specification language can be expressed in atextual way.
2. Adding some metasymbols in BNF to express the structuralinformation in a visual model. For example, the metasymbol '-->'(arrows) and some other metasymbols will be used to express thehierarchical information in the ADORA Language.
Xia Y., Glinz M. (2003) Rigorous EBNF-based Definition for a Graphic Modeling Language Proceedings of 10th Asia-Pacific Software Engineering Conference (APSEC 2003), IEEE Computer Society Press, ISBN 0-7695-2011-1, pp186-196.