2013-5-26-모바일인지-sequenceDiagram(ActionLogger가 사용하는 경우 UPGRADE (위의 비동기적 방식에 맞춤)).svg source

Retired DISLab
이동: 둘러보기, 찾기
Title : ActionLogger가 사용하는 경우 UPGRADE (위의 비동기적 방식에 맞춤)

participant Agent1
participant BlackboardMonitorApplication1
participant BlackboardMonitor1
participant BlackboardReceiver1
participant BlackboardService
participant Blackboard
participant BlackboardReceiver2
participant BlackboardMonitor2
participant BlackboardMonitorApplication2
participant Agent2

BlackboardMonitorApplication1 ->BlackboardMonitorApplication1 : (Auto Generated)
BlackboardMonitorApplication1 -> BlackboardMonitor1 : getInstance()
BlackboardMonitor1 -> BlackboardReceiver1 : registerReceiver()
BlackboardMonitor1 -> BlackboardService : bindService()
BlackboardMonitor1 -> Agent1 : <<create>>
Agent1 -> Agent1 : init() (Runnable 객체 사용)
Agent1 -> BlackboardMonitor1 : registerAgent(this:Agent)
Agent1 -> BlackboardMonitor1 : suubscribe(objectName:String, dataName:String, operation:String, this:Agent)
BlackboardMonitor1 --> BlackboardMonitorApplication1 : BlackboardMonitor1 Instance
BlackboardMonitorApplication2->BlackboardMonitorApplication2: (Auto Generated)
BlackboardMonitorApplication2-> BlackboardMonitor2 : getInstance()
BlackboardMonitor2-> BlackboardReceiver2: registerReceiver()
BlackboardMonitor2-> BlackboardService : bindService()
BlackboardMonitor2-> Agent2: <<create>>
Agent2 -> Agent2 : init() (Runnable 객체 사용)
Agent2-> BlackboardMonitor2: registerAgent(this:Agent)
Agent2-> BlackboardMonitor2: suubscribe(objectName:String, dataName:String, operation:String, this:Agent)
BlackboardMonitor2 --> BlackboardMonitorApplication2 : BlackboardMonitor2 Instance
Agent1 -> BlackboardMonitor1 : update(objectName:Stirng, dataName:String, data:String)
BlackboardMonitor1 -> BlackboardService : update(objectName:Stirng, dataName:String, data:String)
BlackboardService -> Blackboard : getData(dataName:String):String
Blackboard --> BlackboardService : current data value
BlackboardService -> Blackboard : putData(ObjectName:String, data:String)
BlackboardService -> BlackboardReceiver1 : broadcast
BlackboardService -> BlackboardReceiver2 : broadcast
BlackboardReceiver1 -> BlackboardMonitor1 : getListenerIterator():Iterator
BlackboardMonitor1 --> BlackboardReceiver1 :Listeners Array List Iterator
BlackboardReceiver1 -> Agent1 : notified(ObjectName:String, oldValue:String, newValue:String, operation:String) (등록된 Listener일 경우)
BlackboardReceiver2-> BlackboardMonitor2: getListenerIterator():Iterator
BlackboardMonitor2--> BlackboardReceiver2:Listeners Array List Iterator
BlackboardReceiver2-> Agent2: notified(ObjectName:String, oldValue:String, newValue:String, operation:String) (등록된 Listener일 경우)
개인 도구
이름공간
변수
행위
둘러보기
구성원
연구
연구실
기타
도구모음
인쇄/내보내기