MoinMoin Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • Start
  • Sitemap

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

  • PlantUML

Contents

  1. PlantUML
    1. PlantUML web server
    2. Class diagram
    3. Sequence diagram example
    4. Use case diagram example
    5. Activity example
    6. State diagram
    7. Salt wireframe

PlantUML

  • https://en.wikipedia.org/wiki/PlantUML

  • http://www.plantuml.com/plantuml

  • wget http://vorboss.dl.sourceforge.net/project/plantuml/plantuml.jar

  • java -Djava.awt.headless=true -jar ~/Downloads/plantuml.jar sequence1.txt
  • requires graphviz (dot)
  • http://plantuml.com/class-diagram

  • java -Djava.awt.headless=true -jar ~/Downloads/plantuml.jar class1.txt

Graphviz for windows https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi

PlantUML web server

  • https://github.com/plantuml/plantuml-server

cd ~
cd tmp/
git clone https://github.com/plantuml/plantuml-server.git
cd plantuml-server/
mvn jetty:run -Djetty.port=8080
mvn jetty:run -Djetty.port=8181

  • http://localhost:8080/plantuml

  • http://localhost:8181/plantuml

Class diagram

classDiag.png

@startuml
class Car

interface ICar{
    addWheel(Wheel w)
}

note "This is a floating note" as CarNote
CarNote .. Car

Driver - Car : drives >
Car *- Wheel : have 4 >
Car -- Person : < owns

/' 
<|--  extends 
-- association
..> depends 
<|.. implements / realizes
'/

Car ..|> ICar 
Car : engine : String
Car : startEngine() 

@enduml

Sequence diagram example

seqDiag.png

@startuml
autonumber
actor Xyz1
boundary Xyz2
control Xyz3
entity Xyz4
database Xyz5

/' comment 
-> synch call
--> response
->> asynch call
'/
Xyz1 -> Xyz2 : To boundary
Xyz1 -> Xyz3 : To control
Xyz1 -> Xyz4 : To entity
Xyz1 -> Xyz5 : To database
Xyz5 --> Xyz1 : To Foo1

@enduml

seqDiag2.png

@startuml
Alice -> Bob: Authentication Request

alt successful case

        Bob -> Alice: Authentication Accepted
        
else some kind of failure

        Bob -> Alice: Authentication Failure
        group My own label
                Alice -> Log : Log attack start
            loop 1000 times
                Alice -> Bob: DNS Attack
               break ccc
               else ddd
               end
            end
                Alice -> Log : Log attack end
        end
        
else Another type of failure
   Bob -> Alice: Please repeat
end

opt aaaa
  Alice -> Bob : llll
else  bbb
  Alice -> Log : kkk
end
@enduml

Use case diagram example

useCaseDiag.png

@startuml
'left to right direction
'skinparam packageStyle rect

actor user
actor admin

rectangle System {
  user -- (search stuff)
  (search stuff) .> (show search fields) : include
  (help) .> (search stuff) : extends
  (search stuff) -- admin
}

@enduml

useCaseDiag2.png

@startuml
left to right direction
skinparam packageStyle rectangle
actor customer
actor clerk
actor a2
rectangle system{
  customer -- (checkout)
  customer -- (ch1)
  customer -- (ch2)
  a2 -- (ch2)
  a2 -- (ch3)
  (checkout) .> (payment) : include
  (help) .> (checkout) : extends
  (checkout) -- clerk
(checkout1) -- clerk
(checkout2) -- clerk
}
@endum
@enduml

Activity example

activityDiag.png

@startuml

(*) --> "First Activity"
"First Activity" --> [label] "Second Activity"

"Second Activity" --> "Third Activity"

if "Activities are complete?" then
    --> [true] (*)
else
    --> [false] "Second Activity" 
endif

@enduml

State diagram

stateDiag.png

@startuml
[*] -> Created
Created --> Waiting
Waiting --> Processing : Received message
Processing --> Waiting : Processed message
Waiting --> [*] : Aborted
@enduml

stateDiag2.png

@startuml
[*] -> SubmissionIncomplete
SubmissionIncomplete --> Submitted : all submitted
Submitted --> ReceivedPhotosNoXrays : photos uploaded

ReceivedPhotosNoXrays --> ReceivedPhotosAndCast : cast uploaded
ReceivedPhotosAndCast --> CreatingModel : model creation started

ReceivedPhotosNoXrays --> ReceivedPhotosAndXrays : xrays uploaded
Submitted --> ReceivedXraysNoPhotos : xrays uploaded
ReceivedXraysNoPhotos-->ReceivedPhotosAndXrays : photos uploaded
ReceivedPhotosAndXrays --> CreatingModel : model creation started 
CreatingModel --> ModelComplete : model is ready
ModelComplete -> [*] : model shipped
@enduml

Salt wireframe

tabx.png

@startsalt
{+
{/ <b>TabX | TabY  }
{
{ LabelX: | "http://urlx" }
[Press me]
Other label
}
}
@endsalt

taby.png

@startsalt
{+
{/ TabX | <b>TabY  }
{
{ LabelZ: | "aaabbb" }
[Press me]
URL z | http://
Other info | aaabbb
Data W | aaaa
}
}
@endsalt
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01