en ger

MagicUWE - Reference

This is a reference of MagicUWEs main functionalities (v1.2).

MagicUWE features Similar user actions in MagicDraw

Create a new UWE project

File / New Project.. / Project from Template / UWE

New dialogue
  • If MagicUWE is loaded: Create a new project (File / New Project.. / Blanc Project) and answer "Yes" to this question: Question
  • If not: Save the UWE profile as MagicDraw / profiles / UWE Profile.mdzip. Create a new project and add the UWE Profile (Options / Modules / Use Module / ..profiles / UWE Profile.mdzip / Finish)
Recommendation:

Don't display the operations: (class on a diagram) / Symbol properties / Suppress Operations = true / Make Default / OK
and create the UWE packages (see next point)

Create default UWE packages

MagicUWE / Create default packages
Create four packages yourself and call them "Content", "Navigation", "Presentation" and "Process"
default packages

Create UWE diagrams

new diagram from the UWE menu

or: new Diagram from containment tree

Create class or activity diagrams.

Recommendation:
Move them into the right UWE packages in the containment tree and give them unique names.

Insert classes (or associations) with UWE stereotypes

Click at the wanted class in the toolbar
toolbar

..and then draw it into a diagram:
drawing class

Inserting associations is working similar.
(Draw a new normal class or association and right-click on it) / Stereotype / (select the wanted stereotypes from the UWE profile) / Apply

set stereotype

Draw properties with UWE stereotypes

First click at the object in the diagram, which should contain the new property and then select the wanted property-stereotype from the (presentation-)toolbar and draw it into the class you have previously selected.

property and class names
A new class is created and added (as property) to the previously selected one.
The destination class must be prepared:
Symbol(s) Properties / Suppress Structure = false.

Create a new class, give it a name and add the wanted stereotype. Drag and drop it from the containment tree into a class or property within the open diagram. Now you can name the property itself.

Navigation diagrams: Insert access primitives (index, query, ..)

This (and the following) context-menu appears according to the configuration of MagicUWE. If this menu isn't displayed, first select the association and then right-click beside it, so that MagicDraw doesn't de-select it, because of that second click.

Select one or more association(s) to insert a new class of the selected stereotype between one and all other classes. It's necessary that all associations have the same end at one side.
insert classes between others
Some useful logic -according to the selected stereotype- for the multiplicities, the new class name, the names of the properties and the association type is included.
Create and draw a new class, give it a name, drag all association ends to this new class and create a new association or eventually a composition to the head class. Finally add the right multiplicities and names.

Navigation diagrams: Set tagged values

setTags
(right click on the element) / Specification / Tags / <<navigationNode>> isHome or isLandmark / create or edit value.
Be careful, a boolean with more than one value doesn't seem to make sense.
set tags manually

Transformations

You can run all transformations from the menu
transformation menu

.. and from the context menu of the containment tree:
transformation context menu

If you select more than one diagram, each one which has the right UWE diagram type for the selected transformation will be processed.

This context-menu appears according to the configuration of MagicUWE. (The plugin uses a part of the parent package names to decide which UWE-diagram-type a diagram has.)

Content to Navigation

Create a new class (in the Navigation Package) for each class in a Content Diagram and give the new class the same name and add the «navigationClass»-stereotype. Then draw all of them into a new Navigation Diagram (a class diagram). Now you can redraw all associations you need.

Navigation to Presentation

Create a new class (in the Presentation Package) for each class of a navigation diagram. Label the new class equally and add the «presentationClass»-stereotype.

Navigation to Process Structure

Draw each class with a «processClass» -stereotype of a Navigation Diagram into a new Process Structure Diagram. Don't create new classes!

Navigation to Process Flow

Create a new Process Flow (=activity diagram) for each processClass with a proper name of a Navigation Diagram. Label the new diagrams "class name"+" Workflow", so that you can see easily which activity belongs to a class with a "processClass" -stereotype.

Some further features like e.g. the link to the web page in the help menu or the about-box need no explanation. If you have questions, please write us an email!

Configuration of MagicUWE

Please have a look in the MagicDrawHome/plugins/MagicUWE/MagicUWE.jar file, you can configure the behaviour of the plugin in the magicUWE/settings/MagicUWE.properties file, which is located within the jar-zip-file.

There you can configure:

  • the names of the UWE-Profile. First, MagicUWE searches for the UWE-Profile in the directory of the actual project. If this file does not exist, the one in the "profiles" directory of MagicDraw will be chosen.
  • the packages-check, MagicUWE cares about the names of the package containing the diagram, to decide the UWE diagram type for some operations and warnings
  • shortcuts for all UWE-Toolbar entries
  • which presentation elements can be inserted as class or as property from the toolbar

Known bugs

  • If you create a new diagram while drawing an association from the MagicUWE toolbar, an error will be shown and you should click "undo last action". This is a bug from MagicDraw-OpenAPI, not from the plugin itself. Model inconsistency dialogue
  • Properties can sometimes be drawn in another class/property than that one which was selected. If you do that anyhow, the new class will be created and added to the properties of the previously selected class, but not drawn anywhere.
    Property-drawing error