3

PlantUMLを使用して、ドキュメント用に小さなステート チャートを作成しました。

@startuml

state Powered {
    [*]      -d->    Starting
    Powered  -r->    Starting : Some error
    Starting -d->    Operational
}
[*]     -d->   Powered  : Power On
Powered -u->   [*]      : Power Off
Powered -d->   Powered  : Reset

@enduml

(ちなみに: PlantUML は、asciidoc や reStructuredText などの埋め込みマークアップ ドキュメントに埋め込まれたテキスト記述からグラフィカルな出力を作成するための非常に優れたツールです)

これは、指定された状態図がレンダリングされるものです。 ここに画像の説明を入力

ご覧のとおり、チャートは少しずさんに描かれています

  • 「電源オフ」遷移矢印がまっすぐではない
  • 初期状態と終了状態が入れ替わる
  • 「Powered」から「Starting」への矢印は、何らかの形で「Power Off」トランジションに接続されているように見えます
  • 「起動中」と「稼働中」の状態が一致しない

ドキュメントに記載されているように、-left->単に.-l->-->

矢印の描画方法場所に影響を与える方法はありますか? 水平または垂直の 直線のみを描画したいのですが。

4

2 に答える 2

17

将来の読者のために元の質問に答えるには:

水平または垂直の直線のみを描画するには、 を使用できますskinparam linetype ortho

すべての線をまっすぐにするために (ただし、必ずしも水平または垂直である必要はありません)、 を使用できますskinparam linetype polyline

ソース

于 2019-11-15T12:30:58.100 に答える
5

PlantUML は、多くの方向が課された場合に適切な直線矢印を提供するようには設計されていません。デフォルトのレイアウトを使用すると、最もクリーンで読みやすい結果が得られます。

同じ意味の例を次に示しますが、レイアウトの問題はありません。

@startuml

state Powered {
  [*] --> Starting
  Starting --> Operational
}
[*] --> Powered : Power On
Powered --> [*] : Power Off
Powered --> Powered : Reset
Powered --> Powered : Fatal Error

@enduml

ここに画像の説明を入力

編集: また、Powered --> Starting : Fatal Errorトランジションを : Powered --> Powered : Fatal Errorに変更しました。これは、Powered 内のどの状態からでも、致命的なエラー イベントが開始サブステートで再開されることをより適切に表現しています。

または、2 つのステートメント:

Powered --> Powered : Reset
Powered --> Powered : Fatal Error

にマージできます:

Powered --> Powered : Reset, Fatal Error

OMG UML 2.5 フォーマット仕様セクション 14.2.4.9 の 329 ページを参照してください。

[<trigger> [‘,’ <trigger>]* [‘[‘ <guard>’]’] [‘/’ <behavior-expression>]]
于 2016-06-21T11:58:04.093 に答える