Up Previous Next Title Page Index Contents

2.2 Browsers and Graph Manager

Browsers are tools for viewing and editing the contents of the projects in the repository and for manipulating the projects themselves. Through the browsers the user has access to all available graphs and their currently loaded elements, such as their objects, relationships, roles, and properties. Graph Manager allows to inspect contents and links between selected graphs and export them to another MetaEdit+ Repository.

MetaEdit+ provides two kinds of browsers for viewing design elements: the Type Browser allows you to browse already loaded elements by their type, and the Graph Browser allows you to browse all elements by the graphs which they are in.
Browsers often form the most natural way to find and open graphs, when the graph lists presented by the individual editors accessed from the Launcher become too long.

2.2.1 Type Browser

See also the Menu Reference, Section 7.3.

The Type Browser allows you to view and open editors on the elements of methods, including graph, object, relationship and role types. You can view design elements of these types by project, and open editors on the design elements. In addition, you can open, close and create projects. Thus, Type Browser is used both for working with methods, and for working with graphs and their elements, in the case that the user knows the type of the element.

To open a Type Browser click the Types button from the MetaEdit+ Launcher (or alternatively select Browsers | Type Browser). Figure 2-15 shows a Type Browser window. The browser window contains three main elements: a list of projects, a list of types, and a list of instances.

Figure 2-15. Type Browser.

The left-hand list shows all the projects that are currently opened in the MetaEdit+ client. Highlighted project names (like ‘Tutorial’ in the figure) indicate which of the projects are selected for browsing in the repository, i.e. which projects the instances in the right hand window belong to. Note that selecting a project only affects what is visible in this browser, and does not actually open or close any project.

The list in the middle then shows all the available method types of that kind. You may determine which kind of types (graph, object, relationship, role or property types) are visible in the middle list from the pull-down list labelled Show. By default all the graph types are shown, as in Figure 2-15.
Note that the type list is not restricted by the project selections in the left-hand list.

Selecting a type in the middle list fills the right hand list with all the currently loaded instances of that type that are in the selected projects. The contents of the instances list on the right thus change according to the selections made in the other two lists and in the Show pull-down list. For example, in Figure 2-15 the user is browsing all ‘Class Diagram [UML]’ graphs in the ‘Tutorial’ project.
If there are no projects selected, no instances will be visible in the instance list when you choose a type!

To help browsing when there are many types or instances two additional fields at the bottom of the window can be used to set filters for the lists. By typing ‘B*’ in the field below the instance list (Figure 2-15), you can filter the list to show only instances starting with a capital letter B. Wildcards can be used: ‘*’ to represent any sequence of characters, and ‘#’ to represent any single character.

Default project

The default project field shows in which project new graphs will be stored. New graph representations and design elements are automatically stored into the same project as their graphs.

Only one project can be set as the default (e.g. Tutorial in Figure 2-15) but multiple projects can be open for example for viewing and reuse purposes. Thus, the default project setting is generally the project that you are actually working on: i.e. in which you add new graphs, objects etc.

You can set the default project by choosing the project name from the Default project pull-down list under the project list.

Load More Repository

In general, browsing design data by type will only show that data that has already been read from the repository (all graphs in a project and their immediately contained objects, roles and relationships are read automatically when the project is opened). Because MetaEdit+ intelligently loads information from the repository only as it is accessed, and flushes little-used objects when memory is low to improve performance, some objects may not be found when accessed by their type. Especially at the start of a session, searches by type on data other than graphs is likely to miss many objects, as they have not yet been loaded.

Load More Repository allows you to load more of the repository contents, and can be used if you think there should be an instance available but MetaEdit+ does not list it. Another way is to access the object by following links from objects already loaded, e.g. opening graphs or property dialogs.

Managing projects

Through the project pop-up menu you can choose the projects which you want open. To open projects:
1)Open the project list’s pop-up menu with the right mouse button.
2)Choose Open... from the menu.

As a result a dialog opens with a list of possible projects to be opened (Figure 2-16). The projects available are those to which you have access rights, and which are not yet open. If a project has not yet been explicitly opened, but you have already referenced some data there (often methods), the project will be marked with an asterisk ‘*’. Opening projects may take a little while, depending on their size.

Figure 2-16. A dialog for selecting projects to be opened.

Similarly, you can close projects by choosing Close... from the project pop-up menu and selecting them in the list dialog that opens. If you close all projects, you will be prompted to open another project. If you close the default project, you will be prompted to choose another project as the default.

The Type Browser also allows you to create new projects by selecting New... from the project’s pop-up menu. Check with your system administrator about project creation and naming conventions. Note that you must remember to set the new project as default in order to add graphs and related design information to it.

Managing types

Types shown in the middle list can be selected through the Show pull-down list: selecting Graphs shows all graph types in the list, Objects all object types, Relationships all relationship types, Roles all role types and Properties all property types respectively.

The pop-up menu for the types list allows you to view, get information, temporarily remove, and salvage removed types. The types in the list are organised according to their inheritance structure: Hide/Show Hierarchy on the pop-up menu will hide or show all subtypes of the selected type.

In addition, all graph types have pop-up menu function for creating new graphs. To create a graph in the Type Browser:
1)Select ‘Graphs’ from the Show pull-down menu (if not already selected).
2)Select a method (e.g. Class Diagram [UML]) with the left mouse button.
3)Open the pop-up menu with the right mouse button.
4)Choose Create Graph... from the menu.

A property dialog appears asking information about the graph to be created. After entering information and pressing OK a new graph with the given properties appears in the list on the right.
The graph will not be shown if the default project is not selected in the projects list, or if the instances list has a filter which does not match the graph’s name.

The list of the instances on the right also has a pop-up menu. Figure 2-17 shows the menu opened when viewing graphs.

Figure 2-17. Menu for managing graph instances.

Managing graphs

From the menu of the instance list you can view the properties of instances and open an Info Tool. If graph types are browsed, i.e. Graphs is selected from the Show pull-down list, you can open graphs in editors, delete them and their representations, as well as access the reporting tools. This menu is largely similar to the Graph menu in the editors. However, the Type Browser also allows you to delete graphs and their representations. The latter function is especially useful if you have created multiple representations of the same graph or made it with several editors and want to delete some of them.

To delete a graph:
1)Select a graph from the list (with the left mouse button).
2)Open the pop-up menu (with the right mouse button).
3)Select Delete Graph..., and the tool will ask you for confirmation for the operation.

Similarly, you can delete some or all representations of a graph, but leave the conceptual graph. Note that if you delete all representations, all relationships will be deleted, and objects may be deleted depending on your current deletion settings. If you want to keep the conceptual relationships and objects, open a new diagram representation on the graph first, and do not delete that. Alternatively, you could open a Diagram Editor and select and copy the elements you want to keep. After deleting the unwanted representations, you can open a new diagram for that graph and paste the copied elements there.

To delete representations of a graph:
1)Select a graph from the list (with the left mouse button).
2)Open the pop-up menu (with the right mouse button).
3)Select Delete Representation...

A list dialog opens for selecting the representations to be deleted (Figure 2-18).
4)Choose the representations to delete and press OK.

Figure 2-18. Select representations to be deleted.

Managing other instances

Objects, roles and relationships have two menu selections: Properties... for viewing the properties of the given element, and Info... for inspecting in which graphs and their representations the current element is used. These functions are available in many tools of MetaEdit+, and are explained in more detail in Sections 2.3.1 and 2.3.3.

2.2.2 Graph Browser

See also the Menu Reference, Section 7.4.

Another browser is the Graph Browser. It provides a graph hierarchy based view on the repository. Thus, browsing is done according to the selected graph, in contrast to the Type Browser, which shows the elements of a given type. The Graph Browser allows you to inspect the contents of the selected graph, and perform operations on the graph and its contents.

To open a Graph Browser click the Graphs button from the MetaEdit+ Launcher. Figure 2-19 shows a Graph Browser window.

Figure 2-19. Graph Browser.

The list on the left shows open projects, in the same way as the Type Browser. The highlighted projects in the list form the criteria for viewing graphs in the middle list.

The middle list shows all the available graphs that belong to the chosen projects, and the list on the right shows the elements of the selected graph. You may determine which elements (objects, relationships, or roles) of the selected graph are visible in the right hand list from the pull-down list labelled Show. Currently in Figure 2-19 all objects of the graph ‘Inventory use cases’ are shown.

To help browsing when there are many types and instances two additional fields at the bottom of the window can be used to set filters for the lists. The default filter ‘*: *’ shows all instances and all types. For example, to view all use cases starting with a capital letter P from a selected graph enter ‘P*: Use case [UML]’. The wildcard ‘*’ represents any sequence of characters, and ‘#’ represents any single character.

Browsing graph hierarchies

Graph Browser also allows you to inspect hierarchies between graphs. Whether the hierarchy shown is that of decomposition, explosion, both of them (the default setting) or none can be changed from the Tree pull-down list. In Figure 2-19 the hierarchy is shown according to explosion structures: e.g. ‘Inventory use cases’ graph has one direct subgraph called ‘Product availability’.
Note that a graph may occur more than once in the hierarchy, e.g. if it is used as a decomposition of an object in several different graphs. In this case, the hierarchy below that graph is shown only the first time it occurs: only the graph itself is shown below each graph for which it is a subgraph.

Default project

The default project field shows in which project new graphs and types will be stored. New graph representations and design elements are automatically stored into the same project as their graphs.

Only one project can be set as the default but multiple projects can be open for example for viewing and reuse purposes. Thus, the default project setting is generally the project that you are actually working on: i.e. in which you add new graphs, objects etc.

You can set the default project by choosing the project name from the Default project pull-down list under the project list.

Managing projects

The project list menu provides the same functions as the Type Browser: with the Graph Browser you can open, create and close projects from the client as well as choose projects to be viewed in the browser.

Managing graphs

The pop-up menu for the Graphs list is similar to that in the instances list of a Type Browser showing Graphs (see Figure 2-17 and the description of the menu there). The graph list is organised by the hierarchical structure of graphs and their subgraphs: Hide/Show Hierarchy on the pop-up menu will hide or show all subgraphs of the selected graph. If a different kind of hierarchy is selected from the Tree pull-down list, all hidden graphs are shown again.

If no graph is currently selected, the menu allows you to create a new graph. You can then select that graph and open it in an editor.

Managing other elements

The element list on the right has two operations: inspecting the properties of the element, and its use in different models. To open a property dialog for a given element in a Graph Browser:
1)Double click the element with the left mouse button.
Or
1)Select an element with the left mouse button.
2)Open the pop-up menu (shown on the right in Figure 2-20).
3)Select Properties...

Figure 2-20. Opening a dialog for an element in browser.

The property dialog for the selected object opens. In our example of Figure 2-20 the dialog would open for Actor ‘Foreman’, allowing you to edit its properties. Similarly, you can open an Info Tool for the selected object by choosing Info from the pop-up menu. Property dialogs and the Info Tool are described in more detail in sections 2.3.1 and 2.3.3.

2.2.3 Graph Manager

See also the Menu Reference, Section 7.5.

Graph Manager is a tool for inspecting links between graphs and graph elements, and for exporting graphs into an external file. To open Graph Manager select Browsers | Graph Manager. Figure 2-21 shows a Graph Manager Window.

Figure 2-21. Graph Manager

Graph Manager shows two lists. The left-hand list shows the graphs of projects which are currently open in the MetaEdit+ client. By default the graphs are ordered alphabetically, with no hierarchy. You may change the ordering from the pull-down list above the graphs list. Graphs can be ordered according to the hierarchy of explosion and/or decomposition links. The right-hand list shows all currently loaded graphs and objects.

Both lists have pop-up menus which allow you to edit the properties of the element (Properties...), open it in an editor (Open Element...), and ask information about the usage of the current design element with Info Tool (Element Info) (see Section 2.3.3 below).

Exporting graphs

MetaEdit+ allows you to export and import design information and method information between repositories. Graph Manager allows you to export selected graphs and their elements, along with the necessary method information. Any user can export graphs, but because importing will overwrite existing method information with that of the exported graphs, only system administrators can import graphs. Therefore, guidelines for importing are explained in the System Administrator’s Guide.

To export graphs:
1)Open the projects containing graphs to be exported. You should generally commit or abandon to ensure that you do not have uncommitted changes. MetaEdit+ warns you about uncommitted changes during exporting, to help ensure that exported graphs are in a state which the designer has accepted with commit. You should also close all open editors while exporting.
2)Select Browsers | Graph Manager.
3)Select the graphs to be exported from the left-hand list by clicking them with the left mouse button. You can select all graphs from the pop-up menu of the list (Select All).
4)Press the arrow button between the lists. This updates the right-hand list by selecting the elements that are included in the selected graphs. This operation may take some time, especially the first time, when all the data must first be loaded from the repository. The selected elements are ordered by their metatype (Graph, Object, Relationship, Role), type name, and identifying property. You may choose any of the elements from the list on the right to see the reason why that item was included. Note that graphs reached by explosion, decomposition or property links will be included along with their properties, but without their contents; similarly the types of their contents will not be exported. To export the whole graphs, choose them in the left list.
5)Choose Save Selected Elements... from the right-hand list’s pop-up menu.
6)Give a name for the export file (with extension .pat) and for your current repository. The repository name is needed because target repositories remember the source repositories from which they have imported models. The use of the same repository name allows models to be exported from a given source repository to a given target repository many times, updating the previously imported models. If the name is different, new graphs, objects etc. will be created.

Inspecting element users

Graph Manager allows you to inspect the usage of individual elements: to see the design elements that refer to the selected element. To inspect element users:
1)Open projects containing the elements to be inspected: both the used element and possible using elements.
2)Select Browsers | Graph Manager.
3)Select graphs from the left-hand list. Normally you should select all graphs (Choose Select All from the pop-up menu).
4)Press the arrow button between the lists. This updates the right-hand list by selecting the elements that are included into the selected graphs. It also updates the cached list of using elements for each of the elements in the right-hand list.
5)Select the element to be inspected by clicking it in the right-hand list.
6)Choose Show Element Users... from the pop-up menu attached to the selected element.

A list dialog opens showing all elements which refer to the selected element. Figure 2-22 shows the element usage window for attribute ‘Height’.

Figure 2-22. Inspecting usage of element ‘Height’ (1).

From the list you can select one or more referring elements to inspect which elements in turn use them, or open the elements by holding shift down while pressing OK.

To inspect where the Attributes property containing Height, Length and ShelfID is used, select it from the list dialog and press OK. A new dialog opens (Figure 2-23) showing that ‘Height’ is one of the attributes of a class ‘Shelf’.

Figure 2-23. Inspecting usage of element ‘Height’ (2).

To open the graph in which the class ‘Shelf’ is used, select it from the list, and click OK while holding shift down. As a result, an editor opens, scrolling to and selecting the class ‘Shelf’. If the class is located in several graphs or in several graph representations, you will be asked to choose which representation to open.

Up Previous Next Title Page Index Contents