Statesand Transitionsare not instantiated, this information is only provided on the ObjectType. They have no ModellingRule, and thus, also the inheritance of Statesand Transitionsis not defined. Therefore, the following rules apply for subtyping StateMachines. Each Stateand Transitiondefined on the supertype shall be available on the subtype as well. That is, for each Statedefined on the supertype another Nodeof the same ObjectTypehaving the same BrowseNameand the same StateNumbershall be defined on the subtype. For each Transitiondefined on the supertype another Nodeof the same ObjectTypehaving the same BrowseNameand the same TransitionNumbershall be defined on the subtype. All references defining the StateMachine(HasCause, HasEffect, FromState, ToState, HasSubStateMachine, HasGuard) shall be replicated in the subtype as well. If InstanceDeclarationsare referenced (e.g., Methodsused to trigger Transitions) either the InstanceDeclarationof the supertype is referenced or the InstanceDeclarationis overridden, and in the latter case the overridden InstanceDeclarationof the subtype shall be referenced.
If a StateMachine type is not abstract, subtypes of it shall not change the behaviour of it. That means, that in this case a subtype shall not add Statesand it shall not add Transitionsbetween its States. However, a subtype may add SubStateMachines, it may add Transitionsfrom the Statesto the Statesof the SubStateMachine, and it may add Causesand Effectsto a Transition. In addition, a subtype of a StateMachinetype shall not remove Statesor Transitions.