The MDL Import Plug-in enables Poseidon to import UML models created by Rational Rose.
After the plug-in has been installed, the Display Issues). By default, the import plug-in hides the package information in Class Diagrams — long package names tend to ruin the diagram layout. If you want package names to be displayed in classes and interfaces, you may activate the check box.
dialog (accessible from the menu or by clicking the icon in the toolbar) allows you to select the file type *.mdl. Unlike jar and java import, the current model is discarded and you cannot add a Rose model to your current model. You can set the scaling factor by entering a different value into the text field below the general information about the plug-in (seeThis version of the import plug-in reads class, state, activity, usecase, and sequence diagrams. The other diagram types will be incorporated in the next release.
Some elements are changed during the import, others are ignored completely. Here is a list of known shortcomings.
Notes: Poseidon cannot handle notes that are connected to more than one diagram element. Rose allows notes which are not connected to diagram elements at all — Poseidon transforms these to ordinary text. Poseidon currently supports notes for classes, interfaces, packages, use cases, actors and states, but not for transitions, associations or objects. If a note is not supported, it is added to the diagram as ordinary text.
Metaclass: Poseidon does not support meta classes, these classes are imported as ordinary classes.
Association Class: Association classes are imported, but not displayed correctly: They appear as simple associations. If you click on an association class, the Details pane displays the properties correctly, though.
Synchronization States: Rose does not discriminate between fork and join states. There is no way of telling how to map synchronization states — this plug-in currently always assumes fork states if the number of outgoing transitions is bigger than one. You are informed about the decision.
Subsystems: Subsystems are treated as packages — Poseidon does not support subsystems at the moment.
The following features are (at the moment) not being imported at all. You will get a warning after the import is complete that these elements will be missing.
Destruction Markers
Swim lanes
References: MDL files support references to other files (*.jar or *.cab files, for example). This import tool ignores references, no warning is issued.
Other problems: Some older versions of Rose have a bug in sequence diagrams: Links between objects have a wrong target ID. These links will not be resolved correctly by this plug-in — you will get an error message. Rose does the resolving by name instead of by ID, which seems rather error-prone, so we do not try to do this. Loading and saving the model with a new Rose version like Rose 2000 solves the problem, and the sequence diagram can be correctly be imported.
MDL files contain information about the diagram layout. The import plug-in reads the diagram elements coordinates and positions the diagram elements accordingly. A few things should be considered, though. Poseidon uses "smaller" coordinates than Rose. In general, scaling down the coordinates by 40 percent does the job — the diagrams almost look like they did in Rose. You can change the value in the Configuration tab to the right. If you choose 80%, for example, the diagram elements are further apart (but not bigger!) — making it easy to add comments or further elements.
While the coordinates are read from the MDL file, the sizes of diagram elements are dependent on the information being displayed. For example, a classes size depends on the length of the contained methods names and parameters. Long names or lots of parameters may lead to overlapping classes. To solve this, you can either select a higher scaling factor, or (at least for Class Diagrams) you can can edit the display options (select menu item
, and click the tab ).Sequence Diagrams
Poseidon performs an automatic layout of sequence diagrams — layout information contained in MDL files is ignored. Objects are currently placed arbitrarily, you might have to re-arrange them and any associated textual information. Apart from that, Rose allows activations to have arbitrary length, while Poseidon calculates the length of activations depending on the stimuli sent. Using the right mouse button, you can force an object to remain activated after the last message was sent.
We did extensive testing, and any problems during import should be signaled. But before you use and extend an imported file for production work, you should check your models and diagrams in case some model element was forgotten. If you experience problems or want to request additional features, do not hesitate to contact us at <support@gentleware.com>