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.