next up previous contents
Next: 4.2 BNF Syntax Up: 4. Syntax Previous: 4. Syntax

4.1 Graph Structure


\begin{changeenum}\begin{splitdefboxneu}{to be continued}
{\texttt{YAON}\ diagr...
...
\par\end{enumerate}\par\end{enumerate} }
\end{splitdefboxneu}\end{changeenum}
Explanations to Def. 1

1.
A YAON diagram has three types of nodes: classes, interfaces and packages.
2.
A YAON diagram has three types of relationships between classes: inheritance, interface implementation and clientship relationships.
3.
The inheritance relationship is restricted threefold.
(a)
No multiple inheritance for classes.
(b)
Multiple inheritance for interfaces.
(c)
The relationship is not reflexive.
(d)
The relationship is not symmetric.

This definition is thought as a ``model elimination'' semantics. We define a general graph and use constraints to restrict the models that fulfill the definition. Below, we introduce a ``model generation'' approach, i.e. models of the system are recursively generated via a BNF. Theoretically, both approaches should coincide in only one semantics model.2 Unfortunately this is not the case because of the expressive power of BNFs is not enough to express those intended models. Using BNFs one can specify only context-free grammars and this is not enough for the specification of the sensitive aspects of YAON diagrams. On the other hand the model elimination approach is also not powerful enough to describe the set of all possible ``correct'' YAON diagrams. That is, there are diagrams which satisfy any of the definitions and are not well-formed YAON diagrams.