Skip to content

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