Real World PlantUML
UserUserSystemSystemSelect "Favorites"Display saved favorites screen
SEQUENCE DIAGRAM
5764748591235072
AliceAliceProxyProxyBobBobSIP MESSAGE 1SIP MESSAGE 2200 OK 1200 OK 2
SEQUENCE DIAGRAM
5767409591910400
User Creates Branch of existing documentUserUserCreateBranchClientCreateBranchClientPsychicOctoRobotServerPsychicOctoRobotServerNode.js server which serves thewebpages requested by the user.requests page forcreating anew branchweb page forCreateBranchClientThe CreateBranchClient is aJavascript client made of js-gitand our code bundled with browserifyreads local "git"directory to checkfor repositoriespresentDisplays documentsthat are trackedin repositories andare branchableselects documentrepository to createa new branchDisplays prompt fornew branch nameand parent branchSelects parent branch & names new branchCreates the branch defined by the userDisplays message notifying user of success/failure
SEQUENCE DIAGRAM
5775724111724544
la:LoadActionzw:ZoneWriterzd_new:ZoneDatanew:MemorySegment(Mapped):b10-memmgr:b10-memmgr:ConfigurableClientList:ConfigurableClientList:CacheConfig:CacheConfig:ZoneTableSegment(Mapped):ZoneTableSegment(Mapped)existing:MemorySegment(Mapped)existing:MemorySegment(Mapped)new:MemorySegment(Mapped):ZoneTable:ZoneTablezw:ZoneWriterla:LoadActionzd_existing:ZoneDatazd_existing:ZoneDatazd_new:ZoneDatareload(zonename)getCachedZoneWriter(zone_name)isWritable()truegetLoadAction()<<construct>>la:LoadActionla<<construct>> (la)zw:ZoneWriterzwload()(funcall)<<construct>> via helperszd_new:ZoneDatazd_newinstall()addZone(zd_new)zd_existing (old data)cleanup()<<destroy>>command tomodules(datasrc_name,segmentparam)ack from allmodulesresetMemorySegment(datasrc_name,READ_WRITE,segmentparam)reset(READ_WRITE,segmentparam)<<destroy>><<construct>>new:MemorySegment(Mapped)(repeat thesame sequencefor loading to theother segment)getCachedZoneWriter(zone_name)
SEQUENCE DIAGRAM
5785797420646400
Simple communication exampleAliceAliceBobBobAuthentication RequestAuthentication Response
SEQUENCE DIAGRAM
5787132618604544
ControllerControllerSignsSignsBarriersBarriersBridgeBridgeBarrierBarrieropenBridgesetPre(Sign, on)commPreSigns(Sign)setStop(Sign, on)commStopSigns(Sign)setBarrier(Barrier, up)commBarrier(Barrier)setLock(Lock, engage)commLock(Lock)setDeck(up)commDeckcloseBrigesetDeck(down)commDecksetLock(Lock, disengage)commLock(Lock)setBarrier(Barrier, down)commBarrier(Barrier)setStop(Sign, off)commStopSigns(Sign)
SEQUENCE DIAGRAM
5789940453474304
«Generated»Famous Bob«Generated»Famous Bob«Testable»Alice«Testable»AliceFirst message
SEQUENCE DIAGRAM
5799597955874816
Synchronizacja z monitoramiMonitorKontrolermonitorDBmonitorDBmonitormonitorkontrolerkontrolerkontrolerDBkontrolerDBrrdtoolrrdtoolloop[dla ka¿dego monitora]1GET /data2timestamp, pomiaryloop[dla wszystkich pomiarow]3dodaj pomiar do bazy4uaktualnij baze5DELETE /data, timestamp6usun wszystkie pomiarydo timestampa
SEQUENCE DIAGRAM
5806288978051072
AVDECC-LIB GET STREAM FORMAT Command and Response Sequence DiagramGUI ApplicationGUI ApplicationStreamStreamTX Message QueueTX Message QueuePoll ThreadPoll ThreadAEM Controller State MachineAEM Controller State MachineNetwork InterfaceNetwork InterfaceRX Message QueueRX Message Queuesend_get_format_cmd()fill frame with commandspecific dataQueue the frameto be transmittedReturn sequence IDDequeue the framesendCommandqueue toinflight listTx packetQueue thereceived packetDequeue packetrxPacketremove frominflight listprocess responseStore streamformat fieldsNotification for the sequence IDRead stream format fieldReturn the field
SEQUENCE DIAGRAM
5814122998398976
Application WebServeur PlayUtilisateurUtilisateur«Contrôleur compte»account.js«Contrôleur compte»account.js«Contrôleur compte»Account.java«Contrôleur compte»Account.javasubmitUpdateField()getParameter()result = checkField()alt[result]update(field, captcha)result = captcha(captcha) && checkField(field)alt[result && Security.isConnected()]User user = User.getUser(Security.connected)user.field = fielduser.save()render(msg)display successful update[!result]render(msg)display error[!result]display error
SEQUENCE DIAGRAM
5818488966873088
AppAppKaltura LocalAssetsManagerKaltura LocalAssetsManagerDownloads Media tolocalPathregisterAsset(entryConfig, flavorId, localPath)SDK acquires licensealt[Success]Success[Failure]Failure
SEQUENCE DIAGRAM
5840451684794368
ProfessorProfessorStudentStudentGroupViewGroupViewGroupControllerGroupControllerGroupServiceGroupServiceGroupGroupMemberMemberProjectProjectRepositoryRepositorysubmitSolutionsubmitSolution (userName, Solution)submitSolution (userName, Solution)getGroup(groupName)GrouphasMember(Membership)getMember(Membership.key)Member[Member != NULL] truegetProject(Solution.projectID)ProjectsumbmitSolution (Membership, Solution, Project)validationsaddSolution(Solution)addSubmitedSolution(Solution.ID)notify(admin)emailsave(Group)successsuccessrenderSuccess
SEQUENCE DIAGRAM
5840758506520576
AliceAliceBobBobHelloShortlegend
SEQUENCE DIAGRAM
5845493439528960
http_client eventsapplicationapplicationhttp_clienthttp_clientconnectloopnormal requestrequestresponseexpect continue requestrequestresponse (continue)bodyresponsechunked requestrequestloopchunkresponsechunked responserequestresponseloopchunkopt[socket disconnected callback]disconnected
SEQUENCE DIAGRAM
5851343721857024
MonopolyABdoSomethingdoAdoB
SEQUENCE DIAGRAM
5855053231423488
Client Server interactionapplicationClientClient T0Client T1ServerServer TMonitorMonitor Tmongodnew(uri)store serverport in todo listPromise.start()load server:portfrom todo listClient objectnew()new()Monitor objectServer objectserver-init()start-monitor()Promise.start()Promiseismaster commandismaster resulttap from monitormonitor dataSet statustap from monitormonitor datastore new serverdata in todo listStore inserver listselect-server()Get serverfrom serverlistServer objectMonitor data is sent from Monitor thread using a SupplyData in Client structures for communication are guarded with Semaphores
SEQUENCE DIAGRAM
5874792632680448
Git branch conventions in avdecc-libdevelopment sequenceDeveloperX'senvironmentDeveloperY'senvironmentupstream gitDeveloperXDeveloperXbranchin forked localDeveloperX's git repobranchin forked localDeveloperX's git repoDeveloperYDeveloperYbranchin forked localDeveloperY's git repobranchin forked localDeveloperY's git repostagingbranchin upstream repostagingbranchin upstream repomasterbranchin upstream repomasterbranchin upstream repoManagerManagerIn this example DeveloperX isworking on a new featurecommits changes to forked git repomany updatescompleted a new featuregit pull requestemailed pull requestdo merge to staginggit mergeemail request to test stagingemail request to test stagingDeveloperY is taking on the roleof tester in this exampleloop[until staging test signoff]pulls staging branch for testinggit pullcommits bugfixes to forked git repogit pull requestemailed pull requestdo merge to staginggit mergeSignoffs for staging tests collected from all partiesdo mergestaging merged to master branch
SEQUENCE DIAGRAM
5881612235440128
Overflow scenariobuffer1 : Bufferchunk1 : Bufferbuffer2 : Bufferchunk2 : BufferClientClientsome : Parsersome : Parserbuffer1 : Bufferbuffer2 : Bufferchunk1 : Bufferchunk2 : Bufferallocatebuffer1 : Bufferinitialize with buffer1readchunk1 : Bufferfeed chunk1pull n tokenssome tokenoverflowsecond token didn't fit into buffer1allocatebuffer2 : Bufferrealloc with buffer2some part of buffer1 may be copied to buffer2freepull n tokensstarvingreadchunk2 : Bufferfeed chunk2pull n tokenssome tokenstarving
SEQUENCE DIAGRAM
5884491742576640
PlantUML4MarkdownPlantUML4MarkdownMarkdown (orig)Markdown (orig)PlantUML (markup)PlantUML (markup)Markdown (converted)Markdown (converted)PlantUMLPlantUMLUML Diagram (image)UML Diagram (image)ReadGenerateGenerateReadGenerate
SEQUENCE DIAGRAM
5888857711050752
clientclienthttp_serverhttp_serverapplicationapplicationHTTP request with header,expects: 100-Continueopt[default]response status = 100 Continue[expect continue handler]expect continueresponseHTTP response
SEQUENCE DIAGRAM
5889833339715584
la:LoadActionzw:ZoneWriterzd_new:ZoneDatanew:MemorySegment(Mapped):bundy-memmgr:bundy-memmgr:ConfigurableClientList:ConfigurableClientList:CacheConfig:CacheConfig:ZoneTableSegment(Mapped):ZoneTableSegment(Mapped)existing:MemorySegment(Mapped)existing:MemorySegment(Mapped)new:MemorySegment(Mapped):ZoneTable:ZoneTablezw:ZoneWriterla:LoadActionzd_existing:ZoneDatazd_existing:ZoneDatazd_new:ZoneDatareload(zonename)getCachedZoneWriter(zone_name)isWritable()truegetLoadAction()<<construct>>la:LoadActionla<<construct>> (la)zw:ZoneWriterzwload()(funcall)<<construct>> via helperszd_new:ZoneDatazd_newinstall()addZone(zd_new)zd_existing (old data)cleanup()<<destroy>>command tomodules(datasrc_name,segmentparam)ack from allmodulesresetMemorySegment(datasrc_name,READ_WRITE,segmentparam)reset(READ_WRITE,segmentparam)<<destroy>><<construct>>new:MemorySegment(Mapped)(repeat thesame sequencefor loading to theother segment)getCachedZoneWriter(zone_name)
SEQUENCE DIAGRAM
5895559604862976