Real World PlantUML
Simplecommunication exampleon several linesAliceAliceBobBobAuthentication RequestAuthentication Response
SEQUENCE DIAGRAM
5258524686811136
ClientSSOServerHadoopService1. credentialstokens2. access tokenrequested resource
SEQUENCE DIAGRAM
5273659614691328
:ConfigurableClientList:CacheConfig:ZoneTableSegment(Mapped)seg1:MemorySegment(Mapped)seg2:MemorySegment(Mapped):b10-auth:b10-auth:ConfigurableClientList:CacheConfig:ZoneTableSegment(Mapped)seg1:MemorySegment(Mapped)seg2:MemorySegment(Mapped)new/initial config(datasrc cfg)<<construct>>:ConfigurableClientListconfigure(cfg)<<construct>> (cfg):CacheConfig<<construct>>:ZoneTableSegment(Mapped)isWritable()Segment not writablewhen not resetfalsegetStatus()DataSourceStatus[]subscribe tomemmgr groupcommand frommemmgr(datasrc_name,segmentparam)resetMemorySegment(datasrc_name,READ_ONLY,segmentparam)reset(READ_ONLY,segmentparam)<<construct>>seg1:MemorySegment(Mapped)command frommemmgr(datasrc_name,segmentparam)resetMemorySegment(datasrc_name,READ_ONLY,segmentparam)reset(READ_ONLY,segmentparam)<<destroy>><<construct>>seg2:MemorySegment(Mapped)reload(zonename)getCachedZoneWriter(zone_name)isWritable()Segment not writableas it is READ_ONLYfalseCACHE_NOT_WRITABLE
SEQUENCE DIAGRAM
5276177807704064
Transact24ResellerResellerCardDirectorAPICardDirectorAPIPrepare messageSign messageSend message(JSON POST request via HTTPS)Verify message's signatureProcessing (it's a long process)Prepare interim response messageSign interim response messageReturn interim response message (JSON) with status: processingVerify response message's signaturePrepare final response messageSign final response messageSend final response message (status code: success or fail) to reseller's callback URL(JSON POST request via HTTPS)Verify response message's signature
SEQUENCE DIAGRAM
5276786887753728
AliceAliceBobBobAuthentication RequestAuthentication Response
SEQUENCE DIAGRAM
5282543486107648
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
5287730464423936
Application WebServeur PlayUtilisateurUtilisateur«Contrôleur formulaire»formMeeting.js«Contrôleur formulaire»formMeeting.js«Contrôleur formulaire»Meeting.java«Contrôleur formulaire»Meeting.java«Email»Mails.java«Email»Mails.javasubmitMeeting()getParameters()result = checkFields()alt[result]formMeeting(fields)result = checkFields()alt[result && Security.isConnected]User user = User.getUser(Security.connected)Meeting meeting = new Meeting(fields,user)meeting.url = meeting.generateURL()meeting.save()alt[meeting == prive]saveParticipants()sendEmailToParticipants(particpants)renderJSON(0)display information[!result || !Security.isConnected]renderJSON(1)display error[!result]display error
SEQUENCE DIAGRAM
5311971259842560
: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
5318662282018816
Member1aMember1aMember1bMember1bBroker1Broker1Broker2Broker2Member2aMember2aIndicator SubmissionIndicator ReceiptFederationIndicator SubmissionIndicator ReceiptIndicator FeedbackFederationIndicator FeedbackIndicator FeedbackIndicator Feedback
SEQUENCE DIAGRAM
5324357945524224
:ConfigurableClientList:CacheConfig:ZoneTableSegment(Mapped)seg1:MemorySegment(Mapped)seg2:MemorySegment(Mapped):bundy-auth:bundy-auth:ConfigurableClientList:CacheConfig:ZoneTableSegment(Mapped)seg1:MemorySegment(Mapped)seg2:MemorySegment(Mapped)new/initial config(datasrc cfg)<<construct>>:ConfigurableClientListconfigure(cfg)<<construct>> (cfg):CacheConfig<<construct>>:ZoneTableSegment(Mapped)isWritable()Segment not writablewhen not resetfalsegetStatus()DataSourceStatus[]subscribe tomemmgr groupcommand frommemmgr(datasrc_name,segmentparam)resetMemorySegment(datasrc_name,READ_ONLY,segmentparam)reset(READ_ONLY,segmentparam)<<construct>>seg1:MemorySegment(Mapped)command frommemmgr(datasrc_name,segmentparam)resetMemorySegment(datasrc_name,READ_ONLY,segmentparam)reset(READ_ONLY,segmentparam)<<destroy>><<construct>>seg2:MemorySegment(Mapped)reload(zonename)getCachedZoneWriter(zone_name)isWritable()Segment not writableas it is READ_ONLYfalseCACHE_NOT_WRITABLE
SEQUENCE DIAGRAM
5327115582963712
Source EndpointSink Endpoint«Operator»SourceOpFlow ControlData ServiceRemote Flow Control«Operator»SinkOpnotify ConnectionDetailsstart()bind socketstart()start()connectstart() provides ConnectionDetailspreviously exchanged by Operators
SEQUENCE DIAGRAM
5343135542542336
AliceAliceTheFamousBobTheFamousBobAwell formatedmessageThis isdisplayedleft ofAlice.Thisisdisplayedleft ofAliceBob.This is hostedby(File not found: /var/lib/jetty/sourceforge.jpg)
SEQUENCE DIAGRAM
5346546551881728
WebExMgrServiceMgrCTCQuickStartDialogCTCQuickStartDialogCTCQuickStartSessionMgrCTCQuickStartSessionMgrCTCUIMgrCTCUIMgrCTCBOUIMgrCTCBOUIMgrCTCServiceMgrCTCServiceMgrCTCBOSessionMgrCTCBOSessionMgrCTCAppShareSessionMgrCTCAppShareSessionMgrCSmAppShareSessionMgrCSmAppShareSessionMgrOnShareDesktop"Click Quick Start : Share Application(IDC_SHARE_DESKTOP)"OnQSActionSendMessage(NEWQSID_SHAREAPPLICATION)OnBOMenuHandleSendMessage(ID_TC_SHARE_APPLICATION_BO) OnBOMenuHandleOnApplicationBOCreateBOShareSessionShowRunningAppDialogCTCAppShareSessionMgr public CSmAppShareSessionMgr
SEQUENCE DIAGRAM
5371689827303424
MonopolydoSomethingdoAdoBdoC
SEQUENCE DIAGRAM
5378174691049472
Usuwanie hosta z monitoringuKontrolerMonitorUIUIkontrolerkontrolerkontrolerDBkontrolerDBmonitormonitormonitorDBmonitorDB1DELETE /host/{id}2pobierz service'y dla hosta3lista service'ówloop[dla ka¿dego service'u]4uaktualnienie service'u5podmiana w bazie6POST /service7podmiana w bazie8status 2049usuniecie hosta10DELETE /host/{id}11usuniêcie hosts12status 204
SEQUENCE DIAGRAM
5387278679539712
UserUserFirst ClassFirst ClassSecond ClassSecond ClassLast ClassLast ClassDoMoreWork
SEQUENCE DIAGRAM
5396276501807104
CustomerCustomerAppAppMobile BrowserMobile BrowserWeb ServerWeb ServerSEQRSEQRSample Web Shop1Open shop page2GET /shop3Shop page4Add item to cart5POST /shop/additem6Updated page7Go to checkout with SEQR8GET /shop/checkoutSEQR Payment9sendInvoice10Invoice Reference11Checkout pagewith SEQR link12Click SEQR link13Start SEQR App14Fetch invoice15Invoice16Show invoice details17Press 'confirm'18Show PIN dialog19Enter PIN code20Pay invoice21Receipt22POST [notificationUrl]23getPaymentStatus24PAID25Show payment confirmation26Press 'OK'27Open backURL28GET [backURL]29Receipt page
SEQUENCE DIAGRAM
5397656394268672
Card Application RecordT24 OperatorT24 OperatorCardDirector UICardDirector UIFDD/SDD CheckerFDD/SDD CheckerCard Application Record1Submit Applications2Create record for eachapplicationCard Application Recordloop[Until KYC pass, Review OK or Operator cancel application]3Submit KYC Checks4Do the KYC check process5Submittedalt[KYC pass]6KYC passopt[For QGen who may contact the card applicant for updating their personal information]7Send the updatedapplicant info8Create new revision with updated detailsand KYC files9PassedWait until scheduled time10Send a report ofcards passed KYC11Review the KYCstatusalt[Review OK]12Confirm the passedapplications13Proceed with further processing[Review not OK]14Update theapplication15Create new revision with updated detailsand KYC files16Request for anotherKYC check[KYC fail]17KYC fail18Failed19Send a report offailed KYC20Review the KYCstatus21Update the KYCdetails22Create new revision with updated detailsand KYC files23Request for anotherKYC check
SEQUENCE DIAGRAM
5398688528596992
AliceAliceBobBobmessage 1okmessage 2okmessage 3ok
SEQUENCE DIAGRAM
5404269838598144
AliceAliceBobBobLogLogAuthentication Requestalt[successful case]Authentication Accepted[some kind of failure]Authentication FailureMy own labelLog attack startloop[1000 times]DNS AttackLog attack end[Another type of failure]Please repeat
SEQUENCE DIAGRAM
5410611357810688
audio_rxtx Interaction DiagramSender Shutdown On Incompatibilityprocprocsendersenderreceiverreceiver1configure & start2start listening for audio3configure & start4start offering audio5/offer6check compatibilty7/deny8stop offering audio9shutdown on incompatibility
SEQUENCE DIAGRAM
5410730543153152