UMLi and ARGOi: A Short Tutorial

[Printer friendly version of the entire tutorial]

6. Creating interaction object flows

 

6.1. Object Flows


An object flow is composed of two UML constructors: the ClassifierInState, that is the object itself, and the ObjectFlowState that is the arrow connecting a ClassifierInState to an ActionState. The graphical notation of ClassifierInState and ObjectFlowState can be better understood in the following figure.
 


In UMLi, in addition to ActionStates,  ClassifierInStates that are of type InteractionClasses can also be associated with Activities and SelectionStates.
 

6.2. Creating Object Flows


The following method describes how to create object flows in ARGOi. An interaction object flow is a particular case that is described by the same method.

STEP 1. Create a ClassifierInState.

STEP 2. Give a Type to the ClassifierInState: The type (that is any one of the classes actually specified in the model) of the selected ClassifierInState can be specified in the form identified by the Properties tab in the following figure. In fact, any additional properties (including any that may not have a graphical notation) can be specified in ARGOi for the current selected element in the model by using the Properties tab. 

If the selected type is an InteractionClass then the graphical notation of the ClassifierInState is its notation in the user interface diagram. For instance, in the figure in STEP 3, the ClassifierInState of type ConnectUI (that is a FreeContainer), is graphically replaced by a FreeContainer.

STEP 3. Relate a ClassifierInState to an Activity, ActionState or SelectionState. ObjectFlowStates are used to specify how ClassifierInStates are used by activities and action states.


 

6.3. Interaction Object Flows


<<presents>> interaction object flow often connects a FreeContainer to an activity. It can also connect a FreeContainer to an ActionState. In both cases, this category of object flow represents the process of instantiating and making visible the FreeContainer and its InteractionClasses when the system control flow reaches the associated activity or action state, and the process of making invisible and destroying the FreeContainer and its InteractionClasses when the system control flow leaves the activity or  action state. 

<<interacts>> interaction object flow connects a PrimitiveInteractionClass or an ActionInvoker to an action state. It can also connect a Container to a selection state. This category of object flow represents the process of enabling for interaction the InteractionClass when the system control flow reaches the associated activity, action state or selection state, and the process of disabling for interaction the InteractionClass when the system control flow leaves the activity, action state or selection state.

<<cancels>> interaction object flow connects an ActionInvoker to an activity or selection state. In both cases, this category of object flow represents the cancelling of the associated activity or selection state by interacting with the ActionInvoker.

<<confirms>> interaction object flow connects an ActionInvoker to an OptionalState. It normally finishes the OptionalState.

<<activates>> interaction object flow connects an ActionInvoker to an activity or action state. It triggers the execution of the activity or action state by interacting with the ActionInvoker.
 

6.4. Final Message


This is the end of this short tutorial. Further details concerning the specification of the UMLi notation and the ARGOi tool are available in the UMLi publications. The authors of UMLi and ARGOi (see the UMLi personnel) would be glad to know what you think about UMLi and ARGOi. Thus, please let us know your opinion about our product sending an e-mail to paulo@psemantica.com

Return to the beginning of the tutorial

       
email: paulo@psemantica.com.