We provide an example on how to create your own UML Profile and integrate with RE-Tools
so that your model elements can participate in the satisficing Label Propagation
Procedure using the Extensible Label Propagation mechanism as described here.
- Open C:\Profile Files (x86)\StarUML\modules\RE-Tools\example\AgileProfile folder.
- Open agile.prf file with a text editor. This file defines a UML Profile for your
own use, for example, Agile modeling in this example.
- Files with .nxt extension are scripts that handle how to display nodes and links
according to the notation.
- Bitmap files are referred to in the notation scripts for displaying certain icons.
- Open C:\Profile Files (x86)\StarUML\modules\RE-Tools\examples folder
- Open Notation-prf-template.txt with a text editor. This file is a template that shows
how to define base stereotypes that allow your stereotypes to automatically participate
in the Label Propagation Procedure.
- Open the example models file. See here for the instructions. Click the + symbol in
front of Extensible Label Propagation model folder. Double-click Agile1 diagram.
The associated diagram will be displayed.
- Right click a User Story (“Get hint when backup storage is almost full” Story in
this example). Click Tagged Values to open the Tagged Value Editor dialog.
- Click Label attribute to see the possible labels as defined in “agile.prf” below:
<TAGDEFINITIONSET>
<NAME>ExtendedProposition</NAME>
<TAGDEFINITIONLIST>
<TAGDEFINITION>
<NAME>Label</NAME>
<TAGTYPE>Enumeration</TAGTYPE>
<DEFAULTDATAVALUE>Unknown</DEFAULTDATAVALUE>
<LITERALS>
<LITERAL>Unknown</LITERAL>
<LITERAL>Satisficed</LITERAL>
<LITERAL>Denied</LITERAL>
<LITERAL>WeaklySatisficed</LITERAL>
<LITERAL>WeaklyDenied</LITERAL>
<LITERAL>Conflict</LITERAL>
<LITERAL>Undecided</LITERAL>
</LITERALS>
</TAGDEFINITION>
</TAGDEFINITIONLIST>
</TAGDEFINITIONSET>
- Try changing the label to Denied.
- The Denied label is depicted by a cross mark on the User Story.
- Based on the Label Propagation Procedure for AND-decomposition, the parent element
(“Backup files” Epic)’s achievement is evaluated to be Denied, which is depicted
by a cross mark.
- Based on the Label Propagation Procedure based on Open World Assumption, when a child
element is Denied, the parent’s achievement is considered Unknown, which is depicted
by leaving the element’s label blank.
Notice that even though the Agile profile is a not a built-in notation bundled with
the RE-Tools. It represents a custom profile that you may develop for your own use.
The concepts in the custom can still participate in the achievement reasoning performed
by RE-Tools. In this example, when the Epic’s label is changed, its label will be
re-evaluated based on the Label Propagation Procedure.
To enable custom concepts (Epic and User Story in this case) to automatically participate
in the Label Propagation, you define them with “ExtendedProposition” as the parent
stereotype, as show below. If RE-Tools detects that a model element is a child stereotype
of this specific stereotype, it
<STEREOTYPE>
<NAME>UserStory</NAME>
<DESCRIPTION>User Story</DESCRIPTION>
<BASECLASSES>
<BASECLASS>UMLClass</BASECLASS>
</BASECLASSES>
...
<PARENT>ExtendedProposition</PARENT>
...
</STEREOTYPE>