Ph.D. - geht es zur Homepage der Informatik des Fachbereiches 3 ...
Ph.D. - geht es zur Homepage der Informatik des Fachbereiches 3 ...
Ph.D. - geht es zur Homepage der Informatik des Fachbereiches 3 ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Chapter 4. The GOPPRR Meta Meta Model – An Extension of GOPRR<br />
meta model. Neither, the proper definition of the static semantics is included in the original<br />
GOPRR syntax d<strong>es</strong>cription formalism.<br />
A possible solution to th<strong>es</strong>e problems could be the extension of the already existing meta<br />
model for the syntax definition. The fact that it do<strong>es</strong> not provide possibiliti<strong>es</strong> to define syntax<br />
for the graphical containment of objects opposed this option. Graphical containment means<br />
that the graphical repr<strong>es</strong>entation of an object o 1 consisting of a set of points P 1 graphically<br />
contains another object o 2 if P 2 ⊆ P 1 . This modelling mechanism can also provide good<br />
abstraction possibiliti<strong>es</strong> that should not be ignored. The additional integration of ports and<br />
graphical containment in the original GOPRR syntax d<strong>es</strong>cription meta model do<strong>es</strong> not seem<br />
very promising because a direct mapping of th<strong>es</strong>e meta meta model elements to model elements<br />
is not possible, as it is done for the other GOPRR elements.<br />
Thus, to use all GOPRR featur<strong>es</strong> and elements for dependable software, a new syntax<br />
d<strong>es</strong>cription formalism has to be developed that ideally can be defined as meta model in<br />
GOPRR itself. The formalisms for defining the concrete syntax and static semantics are<br />
introduced in the following sections. Furthermore, an abstract syntax model as C++ structure<br />
and its intermediate repr<strong>es</strong>entation as XML are pr<strong>es</strong>ented because the abstract syntax is needed<br />
for the generation proc<strong>es</strong>s and the definition of the static semantics. Additionally, a possible<br />
transformation from the new GOPPRR meta meta model to MOF can be found in Appendix A.<br />
4.1. Concrete Syntax D<strong>es</strong>cription Formalism<br />
The name for the new meta meta model was chosen as Graph, Objects, Properti<strong>es</strong>, Ports,<br />
Rol<strong>es</strong>, and Relationships (GOPPRR) to emphasise the extension about ports. If the term<br />
GOPPRR is used as meta meta model, it refers to the GOPRR meta meta model with the<br />
GOPPRR extensions for the syntax definition, the new abstract syntax model, and the new<br />
definition formalism for static semantics.<br />
In general, the GOPPRR concrete syntax d<strong>es</strong>cription formalism provid<strong>es</strong> three different<br />
graph typ<strong>es</strong>:<br />
1. graph bindings syntax graph<br />
2. sub-graph syntax graph<br />
3. type property graph<br />
Graph Bindings The syntax graph for graph bindings specifi<strong>es</strong> how object typ<strong>es</strong> in a certain<br />
graph type can be connected. Figure 4.1 shows the elements of such a graph. The root node of<br />
a graph binding repr<strong>es</strong>ents the graph type un<strong>der</strong> consi<strong>der</strong>ation. Relationship and role typ<strong>es</strong><br />
are child nod<strong>es</strong> of the graph type. Object typ<strong>es</strong> can be children of role or of port typ<strong>es</strong>, which<br />
are on the intermediate level between role and object typ<strong>es</strong> while the last possibility is an<br />
extension compared to the original GOPRR syntax d<strong>es</strong>cription formalism. Another important<br />
addition is the definition of graphical inclusions. This means in other words that the graphical<br />
placement of an object within the graphical repr<strong>es</strong>entation of another one can be used for the<br />
syntax definition. This graphical inclusion for a certain object type is a child node of the graph<br />
type node, and the child nod<strong>es</strong> are the possible included object typ<strong>es</strong>.<br />
40