+ Dana Popovici (PhD student), Mikael Desertot (co-adviser), Sylvain Lecomte (adviser) LAMIH L A M I H ABORATOIRE D’ UTOMATIQUE DE ECANIQUE ET D’ NFORMATIQUE INDUSTRIELLES ET UMAINES
Jun 27, 2015
+
Dana Popovici (PhD student), Mikael Desertot (co-adviser), Sylvain Lecomte (adviser)
LAMIHL
A
M
I
H
A B O R A T O I R E
D’ UTOMATIQUE
DE ECANIQUE ET
D’ NFORMATIQUE
INDUSTRIELLES
E T U M A I N E S
+Plan
! Introduction ! Circumstances of our work
! Domain & goal
! The proposed framework – for transportation applications
! Context of execution – what is context?
! Architecture – on top of OSGi
! VESPA – example of a transportation application
! Conclusion & perspectives
2
+Circumstances of our work
! Nowadays: important technological advancements ! PDA; Smartphones (with GPS, Wi-Fi, …)
! Information & services available everywhere
! Existing applications that make use of such technology ! Location based services (using GPS): itinerary; POI; traffic information; …
! Cooperation applications between users: guided museum visits; file sharing; …
! Limits of the applications ! isolated applications – no cooperation between applications
! lack of flexibility – example: GPS navigation in a tunnel
! diversity of architectures
! lack of an unified framework to model and manage applications
3
+ Domain
! Transportation applications for mobile devices (Smartphone, tablet, …)
! Assist users traveling from one place to another
! GPS navigation + accidents notification + POI + parking + …
! React to context changes
! Easy to install and use
City POI
Gas
Shop
accident
Shop
City
What about in a city?
5
Highway
accident
ignored ! Gas
Brake !!
What is interesting on the highway?
4
4
+ Constraints & challenges
! Constraints
! Limited device resources
! small screen; little memory; …
! Need for communication – infrastructure access is not ensured
! in-car devices (no GSM); area without 3G coverage
! The user can't manage the device at all time
! especially drivers
! Challenges
! Users are highly mobile & distributed
! both the user and her/his neighbors move
! The context evolves
! city/highway; indoor/outdoor; new neighbor; GPS signal lost;…
5
+Scenario of use
! A driver using an application on the mobile phone
! navigation + parking place service (with simple broadcast protocol)
! the underground parking uses a dedicated parking place service
! the server & a user have the service
! Problems
1. how to download a service?
2. how to choose which one?
3. how to connect it to the existing application?
! Currently: not possible
6
+ Context-Aware Transportation Services (CATS) Framework
! A framework on mobile devices (Smartphone, in-car device,…) for transportation specific applications:
1. Context-Aware: applications react to context changes by reconfiguring or replacing services
2. Transportation: specific context elements
3. Services: modular applications built of services
4. Framework: simultaneous management of the applications
Framework
Service Aa
Application 1
Service Ca
Service Ba
Application 2
Service Da
Service Ea
Ser
vice
Bb
Execution manager
Trader
Context manager
7
+CATS Framework
1. Taking into account the context
2. Modular architecture
3. Service research and installation
Framework
Service Aa
Application 1
Service Ca
Service Ba
Application 2
Service Da
Service Ea
Execution manager
Trader
Context manager
8
+The context
! Context is all information that can be used to characterize the situation of an entity [Dey and Abowd, 1999] ! a system is context-aware if it uses context to provide relevant services &
information with respect to the user's task
! Who uses context and which elements? ! all mobile applications that are in frequently changing environments
! elements: sensor data (temperature, sound, …); personal context (user's schedule, preferences, …); services available in proximity; etc.
! impossible to model all the context !!
9
+Context in transportation
! Our applications assist users on the move ! Goal: don't stop working & adapt to the context
! How do we adapt? ! replace services (they don't work / they're not suited)
! download & install new services
! What are the domain characteristics? ! high mobility of the users
pedestrians, passengers (bus, train, …), drivers (city, highway)
! unstable communication network
infrastructure connection loss, changing neighbors
! need to function in ad-hoc
(example: notification of an accident or emergency breaking)
10
+Context elements
Context
DeviceCtx ExecutionCtx EnvironmentCtx UserCtx
Software Hardware Services Data Position Network Use External Time Profile Prefers
! The device – services may be specific for a device or need certain resources (important at download!)
! The execution framework – services have dependencies which must be resolved (important at download!)
! The environment – changes constantly and influences the performance of the services; it determines the reconfiguration or replacement of services
! The user – can influence the behavior of some services
11
+Approach
! A context element can determine the stopping of a service ! an equivalent service must be found, independent of that element
! example: positioning with GPS / Wi-Fi
! Some services are context-dependent ! they need to know the value of an element to configure parameters – example:
traffic event notification on the highway / in the city
! equivalent services based on the context
! Context monitoring with a publish & subscribe mechanism for the context elements
12
+CATS Framework
1. Taking into account the context ! Context Manager – takes snapshots of the context elements
2. Modular architecture
3. Service research and installation
Framework
Service Aa
Application 1
Service Ca
Service Ba
Application 2
Service Da
Service Ea
Execution manager
Trader
Context manager
13
+CATS Framework
1. Taking into account the context
2. Modular architecture – service based ! OSGi framework
3. Service research and installation
Framework
Service Aa
Application 1
Service Ca
Service Ba
Application 2
Service Da
Service Ea
Execution manager
Trader
Context manager
14
+Execution Manager
! Needed for extra functionality on top of OSGi
! Manages services with respect to the context ! stops services which are no longer conform with the conditions
! starts an equivalent service which is suited
! handles the situation when no equivalent is present on the device
! launches a search for the service on neighboring devices
15
+CATS Framework
1. Taking into account the context
2. Modular architecture
3. Service research and installation ! service description; discovery
Framework
Service Aa
Application 1
Service Ca
Service Ba
Application 2
Service Da
Service Ea
Execution manager
Trader
Context manager
16
+ Service discovery (in the transportation domain)
! Infrastructure access is not always available – search near by ! ideally: have a maximum of services on the device (when possible)
! Constraints: ! download before the devices are too far apart – choose "best" device
! services should be of small size
service?
too far
too fast ok
17
+The Trader
! Goal: retrieve as fast as possible a suitable service
! Criteria: ! service functionality – does it do what we want?
! context dependency – is it suited for the current context of the device?
! relative movement of the devices – is there enough time to download?
! Functioning of the Trader [work in progress] ! the device sends a request for a service to neighboring devices
! the neighbors having an implementation of the service answer
! the device chooses the "best" service
! the device downloads & installs the service
18
+So… the CATS framework
! is based on OSGi – allows to install & deploy services on the fly
! has bundles to manage the framework and the applications ! Context Manager; Execution Manager; Trader
! uses equivalent services based on context situations and encourages a maximum of local services ! 3G/Internet is not always available
! Which applications run on CATS ?
19
+ VESPA ! uses V2V communication to share information about events on the road
! information dissemination => dissemination protocol
! estimation of event relevancy => based on GPS coordinates
! user notification => information display on screen
20
+ VESPA on CATS ! Several map services (for event notification):
! no map – display distance & direction to the event
! google – needs 3G or Internet
! local – simplified map to download (example: user made map of a village)
! Several parking place protocols: ! dissemination – risk of competition
! reservation protocol – increased number of messages
21
Framework
EP
VESPA
Positioning
Dissemination
Application 2
Service Da
Service Ea
Execution manager
Trader
Context manager
+ Evaluations – service exchange
! Prototype on Android 2.2 with Felix 3.0.3
22
!"
#!!"
$!!!"
$#!!"
%!!!"
%#!!"
&!!!"
&#!!"
'" %!" '!!"
!"#$%&'%(')
*+',
(%-#
./%
0"1$%'2%&3$%4+$%-56/%
()*+,-)"./012/3."34"$5#"6"
(367819"
:;<"
!"
#!!"
$!!!"
$#!!"
%!!!"
%#!!"
&!!!"
&#!!"
$'#" ('#" $#"
!"#$%&'%(')
*+',
(%-#
./%
0".&,*1$%2$&)$$*%34'*$.%-#/%
)*+,-./"0"123.42*1"25",6789:6,"
(;<"
%!;<"
(!!;<"
!"
#!!"
$!!!"
$#!!"
%!!!"
%#!!"
&!!!"
&#!!"
$'#" ('#" $#"
!"#$%&'%(&')
*%+',
-.'/
+%0%"-(&/..%1#(2%
3"(&/-4$%5$&,$$-%)6'-$(%1#2%
)*+,-./."0.1234."053/46"7"8-.039."%!":;"
<=+0>?@"
AB)"
!"
#!!"
$!!!"
$#!!"
%!!!"
%#!!"
&!!!"
&#!!"
$'#" ('#" $#"
!"#$%&'%$($)*&$%+#
,-%
.",&/0)$%1$&2$$0%34'0$,%+#-%
)*+,-./"0"%!"12",345673"
89:.;9*<"
)=9>?"89:.;9*<"@"A.,=*;;"
! Comparison between HTC Hero and Samsung Galaxy
! complete change
! download
! Download time with respect to
! distance
! file size
+Conclusion
! Despite the large amount of research in the domain of mobile applications, few works consider the creation of a dynamic framework with services installed on the fly
! Our goal is to propose a framework suitable for the transportation domain, hosting flexible applications ! easy context adaptation through services exchange
! continuous functioning in all environments, with minimal user intervention
! The OSGi framework enables us to achieve these goals
23
+Work in progress & future work
! The evaluations were done on devices with very limited mobility ! the influence of mobility must be evaluated further
! The distributed trader is not finalized ! a query language must be developed, to allow a fine description of the
needed service based on context elements
! Improvement of the service reconfiguration for a better adaptation to the context changes
24
+ LAMIHL
A
M
I
H
A B O R A T O I R E
D’ UTOMATIQUE
DE ECANIQUE ET
D’ NFORMATIQUE
INDUSTRIELLES
E T U M A I N E S
Merci pour votre attention!
Dana Popovici (doctorante), Mikael Desertot (encadrant), Sylvain Lecomte (directeur de thèse)