Previous UML Classes Table of Contents UML Packages Next


12.3.43 ParameterSet

CompleteActivities


Issue 8749 -replace ‘and’ with ‘or’

   A parameter set is an element that provides alternative sets of inputs or outputs that a behavior may use.

*Generalizations

   NamedElement (from Kernel , Dependencies ) on page 99

*Description

   A parameter set acts as a complete set of inputs and outputs to a behavior, exclusive of other parameter sets on the behavior.

*Attributes

   No additional attributes

*Associations CompleteActivities

Issue 8262 - add subsets constraint

*Constraints

   [1] The parameters in a parameter set must all be inputs or all be outputs of the same parameterized entity, and the parameter set is owned by that entity.

   [2] If a behavior has input parameters that are in a parameter set, then any inputs that are not in a parameter set must be streaming. Same for output parameters.

   [3] Two parameter sets cannot have exactly the same set of parameters.

*Semantics

   A behavior with input parameter sets can only accept inputs from parameters in one of the sets per execution. A behavior with output parameter sets can only post outputs to the parameters in one of the sets per execution. The same is true for operations with parameter sets. The semantics described at Action and ActivityParameter apply to each set separately. The semantics of conditions of input and output parameter sets is the same as Behavior preconditions and postconditions, respectively, but apply only to the set of parameters specified.

*Notation

   Multiple object flows entering or leaving a behavior invocation are typically treated as and conditions. However, sometimes one group of flows are permitted to the exclusion of another. This is modeled as parameter set and notated with rectangles surrounding one or more pins. The notation in the figure below expresses a disjunctive normal form where one group of and flows are separated by or groupings. For input, when one group or another has a complete set of input flows, the activity may begin. For output, based on the internal processing of the behavior, one group or other of output flows may occur.

Figure 12.117 - Alternative input/outputs using parameter sets notation

*Examples

   In the figure below, the Ship Item activity begins whenever it receives a bought item or a made item.


   Using parameter sets to express or invocation

   Figure 12.118 - Example of alternative input/outputs using parameter sets

   Parameter sets provide a way for behaviors to direct token flow in the activity that invokes those behaviors.

*Changes from previous UML

   ParameterSet is new in UML 2.0.