V2.1
You can now seamlessly design while switching between state machine diagrams and state transition tables. Please refer to this page for detailed usage of state machine diagram and state transition table.
New function
Added a state transition table that works in conjunction with the state machine diagram.
Supports state transition table
Added state transition table view on state machine diagrams . The state machine diagram and state transition table can be edited by switching views. Charts and tables update in real time.
Intuitive and speedy operability
You can easily add states and triggers from the state transition table toolbar and menu. In addition to directly editing the text of triggers and status cells, you can also intuitively edit them in a variety of ways, such as selecting from a list and copying and pasting.
Design without omissions
You can set Ignore or NotHappen as a trigger for the state, so you can check that the design is complete.
Highlighting and filtering
You can highlight cells with transitions and hiding transitions without triggers.
Export to Excel
The state transition table can be exported to Excel for secondary use.
Changes from V2.0
Overview
Metamodel
- Added
TriggerRelationship
classe betweenVertex
class andTrigger
class. - Added tagged values to state machine diagram related classes and fields.
View definition
- Added the view definition of the
StateTransitionTable
to theStateMachine
class.
Detail
Metamodel changes
Add related class
UML.Core
packageTrigger
class- Added
Vertexes
field. A field that dereferences theVertex
class in the newly addedTriggerRelationship
related class.
- Added
UML.Behaviors.StateMachines
packageVertex
class- Added
Triggers
field. A field that references theTrigger
class in the newly addedTriggerRelationship
related class.
- Added
- Added
TriggerRelationship
related classes. A related class that references theTrigger
class from theVertex
class.
Add tag
UML.Core
packageBehavior
class- Added
OwnedTrigger
tag toOwnedTrigger
field
- Added
Trigger
class- Add
Trigger
tag to class - Add
EventSource
tag toEventSource
field - Added
Transition
tag toTransition
field - Add
Vertexes
tag toVertexes
field
- Add
UML.Behaviors.StateMachines
packageStateMachine
class- Add
StateMachine
tag to class - Add
State
tag toState
field - Add
InitialState
tag toInitialState
field - Add
HistoryState
tag toHistoryState
field - Add
FinalState
tag toFinalState
field - Add
ControlState
tag toControlState
field - Add
SubMachineState
tag toSubMachineState
field
- Add
Vertex
class- Add
Vertex
tag to class - Add
Next
tag toNext
field - Add
Previous
tag toPrevious
field - Add
Targets
tag toTargets
field - Add
Sources
tag toSources
field - Add
Triggers
tag toTriggers
field
- Add
State
class- Add
State
tag to class - Add
SubStates
tag toSubStates
field - Add
InitialState
tag toInitialState
field - Add
HistoryState
tag toHistoryState
field - Add
FinalState
tag toFinalState
field - Add
ControlState
tag toControlState
field - Add
EntryPoint
tag toEntryPoint
field - Added
ExitPoint
tag toExitPoint
field - Add
Entry
tag toEntry
field - Add
EntryBehavior
tag toEntryBehavior
field - Add
DoActivity
tag toDoActivity
field - Add
DoActivityBehavior
tag toDoActivityBehavior
field - Added
Exit
tag toExit
field - Add
ExitBehavior
tag toExitBehavior
field - Add
Trigger
tag toTrigger
field - Add
SubMachine
tag toSubMachine
field
- Add
Pseudostate
class- Add
Pseudostate
tag to class
- Add
FinalState
class- Add
FinalState
tag to class
- Add
InitialState
class- Add
InitialState
tag to class
- Add
HistoryState
class- Add
HistoryState
tag to class - Add
HistoryKind
tag toHistoryKind
field
- Add
ControlState
class- Add
ControlState
tag to class
- Add
ChoiceState
class- Add
ChoiceState
tag to class
- Add
JunctionState
class- Add
JunctionState
tag to class
- Add
ForkState
class- Add
ForkState
tag to class
- Add
JoinState
class- Add
JoinState
tag to class
- Add
EntryPoint
class- Add
EntryPoint
tag to class
- Add
ExitPoint
class- Add
ExitPoint
tag to class
- Add
Transition
class- Add
Transition
tag to class - Added
TransitionKind
tag toTransitionKind
field - Add
Guard
tag toGuard
field - Add
Effect
tag toEffect
field - Add
EffectBehavior
tag toEffectBehavior
field - Add
Trigger
tag toTrigger
field
- Add
TransitionToTrigger
related classes- Add
TransitionToTrigger
tag to class
- Add
ReferenceSubMachine
related classes- Add
ReferenceSubMachine
tag to class
- Add
StateRelationship
related classes- Add
StateRelationship
tag to class - Add
Kind
tag toKind
field
- Add
TriggerRelationship
related classes- Add
TriggerRelationship
tag to class - Add
Kind
tag toKind
field
- Add
UML.Behaviors.StateMachines.Links
packageStateMachineOwner
class- Add
StateMachineOwner
tag to class - Add
StateMachines
tag toStateMachines
field
- Add
View definition changes
Add view definition for state transition table
UML.Behaviors.StateMachines
packageStateMachine
class- Add view definition of
NextDesign.StateTransitionTable
to class
- Add view definition of
Restrictions when migrating from V2.0
Overview
Restrictions for migrating from V2.0 to V2.1 are as follows.
No. | Restrictions | Description |
---|---|---|
1 | The UML/SysML profile package [UML/SysML] has never been deleted (*1)(*2) | If you have made the changes on the left, data migration cannot be started. |
2 | The package name of the UML/SysML profile must not be changed from UMLSysML (*3) | If you have made the changes on the left, data migration cannot be started. |
3 | The UML/SysML profile package [UML/SysML] must be placed directly under the root package (*2) | If it is not placed directly under the root package, data migration cannot be started. |
4 | Do not delete the classes and fields in the state machine diagram (*1) | If you make the changes on the left, the migration will succeed, but the new features of V2.1 may not work. |
5 | Do not add fields with specific names to specific classes in the state machine diagram | If you make the changes on the left, the migration will succeed, but the new features of V2.1 may not work . |
6 | Do not add a class with a specific name to a specific package in the state machine diagram | If you make the changes on the left, the migration will succeed, but the new features of V2.1 may not work . |
7 | You have not added a specific tagged value to the class field of the state machine diagram | If you make the changes on the left, the value of the tagged value will be overwritten with True . |
8 | A view definition whose name is StateTransitionTable or whose display name is State Transition Table has not been added to the state machine diagram class | If you make the changes on the left, a view definition with the same name is added. and it becomes difficult to distinguish between them. |
(*1): Even if a deleted package class field is re-added with the same name or attribute, it will be treated as another package class field. Therefore, if you delete it even once, it will not work properly.
(*2): UML/SysML profile package [UML/SysML
] is the display name in V2.0. In V1.1, the package [modeling
] is the equivalent package.
(*3): The UML/SysML profile package name [UMLSysML
] is the name in V2.0. In V1.1, set it to [Modeling
].
Detail
The details of the restrictions shown in the outline above are as follows. The number in square brackets indicates which item in the table shown in the overview above corresponds.
UML/SysML
package- You have never removed any packages. [No.1]
- You have not changed the package name from
UMLSysML
. (When migrating from V1.1, do not change fromModeling
.) [No.2] - Place this package directly under the root package. [No.3]
UML/SysML.UML.Core
packageBehavior
class- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
Behavior
to the class. [No.7] - You have never deleted the
OwnedTrigger
field. [No.4] AND you have not added a tagged value whose key name isOwnedTrigger
to the field. [No.7]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
Trigger
class- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
Trigger
to the class. [No.7] - You have never deleted the
EventSource
field. [No.4] AND you have not added a tagged value whose key name isEventSource
in the field. [No.7] - You have never deleted the
Transition
field. [No.4] And do not add a tagged value whose key name isTransition
to the field. [No.7] - You have not added a field named
Vertexes
. [No.5]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
UML/SysML.UML.Behaviors.StateMachines
packageStateMachine
class- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
StateMachine
to the class. [No.7] - You have never deleted the
State
field. [No.4] AND you have not added a tagged value whose key name isState
to the field. [No.7] - Never remove the
InitialState
field. [No.4] AND you have not added a tagged value whose key name isInitialState
to the field. [No.7] - You have never deleted the
HistoryState
field. [No.4] AND you have not added a tagged value whose key name isHistoryState
to the field. [No.7] - You have never deleted the
FinalState
field. [No.4] AND you have not added a tagged value whose key name isFinalState
to the field. [No.7] - Never remove the
ControlState
field. [No.4] AND you have not added a tagged value whose key name isControlState
to the field. [No.7] - Never remove the
SubMachineState
field. [No.4] AND you have not added a tagged value whose key name isSubMachineState
to the field. [No.7] - You have not added a view definition whose name is
StateTransitionTable
or whose display name isState Transition Table
. [No.8]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
Vertex
class- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
Vertex
to the class. [No.7] - You have never deleted the
Next
field. [No.4] AND you have not added a tagged value whose key name isNext
in the field. [No.7] - You have never deleted the
Previous
field. [No.4] AND you have not added a tagged value whose key name isPrevious
to the field. [No.7] - Never deleted the
Targets
field. [No.4] AND you have not added a tagged value whose key name isTargets
to the field. [No.7] - Never deleted the
Sources
field. [No.4] AND you have not added a tagged value whose key name isSources
to the field. [No.7] - You have not added a field with the name
Triggers
. [No.5] - You have not added a class named
TriggerRelationship
to the package to which theVertex
class belongs. [No.6]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
State
class- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
State
to the class. [No.7] - Never deleted the
SubStates
field. [No.4] AND you have not added a tagged value whose key name isSubStates
to the field. [No.7] - Never remove the
InitialState
field. [No.4] AND you have not added a tagged value whose key name isInitialState
to the field. [No.7] - You have never deleted the
HistoryState
field. [No.4] AND you have not added a tagged value whose key name isHistoryState
to the field. [No.7] - You have never deleted the
FinalState
field. [No.4] AND you have not added a tagged value whose key name isFinalState
to the field. [No.7] - Never remove the
ControlState
field. [No.4] AND you have not added a tagged value whose key name isControlState
to the field. [No.7] - Never remove the
EntryPoint
field. [No.4] AND you have not added a tagged value whose key name isEntryPoint
to the field. [No.7] - Never remove the
ExitPoint
field. [No.4] And do not add a tagged value whose key name isExitPoint
to the field. [No.7] - You have never deleted an
Entry
field. [No.4] AND you have not added a tagged value whose key name isEntry
to the field. [No.7] - Never deleted the
EntryBehavior
field. [No.4] AND you have not added a tagged value whose key name isEntryBehavior
to the field. [No.7] - Never deleted the
DoActivity
field. [No.4] AND you have not added a tagged value whose key name isDoActivity
to the field. [No.7] - Never deleted the
DoActivityBehavior
field. [No.4] AND you have not added a tagged value whose key name isDoActivityBehavior
to the field. [No.7] - Never remove the
Exit
field. [No.4] And do not add a tagged value whose key name isExit
to the field. [No.7] - Never deleted the
ExitBehavior
field. [No.4] AND you have not added a tagged value whose key name isExitBehavior
in the field. [No.7] - You have never deleted the
Trigger
field. [No.4] And you have not added a tagged value whose key name isTrigger
in the field. [No.7] - You have never deleted the
SubMachine
field. [No.4] AND you have not added a tagged value whose key name isSubMachine
to the field. [No.7]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
Pseudostate
class- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
Pseudostate
to the class. [No.7]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
FinalState
class- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
FinalState
to the class. [No.7]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
InitialState
class- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
InitialState
to the class. [No.7]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
HistoryState
class- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
HistoryState
to the class. [No.7] - You have never deleted the
HistoryKind
field. [No.4] AND you have not added a tagged value whose key name isHistoryKind
to the field. [No.7]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
ControlState
class- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
ControlState
to the class. [No.7]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
ChoiceState
class- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
ChoiceState
to the class. [No.7]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
JunctionState
class- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
JunctionState
to the class. [No.7]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
ForkState
class- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
ForkState
to the class. [No.7]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
JoinState
class- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
JoinState
to the class. [No.7]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
EntryPoint
class- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
EntryPoint
to the class. [No.7]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
ExitPoint
class- Never deleted a class. [No.4] And do not add a tagged value whose key name is
ExitPoint
to the class. [No.7]
- Never deleted a class. [No.4] And do not add a tagged value whose key name is
Transition
class- Never deleted a class. [No.4] And do not add a tagged value whose key name is
Transition
to the class. [No.7] - Never remove the
TransitionKind
field. [No.4] And do not add a tagged value whose key name isTransitionKind
to the field. [No.7] - Never remove the
Guard
field. [No.4] AND you have not added a tagged value whose key name isGuard
to the field. [No.7] - Never deleted the
Effect
field. [No.4] AND you have not added a tagged value whose key name isEffect
to the field. [No.7] - Never deleted the
EffectBehavior
field. [No.4] AND you have not added a tagged value whose key name isEffectBehavior
to the field. [No.7] - You have never deleted the
Trigger
field. [No.4] And you have not added a tagged value whose key name isTrigger
in the field. [No.7]
- Never deleted a class. [No.4] And do not add a tagged value whose key name is
TransitionToTrigger
related classes- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
TransitionToTrigger
to the class. [No.7]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
ReferenceSubMachine
related classes- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
ReferenceSubMachine
to the class. [No.7]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
StateRelationship
related classes- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
StateRelationship
to the class. [No.7] - You have never deleted the
Kind
field. [No.4] And do not add a tagged value whose key name isKind
to the field. [No.7]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
UML/SysML.UML.Behaviors.StateMachines.Links
packageStateMachineOwner
class- Never deleted a class. [No.4] And you have not added a tagged value whose key name is
StateMachineOwner
to the class. [No.7] - You have never deleted the
StateMachines
field. [No.4] AND you have not added a tagged value whose key name isStateMachines
to the field. [No.7]
- Never deleted a class. [No.4] And you have not added a tagged value whose key name is