2013-5-26-모바일인지-sequenceDiagram(MDS기준 비동기적방식).svg source

Retired DISLab
이동: 둘러보기, 찾기
Title : MDS가 사용하는 경우 (비동기적 방식 사용)
participant CardProgram
participant AgentMonitorApplication
participant AgentMonitor
participant AgentMonitorReceiver
participant Weather
participant WeatherThread
participant BlackboardMonitorApplication
participant BlackboardMonitor
participant BlackboardReceiver
participant ServiceInterface
participant BlackboardService
participant BlackBoard
participant WebService
participant WeatherCenter
participant AnotherClients

AgentMonitorApplication -> AgentMonitorApplication : (Auto Generated)
AgentMonitorApplication -> AgentMonitor : getInstance()
AgentMonitor -> AgentMonitorReceiver : registerReceiver()
AgentMonitor --> AgentMonitorApplication : AgentMonitor Instance
BlackboardMonitorApplication -> BlackboardMonitorApplication : (Auto Generated)
BlackboardMonitorApplication -> BlackboardMonitor : getInstance()
BlackboardMonitor -> BlackboardReceiver : registerReceiver()
BlackboardMonitor -> BlackboardService : bindService()
BlackboardMonitor -> Weather : <<create>>
Weather -> BlackboardMonitor : registerAgent(this:Agent)
BlackboardMonitor --> BlackboardMonitorApplication : BlackboardMonitor Instance
Note right of CardProgram : <- Start Here
CardProgram -> AgentMonitor : getInstance()
AgentMonitor --> CardProgram : AgentMonitor Instance
CardProgram -> AgentMonitor : createCard("weather":String, wantedData:ContentValues):String
AgentMonitor -> AgentMonitor : registerUID(“weather”:String)
AgentMonitor -> BlackboardReceiver : sendBroadcast()[A] 
AgentMonitor --> CardProgram : return():void (CardProgram은 다른 일 수행 가능)
BlackboardReceiver -> BlackboardMonitor : Agents.Iterator():Iterator
BlackboardMonitor --> BlackboardReceiver : Agents Array List Iterator
BlackboardReceiver -> Weather : run(wantedData:String)[B]
Weather -> WeatherThread : new WeatherThread.excute(wantedData:String)[C]
WeatherThread -> BlackboardMonitor : getInstance()
BlackboardMonitor --> WeatherThread : BlackboardMonitor Instance
WeatherThread -> BlackboardMonitor : get(“current context”:String, “GPS”:String):String
BlackboardMonitor -> BlackboardService : get(“current context”:String, “GPS”:String):String
BlackboardService -> BlackBoard : getData(dataName:String):String
BlackBoard --> BlackboardService : 현재 좌표
BlackboardService --> BlackboardMonitor : 현재 좌표
BlackboardMonitor --> WeatherThread : 현재 좌표
WeatherThread -> BlackboardMonitor : get("User Behavior Model":String, "Static Temporal POI Prob":String):String
BlackboardMonitor -> BlackboardService : get("User Behavior Model":String, "Static Temporal POI Prob":String):String
BlackboardService -> BlackBoard : getData(dataName:String):String
BlackBoard --> BlackboardService : 5시간 뒤 예상좌표
BlackboardService --> BlackboardMonitor : 5시간 뒤 예상좌표
BlackboardMonitor --> WeatherThread : 5시간 뒤 예상좌표
WeatherThread -> ServiceInterface : get("weather":String, {"현재 좌표":String, "현재 시간":String, "5시간 뒤 예상 좌표":String, "5시간 뒤 시간":String}
ServiceInterface -> WebService : URL
WebService -> WeatherCenter : 기상 정보 얻기
WeatherCenter --> WebService : 기상 정보
WebService --> ServiceInterface : 기상 정보(JSON)
ServiceInterface --> WeatherThread : 기상 정보:String
WeatherThread -> BlackboardMonitor : sendResult(weatherData:String)
BlackboardMonitor -> AgentMonitorReceiver : sendBroadcast[D]
BlackboardMonitor -> AnotherClients : sendBroadcast[D]
AgentMonitorReceiver -> AgentMonitor : getUIDiterator()
AgentMonitor --> AgentMonitorReceiver : UID List Iterator
AgentMonitorReceiver -> AgentMonitor : completed(weatherData:String) [E]
개인 도구
이름공간
변수
행위
둘러보기
구성원
연구
연구실
기타
도구모음
인쇄/내보내기