Real World PlantUML
IDLEWAIT_STARTSTARTEDFINISHEDreceive SEND SCRIPT /send SCRIPT RECEIVEDreceive START /send STARTEDreceive STOP /send REPORTexception /send EXCEPTIOMtrigger event, set variable /send EVENT or VARIABLE,receive EVENT or VARIABLE/save event or variablescript end / send REPORTreceive STOP / send REPORTexception / send EXCEPTION
STATE DIAGRAM
5833199632515072
ClickServlet.handleRequest()new pagePage.onInit()Process controlscontinue processing?noisPost?yesnoPage.onPost()Page.onGet()Page.onRender()noisForward?truePage.onSecurityCheckfalsedo redirect?yesredirect processdo forward?yesnoForward requestRender page template
ACTIVITY DIAGRAM
5835716751785984
SimpleUsecasewith one actorUse the applicationUser
USE CASE DIAGRAM
5836609568112640
Select a serverServer processingBuildinit object and startbackground procSelectfind proper serverAwaitwait for server selectto have at least amaster serverReceivereceive serverobjects from channelUriClient Objectserverserver objectDiscoverloop throughlist of serversCatagorizecatagorize listof serversSendsend each serverobject through channelTopologyset server types andClient topologyInterrogateask server for secondary hostsserver from urilist of serverslist of serverslist of serversmaster serverfound servers
STATE DIAGRAM
5839127761125376
ServerGamemap<string routingId, Robot &> _robotsmap<string routingId, Player &> _playersmap<string, Team &> _teamsbool _isGameStartedvoid start()void stop()void addRobot(string iName)void addPlayer(string iName)Robot getAvailableRobot()void fillGameStateMessage (orwell::messages::GameState & iMessage)routingId = Robot nameDo we need explicit link between robot and player ?Playerstring nameTeam & _teamRobotstring namevoid fillRobotStateMessage (orwell::messages::RobotState & iMessage)Teamlist<Player &> _playersvoid addPlayer(Player iPlayer)void removePlayer(Player iPlayer)10-*10-*10-*10-*1111
CLASS DIAGRAM
5839736841175040
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
des.cldes.cl.glCLCommandQueueCLContextCLDeviceCLPlatformCLEventCLUserEventCLKernelCLMemoryHandlerCLMemoryCLProgramCLBuildOptionCLGLContextCLGLMemory
CLASS DIAGRAM
5841473350139904
AliceAliceBobBobHelloShortlegend
SEQUENCE DIAGRAM
5845493439528960
Controllerkb_protocol_factoryrun()KB_ProtocolFactoryprotocolscript_managercontext_pathKB_Protocolscript_managercontext_managerstring_received()_send()_parse()Queryrequestscript_managercontext_managerprotocolprocess()on_start_test()on_stop_test()on_query_send()on_query_receive()ScriptManagerscripts {feature: script_tree}_load_scripts(path)find_script(msg)ScriptTreerootinsert(paras, script)find(paras, script)ScriptTreeNodescriptparasadd_child(node)del_child(node)specific_than(node)Scriptnamemodulerun()ContextManagerindex_list {ctxt_type : index_list}contexts []_load_index_of_context(path)get_context(ctxt_type, key)get_context(ctxt_type) #last contextcreate_context(ctxt_type, **paras)delete_context(ctxt)delete_all_contexts()IndexListcontext_typekeys []indexes {key_name : index}get_context(key)insert_index(ctxt)Indexcontext_typekey_nameindexes {key_value: contexts}get_context(key)insert_index(ctxt)update_index(ctxt)delete_index(key)delete_all_index()Contextcontext_typeindexes {value tuple : index}fields {name : value}set_field()get_field()Timelinecreaterefer tocreaterefer tosorted based on timefindupdate
CLASS DIAGRAM
5850680417845248
http_client eventsapplicationapplicationhttp_clienthttp_clientconnectloopnormal requestrequestresponseexpect continue requestrequestresponse (continue)bodyresponsechunked requestrequestloopchunkresponsechunked responserequestresponseloopchunkopt[socket disconnected callback]disconnected
SEQUENCE DIAGRAM
5851343721857024
stopkill screenexit 1stop Apache 2exit 2screenrunning ?YeskilledNoYesNostoppedNoYes
ACTIVITY DIAGRAM
5853790511038464
startecho a warninglaunch Orchestra with screen,sleep for 5 secondsecho a warningecho a successstoragemounted ?NoYesAPI GET / ?NoAPI GET / ?NoYesYes
ACTIVITY DIAGRAM
5854900491649024
MonopolyABdoSomethingdoAdoB
SEQUENCE DIAGRAM
5855053231423488
foo1testfoo2foo3foo4foo5The text canalso be on several linesandverylong...You can put text on arrows
ACTIVITY DIAGRAM
5857384190705664
PDFGeneratorquestionCount : intvariantCount : intthemesOut : List<String>generatePDF(qc: int, vc: int, themes: List<String>) : PDFFileGeneratingFrameQuestionManageruseuse
CLASS DIAGRAM
5859735551082496
Initializationread config fileinit internal variableRunningwait for user interactionprint information
ACTIVITY DIAGRAM
5861666675752960
checkoutcheckoutpaymenthelpcustomerclerkincludeextends
USE CASE DIAGRAM
5868008194965504
username = "Dummy"id = 123
CLASS DIAGRAM
5868127380307968
Black boxtestingWhite boxtestingUnittestingIncrementalintegrationtestingIntegrationtestingFunctionaltestingEnd to endtestingRegressiontestingAcceptancetestingStresstestingPerformancetestingUsabilitytestingInstall/uninstalltestingSecuritytestingCompatibilitytesting
COMPONENT DIAGRAM
5871511546101760
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