Up Previous Next Title Page Index Contents

2.5.1 Defining new graph types

To start an empty Graph Tool, select Metamodel | Graph Tool or the Graph Tool button in the MetaEdit+ Launcher toolbar. Now the Graph Tool is ready for accepting the definition of a new graph type.

If you want the graph type to inherit properties from another type than from the current ancestor, select Graph | New Subtype... and select the ancestor type from the list of available graph types. In addition to inheriting properties, new Graph types also receive a copy of the type, binding, subgraph and constraint sets of their super-type. These sets are not truly inherited, but simply copied as initial values for the subtype.

To fill in a new Graph type:
1)Give the name of the graph type in the Name field. Use unique names, because otherwise you might encounter difficulties in selecting the right graph type (i.e. selection lists and dialogs have several modeling languages with the same name).
2)Select the project for the new graph type from the Project pull-down list. If the project you want is not in the list, you must first open it from the Launcher with Repository | Open Project....
3)Define the properties of the graph type (see Section 2.1.3 for details).
4)Save the new graph type. Press the Save toolbar button to save the definition of the graph type. This will also generate a default dialog for the graph type. If you want to modify the default dialog select Edit Dialog from the Property list pop-up menu. This operation opens the dialog definition, and you can modify the appearance of the dialog (see Chapter 4 for details).
5)Define the object, relationship and role types to be used in this graph type. Select the Types tab button and in the Types tab use the Add... menu item from each list’s pop-up menu and select the appropriate types to be included in this modeling language. See Section 2.5.3 for more details.
6)Define the bindings of object, relationship and role types. Press the Bindings tab button and in the Bindings tab select Add... from the relationship list pop-up menu, and select the appropriate relationship types from the dialog. Each relationship type you selected now has a (partially empty) binding. For each binding add the appropriate role types with Add... in the role list. If necessary, give cardinalities for those role types in this binding. For each of the role types add the ports and object types that can be in this role in this binding. Notice that the selection lists in each of the relationship, role, port and object list are much shorter than in the Types tab, because only the types selected for this modeling language are available here. See Section 2.5.4 for more details.
7)Define the explosions and decompositions of the types in this graph type. Press the Explosions and Decompositions buttons and add for each type the graph types to which it can explode or decompose (note that if you did not save the new Graph type in step 4, you cannot select it as the target of an explosion or decomposition). See Section 2.5.5 for more details.
8)Specify any connectivity and port constraints. Press the Constraints tab button to show the Constraints tab. Select the type of constraint and press the Add button. See Section 2.5.6 for more details.
9)Document the graph type. Go back to the Basics tab and describe the graph type in the Description field.
10)Press the Save button to accept the changes.


Up Previous Next Title Page Index Contents