An Action Pin is used to define the data values passed out of and into an Action. An Input Pin provides values to the Action, whereas an Output Pin contains the results from that Action.
Action Pins are used here to connect two Actions:
Action Pins can be further characterized as defining exception parameters, streams, or states. Associating a state with a Pin defines the state of input or output values. For instance, the Pin could be called 'Orders', but the state could be 'Validated' or 'Canceled'.
To add an Action Pin to an Action, right-click on the Action to display the context menu and select the 'New Child Element | Action Pin' option. (You can also assign Action Pins, to define specific properties of the Action.)
The Properties window for an Action Pin has a 'Pin' tab on which you define the specific actions of the Pin.
A Pin serves as an argument for Call Behavior Actions and Call Operation Actions - the Pin name and parameters are shown on the 'Arguments' tab of the Properties window for the Action element. When an Action is associated with a valid behavior in the model, the associated behavior's parameters are listed in the 'Parameter' field drop-down list to facilitate one-to-one mapping between the argument and the parameter. The fields in the 'Argument' panel of the 'Pin' tab are enabled only for Pins belonging to Call Actions, and only when the Action is associated with a valid behavior with valid parameters. To observe this:
- Create an Activity element and give it an Activity Parameter (right-click on it and select 'New Child Element | Activity Parameter').
- Create an Action and set the 'Kind' property to 'CallBehavior' (on the 'Action' tab of the Properties window for the Action element).
- Make the Activity element the classifier for the Action (on the Properties window for the Action, click on the 'Element' tab and, in the 'Advanced' section click on the 'Classifier' browse button and locate and select the Activity on the 'Select <Item>' dialog).
- The Features window immediately displays at the 'Interaction Points' tab. Select the 'Show Owned/Inherited' checkbox; when this is selected, the Activity Parameter is listed in the 'Defined Elements' panel. Select the checkbox against the Activity Parameter.
- The Action element now has an Action Pin representing an argument, with the Activity Parameter as the parameter of the argument.
You can also change the objectState property of an Action Pin on the 'Pin' tab of the element's Properties window.