Show in Frame No Frame
Up Previous Next Title Page Index Contents Search

Creating and modifying representations of graphs
Deleting graph representations
Element representations

6.2.2 Representation independence

The second rule extends the tool independence, allowing you to have multiple representations of the same graph made with the same tool. For example we could have two different diagram representations of a graph: the first representation could be aimed at programmers and the second, omitting some details, at managers.

To understand representation independence two aspects need to be separated: the concept and its representation. Table 6-1 illustrates the difference. Information in the Object Repository can be viewed as a two-by-two grid. The vertical axis represents the distinction between types and instances, i.e. between languages and the models made with them. The horizontal axis represents the distinction between concepts and representations, e.g. between a given conceptual object and a particular representation of that object as a symbol at a certain place in a diagram. A conceptual object is one that just has a type, properties and maybe a decomposition, appears in generators and browsers, and in other modeling tools would have been considered as an entry in a Data Dictionary.

Concept
Representation
Type
Language components, e.g. a graph type
Property dialogs, symbols
Instance
Model components, e.g. a graph
Diagrams, matrices, tables and their contents

Table 6-1. Representation independence.

In MetaEdit+ each concept can have multiple representations, and all representations of a given concept refer to the same concept. For example at the graph level (graph can be loosely equated with model) each graph in MetaEdit+ can be viewed and edited either as a graphical diagram, as a matrix, or as a table. Because the graph is conceptually the same in all the representations, changes of the graph’s properties in one representation will also affect other representations of the same graph.

Moreover, each model can have multiple representations of the same paradigm: diagram, matrix or table. For example, the object model of a sales system can have multiple diagram representations, and the conceptual information is common for all of them.

Creating and modifying representations of graphs

Representation management for graphs is accessible in two ways: when they are created or used, and when they are removed. An example of the former can be found every time a graph is opened with a selected editor and a dialog for creating new representations or selecting one of the available representations opens.

Deleting graph representations

Another aspect of managing representations is their deletion. Graph representations can be removed through browsers by selecting the graph and choosing Delete Representations... from its pop-up menu. This operation opens a dialog showing a list of representations together with information about their type (i.e. diagram, matrix or table) and creation date.

Element representations

The conceptual graph also includes information about the elements of the graph, such as its objects and relationships. Representation independence also covers these elements: any element can have multiple representations in the same representation, in the same representation paradigm, or it can be represented in different tools differently.

An example of the first can be found from Figure 6–2 in which a concept tempOffset can have multiple representations in the same diagram. An example of the second is the situation in which the concept tempOffset is represented in several different diagram representations. An example of the last element representation is a situation in which the concept tempOffset is represented as a rectangle in a selected place of the diagram, and in a matrix representation the same entity can form part of the axis of the matrix. Still in all of these representation alternatives the design information about the tempOffset is the same and changes to that information through any of these representations will also affect other representations of the tempOffset.

Three representations for one concept

Figure 6–2. Three representations for the concept ‘tempOffset’.


Show in Frame No Frame
Up Previous Next Title Page Index Contents Search