メインコンテンツまでスキップ

V2.1.3

ステートマシン図と状態遷移表を切り替えながらシームレスに設計できるようになりました。ステートマシン図/状態遷移表の詳しい使い方はこちらのページを参照ください。

新機能

ステートマシン図と連動する状態遷移表を追加しました。

状態遷移表に対応

ステートマシン図に状態遷移表のビューが増えました。ステートマシン図と状態遷移表はビューを切り替えて相互に編集できます。図と表はリアルタイムに更新されます。
リアルタイムに連動

直感的でスピーディな操作性

状態遷移表のツールバーやメニューから状態、トリガを簡単に追加できます。また、トリガや状態のセルは直接テキスト編集するだけでなくリストから選択、コピーペーストなど様々な方法で直感的に編集できます。
直感的でスピーディな操作性

抜け漏れなく設計

状態に対するトリガとして無視(Ignore)または不可(NotHappen)を設定できるので、抜け漏れなく設計できていることを確認できます。
抜け漏れなく設計

強調表示やフィルタ

遷移のあるセルを強調表示したり、トリガが定義されていない遷移を非表示するなど表示を切り替えできます。
強調表示やフィルタ

Excelへのエクスポート

状態遷移表はExcelにエクスポートして2次利用できます。

V2.0からの変更点

概要

メタモデル

  • 状態基底クラスとトリガクラス間にトリガ関連関連クラスを追加しました。
  • ステートマシン図関係のクラス、フィールドにタグ付き値を追加しました。

ビュー定義

  • ステートマシン図クラスに状態遷移表のビュー定義を追加しました。

詳細

メタモデルの変更点

関連クラスを追加

  • UML.Coreパッケージ
    • Triggerクラス
      • Vertexesフィールドを追加。新規追加したTriggerRelationship関連クラスでVertexクラスを逆参照するフィールド。
  • UML.Behaviors.StateMachinesパッケージ
    • Vertexクラス
      • Triggersフィールドを追加。新規追加したTriggerRelationship関連クラスでTriggerクラスを参照するフィールド。
    • TriggerRelationship関連クラスを追加。VertexクラスからTriggerクラスを参照する関連クラス。

タグを追加

  • UML.Coreパッケージ
    • Behaviorクラス
      • OwnedTriggerフィールドにOwnedTriggerタグを追加
    • Triggerクラス
      • クラスにTriggerタグを追加
      • EventSourceフィールドにEventSourceタグを追加
      • TransitionフィールドにTransitionタグを追加
      • VertexesフィールドにVertexesタグを追加
  • UML.Behaviors.StateMachinesパッケージ
    • StateMachineクラス
      • クラスにStateMachineタグを追加
      • StateフィールドにStateタグを追加
      • InitialStateフィールドにInitialStateタグを追加
      • HistoryStateフィールドにHistoryStateタグを追加
      • FinalStateフィールドにFinalStateタグを追加
      • ControlStateフィールドにControlStateタグを追加
      • SubMachineStateフィールドにSubMachineStateタグを追加
    • Vertexクラス
      • クラスにVertexタグを追加
      • NextフィールドにNextタグを追加
      • PreviousフィールドにPreviousタグを追加
      • TargetsフィールドにTargetsタグを追加
      • SourcesフィールドにSourcesタグを追加
      • TriggersフィールドにTriggersタグを追加
    • Stateクラス
      • クラスにStateタグを追加
      • SubStatesフィールドにSubStatesタグを追加
      • InitialStateフィールドにInitialStateタグを追加
      • HistoryStateフィールドにHistoryStateタグを追加
      • FinalStateフィールドにFinalStateタグを追加
      • ControlStateフィールドにControlStateタグを追加
      • EntryPointフィールドにEntryPointタグを追加
      • ExitPointフィールドにExitPointタグを追加
      • EntryフィールドにEntryタグを追加
      • EntryBehaviorフィールドにEntryBehaviorタグを追加
      • DoActivityフィールドにDoActivityタグを追加
      • DoActivityBehaviorフィールドにDoActivityBehaviorタグを追加
      • ExitフィールドにExitタグを追加
      • ExitBehaviorフィールドにExitBehaviorタグを追加
      • TriggerフィールドにTriggerタグを追加
      • SubMachineフィールドにSubMachineタグを追加
    • Pseudostateクラス
      • クラスにPseudostateタグを追加
    • FinalStateクラス
      • クラスにFinalStateタグを追加
    • InitialStateクラス
      • クラスにInitialStateタグを追加
    • HistoryStateクラス
      • クラスにHistoryStateタグを追加
      • HistoryKindフィールドにHistoryKindタグを追加
    • ControlStateクラス
      • クラスにControlStateタグを追加
    • ChoiceStateクラス
      • クラスにChoiceStateタグを追加
    • JunctionStateクラス
      • クラスにJunctionStateタグを追加
    • ForkStateクラス
      • クラスにForkStateタグを追加
    • JoinStateクラス
      • クラスにJoinStateタグを追加
    • EntryPointクラス
      • クラスにEntryPointタグを追加
    • ExitPointクラス
      • クラスにExitPointタグを追加
    • Transitionクラス
      • クラスにTransitionタグを追加
      • TransitionKindフィールドにTransitionKindタグを追加
      • GuardフィールドにGuardタグを追加
      • EffectフィールドにEffectタグを追加
      • EffectBehaviorフィールドにEffectBehaviorタグを追加
      • TriggerフィールドにTriggerタグを追加
    • TransitionToTrigger関連クラス
      • クラスにTransitionToTriggerタグを追加
    • ReferenceSubMachine関連クラス
      • クラスにReferenceSubMachineタグを追加
    • StateRelationship関連クラス
      • クラスにStateRelationshipタグを追加
      • KindフィールドにKindタグを追加
    • TriggerRelationship関連クラス
      • クラスにTriggerRelationshipタグを追加
      • KindフィールドにKindタグを追加
  • UML.Behaviors.StateMachines.Linksパッケージ
    • StateMachineOwnerクラス
      • クラスにStateMachineOwnerタグを追加
      • StateMachinesフィールドにStateMachinesタグを追加

ビュー定義の変更点

状態遷移表のビュー定義を追加

  • UML.Behaviors.StateMachinesパッケージ
    • StateMachineクラス
      • クラスにNextDesign.StateTransitionTable(状態遷移表)のビュー定義を追加

V2.0からの移行時の制約事項

概要

V2.0からV2.1への移行にあたっての制約事項は次の通りです。

No.制約事項説明
1UML/SysMLプロファイルのパッケージ[UML/SysML]を削除したことがないこと(※1)(※2)左記の変更を行っている場合、データ移行を開始できません。
2UML/SysMLプロファイルのパッケージ名をUMLSysMLから変更していないこと(※3)左記の変更を行っている場合、データ移行を開始できません。
3UML/SysMLプロファイルのパッケージ[UML/SysML]がルートパッケージ直下に配置されていること(※2)ルートパッケージ直下に配置されていないと、データ移行を開始できません。
4ステートマシン図のクラス・フィールドを削除していないこと(※1)左記の変更を行っている場合、移行は成功しますが、V2.1の新機能が動作しない場合があります。
5ステートマシン図の特定クラスに特定の名前のフィールドを追加していないこと左記の変更を行っている場合、移行は成功しますが、V2.1の新機能が動作しない場合があります。
6ステートマシン図の特定パッケージに特定の名前のクラスを追加していないこと左記の変更を行っている場合、移行は成功しますが、V2.1の新機能が動作しない場合があります。
7ステートマシン図のクラス・フィールドに特定のタグ付き値を追加していないこと左記の変更を行っている場合、タグ付き値の値がTrueで上書きされます。
8ステートマシン図クラスに名前がStateTransitionTable、または表示名が状態遷移表であるビュー定義を追加していないこと左記の変更を行っている場合、同じ名前のビュー定義が追加され、見分けがつきづらくなります。

(※1): 削除したパッケージ・クラス・フィールドを同じ名前や属性で追加し直した場合でも別のパッケージ・クラス・フィールドと扱います。そのため、一度でも削除すると正しく動作させることができなくなります。
(※2): UML/SysMLプロファイルのパッケージ[UML/SysML]はV2.0での表示名です。V1.1では、パッケージ[モデリング]が相当するパッケージとなります。
(※3): UML/SysMLプロファイルのパッケージ名[UMLSysML]はV2.0での名前です。V1.1では、[Modeling]としてください。

詳細

上記概要に示した制約事項の詳細は以下の通りです。
角括弧内の No. は上記概要に示した表中のどの項目に対応するかを示しています。

  • UML/SysMLパッケージ
    • パッケージを削除したことがないこと。[No.1]
    • パッケージの名前をUMLSysMLから変更していないこと。(V1.1から移行する場合、Modelingから変更していないこと。)[No.2]
    • 本パッケージをルートパッケージの直下に配置していること。[No.3]
  • UML/SysML.UML.Coreパッケージ
    • Behaviorクラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がBehaviorであるタグ付き値を追加していないこと。[No.7]
      • OwnedTriggerフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がOwnedTriggerであるタグ付き値を追加していないこと。[No.7]
    • Triggerクラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がTriggerであるタグ付き値を追加していないこと。[No.7]
      • EventSourceフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がEventSourceであるタグ付き値を追加していないこと。[No.7]
      • Transitionフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がTransitionであるタグ付き値を追加していないこと。[No.7]
      • 名前がVertexesであるフィールドを追加していないこと。[No.5]
  • UML/SysML.UML.Behaviors.StateMachinesパッケージ
    • StateMachineクラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がStateMachineであるタグ付き値を追加していないこと。[No.7]
      • Stateフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がStateであるタグ付き値を追加していないこと。[No.7]
      • InitialStateフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がInitialStateであるタグ付き値を追加していないこと。[No.7]
      • HistoryStateフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がHistoryStateであるタグ付き値を追加していないこと。[No.7]
      • FinalStateフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がFinalStateであるタグ付き値を追加していないこと。[No.7]
      • ControlStateフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がControlStateであるタグ付き値を追加していないこと。[No.7]
      • SubMachineStateフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がSubMachineStateであるタグ付き値を追加していないこと。[No.7]
      • 名前がStateTransitionTable、または表示名が状態遷移表であるビュー定義を追加していないこと。[No.8]
    • Vertexクラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がVertexであるタグ付き値を追加していないこと。[No.7]
      • Nextフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がNextであるタグ付き値を追加していないこと。[No.7]
      • Previousフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がPreviousであるタグ付き値を追加していないこと。[No.7]
      • Targetsフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がTargetsであるタグ付き値を追加していないこと。[No.7]
      • Sourcesフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がSourcesであるタグ付き値を追加していないこと。[No.7]
      • 名前がTriggersであるフィールドを追加していないこと。[No.5]
      • Vertexクラスが所属するパッケージに、名前がTriggerRelationshipであるクラスを追加していないこと。[No.6]
    • Stateクラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がStateであるタグ付き値を追加していないこと。[No.7]
      • SubStatesフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がSubStatesであるタグ付き値を追加していないこと。[No.7]
      • InitialStateフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がInitialStateであるタグ付き値を追加していないこと。[No.7]
      • HistoryStateフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がHistoryStateであるタグ付き値を追加していないこと。[No.7]
      • FinalStateフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がFinalStateであるタグ付き値を追加していないこと。[No.7]
      • ControlStateフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がControlStateであるタグ付き値を追加していないこと。[No.7]
      • EntryPointフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がEntryPointであるタグ付き値を追加していないこと。[No.7]
      • ExitPointフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がExitPointであるタグ付き値を追加していないこと。[No.7]
      • Entryフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がEntryであるタグ付き値を追加していないこと。[No.7]
      • EntryBehaviorフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がEntryBehaviorであるタグ付き値を追加していないこと。[No.7]
      • DoActivityフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がDoActivityであるタグ付き値を追加していないこと。[No.7]
      • DoActivityBehaviorフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がDoActivityBehaviorであるタグ付き値を追加していないこと。[No.7]
      • Exitフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がExitであるタグ付き値を追加していないこと。[No.7]
      • ExitBehaviorフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がExitBehaviorであるタグ付き値を追加していないこと。[No.7]
      • Triggerフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がTriggerであるタグ付き値を追加していないこと。[No.7]
      • SubMachineフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がSubMachineであるタグ付き値を追加していないこと。[No.7]
    • Pseudostateクラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がPseudostateであるタグ付き値を追加していないこと。[No.7]
    • FinalStateクラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がFinalStateであるタグ付き値を追加していないこと。[No.7]
    • InitialStateクラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がInitialStateであるタグ付き値を追加していないこと。[No.7]
    • HistoryStateクラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がHistoryStateであるタグ付き値を追加していないこと。[No.7]
      • HistoryKindフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がHistoryKindであるタグ付き値を追加していないこと。[No.7]
    • ControlStateクラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がControlStateであるタグ付き値を追加していないこと。[No.7]
    • ChoiceStateクラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がChoiceStateであるタグ付き値を追加していないこと。[No.7]
    • JunctionStateクラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がJunctionStateであるタグ付き値を追加していないこと。[No.7]
    • ForkStateクラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がForkStateであるタグ付き値を追加していないこと。[No.7]
    • JoinStateクラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がJoinStateであるタグ付き値を追加していないこと。[No.7]
    • EntryPointクラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がEntryPointであるタグ付き値を追加していないこと。[No.7]
    • ExitPointクラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がExitPointであるタグ付き値を追加していないこと。[No.7]
    • Transitionクラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がTransitionであるタグ付き値を追加していないこと。[No.7]
      • TransitionKindフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がTransitionKindであるタグ付き値を追加していないこと。[No.7]
      • Guardフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がGuardであるタグ付き値を追加していないこと。[No.7]
      • Effectフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がEffectであるタグ付き値を追加していないこと。[No.7]
      • EffectBehaviorフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がEffectBehaviorであるタグ付き値を追加していないこと。[No.7]
      • Triggerフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がTriggerであるタグ付き値を追加していないこと。[No.7]
    • TransitionToTrigger関連クラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がTransitionToTriggerであるタグ付き値を追加していないこと。[No.7]
    • ReferenceSubMachine関連クラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がReferenceSubMachineであるタグ付き値を追加していないこと。[No.7]
    • StateRelationship関連クラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がStateRelationshipであるタグ付き値を追加していないこと。[No.7]
      • Kindフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がKindであるタグ付き値を追加していないこと。[No.7]
  • UML/SysML.UML.Behaviors.StateMachines.Linksパッケージ
    • StateMachineOwnerクラス
      • クラスを削除したことがないこと。[No.4] かつ、クラスにキー名がStateMachineOwnerであるタグ付き値を追加していないこと。[No.7]
      • StateMachinesフィールドを削除したことがないこと。[No.4] かつ、フィールドにキー名がStateMachinesであるタグ付き値を追加していないこと。[No.7]