PlantUMLのシーケンス図(他)の公開手順
- 新規Gist
- ベースのMarkdown記事を作る、PlantUMLなソースも作る
- Gistをclone
- cloneしたリポジトリに、PlantUMLから生成した画像をadd
- commit&push
- 画像のURLを確認
- Markdownにリンク追加 "![alt txt](img url)"
- 必要なら、更新の都度、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 |