Actions

Warning

Momba support value passing via actions. This feature is not part of the official JANI specification. In case you want your model to work with a broad variety of tools do not add any parameters to your action types. Action types without any parameters correspond to standard labeled actions as per the JANI specification.

class momba.model.ActionType(label, parameters=(), comment=None)[source]

Represents an action type.

label

The label of the action type.

parameters

The parameters of the action type.

comment

An optional comment for the action type.

property arity

The arity, i.e., number of parameters, of the action type.

property has_parameters

Returns True if and only if the action type has parameters.

class momba.model.ActionParameter(typ, comment=None)[source]

Represents an action parameter.

typ

The type of the parameter.

comment

An optional comment for the parameter.

Patterns

When synchronizing with other automata, action patterns are used. Again, action patterns without any arguments correspond to standard labeled actions as per the JANI specification.

class momba.model.ActionPattern(action_type, arguments=())[source]

Represents an action pattern.

action_type

The type of the action pattern.

arguments

The arguments of the action pattern.

declare_in(scope)[source]

Declares the identifiers of the pattern in the given scope.

Warning

Experimental feature used for value passing only.

Arguments

Arguments are used for value passing and are not yet fully documented.

class momba.model.ActionArgument[source]

Represents an argument for an action pattern.

class momba.model.WriteArgument(expression)[source]

Writes the value of the expression for the respective parameter.

class momba.model.ReadArgument(identifier)[source]

Reads a value from the respective parameter.

class momba.model.GuardArgument(identifier)[source]

Represents an argument to be used in a guard.