2. Introducing the Work Area

The work area of Poseidon is separated in five parts. At the top of the window, there is a main menu and a toolbar that provide access to the main functions. Below this are four panes:

Figure 4.1. Poseidon for UML application work area.

Poseidon for UML application work area.

Diagram Pane

Navigation Pane

Overview Pane

Details Pane

You can hide and redisplay panes by clicking on the small arrows that are located on the separation bars between panes, much in the same way you can manipulate panes in most other GUI applications. This allows you to gain extra room for drawing in the Diagram pane while the other panes are not needed. You can also resize the panes to best fit your needs by moving the separation bars with the mouse.

2.1. The Navigation Pane

The first pane we will explore is the Navigation pane in the upper left corner. It is used to access all of the main parts of a model by presenting the elements of the model in various tree structures. There are many different ways the model information could be organized into a tree structure; for example, the tree could be sorted alphabetically by element name, by diagram name, or by model element type. The classic way to organize them is by packages. Poseidon for UML uses the package structure as the default navigation tree, as do most UML tools. But, as we will see a little later, Poseidon provides a set of ways to structure this tree - these tree structures are called views. This is one of the strong points of Poseidon for UML, providing enormous flexibility for navigation. The default view is called the Package Centric view.

The root node of the tree is the model itself, in our example it is called Stattauto. The first level of the tree is open by default. In the Package Centric view, all first-level packages are shown, as well as all model elements that are not inside a specific package. As you can see, each element in the tree is preceded by a little icon. Element icons have one symbol, diagrams have several of these symbols combined into one icon. These icons are used consistently throughout the application.

Some sample icons:

  • Model - The model icon is a colored box, which is also used as a logo for UML

  • Package - The package icon is a folder

  • Class Diagram - The class diagram icon is a combination of two class icons

You can navigate through the tree by clicking on the icon in front of an element name, similar to many other applications. Any element you subsequently add to the model will automatically appear in the corresponding branch of the tree hierarchy, no matter how it is created.

Right now, your Navigation pane should look like this:

Figure 4.2. Navigation pane in the Stattauto model.

Navigation pane in the Stattauto model.

The model Stattauto contains many packages (e.g. Analysis, Business Process Model, and Design) as well as a large number of diagrams ( Overview, Implementation: Overview , ...).

Select the class diagram Container Class Analysis-Packages by clicking on it in the Navigation pane. The selected diagram will then be displayed in the Diagram pane, which is located to the right of the Navigation Pane. The 'Container Class Analysis-Packages' diagram (Figure 6–3) visualizes the dependencies between the included packages: Account, Member, Reservation, Vehicle, User, and Rates.

Figure 4.3. Class diagram 'Container Class Analysis-Packages'

Class diagram 'Container Class Analysis-Packages'

Inside the packages you can find further diagrams, but to quickly browse through the existing diagrams you need not navigate through the packages themselves. You can find diagrams directly (and much more quickly) using the diagram tree.

As of Poseidon 5.0, three navigation tabs (Package-Centric, Diagram-Centric, and Index) now appear persistently in the Navigation View.

2.1.1. Changing the Navigation View (for Poseidon 4.2 and lower)

Let's now take a quick look at the diagram tree, which can be seen in the Diagram Centric view. At the top of the Navigation pane, there is a drop-down selection box. Select the Diagram Centric view.

Figure 4.4. Change a view in the Navigation pane

Change a view in the Navigation pane

Now your Navigation pane should look like this:

This view sorts the model elements according to the diagrams in which they are included. Of course, this view includes only includes those model elements that are included in at least one diagram. The organization of this view has the advantage of quick navigation to any diagram or to the elements they contain. It logically follows that sometimes the Diagram Centric view and at other times the Package Centric view is more useful. Take a few moments now to look at the other available views.

2.1.2. Opening Multiple Navigation Panes (for Poseidon 4.2 and lower)

As we have seen, views offer different advantages for different tasks. But we often find ourselves switching between these tasks regularly, and constantly changing the dropdown view selector would be a distraction. To give you several choices of views at one time, you can create multiple instances of the Navigation pane by creating additional tabs. The different Navigation panes are accessible through these tabs, and it is then possible to select a different view for each tab.

To open additional Navigation panes:

  1. Click on the folder icon (called the 'duplicate tab button') that is located to the right of the drop-down selection box.

  2. A new navigation view will be created behind the current view.

  3. Now you can select the Package Centric view from the dropdown menu of one tab and the Diagram Centric view in the other tab. We will frequently need both views in the rest of the guided tour.

Figure 4.5. Add a navigation view tab

Add a navigation view tab

You can delete the navigation view tabs using the delete button that appears on the tab, next to the name of the view, whenever the mouse is placed there and two or more tabs are present.

Figure 4.6. Delete a navigation view tab

Delete a navigation view tab

We will now turn our attention to the diagrams themselves and how to edit them by looking at the Diagram Pane.

2.2. The Diagram Pane

As diagrams are the center of UML, naturally the Diagram pane is the main working space in Poseidon for UML. It is the primary place for constructing and editing the diagrams that compose all models. Just as the Navigation pane can display multiple views, the Diagram pane also makes use of tabs to open additional workspaces. Let's take a closer look at some of the functions available in the Diagram pane.

Open the diagram Entity Class Model Overview in the Diagram pane by clicking on its name in the Navigation pane. Expand the tree for this diagram by clicking the 'expand tree' icon that appears to the left of the diagram name.

The Diagram pane to the right should now look like this:

Figure 4.7. LThe Diagram pane displaying the diagram 'Entity Class Model Overview'.

LThe Diagram pane displaying the diagram 'Entity Class Model Overview'.

This is an overview diagram that provides a high level view of the main entities of our example. The classes from this diagram happen to be located in different packages. You can see the package name in parentheses under the class name (e.g. (from de.amg.stattauto.user.entity)). For each package in this example, there is another diagram you can view that shows the classes of that package and how they relate to each other. In UML, model elements can be represented in different diagrams to highlight specific aspects in different contexts. Other diagrams covered later in this guide will give us another perspective.

This diagram shows the most important classes of our example model. It already tells you quite a bit about this example:

  • It models Reservations that have (are associated with) a Member and a Vehicle .

  • Vehicles are associated with a Location, and Locations have Vehicles.

  • The VehicleClass is dependent upon the Vehicle .

If you select one of these classes in the navigation tree, you will see that the corresponding class is also selected in the diagram. Similarly, if you select a class in the diagram it is also selected in the Navigation pane. This is true for all elements: your selection is synchronized between the different panes.

Try it for yourself by selecting one of the classes in this diagram from the Navigation pane. Notice how the class name is highlighted in the Navigation pane, while the Diagram pane displays the same class with its rapid buttons visible around it.

2.3. The Details Pane

So much more goes into a model than just the shapes representing elements and the connections between them. But if all of this information were displayed in the Diagram pane, the diagrams would quickly become cluttered and unreadable. The Details pane organizes and presents all of these important particulars via tabs.

So let's now take a closer look at the Details pane, located at the bottom of the application. Select the class Reservation by either clicking on the class itself in the diagram or clicking on the class name in the Navigation pane.

Figure 4.8. The Details pane with class 'Reservation' selected.

The Details pane with class 'Reservation' selected.

The Details pane is composed of seven tabs. These tabs (sometimes referred to as panels) display all of the detailed information about the element currently selected, allow changes to be made to these elements, add related elements, or delete the element all together. Properties can be changed, documentation can be written, the resulting code can be previewed and edited, and more. The tabs always reflect the currently selected model element and are enabled only if they make sense in the context of the selected element. The Details pane also serves as another mechanism to navigate through the model.

Tabs available in the Details pane:

  • Properties

  • Style

  • Documentation

  • SourceCode

  • Constraints

  • Tabbed Values

  • C++ Properties

2.4. The Overview Pane

The larger a diagram becomes, the harder it gets to keep track of all of the elements, especially once they are out of the immediate viewing area. The Overview pane allows you to keep track of the elements already in the diagram. The pane, located at the bottom left, provides access to the 'Birdview' tab, which displays a graphic summary of the diagram currently displayed in the Diagram pane. From this tab you can zoom and/or pan in either the Diagram pane or the Overview pane.

Figure 4.9. Class diagram as seen in the Birdview tab

Class diagram as seen in the Birdview tab

To directly scale the section displayed in the main diagram area, enable the checkbox in the lower left-hand corner and use the slider bar to adjust the zoom factor. To pan and zoom the small diagram in the Birdview tab without disturbing the Diagram pane, disable this checkbox.