Extractable UML modelsThe PEPA Net Extractor requires a UML model which has been produced by the Poseidon Tool as input. This section gives an overview on what you have to do in order to create a UML model which is extractable by the PEPA Net Extractor. For more detail on how to create the different parts of the model refer to the Poseidon User Guide. Three basic steps steps are necessary:
States of the mobile componentThe PEPA Net Extractor only permits one mobile component in an activity diagram. The states of this component are represented by object flow states. Each object flow state must have the name and type of the mobile component whose flow is modelled by the activity diagram. The name and type of an object flow state can be set in Poseidon's Properties Tab which is part of the Details Pane
A valid object flow state must also have a tag with name
Figure 1: Definition of a mobile component's location in an object flow state Move actionsMove actions are defined by adding the stereotypemove to an action. To do this
select the action which should become a move action, open the Properties Tab in
the Details Pane of Poseidon, and click on
button ... next to the
Stereotypes label. If the move
stereotype does not exist it has to be created first,
which is a
bit tricky in Poseidon. Once something is typed in the
text field next to the Add button in the file
dialogue, the button becomes enabled and a new stereotype can
be created. Figure 2 shows the dialogue immediately before the
move stereotype is added. After the
stereotype has been defined, it can be added and applied
to the selected action by the other buttons in the dialogue.
Figure 2: Creation of the Definition of rate valuesThe rate values for the actions are specified by attributes in class
If an activity diagram does not contain move actions which change
the mobile component's location back to the initial location at the
end of the activity, the Extractor automatically adds them. These actions are needed for the analysis for the resulting
PEPA Net and can be regarded as a mechanism for restoring the initial
state before the activity is performed another time. The rate for
these actions is called Figure 3: Class diagram with
Restrictions on activity diagramsThe activity diagrams which are accepted by the Extractor must have the following properties:
Synchronisation actionsFigure 4 illustrates how an activity diagram which violates last of
the restrictions can be transformed into
an extractable diagram. The left diagram is invalid because action
The only purpose of synchronisation actions is to ensure that
the move actions and Figure 4: Invalid activity diagram (left) and extractable activity diagram with synchronisation actions (right) Display of location probabilitiesThe Choreographer User Guide explains in detail how a PEPA Net is extracted from an activity diagram, how the PEPA Net can be analysed and how the results can be reflected back into the UML model. The reflected UML model shows the throughput for each action and the probabilities for each location. If the reflected model is opened in Poseidon the throughput values
are immediately visible in the action nodes. The location
probabilities, however, are not so obvious. They have been attached as
tagged values to the object flow states in the diagram during the
reflection process. The location probability for a selected
object flow state is displayed as value of tag Figure 5: Reflected activity diagram with visible location probability AcknowledgementsThis work is supported by DEGAS (Design Environments for Global Applications) project, IST-2001-32072 funded by the FET Proactive Initiative on Global Computing. The diagrams in this user guide have been produced with the Community Edition of Poseidon 3.0. |