2.1 Graph Tool
The Graph Tool
provides the
functionality to access, view and modify modeling language specifications at the
graph level (e.g. specifications of the Family Tree diagram technique and its
elements).
Figure 2–1. Graph Tool.
The Graph Tool provides a
tabbed five-page user interface for defining graph types. The pages and their
responsibilities are as follows:
| Basics
for entering the elementary information (e.g. name, properties and
documentation) about the graph type
itself. |
| Types
for defining the non-property types that the respective graph type may
include. |
| Bindings
for defining the legal binding construct within the respective graph
type. |
| Subgraphs
for defining the decomposition and explosion links for the graph
type. |
| Constraints
for defining various additional rules enforced by the graph
type. |
The Graph Tool supports the creation of
a modeling language in a top-down approach, or its assembly in a bottom-up
approach.
In most cases it is recommended to follow the top-down
approach, creating an empty Graph type first and then incrementally creating and
adding language components step by step. The Graph Tool enables this wizard-like
feature by providing commands to add new language components, opening the
appropriate tool to create and edit them, and adding them into the Graph
type.
In a bottom-up approach you first create language elements
like object, relationship and role types and then combine these into a language
with the Graph Tool. This approach is recommended when you are building a
language by reusing existing language constructs (for example, constructing a
UML Class Diagram using pieces from some other object-oriented modeling
language).
It is worth noting that the other non-property
metamodeling tools (Object, Relationship, Role and Port tools) share the
features and functionality provided by the Graph Tool’s
Basic page
(e.g. creating a new type with associated properties). Hence the tool reference
and instructions in Chapter
2.1.4 Basics are applicable for these tools as
well.