Real World PlantUML
ManagerManagerSalariedClassificationSalariedClassificationDatePayCalculatePay
SEQUENCE DIAGRAM
5129642381934592
UDP Integration Test WorkflowTestTestSUTSUTUDP Stub ServerUDP Stub ServerTCP Status ServerTCP Status Serverclear_bufferexercise SUTlogging call 1call receivedlogging call 2call receivedget_bufferbufferassert buffer
SEQUENCE DIAGRAM
5136764243017728
serverserverclientclientapplicationapplicationrequestHTTP requestHTTP responseresponse
SEQUENCE DIAGRAM
5137071064743936
RFRFPSTTPSTTEcho(Seq)Echo(Seq)Echo(Seq)Echo(Seq)RstSynSyn AckAck
SEQUENCE DIAGRAM
5147656280080384
AliceAliceBobBobAuthentication RequestAuthentication ResponseAnother authentication Requestanother authentication Response
SEQUENCE DIAGRAM
5151727909076992
riskWebriskWebriskClientriskClientriskServerriskServerinvoketcptcpreturn
SEQUENCE DIAGRAM
5154474272227328
UserUserFirst ClassFirst ClassSecond ClassSecond ClassLast ClassLast ClassDoMoreWork
SEQUENCE DIAGRAM
5156621755875328
FooBar"xx"opt[color=red]"calculate""yy"
SEQUENCE DIAGRAM
5159517637574656
Generation of a PNG image illustratedPngServletPngServletUmlExtractorUmlExtractorDiagramResponseDiagramResponsePlantUML libraryPlantUML librarygetSource()getUmlSource()getOutputFormat()<<create>>sendDiagram()generateImage()
SEQUENCE DIAGRAM
5160583594770432
AliceAliceBobBobAuthentication RequestAuthentication ResponseAnother authentication Requestanother authentication Response
SEQUENCE DIAGRAM
5163399751139328
UserUserSystemSystemSelect a palette from Favorites or Generated Palettes screensDisplay Palette Details screen
SEQUENCE DIAGRAM
5167500102729728
UserUserSystemSystemSelect "Random Palette"Display generated palettes screen
SEQUENCE DIAGRAM
5167824104325120
Member1aMember1aMember1bMember1bBroker1Broker1Broker2Broker2Member2aMember2aIndicator SubmissionIndicator ReceiptFederationIndicator SubmissionIndicator ReceiptIndicator FeedbackFederationIndicator FeedbackIndicator FeedbackIndicator Feedback
SEQUENCE DIAGRAM
5180804300800000
BrowserBrowserNginxNginxPHPPHP1上传到nginx2交给php3处理文件4回复5处理完成
SEQUENCE DIAGRAM
5185026253651968
AcustomerAcustomeraRentalaRentalaMovieaMoviestatementfor all rentalsgetMoviegetPriceCodegetDaysRentedreturn
SEQUENCE DIAGRAM
5191954035900416
:Pursecoins:Listdeposit(coin)isFull()fullfull == truefalseadd(coin)true
SEQUENCE DIAGRAM
5194384987389952
Transform Profiles CRUD (Create ReadUpdateDelete)UserUserWebUIWebUIOrchestraOrchestraLoginGET /user/login (auth m@f.com:pass)Get user from MongoDBOK 200{"status"=200"value"={"_id": "<uuid>", "name": "Michaël Fischer", ...}}'Successfull login'Profiles Tabloop[every N seconds (AJAX)]GET /transform/profile (auth m@f.com:pass)Get profiles from MongoDBOK 200{"status"=200,"value"=[{"_id": "<uuid>", "encoder_name": "ffmpeg", ...}, ...]}<< Show/update profiles list >>Add a profile (with add form)POST /transform/profile (auth m@f.com:pass){"title": "HD 1080p", "description": "...", ...}Save profile to MongoDBOK 200{"status"=200,"value"={"_id": "<uuid_of_profile>", "title": "HD 1080p", ...}}<< Flash info message'The transform profile "HD 1080p" has been added.' >>Remove a profileDELETE /transform/profile/id/<uuid_of_profile> (auth m@f.com:pass)Remove profile from MongoDBOK 200{"status"=200,"value"="The transform profile \"YouTube SD\" has been deleted."}<< Flash info message'The transform profile "YouTube SD" has been deleted.' >>
SEQUENCE DIAGRAM
5207439808921600
:Utilisateur:Utilisateur:DlgPrincipal:DlgPrincipal:DlgListeURLs:DlgListeURLsJFileChooserJFileChooserJOptionPaneJOptionPaneCtrlGetURLCtrlGetURLCtrlTestURLCtrlTestURLCtrlHistoryCtrlHistoryClick Sélectionner un dossiernew()Sélectionner dossierdossierClick vérifier les URLsFile[] filesSelectedgetUrlsFromFile(filesSelected[])Vector<URLs> tabURLfromLine()tabUrlalt[tabUrl.size() > 0]checkListURLs(tabUrl)Vector<URLs> tabUrlKO := checkURL()tabUrlKOalt[tabUrlKO.isEmpty()]showMessageDialog("Toutes les URLs sont valides.")showMessageDialog("Il y a "+tabUrlKO.size()+" URL(s) non valide(s).")new(tabUrlKO)showMessageDialog("Pas d'URL dans le dossier.")updateHistory(filesSelected[])
SEQUENCE DIAGRAM
5212174741929984
Foo1Foo1Foo2Foo2Foo3Foo3Foo4Foo4Foo5Foo5To boundaryTo controlTo entityTo database
SEQUENCE DIAGRAM
5222847467225088
h2o-zookeeper.jarh2o-zookeeper.jar (1)h2o-zookeeper.jar (2)zookeeper.jaruseruserwater.zookeeper.h2odriverwater.zookeeper.h2odriverwater.zookeeper.h2oworker (1)water.zookeeper.h2oworker (1)water.H2O (1)water.H2O (1)water.zookeeper.h2oworker (2)water.zookeeper.h2oworker (2)water.H2O (2)water.H2O (2)zookeeperzookeeperUser starts a new H2O cloud1User starts driver processUser specifies zkConnectionString: a.b.c.d:eUser specifies zkRoot: /zk/path/h2o-uuidUser specifies numNodes: 2java -jar h2o-zookeeper.jar water.zookeeper.h2odriver-zk a.b.c.d:e-zkroot "/zk/path/h2o-uuid"-nodes 2-startEstablish root ZNode for this cloud2Driver creates zkRootcreate("/zk/path/h2o-uuid", (PERSISTENT))ZNode data: { "numNodes" : 2 }User is responsible for providinga unique cloud name (h2o-uuid).3OK4Driver creates zkRoot/nodescreate("/zk/path/h2o-uuid/nodes", (PERSISTENT))5OK6OKStart workers7Start H2O node 1java -jar h2o-zookeeper.jar water.zookeeper.h2oworker-zk a.b.c.d:e-zkroot "/zk/path/h2o-uuid"-nodes 2[plus other H2O options]8Start H2O node 19H2O node 1 port chosen10Worker creates ZNodecreate("/zk/path/h2o-uuid/nodes/", (PERSISTENT, SEQUENCE))ZNode data: { "ip" : "n1a.n1b.n1c.n1d", "port" : n1e, "pid" : pid1 }11OK12Start H2O node 2java -jar h2o-zookeeper.jar water.zookeeper.h2oworker-zk a.b.c.d:e-zkroot "/zk/path/h2o-uuid"-nodes 2[plus other H2O options]13Start H2O node 214H2O node 2 port chosen15Worker creates ZNodecreate("/zk/path/h2o-uuid/nodes/", (PERSISTENT, SEQUENCE))ZNode data: { "ip" : "n2a.n2b.n2c.n2d", "port" : n2e, "pid" : pid2 }16OKPoll for nodes started17Poll for all nodes startedgetChildren("/zk/path/h2o-uuid/nodes")18OK"/zk/path/h2o-uuid/nodes/1"{ "ip" : "n1a.n1b.n1c.n1d", "port" : n1e, "pid" : pid1 }"/zk/path/h2o-uuid/nodes/2"{ "ip" : "n2a.n2b.n2c.n2d", "port" : n2e, "pid" : pid2 }19Poll for all nodes startedgetChildren("/zk/path/h2o-uuid/nodes")20OK(Same as above)H2O nodes request flatfile from workers21Request flatfile22Worker provides flatfile to H2O23Request flatfile24Worker provides flatfile to H2OH2O nodes find each other and notify workers25H2O nodes form a cloud26H2O nodes form a cloud27cloud size 228cloud size 2Workers create a master (sentinal) ZNode (only one create succeeds)29Create cloud ready ZNodecreate("/zk/path/h2o-uuid/master", (PERSISTENT))ZNode data: { "ip" : "n1a.n1b.n1c.n1d", "port" : n1e, "pid" : pid1 }30OK31Create master ZNode (cloud ready)create("/zk/path/h2o-uuid/master", (PERSISTENT))ZNode data: { "ip" : "n2a.n2b.n2c.n2d", "port" : n2e, "pid" : pid2 }32KeeperException.NodeExistsThis is OK, exactly one node wins the raceUser polls for cloud up33User polls for cloud upjava -jar h2o-zookeeper.jar water.zookeeper.h2odriver-zk a.b.c.d:e-zkroot "/zk/path/h2o-uuid"-wait34Poll for master node ip and port of the new H2O cloudgetData("/zk/path/h2o-uuid/master")35OK{ "ip" : "n1a.n1b.n1c.n1d", "port" : n1e, "pid" : pid1 }36Master node ip, portUser interacts with H2O cloud37Point browser to H2O Web UI
SEQUENCE DIAGRAM
5253001895739392
Sequence diagram of Libera Tango Device Server objectstango_dbtango_dbLiberaBrilliancePlusLiberaBrilliancePlusLiberaClientLiberaClientLiberaAttrLiberaAttrLiberaSignalLiberaSignalSignalSignalinit_deviceget_device_propertyCreateloop[All attribute and signal nodes]AddScalarCreateAddSignalCreateConnectloop[All configured signals]InitializeOpenset_state(ON)operating in state ONpar[Attribute update thread]Readdata valueatribute pointer is directly updated[Signal reading thread]Readdata bufferchanges are kept in signal buffer[allways_executed_hook call]GetDatadata value arrays
SEQUENCE DIAGRAM
5253989201346560