diff options
Diffstat (limited to 'plugins/org.eclipse.etrice.doc/online-doc/content/feature-reference.md')
-rw-r--r-- | plugins/org.eclipse.etrice.doc/online-doc/content/feature-reference.md | 704 |
1 files changed, 666 insertions, 38 deletions
diff --git a/plugins/org.eclipse.etrice.doc/online-doc/content/feature-reference.md b/plugins/org.eclipse.etrice.doc/online-doc/content/feature-reference.md index 6e4a804c4..0d23476ec 100644 --- a/plugins/org.eclipse.etrice.doc/online-doc/content/feature-reference.md +++ b/plugins/org.eclipse.etrice.doc/online-doc/content/feature-reference.md @@ -255,13 +255,13 @@ An ActorClass consists of three main parts: <tr> <td>[Annotation](#annotation) </td> - <td>An Annotation can be attached to a ROOM classes to apply the properties of its AnnotationType</td> + <td>An Annotation can be attached to a ROOM class to specify the properties of its AnnotationType</td> </tr> <tr> <td rowspan="1" style="white-space: nowrap;">Uses:</td> <td>[Inheritance](#inheritance) </td> - <td>A class can specify a super class and inherits elements from the super class hierarchy</td> + <td>A class can specify a single super class and inherits elements from the super class hierarchy</td> </tr> </tbody> </table> @@ -418,7 +418,7 @@ Instance hierarchy of ActorRef Example (*System(System)* not shown in code snipp ### Annotation -An Annotation can be attached to a ROOM classes to apply the properties of its AnnotationType +An Annotation can be attached to a ROOM class to specify the properties of its AnnotationType It refers to an AnnotationType and may have to pass key value pairs. Its notation is similar to Java: @@ -513,8 +513,8 @@ ActorClass ComponentAbstraction { ### AnnotationType AnnotationTypes can be used to tag ROOM classes for further custom processing -They provide the ability to associate custom properties to ROOM classes, that adjust or toogle features, like generation or the runtime behavior. -eTrice has some built-in annotations, which can be found in Annotations.room within the eTrice modellib. +They provide the ability to associate custom properties to ROOM classes, that adjust or toggle features, like generation or the runtime behavior. +eTrice comes with predefined annotations, which can be found in Annotations.room within the eTrice modellib. See section Annotations for further reading. @@ -531,7 +531,7 @@ See section Annotations for further reading. <td rowspan="1" style="white-space: nowrap;">Typecasts:</td> <td>[Annotation](#annotation) </td> - <td>An Annotation can be attached to a ROOM classes to apply the properties of its AnnotationType</td> + <td>An Annotation can be attached to a ROOM class to specify the properties of its AnnotationType</td> </tr> <tr> <td rowspan="1" style="white-space: nowrap;">Is contained in:</td> @@ -735,6 +735,73 @@ ActorClass ExampleActorClass { --- +### CPBranchTransition +a choice point branch transition is an outgoing transition from a choice point and is traversed if its conditions is evaluated to true + +A choice point together with its outgoing transitions can be thought of as a if, else-if, else cascade in traditional + programming languages. The choice point branch transition corresponds to an if clause while the final else is modeled as + a continuation transition. Coming from a choice point, a choice point branch transition is traversed whenever its + condition evaluates to true. No order of evaluations is guaranteed. + + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Features</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="1" style="white-space: nowrap;">Is a:</td> + <td>[Transition](#transition) + </td> + <td>A Transition is an edge in the state graph representation of the state machine</td> +</tr> +</tbody> +</table> + + + +--- + + +### ChoicePoint +a choice point is the state machine counterpart of a conditional statement + +A ChoicePoint in ROOM has one incoming transition and an arbitrary number of outgoing transitions. +One of the outgoing transitions has no condition (a ContinuationTransition). It is the default branch that is taken +if none of the transition conditions evaluated to true. All other transitions going out from the ChoicePoint +are CPBranchTransitions which have a mandatory condition (keyword 'cond'). The evaluation order of the conditions +is not deterministic. + + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Features</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="1" style="white-space: nowrap;">Is a:</td> + <td>[StateGraphNode](#stategraphnode) + </td> + <td>A StateGraphNode is an abstract node of the state graph</td> +</tr> +<tr> + <td rowspan="1" style="white-space: nowrap;">Uses:</td> + <td>[ContinuationTransition](#continuationtransition) + </td> + <td>the continuation transition is a transition with just an optional action code</td> +</tr> +</tbody> +</table> + + + +--- + + ### CommunicationType The CommunicationType defines the communication semantics of a ProtocolClass @@ -820,6 +887,48 @@ datadriven ProtocolClass DatadrivenProtocolClass { --- +### ContinuationTransition +the continuation transition is a transition with just an optional action code + +A continuation transition is used as default branch of a choice point or as outgoing transition of an entry point + + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Features</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="1" style="white-space: nowrap;">Is a:</td> + <td>[Transition](#transition) + </td> + <td>A Transition is an edge in the state graph representation of the state machine</td> +</tr> +</tbody> +</table> + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Feature Usage</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="1" style="white-space: nowrap;">Is used by:</td> + <td>[ChoicePoint](#choicepoint) + </td> + <td>a choice point is the state machine counterpart of a conditional statement</td> +</tr> +</tbody> +</table> + + +--- + + ### DataClass A DataClass is a composition of Attributes @@ -860,13 +969,13 @@ DataClass TCPConnectionData { <tr> <td>[Annotation](#annotation) </td> - <td>An Annotation can be attached to a ROOM classes to apply the properties of its AnnotationType</td> + <td>An Annotation can be attached to a ROOM class to specify the properties of its AnnotationType</td> </tr> <tr> <td rowspan="1" style="white-space: nowrap;">Uses:</td> <td>[Inheritance](#inheritance) </td> - <td>A class can specify a super class and inherits elements from the super class hierarchy</td> + <td>A class can specify a single super class and inherits elements from the super class hierarchy</td> </tr> </tbody> </table> @@ -953,6 +1062,33 @@ A DataType can take 4 forms and types data elements like an Attribute or Operati --- +### EntryPoint +an entry point is an explicit entry point in a sub state machine to which transitions in the parent state graph can connect + +text + + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Features</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="1" style="white-space: nowrap;">Is a:</td> + <td>[TrPoint](#trpoint) + </td> + <td>a TrPoint can be an EntryPoint, an ExitPoint or a TransitionPoint</td> +</tr> +</tbody> +</table> + + + +--- + + ### Enumeration An EnumerationType declares an enumeration similar to most well-known languages @@ -1100,6 +1236,33 @@ async ActorClass MixedActor{ --- +### ExitPoint +an exit point is an explicit exit point in a sub state machine from which transitions in the parent state graph can start + +text + + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Features</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="1" style="white-space: nowrap;">Is a:</td> + <td>[TrPoint](#trpoint) + </td> + <td>a TrPoint can be an EntryPoint, an ExitPoint or a TransitionPoint</td> +</tr> +</tbody> +</table> + + + +--- + + ### ExternalEndPort A ExternalEndPort is an interface Port, that is made accessible to the internal interface of an ActorClass @@ -1202,7 +1365,7 @@ ActorClass ActorClassWithExternalType{ ### Inheritance -A class can specify a super class and inherits elements from the super class hierarchy +A class can specify a single super class and inherits elements from the super class hierarchy When a ROOM class specifies a super class, it generally inherits all elements and properties. In several cases, it is possible, to override these inherited elements. Generally, eTrice has two semantics of overriding: refinement and replacement. @@ -1210,26 +1373,26 @@ Refinement is used in most cases (e.g. StateMachine) and realizes an extension o In this case, if a sub class overrides a piece of logic from a super class, it will always be executed subsequently to the inherited. Contrary to this, replacement is applied to overridden Operations, similar to programming languages C++ and Java. -A formal definition of overriding is given below: +A formal definition of several variants of overriding is given below: -- early or late resolve - if element is overridden, which one should super class use by default - own or override ? -- replacing or refinement - ignore inherited code or prepend inherited code automatically ? -- (non-)accessible - if element is overridden, is super class' original accessible from sub class ? e.g. super.foo() -- implicit or explicit - does it use distinct model element / keyword? +- early or late resolve - if element is overridden, which one should the super class use by default - own or override? +- replacing or refining - ignore inherited code or prepend inherited code automatically? +- (non-)accessible - if element is overridden, is super class' original accessible from sub class? E.g. super.foo() +- implicit or explicit - does it use a distinct model element or keyword? -Examples programming languages: -c++ virtual function and java override <==> accessible explicit late replacing -c++ function redefine <==> accessible implicit early replacing -c++ dtor <==> late refinement\\ +Examples from programming languages: +C++ virtual function and Java override <==> accessible, explicit, late, replacing +C++ function redefine <==> accessible, implicit, early, replacing +C++ destructor <==> late, refining\\ eTrice override of model elements: -Operations (C generation) <==> non\_accessible explicit late replacing -Operations (Java generation) <==> accessible explicit late replacing -State and Transitions <==> non-accessible explicit late refinement -ctor/dtor <==> non\_accessible implicit late refinement -StateMachine <==> non-accessible implicit late refinement -UserCode <==> non-accessible implicit late refinement +Operations (C generation) <==> non-accessible, explicit, late, replacing +Operations (Java generation) <==> accessible, explicit, late, replacing +State and Transitions <==> non-accessible, explicit, late, refining +ctor/dtor <==> non-accessible, implicit, late, refining +StateMachine <==> non-accessible, implicit, late, refining +UserCode <==> non-accessible, implicit, late, refining @@ -1241,7 +1404,7 @@ UserCode <==> non-accessible implicit late refinement </thead> <tbody> <tr> - <td rowspan="4" style="white-space: nowrap;">Is used by:</td> + <td rowspan="9" style="white-space: nowrap;">Is used by:</td> <td>[ActorClass](#actorclass) </td> <td>An actor is the basic structural building block for building systems with ROOM</td> @@ -1252,6 +1415,31 @@ UserCode <==> non-accessible implicit late refinement <td>A StateMachine describes the state based, event driven behavior of an ActorClass</td> </tr> <tr> + <td>[StateGraphNode](#stategraphnode) + </td> + <td>A StateGraphNode is an abstract node of the state graph</td> +</tr> +<tr> + <td>[State](#state) + </td> + <td>A State can be a plain State or a RefinedState</td> +</tr> +<tr> + <td>[SimpleState](#simplestate) + </td> + <td>A State is a node in the state graph representation of the state machine</td> +</tr> +<tr> + <td>[RefinedState](#refinedstate) + </td> + <td>A RefinedState refines a State of one of the Actor's base class state machines</td> +</tr> +<tr> + <td>[Transition](#transition) + </td> + <td>A Transition is an edge in the state graph representation of the state machine</td> +</tr> +<tr> <td>[ProtocolClass](#protocolclass) </td> <td>A ProtocolClass defines messages and is the interface specification for a Port</td> @@ -1307,6 +1495,34 @@ DataClass DataBaseClass { --- +### InitialTransition +the initial transition is used to identify the initial state + +The initial transition connects the initial point to a state. There can be at most one initial transition + in a state machine. Under special circumstances the initial transition can be omitted. + + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Features</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="1" style="white-space: nowrap;">Is a:</td> + <td>[Transition](#transition) + </td> + <td>A Transition is an edge in the state graph representation of the state machine</td> +</tr> +</tbody> +</table> + + + +--- + + ### InternalEndPort A InternalEndPort is an local Port, that is declared in the internal interface of an ActorClass @@ -1433,7 +1649,7 @@ It describes the logical topology of your distributed system and is composed of <tr> <td>[Annotation](#annotation) </td> - <td>An Annotation can be attached to a ROOM classes to apply the properties of its AnnotationType</td> + <td>An Annotation can be attached to a ROOM class to specify the properties of its AnnotationType</td> </tr> </tbody> </table> @@ -1800,13 +2016,13 @@ ProtocolClass SimpleProtocolClass { <tr> <td>[Annotation](#annotation) </td> - <td>An Annotation can be attached to a ROOM classes to apply the properties of its AnnotationType</td> + <td>An Annotation can be attached to a ROOM class to specify the properties of its AnnotationType</td> </tr> <tr> <td rowspan="1" style="white-space: nowrap;">Uses:</td> <td>[Inheritance](#inheritance) </td> - <td>A class can specify a super class and inherits elements from the super class hierarchy</td> + <td>A class can specify a single super class and inherits elements from the super class hierarchy</td> </tr> </tbody> </table> @@ -1886,6 +2102,44 @@ datadriven ProtocolClass ProtocolClassData { --- +### RefinedState +A RefinedState refines a State of one of the Actor's base class state machines + +A State can be a plain State or a RefinedState. + + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Features</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="1" style="white-space: nowrap;">Is a:</td> + <td>[State](#state) + </td> + <td>A State can be a plain State or a RefinedState</td> +</tr> +<tr> + <td rowspan="2" style="white-space: nowrap;">Uses:</td> + <td>[Inheritance](#inheritance) + </td> + <td>A class can specify a single super class and inherits elements from the super class hierarchy</td> +</tr> +<tr> + <td>[StateMachine](#statemachine) + </td> + <td>A StateMachine describes the state based, event driven behavior of an ActorClass</td> +</tr> +</tbody> +</table> + + + +--- + + ### RelayPort A RelayPort forwards its messages without exposing them to the internal interface of the ActorClass @@ -2135,10 +2389,176 @@ The implementation of an Service Provision Point (SPP) --- +### SimpleState +A State is a node in the state graph representation of the state machine + +A State has optional 'entry' and 'exit' codes. The entry code is executed when the state is entered, the exit code is executed +when it is left. In the case of an data driven (also known as polled) state machine, there also is a 'do' action code. +The do code is executed for the active state in each polling cycle. +A state can have a sub state machine. Starting at the top level state machine the states with their optional sub state machines +form a tree which is called a 'hierarchical state machine'. +A state machine always is in exactly one state which can only be a leaf state, i.e. a state which has no sub state machine. + + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Features</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="1" style="white-space: nowrap;">Is a:</td> + <td>[State](#state) + </td> + <td>A State can be a plain State or a RefinedState</td> +</tr> +<tr> + <td rowspan="2" style="white-space: nowrap;">Uses:</td> + <td>[Inheritance](#inheritance) + </td> + <td>A class can specify a single super class and inherits elements from the super class hierarchy</td> +</tr> +<tr> + <td>[StateMachine](#statemachine) + </td> + <td>A StateMachine describes the state based, event driven behavior of an ActorClass</td> +</tr> +</tbody> +</table> + + + +--- + + +### State +A State can be a plain State or a RefinedState + +A State can be a plain State or a RefinedState. + + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Features</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="1" style="white-space: nowrap;">Is a:</td> + <td>[StateGraphNode](#stategraphnode) + </td> + <td>A StateGraphNode is an abstract node of the state graph</td> +</tr> +<tr> + <td rowspan="1" style="white-space: nowrap;">Uses:</td> + <td>[Inheritance](#inheritance) + </td> + <td>A class can specify a single super class and inherits elements from the super class hierarchy</td> +</tr> +</tbody> +</table> + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Feature Usage</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="2" style="white-space: nowrap;">Inheriting features:</td> + <td>[SimpleState](#simplestate) + </td> + <td>A State is a node in the state graph representation of the state machine</td> +</tr> +<tr> + <td>[RefinedState](#refinedstate) + </td> + <td>A RefinedState refines a State of one of the Actor's base class state machines</td> +</tr> +</tbody> +</table> + + +--- + + +### StateGraphNode +A StateGraphNode is an abstract node of the state graph + +A StateGraphNode can be a State, a TransitionPoint, a ChoicePoint or an InitialPoint. + + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Features</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="1" style="white-space: nowrap;">Uses:</td> + <td>[Inheritance](#inheritance) + </td> + <td>A class can specify a single super class and inherits elements from the super class hierarchy</td> +</tr> +</tbody> +</table> + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Feature Usage</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="3" style="white-space: nowrap;">Inheriting features:</td> + <td>[State](#state) + </td> + <td>A State can be a plain State or a RefinedState</td> +</tr> +<tr> + <td>[ChoicePoint](#choicepoint) + </td> + <td>a choice point is the state machine counterpart of a conditional statement</td> +</tr> +<tr> + <td>[TrPoint](#trpoint) + </td> + <td>a TrPoint can be an EntryPoint, an ExitPoint or a TransitionPoint</td> +</tr> +<tr> + <td rowspan="1" style="white-space: nowrap;">Is contained in:</td> + <td>[StateMachine](#statemachine) + </td> + <td>A StateMachine describes the state based, event driven behavior of an ActorClass</td> +</tr> +</tbody> +</table> + + +--- + + ### StateMachine A StateMachine describes the state based, event driven behavior of an ActorClass -In ROOM each actor class can implement its behavior using a state machine. Events occurring at the end ports of an actor will be forwarded to and processed by the state machine. Events possibly trigger state transitions. +In ROOM each actor class can implement its behavior using a state machine. Events occurring at the end ports of an actor will +be forwarded to and processed by the state machine. Events possibly trigger state transitions. + +ROOM state machines are hierarchical finite state machines. That means that each state in the state graph can contain another state graph. +This is possible to arbitrary depth. + +A state graph consists of + +* states +* transitions +* transition points +* choice points +* initial point ![PingPongReceiverFSM](images/300-PingPongReceiverFSM.png) @@ -2152,10 +2572,21 @@ In ROOM each actor class can implement its behavior using a state machine. Event </thead> <tbody> <tr> + <td rowspan="2" style="white-space: nowrap;">Contains:</td> + <td>[StateGraphNode](#stategraphnode) + </td> + <td>A StateGraphNode is an abstract node of the state graph</td> +</tr> +<tr> + <td>[Transition](#transition) + </td> + <td>A Transition is an edge in the state graph representation of the state machine</td> +</tr> +<tr> <td rowspan="1" style="white-space: nowrap;">Uses:</td> <td>[Inheritance](#inheritance) </td> - <td>A class can specify a super class and inherits elements from the super class hierarchy</td> + <td>A class can specify a single super class and inherits elements from the super class hierarchy</td> </tr> </tbody> </table> @@ -2179,6 +2610,17 @@ In ROOM each actor class can implement its behavior using a state machine. Event </td> <td>The GraphicalBehaviorEditor allows to edit the ActorClass' StateMachine. It is possible to create (hierarchical) states and transitions to model complex behavior in a convenient way.</td> </tr> +<tr> + <td rowspan="2" style="white-space: nowrap;">Is used by:</td> + <td>[SimpleState](#simplestate) + </td> + <td>A State is a node in the state graph representation of the state machine</td> +</tr> +<tr> + <td>[RefinedState](#refinedstate) + </td> + <td>A RefinedState refines a State of one of the Actor's base class state machines</td> +</tr> </tbody> </table> @@ -2219,7 +2661,7 @@ A SubSystemClass is the structural starting point of an ROOM application. Thus i <tr> <td>[Annotation](#annotation) </td> - <td>An Annotation can be attached to a ROOM classes to apply the properties of its AnnotationType</td> + <td>An Annotation can be attached to a ROOM class to specify the properties of its AnnotationType</td> </tr> </tbody> </table> @@ -2302,6 +2744,177 @@ A physical node is denoted by a NodeClass and NodeRef in the PhysicalModel. The --- +### TrPoint +a TrPoint can be an EntryPoint, an ExitPoint or a TransitionPoint + +text + + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Features</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="1" style="white-space: nowrap;">Is a:</td> + <td>[StateGraphNode](#stategraphnode) + </td> + <td>A StateGraphNode is an abstract node of the state graph</td> +</tr> +</tbody> +</table> + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Feature Usage</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="3" style="white-space: nowrap;">Inheriting features:</td> + <td>[TransitionPoint](#transitionpoint) + </td> + <td>a transition point is the starting point of transitions that trigger for any state of this state machine</td> +</tr> +<tr> + <td>[EntryPoint](#entrypoint) + </td> + <td>an entry point is an explicit entry point in a sub state machine to which transitions in the parent state graph can connect</td> +</tr> +<tr> + <td>[ExitPoint](#exitpoint) + </td> + <td>an exit point is an explicit exit point in a sub state machine from which transitions in the parent state graph can start</td> +</tr> +</tbody> +</table> + + +--- + + +### Transition +A Transition is an edge in the state graph representation of the state machine + +A transition connects StateGraphNodes in a state graph. A transition is allowed to connect a state or a transition point with itself. +Transition points can only be targets of transitions originating from the same transition point. +The initial point is the source of exactly one transition. In the textual model it is present only in an implicit way. + + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Features</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="1" style="white-space: nowrap;">Uses:</td> + <td>[Inheritance](#inheritance) + </td> + <td>A class can specify a single super class and inherits elements from the super class hierarchy</td> +</tr> +</tbody> +</table> + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Feature Usage</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="4" style="white-space: nowrap;">Inheriting features:</td> + <td>[InitialTransition](#initialtransition) + </td> + <td>the initial transition is used to identify the initial state</td> +</tr> +<tr> + <td>[ContinuationTransition](#continuationtransition) + </td> + <td>the continuation transition is a transition with just an optional action code</td> +</tr> +<tr> + <td>[CPBranchTransition](#cpbranchtransition) + </td> + <td>a choice point branch transition is an outgoing transition from a choice point and is traversed if its conditions is evaluated to true</td> +</tr> +<tr> + <td>[TriggeredTransition](#triggeredtransition) + </td> + <td>a triggered transition is used in event driven state machines to trigger state transitions</td> +</tr> +<tr> + <td rowspan="1" style="white-space: nowrap;">Is contained in:</td> + <td>[StateMachine](#statemachine) + </td> + <td>A StateMachine describes the state based, event driven behavior of an ActorClass</td> +</tr> +</tbody> +</table> + + +--- + + +### TransitionPoint +a transition point is the starting point of transitions that trigger for any state of this state machine + +text + + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Features</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="1" style="white-space: nowrap;">Is a:</td> + <td>[TrPoint](#trpoint) + </td> + <td>a TrPoint can be an EntryPoint, an ExitPoint or a TransitionPoint</td> +</tr> +</tbody> +</table> + + + +--- + + +### TriggeredTransition +a triggered transition is used in event driven state machines to trigger state transitions + +text + + +<table style="vertical-align: middle;" class="table"> +<thead> +<tr> + <th colspan="3">Features</th> +</tr> +</thead> +<tbody> +<tr> + <td rowspan="1" style="white-space: nowrap;">Is a:</td> + <td>[Transition](#transition) + </td> + <td>A Transition is an edge in the state graph representation of the state machine</td> +</tr> +</tbody> +</table> + + + +--- + + ## MappingModel The MappingModel describes the mapping of elements of the LogicalModel to elements of the PhysicalModel @@ -2916,7 +3529,7 @@ The built-in **Gnuplot script generator** provides a convenient way to visualize <td rowspan="1" style="white-space: nowrap;">Uses:</td> <td>[Annotation](#annotation) </td> - <td>An Annotation can be attached to a ROOM classes to apply the properties of its AnnotationType</td> + <td>An Annotation can be attached to a ROOM class to specify the properties of its AnnotationType</td> </tr> </tbody> </table> @@ -3117,6 +3730,12 @@ The MSCLogging is activated by default, but can be set manually in the [Generati [ActorRefPropertyDialog]: #actorrefpropertydialog [PortPropertyDialog]: #portpropertydialog [SPPPropertyDialog]: #spppropertydialog +[CCodeGenerator]: #ccodegenerator +[JavaCodeGenerator]: #javacodegenerator +[CPPCodeGenerator]: #cppcodegenerator +[GenerationOptions]: #generationoptions +[MSCLogging]: #msclogging +[DataLogging]: #datalogging [AnnotationType]: #annotationtype [Annotation]: #annotation [Inheritance]: #inheritance @@ -3128,6 +3747,21 @@ The MSCLogging is activated by default, but can be set manually in the [Generati [ActorClass]: #actorclass [SubSystemClass]: #subsystemclass [StateMachine]: #statemachine +[StateGraphNode]: #stategraphnode +[State]: #state +[SimpleState]: #simplestate +[RefinedState]: #refinedstate +[ChoicePoint]: #choicepoint +[TrPoint]: #trpoint +[TransitionPoint]: #transitionpoint +[EntryPoint]: #entrypoint +[ExitPoint]: #exitpoint +[Transition]: #transition +[InitialTransition]: #initialtransition +[GuardedTransition]: #guardedtransition +[ContinuationTransition]: #continuationtransition +[CPBranchTransition]: #cpbranchtransition +[TriggeredTransition]: #triggeredtransition [SubSystemRef]: #subsystemref [Replication]: #replication [ActorRef]: #actorref @@ -3150,9 +3784,3 @@ The MSCLogging is activated by default, but can be set manually in the [Generati [SAP]: #sap [ServiceImplementation]: #serviceimplementation [SPP]: #spp -[CCodeGenerator]: #ccodegenerator -[JavaCodeGenerator]: #javacodegenerator -[CPPCodeGenerator]: #cppcodegenerator -[GenerationOptions]: #generationoptions -[MSCLogging]: #msclogging -[DataLogging]: #datalogging |