FunctionTrigger : public class
Created: |
2007-11-11 20:00:21 |
Modified: |
2010-06-17 17:23:40 |
|
Project: |
|
Author: |
|
Version: |
1.0 |
Phase: |
1.0 |
Status: |
Proposed |
Complexity: |
Easy |
Advanced: |
|
UUID: |
{EE12DCE1-F561-4c7e-A224-C664BB641485} |
Appears In: |
BehaviorModelOrganization, FunctionBehavior |
<p>FunctionTrigger represents the triggering parameters necessary to define the execution of an identified FunctionType or FunctionPrototype. When referring to a FunctionType, a FunctionTrigger applies to all FunctionPrototypes of the given type. When referring to a FunctionPrototype, the trigger is only valid for this particular FunctionPrototype.<br/></p><p><br/></p><p>Triggering is defined either as event-driven or time-driven - depending on the property triggerPolicy. If set to TIME, the timing constraint is defined with an event constraint associated with the Function’s or FunctionPrototype’s EventFunction. The function event refers to the activation of the function. If set to EVENT, one or several ports of the Function triggers the function, i.e. activates the function. In both cases, a triggerCondition is provided in the form of a Boolean expression that must evaluate to true for the function to execute. The triggerCondition syntax and grammar is unspecified.<br/></p><p><br/></p><p>In addition a FunctionTrigger may refer to a list of Modes in which the trigger will be considered as potentially active. Because of FunctionBehaviors may also refer to Modes, it is thus possible to arrange various function configurations for which different sets of triggers and behaviors are active. And this, at various level of granularity, either with a type-wise scope (by referring to a FunctionType) or specifically at prototype level (by referring to a FunctionPrototype).<br/></p><p><br/></p><p>Note that several FunctionTriggers may be assigned to the same Function (Type or Prototype), for instance to define alternative trigger conditions and/or timing constraints.<br/></p><p><br/></p><p><br/></p><p>Semantics:<br/></p><p>Association Mode defines in which modes the trigger is active<br/></p><p><br/></p><p>It is possible to have multiple triggers on a function, e.g. a slow period complemented with an event trigger allows fast response when needed but a minimal execution rate.<br/></p><p><br/></p><p><br/></p><p>Constraints:<br/></p><p>[1] The port association must not be empty when triggerPolicy is EVENT.<br/></p><p><br/></p><p>[2] The port association is empty when triggerPolicy is TIME.<br/></p><p><br/></p><p>[3] Function and functionPrototype are mutually exclusive associations. A FunctionTrigger either identifies a FunctionType or a FunctionPrototype as its target function, but not both.<br/></p><p><br/></p><p>[4] Only FunctionFlowPort of FlowDirection=in shall be referred to in the association port and at least one of them shall trigger the function<br/></p><p><br/></p><p>Extension:<br/></p><p>Class<br/></p>
- Attributes
- Associations To
- Other Links
Attribute |
Details |
public String triggerCondition |
Notes:
|
A Boolean expression that must evaluate to true for this Function to execute. This value is used both for time and event triggered elementary functions.
|
|
public TriggerPolicyKind triggerPolicy |
Notes:
|
Defines the triggering policy, either EVENT or TIME. The function event refers to the activation of the function. If set to EVENT, one or several ports of the Function triggers the function, i.e., activates the function.<br />
|
|
Element |
Source Role |
Target Role |
Details |
Behavior
Class
|
Name: functionTrigger
|
Name:
|
|
Mode
Class
|
Name:
|
Name: mode
The execution Modes in which the FunctionTrigger is active.
|
|
«atpPrototype» FunctionPrototype
Class
|
Name:
|
Name: functionPrototype
The FunctionPrototype that the FunctionTrigger refers to if any
|
|
«atpType» FunctionType
Class
|
Name:
|
Name: function
The FunctionType that the FunctionTrigger refers to if any.
|
|
«atpPrototype» FunctionPort
Class
|
Name:
|
Name: port
The FunctionPorts that are referred to in the FunctionTrigger if any.
|
|