class Statemachine
Package: swiss.avm.up.core.generic.statemachine.javamodel.Statemachine
Direct Known Subclasses: StateOverride
class Statemachine extends AStatemachine, AStatemachineStart, RootVariableName, ASmDecorator, AJunctionProperty
Each controller has a state machine. It is generated automatically when the controller is created. The state machine describes the sequence or logic of a controller. The state machine is based on the specification of a UML state machine.
The statemachine has a graphical representation (diagram). This supports the developer when creating states and transitions.
The UML state diagram shows the different states a [controller] can be in and the transitions between these states. A state represents a stage in the behavior pattern of a controller. It is possible to have start and end states. An initial state, also called creation state, is the state in which a controller is at startup, while an end state is a state from which no transitions lead out. A transition is a transition from one state to another and is triggered by an event that is either internal or external to the controller.
Properties
comment
Describes the intent of this Resource.
TextLiteral[0..1]
A Literal that accepts multiple lines of text.
junction
Junction[0..N]
This type of pseudostate is used to connect multiple transitions into compound paths between states. For example, a junction can be used to merge multiple incoming transitions into a single outgoing transition representing a shared continuation path. Or, it can be used to split an incoming transition into multiple outgoing transition segments with different guard constraints.
Hint:
All guards of transitions of all coming junctions are checked in the cyclic part of the source state.
port
BasePort[0..N]
sharedFunction
SharedFunction[0..0]
---
SharedFunctions should no longer be used. These have only limited possibilities in connection with extended controllers.
Instead of SharedFunctions, only ControllerMethods should be used.
sharedGuard
GuardImpl[0..0]
start
Start[0..1]
state
StateBase[0..N]
stateDiagram
The state diagram is the graphical representation of the states.
DomainDiagram[0..N]
statemachineRoot
ASmDecorator[0..1]
target
Reference to the decorated Resource.
Resource[1..1]
The base class of any Resource in the system.
Method Summary
controllerVariableNameFieldRef
@VariableName
Parameters:
AFieldRef
MainVariable
documentationSvg
@UML_Documentatation
Parameters:
Build
documentationTable
@UML_Documentatation
getAllStates
@StatemachineTemplateFunctions
returns all (bottom) states of the statemachine
Return:
List<StateBase>
getAwailableStartTargets
@FStatemachine
awailable start TargetStates
Return:
List<TargetState>
getControllerTree
@StatemachineTemplateFunctions
Return:
BaseControllerTree
getEntryState
@FStatemachineSequence
erster Junction oder StartState
Parameters:
Controller
Return:
TargetState
getEntryStateTemp
@FStatemachineSequence
erster Junction oder StartState
Parameters:
Controller
Return:
TargetState
getJunctions
@FStatemachine
Return:
List<Junction>
getName
@FStatemachine
getStart
@FStatemachine
returns the resulting start object
Parameters:
Controller
Return:
Start
getStateBases
@FStatemachine
Return:
List<StateBase>
internal_getMaxHistoryCount
@FStatemachine
Return:
IntegerLiteral
smVariableName
@FVariableName
Parameters:
AMainVariable
PlatformType
smVariableNameFieldRef
@FVariableName
Parameters:
AFieldRef
AMainVariable
PlatformType