PlantUMLのシーケンス図(他)の公開手順
- 新規Gist
- ベースのMarkdown記事を作る、PlantUMLなソースも作る
- Gistをclone
- cloneしたリポジトリに、PlantUMLから生成した画像をadd
- commit&push
- 画像のURLを確認
- Markdownにリンク追加 ""
- 必要なら、更新の都度、pull->edit->plantuml generate->add->commit->pushで更新
でいいかな?
でいいかな?
| @startuml{PlantUML-Sample.png} | |
| title PlantUML Sample | |
| hide footbox | |
| participant obj1.method1 as obj1 <<Object>> | |
| participant func1 <<func>> | |
| participant func2 <<func>> | |
| participant obj2.method2 as obj2 <<Object>> | |
| participant sem1 <<セマフォ>> | |
| participant sem2 <<セマフォ>> | |
| obj1 -> sem1 : Lock | |
| note right of obj1 :(複数のobj1.method1突入排他) | |
| activate obj1 | |
| obj1 -> func1 | |
| func1 -> sem2 : Lock | |
| note right of func1 : (共有領域の排他) | |
| activate func1 | |
| == (値設定) == | |
| func1 <- sem2: Release | |
| deactivate func1 | |
| obj1 <-- func1 | |
| obj1 ->] : ResetEvent event2 (前回失敗終了などのリセット) | |
| obj2 -> obj2 : Wait event1 (リクエスト待ち) | |
| activate obj2 | |
| obj1 ->> obj2 : SetEvent event1 | |
| deactivate obj2 | |
| obj2 ->] : ResetEvent event2 (前回失敗終了などのリセット) | |
| obj2 -> sem2 : Lock | |
| note right of obj2 : (共有領域の排他) | |
| activate obj2 | |
| obj1 -> obj1 : Wait event2 (応答待ち) | |
| activate obj1 | |
| == {...} == | |
| obj1 <<- obj2 : SetEvent event2 | |
| deactivate obj1 | |
| obj2 <- sem2 : Release | |
| deactivate obj2 | |
| obj1 ->] : ResetEvent event2 | |
| obj1 -> func2 | |
| func2 -> sem2 : Lock | |
| note right of func2 : (共有領域の排他) | |
| activate func2 | |
| == (値取得) == | |
| func2 <- sem2: Release | |
| deactivate func2 | |
| obj1 <- sem1 : Release | |
| deactivate obj1 | |
| @enduml |