From dd5d8f2570399e7f2c7012ee16e130936ea3ee45 Mon Sep 17 00:00:00 2001 From: Henrik Rentz-Reichert Date: Fri, 25 Oct 2019 14:50:30 +0200 Subject: Bug 552375 - [doc] Document semantics of transition point Added a section in room-concepts.md explaining transition traversal and the search for matching triggers. Change-Id: Id956bcba90d663e281d5f3efc2247557ea576376 --- .../org.eclipse.etrice.doc/targets/contextHelp.xml | 198 ++++++++++----------- .../targets/eclipse-help/room-concepts.html | 25 +++ 2 files changed, 124 insertions(+), 99 deletions(-) (limited to 'plugins/org.eclipse.etrice.doc/targets') diff --git a/plugins/org.eclipse.etrice.doc/targets/contextHelp.xml b/plugins/org.eclipse.etrice.doc/targets/contextHelp.xml index afe1526c8..585ceed92 100644 --- a/plugins/org.eclipse.etrice.doc/targets/contextHelp.xml +++ b/plugins/org.eclipse.etrice.doc/targets/contextHelp.xml @@ -1,6 +1,93 @@ + +Textual model editor + + + + + +Displays an overview of all elements in the textual editor. + + + + + +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. + + + + + +The Structure Editor allows to edit the ActorClass' Structure in a convenient way. It is possible to create and arrange actor references and ports and to create bindings and layer connections. + + + + + + + + + + +The palette creates central structural elements of an ActorClass. + + + + + +A dialog to edit properties of an ActorRef. + + + + + + +A dialog to edit properties of an Port. + + + + + + +A dialog to edit properties of a SPP. + + + + + + + + + + + + + + + + + + + + + +Mechanism to adjust the generation. + + + + + + + +Runtime logger for event-driven Messages, represented as a Message Sequence Chart. + + + + + + AnnotationTypes can be used to tag ROOM classes for further custom processing @@ -69,9 +156,9 @@ An actor is the basic structural building block for building systems with ROOM + - @@ -85,18 +172,18 @@ A StateMachine describes the state based, event driven behavior of an ActorClass + - A State is a node in the state graph representation of the state machine - - - - + + + + @@ -186,10 +273,10 @@ - - + + @@ -197,9 +284,9 @@ + - @@ -207,9 +294,9 @@ + - @@ -302,9 +389,9 @@ A Service Access Point is similar to a Port, but uses a LayerConnection for wiring + - @@ -318,96 +405,9 @@ A Service Provision Point is the counterpart of a SAP + - - - - -Textual model editor - - - - - -Displays an overview of all elements in the textual editor. - - - - - -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. - - - - - -The Structure Editor allows to edit the ActorClass' Structure in a convenient way. It is possible to create and arrange actor references and ports and to create bindings and layer connections. - - - - - - - - - - -The palette creates central structural elements of an ActorClass. - - - - - -A dialog to edit properties of an ActorRef. - - - - - - -A dialog to edit properties of an Port. - - - - - - -A dialog to edit properties of a SPP. - - - - - - - - - - - - - - - - - - - - - -Mechanism to adjust the generation. - - - - - - - -Runtime logger for event-driven Messages, represented as a Message Sequence Chart. - - - - diff --git a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/room-concepts.html b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/room-concepts.html index e6ec50cc0..68b3ff1f9 100644 --- a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/room-concepts.html +++ b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/room-concepts.html @@ -502,6 +502,31 @@

Motivation

For event driven systems a finite state machine is ideal for processing the stream of events. Typically during processing new events are produced which are sent to peer actors.

We distinguish flat and hierarchical state machines.

+

Semantics

+

State machine execution begins at the top level by traversal of the initial transition. During traversal of a transition its (optional) action code is executed.

+

So called triggered transitions start at a state or a transition point. The simple most trigger is a pair of port (or SAP) and message.

+

For the following we will discuss hierarchical finite state machines, which include flat state machines as a special case.

+

Assume the state machine is in an arbitrary leaf state (states with no nested state machines). Then when an event occurs, a transition with a matching trigger is searched. This is done level by level from the state graph of the current state to the top level state graph. First all outgoing transitions are considered, then handler transitions. If no match was found this is repeated one level higher and so on to the top level. If no match is found at all, the event is discarded.

+

Then the transition which was triggered is traversed.

+

For any transition it can continue in several ways:

+ +

All this is looped until the new leaf state is reached.

Notation

We distinguish flat finite state machines (with just one level of hierarchy) and hierarchical ones.

Flat Finite State Machine

-- cgit v1.2.3