Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Droid Emergency Context Service - Msc.
1. Department of Computer Science
Federal University of Minas Gerais
Waldir Ribeiro Pires Junior
Prof. Antonio Alfredo Ferreira Loureiro
17/06/2009
2. Agenda
ž Introduction
ž Prototype Development - DECS
— Overview
— Architecture
— Process execution workflow
— Web development & UI Panels
ž Conclusions
ž References
3. Introduction
ž Emergency Context Service
— Selects mobile units and landmarks to best serve an
emergency event (health, fire and security)
ž Event-based distributed systems
— Changes in states represented by event objects sent
through the network,
— Events activate web services where and when applicable
ž Web application frameworks for UbiComp
applications
— High adaptability across different devices
— Cloud-based infrastructure over the Web
— Web Frameworks used: Google Web App Engine (GAE)
and Google Web Toolkit (GWT)
4. Introduction
Related Work
ž Use case scenarios in mobile/ubiquitous
computing
— Tourism (indoor and outdoor), classrooms,
emergencies, LBS
ž Profile and Context Information
— Focus on the device only, no data is shared to
outside services
ž Event-based distributed systems
— Fixed networks, wireless sensor networks
5. Prototype Development
Overview
Characteristics DECS
Use case scenarios
Management of Mobile Emergency Units (MEUs),
such as ambulances, firetrucks and police
Client platform
Server platform
User interface for
geographical
information
Event Notification
Service
Google Web
AppEngine
(Python)
Web technologies
(HTML, XML,
JavaScript, AJAX)
Google Web Toolkit
Google Web AppEngine
(JavaEE)
Google Maps
API (Web),
GPS Data
Google Maps
API (GWT),
GPS Data
Information from mobile emergency units
(MEUs) and emergency events,
mark selection (i.e., hospitals and police depts.),
resource allocation (i.e., rooms, Intense care unit)
6. Prototype Development
DECS – Ubiquitous Emergency Service
ž Droid Emergency Context Service
ž Communication: AJAX/XML over HTTP
ž Connectivity: WLAN and GPRS/3G
ž Architecture: client-server (Browser)
ž Development environment
— Eclipse IDE 3.3 + ADT 0.8 +
PyDev + GWT
— Google Web AppEngine SDK
? Python RE 2.5.x
? JavaEE 5.0
ž Development of three prototypes
— Client HTML/Javascript, server GAE
(Python)
— Client GWT monolithic, server GAE
(JavaEE)
— Client GWT component-based, server GAE
(JavaEE)
Internet
DECS Application
Event Processor
Google Web
Toolkit
Client Web Browser
AJAX
XML
HTTP
Requests
XML/HTTP
Responses
HTML
AJAX
JavaScript
GMaps
APIs
Mark/User Processor
Cloud App. Server
Event
Server
DECS Server
Python RE/JavaEE GAE APIs
……
Event Queue
IBWS
Proxy
GMaps APIs
Base de
Dados
Base de
Dados
7. EntryPoint
Client
Persistence Manager
Factory
Server
Cloud DB
Service Impl
UserService
EventService
Emergency
Service
UserService
EventService
Emergency
Service
Service Proxy
Web Application
DECS Context
AJAX
XML
HTTP
Web
Browser
Profile
and
Context
Manager
WebKit (Android)
Mozilla Firefox
MS IE
Symbian Skyfire
LandmarkService
Device Information
-Location
-Energy & Processing
-Connectivity (cost & velocity)
User Information
-Status
-Global context (traffic)
-Landmark and Emergency
Profile and Context
Manager
Cloud InfrastructureAJAX Context
LandmarkService
Statistics
Events
Routes
Emergencies
Messages
Users
Queue List
Statistics
Events
Routes
Emergencies
Messages
Users
Queue List
LoginPanel
OK
Cancel
OK
Cancel
ActionAction CallbackCallbackActionActionActionAction CallbackCallbackCallbackCallback
ClickHandlerClickHandler
ClickHandler
ClickHandler
ClickHandlerClickHandler
ClickHandler
ClickHandler
UnM
PoV
LnM
Users
UnMUnMUnM
PoVPoV
LnMLnM
Users
Prototype Development
DECS Component-based Prototype Arch.
8. Prototype Development
DECS Component-based Prototype
ž Users
— Landmarks (hospital, fire dept. and police dept.) and Mobile
users (ambulance, police car, fire truck,
patient/victim/eyewitness)
ž Client side
— Web Browser
? Android WebView, Mozilla Firefox, Symbian Skyfire
— Profile and Context Manager
— DECS Context
ž Server side
— Profile and Context Manager
— DECS Service implementation
— Persistent Management Factory (GAE JavaEE)
— Cloud database (DataNucleus DataStore)
9. Prototype Development
DECS Component-based Prototype
ž Entry point: GWT app. starting class
ž DECS Context
— Operation classes
? Actions: execution of actions
? Callbacks: execution of returns from actions
? Handlers: execution of user commands
— Service proxy: access to services over the cloud
infrastructure
? Emergency, User, Landmark and Event services
— Queue list
? List of elements relevant to the context of the application
— UI Panels
? User Interface based on GWT UI classes
10. Prototype Development
DECS Process Execution Workflow
Mobile User DECS Service Mobile Emergency Unit Landmark
Create Emergency
Event
Create Emergency
Event
Search for closest
MEU available
MEU receives notification of
Emergency Event
Dispatch MEU to
Emergency Event
MEU arrived at Emergency Event
Service receives notification
MEU ready to go to Landmark
Search for closest
Landmark available
Landmark receives
notification of
Emergency Event
Dispatch MEU to
Landmark
Service receives notification
MEU arrived at Landmark
Emergency Event transferred to
Landmark
Landmark received
Emergency Event
Service receives notification
Service receives notification
Service receives notification
11. Prototype Development
DECS Process Execution Workflow
ž ISMU: In Search for Mobile Emergency Units (MEUs)
for emergency event
ž MUDE: MEU Dispatched to Emergency event
ž MUAE: MEU Arrived at Emergency event
ž MURGL: MEU Ready to Go to Landmark (hospitalor
police dept.)
ž ISCLMU: In Search for Closest Landmark for MEU
ž MUDL: MEU Dispatched to Landmark
ž MUAL: MEU Arrived at Landmark
ž ETL: Emergency Transferred to Landmark
ž LRE: Landmark Received Emergency
12. Prototype Development
Web Frameworks for Ubicomp Applications
ž Viability study
in using Web
application
frameworks
for building
mobile and
ubiquitous
applications
13. Prototype Development
DECS UI Panels
Login
Screen
Main Menu Map UI
with route
defined
between
MEU and
hospital
Map UI
with route
defined
between two
points
Map UI
with route
defined
between two
MEUs
14. Prototype Development
DECS UI Panels
Directions UI
between MEU
and hospital
MEU update
UI panel
(location and
activity)
Users UI with
list of MEUs
and landmarks
Event UI
showing events
received from
server at the
client
Stats UI
showing
statistics from
the application
17. Conclusions
ž Nest Steps
— Finalize the development (emergency work flow)
— Update text and references in the dissertation
— Publish a paper
ž Open issues
— Security (privacy, encryption)
— Network usage (cost and performance)
— Energy constraints (battery life, connectivity)
18. References
ž A. K. Dey, “Understanding and using context,” Personal
Ubiquitous Comput., vol. 5, no. 1, pp. 4–7, 2001.
ž R. Meier and V. Cahill, “Taxonomy of distributed event-
based programming systems,” Comput. J., vol. 48, no. 5,
pp. 602–626, 2005.
ž G. Mhl, L. Fiege, and P. Pietzuch, Distributed Event-
Based Systems, 1st ed. Springer, 2006.
ž M. Caporuscio and P. Inverardi, “Uncertain event-based
model for egocentric context sensing,” in SEM ’05:
Proceedings of the 5th international workshop on
Software engineering and middleware. New York, NY,
USA: ACM, 2005, pp. 25–32.
19. References
ž Y. Takeuchi and M. Sugimoto, “A user-adaptive city guide
system with an unobtrusive navigation interface,” Personal
Ubiquitous Comput., vol. 13, no. 2, pp. 119–132, 2009.
ž A. Carzaniga, D. S. Rosenblum, and A. L. Wolf, “Design and
evaluation of a wide-area event notification service,” ACM
Trans. Comput. Syst., vol. 19, no. 3, pp. 332–383, 2001.
ž G. Gruman and E. Knorr, “What cloud computing really means,”
2008. [Online]. Available: http://tiny.cc/cloudComp
ž “Google android platform,” 2009. [Online]. Available:
http://code.google.com/android/
ž “Google web appengine platform,” 2009. [Online]. Available:
http://code.google.com/appengine/