Context management for ubiquitous applications
Denis Conan, Chantal Taconet, Sophie Chabridon
Ubimob 2010
Institut Télécom; Télécom SudParis; CNRS UMR SAMOVAR; équipe ACMES; projet MARGE juin 2010
Context management for ubiquitous applications Denis Conan, Chantal - - PDF document
Context management for ubiquitous applications Denis Conan, Chantal Taconet, Sophie Chabridon Ubimob 2010 Institut Tlcom; Tlcom SudParis; CNRS UMR SAMOVAR; quipe ACMES; projet MARGE juin 2010 Context management for ubiquitous
Institut Télécom; Télécom SudParis; CNRS UMR SAMOVAR; équipe ACMES; projet MARGE juin 2010
Context management for ubiquitous applications
Contents
Context management for ubiquitous applications Denis Conan, Chantal Taconet, Sophie Chabridon, , Institut Télécom; Télécom Sud- Paris; CNRS UMR SAMOVAR; équipe ACMES; projet MARGE, Ubimob 2010 juin 2010 1 Acknowledgements 3 Introduction 4 Outline 4 1 Context-awareness and context managment 5 1.1 Some definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2 Context management requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3 Functionalities and architecture of a context manager . . . . . . . . . . . . . . . . . . . . . . . 6 2 COSMOS context manager concepts 8 2.1 What the client application accesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 What the context node designer builds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3 What the context source provider builds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.4 How the context designer composes context nodes . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.5 Context node parameterisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.6 Performance evaluation of COSMOS-ME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.6.1 Hardware and software platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.6.2 Time for observing and notifying a context node . . . . . . . . . . . . . . . . . . . . . . 12 2.6.3 Time for instantiating a context node . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.6.4 Maximum number of context nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.7 General information on the COSMOS project . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3 Design of context-aware applications with CA3M 15 3.1 CA3M: Meta Model and Middleware for Context Awareness . . . . . . . . . . . . . . . . . . . . 16 3.2 CA application design process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3 CA3M runtime architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.4 Context awareness meta-model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.5 From observable model to runtime bridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4 Quality of context information 19 4.1 Definition and motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.2 Quality criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.3 QoC-aware context operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.4 Architecture of QoC-aware context operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5 E-commerce flash-sale demonstrator 21 5.1 Flash sale cosmos node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.2 Siafu simulator of the shopping center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.3 Flash sale notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 6 Complementarity of ontology-based and process-oriented context management 24 6.1 Two abstraction levels for classifying situations . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6.2 Hybrid architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6.3 Comparison of OCM and PCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 7 Concluding remarks 27 Related work/Process-oriented context management . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Related work / Distribution of context data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 References 29 Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 2
Context management for ubiquitous applications # 2 ✬ ✫ ✩ ✪
Acknowledgements
Institut Télécom, Télécom SudParis; CNRS UMR SAMOVAR Sébastien Leriche, Amel Bouzeghoub Zied Abid, Léon Lim, Mohammed El-Amine Matougui Cong Kinh Nguyen, Cao Cuong Ngo INRIA ADAM, LIFL: Romain Rouvoy, Lionel Seinturier INRIA MASCOTTE: Judicaël Ribault Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 3
Context management for ubiquitous applications # 3 ✬ ✫ ✩ ✪
Introduction
Results of the cappucino project Mobile commerce domain Context management on mobile and (relatively) constrained devices # 4 ✬ ✫ ✩ ✪
Outline
1 Context-awareness and context managment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 2 COSMOS context manager concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3 Design of context-aware applications with CA3M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4 Quality of context information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5 E-commerce flash-sale demonstrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 6 Complementarity of ontology-based and process-oriented context management . . . . 40 7 Concluding remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 4
Context management for ubiquitous applications 1 Context-awareness and context managment # 5 ✬ ✫ ✩ ✪
1 Context-awareness and context managment
Need for adaptation to environment changes Control loop of autonomic computing [Kephart and Chess, 2003]
Execution environnement
Causal link Observation Analysis Adaptation policy Platform
Planning Execution Knowledge base
Context management = 1st class concern Identify/detect situations requiring adaptations/reactions # 6 ✬ ✫ ✩ ✪
1.1 Some definitions
Context = Any information that can be used to characterise the situation of an entity [Dey et al., 2001] Entity = An element representing a physical or logical phenomenon (person, concept, etc.) to which “observables” can be associated [Denning et al., 2005] E.g., person, room Observable = An abstraction which defines something to watch over (observe) [Taconet et al., 2009] E.g., location, luminescence An Observable is associated to an entity Observation = The state of an observable at a given time [Taconet et al., 2009] E.g., (48°52′N,2°19′E), 50 lux Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 5
Context management for ubiquitous applications 1 Context-awareness and context managment # 7 ✬ ✫ ✩ ✪ Situation change = relevant state change in the set of observables [Taconet et al., 2009] Situations inject meaning into the application and are more stable, and easier to define and maintain than basic contextual cues [Ye et al., 2009] E.g., enter a place, ((lumin.<100lux) = indoor) A situation change may trigger adaptations # 8 ✬ ✫ ✩ ✪
1.2 Context management requirements
From [Bouzeghoub et al., 2010] (similar list in [MUSIC, 2007]) Observation/Notification: context data both observed by and notified to applications Handling constantly evolving context Situation detection latency: recommendations shall be presented to end-users with appropriate delays according to end-users’ perception For scalability and efficiency purpose: distributed context management, ==> CM on constrained device Observation preparation: when permitted by the freshness requirement, context data requiring resource intensive processing shall be prepared in order to be consumed rapidly later on Handling unforeseen situation: dynamic context data and application-specific knowledge unforeseeable at design time Expression of situations: Application designers shall have a means to express relevant situations to be detected by the system Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 6
Context management for ubiquitous applications 1 Context-awareness and context managment # 9 ✬ ✫ ✩ ✪
1.3 Functionalities and architecture of a context manager
Functionalities Situation detection = “clients” negotiate observation contracts Interpretation = different context processors Collection = different context sources
Context interpretation Adaptation situation detection Context collection
Sensors User profiles System ressources Remote data
processing nodes Hierarchies of Versus Design pattern "Layer"
Context collection Context interpretation Situation detection
Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 7
Context management for ubiquitous applications 2 COSMOS context manager concepts # 10 ✬ ✫ ✩ ✪
2 COSMOS context manager concepts
2.1 What the client application accesses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 2.4 What the context node designer builds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.4 What the context source provider builds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.4 How the context designer composes context nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.5 Context node parameterisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 2.6 Performance evaluation of COSMOS-ME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.0 General information on the COSMOS project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 # 11 ✬ ✫ ✩ ✪
2.1 What the client application accesses
Cosmos Architecture: Compose context frameworks in a component-oriented architecture Situation detection = ⇒ Context policy = Provides the context data to the client applications ◮ High-level context data
Pull Client applications Push
Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 8
Context management for ubiquitous applications 2 COSMOS context manager concepts # 12 ✬ ✫ ✩ ✪
2.2 What the context node designer builds
Context interpretation = ⇒ Context node = Encapsulates a context processor called a context operator ◮ Basic building block of a context policy
Context Operator Pull Push Pull Push Parent context nodes Child context nodes Parameters
# 13 ✬ ✫ ✩ ✪
2.3 What the context source provider builds
Context collection = ⇒ Context collector = Encapsulates an object plugged to a context source ◮ Wrapper of external context source ◮ Leaf context nodes encapsulate context collectors
Context Collector Pull Push Parameters Parent context nodes Context sources
Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 9
Context management for ubiquitous applications 2 COSMOS context manager concepts # 14 ✬ ✫ ✩ ✪
2.4 How the context designer composes context nodes
Flow of context data Context sources Client applications Flow of control when
notifying when Flow of control
Context report = Extensible message structure enclosing context data Hierarchical structure: messages, chunks, sub-messages # 15 ✬ ✫ ✩ ✪
2.5 Context node parameterisation
Naming for finding, configuring, and sharing Observations / Notifications Blocking versus non-blocking At most once Active versus Passive
WiFi adjusted bit rate
System call
WiFi link quality detector WiFi Connectivity Average link quality Average bit rate if variable WiFi bit rate variable? Is bit rate WiFi manager
max 1 max 1 Block notification Block observation At most one obs./notif. Active observer Active observer and notifier
– Provide a name to be registered into a registry and searched for for configuration ∗ Attribute nodeName – Control propagation of information ∗ Can observe (down to the leafs) and/or notify (up to the root) ∗ May block the context flow (down or up) or not · Attributes observeThrough and notifyThrough + attributes observeOnlyOnce and notifyOnlyOnce – Control the activity of context nodes Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 10
Context management for ubiquitous applications 2 COSMOS context manager concepts ∗ Is passive or active · Attributes periodObserver and periodNotify · Possibility to design context operators that filter notifications Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 11
2 COSMOS context manager concepts 2.6 Performance evaluation of COSMOS-ME # 16 ✬ ✫ ✩ ✪
2.6 Performance evaluation of COSMOS-ME
2.6.2 Hardware and software platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.6.2 Time for observing and notifying a context node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.6.4 Time for instantiating a context node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 2.6.4 Maximum number of context nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 # 17 ✬ ✫ ✩ ✪
2.6.1 Hardware and software platforms
Nokia N800 Processor TI OMAP2420, 330 Mhz, 256 Mo of ROM, 128 Mo of RAM, Java 1.5 with CacaoVM (0.99.3), Linux; before tests, free memory ≈ 16 Mo Nokia N95 Processor ARM11-based TI OMAP2420, 330 Mhz, 128 Mo of RAM, native JVM, Symbian S60 3rd HTC TyTN II Processor Qualcomm MSM7200, 400 Mhz, 256 Mo of ROM, 128 Mo of RAM, native JVM, Windows Mobile 6; before tests, free memory ≈ 69 Mo HTC Hero Processor Qualcomm MSM7200A, 528 Mhz, 512 Mo of ROM, 288 Mo of RAM, native JVM, Androïd OS 1.5; before tests, free memory ≈ 144 Mo Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 12
2 COSMOS context manager concepts 2.6 Performance evaluation of COSMOS-ME # 18 ✬ ✫ ✩ ✪
2.6.2 Time for observing and notifying a context node
≈ 40 calls before measurements, measurements = 100 times 10000 calls Type Hardware Average Standard deviation 95% confidence (ms) (ms) interval% Pull Nokia N800 1.68 0.032 [1.684..1.715] blocking Nokia N95 0.78 0.041 [0.759..0.775] HTC TyTN II 0.94 0.013 [0.940; 0.945] HTC Hero 1.90 0.017 [1.899..1.906] Push Nokia N800 0.98 0.003 [0.975; 0.976] blocking Nokia N95 0.62 0.038 [0.615..0.630] HTC TyTN II 0.54 0.005 [0.541..0.543] HTC Hero 1.36 0.012 [1.361..1.365] # 19 ✬ ✫ ✩ ✪
2.6.3 Time for instantiating a context node
≈ 10 instant. before measurements, measurements = 10 times 10 instantiations To avoid side effects, “reboot” the device every 10 measured instantiations Hardware Average Standard deviation 95% confidence (ms) (ms) interval Nokia N800 2662 77 ± 48 Nokia N95 8891 80 ± 50 HTC TyTN II 42 2.1 ± 1.3 HTC Hero 91 1.83 ± 1.13 Specific case of Androïd More time for the first instantiation (ignored in the table) ◮ For HTC Hero, 387 ms Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 13
2 COSMOS context manager concepts 2.6 Performance evaluation of COSMOS-ME # 20 ✬ ✫ ✩ ✪
2.6.4 Maximum number of context nodes
Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 14
Context management for ubiquitous applications # 21 ✬ ✫ ✩ ✪
2.7 General information on the COSMOS project
COSMOS stands for COntext entitieS coMpositiOn and Sharing Main publications: [Conan et al., 2007, Conan et al., 2008, Rouvoy et al., 2008, Taconet et al., 2009, Abid et al., 2009a] Web site: http://picoforge.int-evry.fr/projects/cosmos Ready to run examples For J2SE For J2ME: Android, Windows Mobile, and Symbian OS Labs (discovery, developing, J2ME) Subversion forge: https://picoforge.int-evry.fr, guest/guest Maven repositories: http://picoforge.int-evry.fr/projects/svn/cosmos/maven2-release http://picoforge.int-evry.fr/projects/svn/cosmos/maven2-snapshot http://picoforge.int-evry.fr/projects/svn/cosmos/maven2-site # 22 ✬ ✫ ✩ ✪ Tools: Subversion and Maven Framework dependencies: Fractal, Fractal ADL, Fraclet, Julia, Juliac, and Dream Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 15
Context management for ubiquitous applications 3 Design of context-aware applications with CA3M # 23 ✬ ✫ ✩ ✪
3 Design of context-aware applications with CA3M
3.2 CA3M: Meta Model and Middleware for Context Awareness . . . . . . . . . . . . . . . . . . . . 25 3.2 CA application design process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 3.4 CA3M runtime architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.4 Context awareness meta-model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 3.5 From observable model to runtime bridge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 # 24 ✬ ✫ ✩ ✪
3.1 CA3M: Meta Model and Middleware for Context Awareness
[Seyler et al., 2007, Taconet et al., 2009] Model Driven Engineering approach Meta-model, model of context contracts + Generation of context management code Meta-model, model of context sensitivity + Generation of context adaptation Design process of context aware applications Introduction of two new roles ◮ Context specifier ◮ Context-awareness designer CA3M Middleware takes in charge context management aspects According to context contracts defined in context-awareness models Runtime models for runtime reconfiguration of monitoring aspect Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 16
Context management for ubiquitous applications 3 Design of context-aware applications with CA3M # 25 ✬ ✫ ✩ ✪
3.2 CA application design process
Collectors models
* *
Application design
Collector provider applied to select implemented by Application models and classes
Collector and context operator designer Application designer
− defines and implement collectors and operators − models and implements application − describes collector and operators semantics
Context specification and design
Application designer Context−awareness designer
Context−Awareness designer (CA3M)
− defines entities − for each entity, selects observables and situations − defines notification and observation contracts Context− awareness models − defines catalog of generic situations
Context specifier
Observable Context specifier − describes situations semantics
# 26 ✬ ✫ ✩ ✪
3.3 CA3M runtime architecture
Collector Bridges
notification
notification
CACONTROLLER
bridge creation callback updating browsing, Context Awareness Model CA3M Meta−Model conforms to
Model Manager
model updating
CA3M
Distributed context providers (context managers)
Distributed context sources (including sensors)
several technologies and providers
notification
Context−aware Application
Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 17
Context management for ubiquitous applications 3 Design of context-aware applications with CA3M # 27 ✬ ✫ ✩ ✪
3.4 Context awareness meta-model
entities
InterpretedObservable upperCardinality: Integer lowerCardinality: Integer contracts ContextAwareness Contract ContextAwareSystem Entity EntityRelation Observable ObservationContract NotificationContract derivedFrom
0..* 0..* 0..*
entityRelations linkedEntities
0..* 0..* 0..* 1..1 1..*
callbackClass: String triggerCond: TriggerCond Eric Eric peers Eric computer Battery level Location Network QoC
# 28 ✬ ✫ ✩ ✪
3.5 From observable model to runtime bridge
Bridge pattern Several context management frameworks for a given observable /situation No standard API for context managers ◮ The bridge decouples application code from the collector API Runtime binding
Adapter ICollector ICollectorListenerRegister
MessageManager
Adapter CosmosBridgeComponent Cosmos Node ICollectorNotification
Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 18
Context management for ubiquitous applications 4 Quality of context information # 29 ✬ ✫ ✩ ✪
4 Quality of context information
4.2 Definition and motivations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 4.2 Quality criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.4 QoC-aware context operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.4 Architecture of QoC-aware context operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 # 30 ✬ ✫ ✩ ✪
4.1 Definition and motivations
Quality of Context = Any inherent information that describes context information and can be used to determine the worth of the information for a specific application [Krause and Hochstatter, 2005] Context data are imperfect [Henricksen et al., 2002]: Incorrect: if it fails to reflect the true state of the world it models Inconsistent: if it contains contradictory information Incomplete: if some aspects of the context are not known Decision based on erroneous context data [Chen and Kotz, 2000, Dey et al., 2001] Cost of reasoning about uncertain contexts [Ranganathan et al., 2004, Dargie and Hamann, 2006] Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 19
Context management for ubiquitous applications 4 Quality of context information # 31 ✬ ✫ ✩ ✪
4.2 Quality criteria
[Buchholz et al., 2003, Preuveneers and Berbers, 2007]:
unintentional error
# 32 ✬ ✫ ✩ ✪
4.3 QoC-aware context operators
[Abid et al., 2009a, Abid et al., 2009b]
Operator QoCParameter
0..n
Arithmetic Comparison
... ...
Fuzzy Logic Threshold
... ... ...
compute QoC
Precision Accuracy Trustworthiness UpToDateness
...
Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 20
Context management for ubiquitous applications # 33 ✬ ✫ ✩ ✪
4.4 Architecture of QoC-aware context operators
Weaving of QoC aspect
Pull Push
Context Operator QoC Operator ChildFaçade
Pull Push Data QoC Get
QoCAwareContextOperator ParentFaçade
QoC Compute Push Pull Push Pull
# 34 ✬ ✫ ✩ ✪
5 E-commerce flash-sale demonstrator
5.3 Flash sale cosmos node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.3 Siafu simulator of the shopping center. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 5.3 Flash sale notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 21
Context management for ubiquitous applications 5 E-commerce flash-sale demonstrator # 35 ✬ ✫ ✩ ✪
5.1 Flash sale cosmos node
Notification of flash sales in a shopping center (Cappucino project) Identification of situations (qualified by QoC)
Active observer and notifier System call
Data interpretation Adaptation situation detection Data gathering
System call System call System call
Legend:
Blocking observation Active notifier Active observer Blocking notification
A A A A A A T T T T T T F F F F F F F
WiFi manager Bluetooth
location choice manager User profile manager Shop manager flash−sale filter Privacy rules Flash sale offer Matching information ? Transmission decision ac.t. freshness, accuracy, trust−worthiness and privacy Adjust Location Speed Stabilized GPRS manager A T A T F
# 36 ✬ ✫ ✩ ✪
5.2 Siafu simulator of the shopping center
COSMOS collectors wrap access to the siafu simulator through web services Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 22
Context management for ubiquitous applications 5 E-commerce flash-sale demonstrator # 37 ✬ ✫ ✩ ✪
5.3 Flash sale notifications
Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 23
Context management for ubiquitous applications 6 Complementarity of ontology-based and process-oriented context managemen # 38 ✬ ✫ ✩ ✪
6 Complementarity of ontology-based and process-oriented context management
Ontology-based = data orientation CoBrA [Chen et al., 2004], SOCAM [Gu et al., 2004], GAIA [Román et al., 2002] and MUSE [Bouzeghoub and Do Ngoc, 2008] Process-oriented context management Context Toolkit [Dey et al., 2001], Contextor [Coutaz and Rey, 2002], MoCA [da Rocha and Endler, 2006], MUSIC [Paspallis et al., 2008] # 39 ✬ ✫ ✩ ✪
6.1 Two abstraction levels for classifying situations
An illustrative scenario Marie enters the campus at 08:00am. An application displays the necessary documents for her next class as well as the room number and location. Another application finds the nearest available printers which are in unengaged rooms. At lunchtime, John is close to the self-service restaurant. A lot of people are waiting in the line. Since John has a meeting scheduled within one hour, an application proposes him the delivery of a tray lunch in his office adapted to his culinary habits.
The situation “a visitor enters the restaurant” is detected from dynamic context data The same for the estimation of the waiting time in the line
The recommendation “delivery of a tray lunch in the visitor’s office” requires the use of both context collectors’ data and a knowledge base: the visitor’s profile, agenda and habits Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 24
Context management for ubiquitous applications 6 Complementarity of ontology-based and process-oriented context managemen # 40 ✬ ✫ ✩ ✪
6.2 Hybrid architecture
callback infer/read/update
Context Proxy
recommend search
Business Applications
Inference Engine Context Ontology Business Application Ontology
MUSE OCM
infer/read callback
COSMOS PCM
notify update
Context sources
notify
(e.g. sensors, user profiles, platform)
(forest of context nodes)
# 41 ✬ ✫ ✩ ✪
6.3 Comparison of OCM and PCM
Observation/notification: OCM and PCM provide both Handling constantly evolving context PCM: filter of situations (less heavy-weight and more efficient for detecting low-level situations) Distributed context management, scalability, and constrained device On mobile devices by PCM and on a central server by the OCM Observation preparation PCM: control of the flow (e.g., “blocking node” and “active node”) Situation identification latency PCM: full control of activities performing context inference Handling unforeseen situations OCM: reasoning process able to deal with unforeseen situations (find the most similar situation) Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 25
Context management for ubiquitous applications 6 Complementarity of ontology-based and process-oriented context managemen # 42 ✬ ✫ ✩ ✪ Expression of situations OCM: several languages for context modelling and context reasoning Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 26
Context management for ubiquitous applications # 43 ✬ ✫ ✩ ✪
7 Concluding remarks
Context management = 1st class concern for adaptation in ubiquitous environments COSMOS: process orientation, component, architecture, fine-grained configuration and management of OS resources CA3M: meta-model and model of context-awareness at runtime, and design process QoC: expression of quality into observation and notification contracts Complementarity of process-oriented and ontology-based context managers Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 27
Context management for ubiquitous applications 7 Concluding remarks # 44 ✬ ✫ ✩ ✪
Related work/Process-oriented context management
Context Toolkit [Dey et al., 2001] Event programming and widget concepts Interpretation and aggregation functionalities in monolithic blocks No thread management MoCA Context Service architecture [da Rocha and Endler, 2006] Context data are typed objects and described using an XML-based model Partition of the context information space into views for improving the performance The Contextor [Coutaz and Rey, 2002] Implicit component model No sharing of contextors, no management of OS resources # 45 ✬ ✫ ✩ ✪
Related work / Distribution of context data
Message passing systems for distributed system monitoring Phoenix [Boutros Saab et al., 2002] and LeWYS [Cecchet et al., 2005] Object request broker GAIA [Román et al., 2002]: CORBA-based RESTful approach: context data as a resource SPACES [Romero et al., 2009, Romero et al., 2007] Tuple-spaces EgoSpaces [Julien and Roman, 2006]: views are sets of tuples, are owned by agents, are located on hosts in a network Peer-to-peer systems [Nguyen and Rouvrais, 2007]: every context data is shared in a dynamic overlay MUSIC context manager [Paspallis et al., 2008]: sensor peers, disseminator peers, consumer peers, protocol for group formation using JXTA Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 28
Context management for ubiquitous applications 7 Concluding remarks
References
[Abid et al., 2009a] Abid, Z., Chabridon, S., and Conan, D. (2009a). A Framework for Quality of Context
in Computer Science, Stuttgart, Germany. Springer-Verlag. [Abid et al., 2009b] Abid, Z., Chabridon, S., and Conan, D. (2009b). Cohérence et qualité des informations de contexte en environnement pervasif. In Proc. 3ème Workshop sur la Cohérence des Données en Univers Réparti - CDUR’09, Toulouse, France. [Boutros Saab et al., 2002] Boutros Saab, C., Bonnaire, X., and Folliot, B. (2002). PHOENIX: A Self Adapt- able Monitoring Platform for Cluster Management. Cluster Computing, 5(1):75–85. [Bouzeghoub and Do Ngoc, 2008] Bouzeghoub, A. and Do Ngoc, K. (2008). A situation based metadata for describing pervasive learning objects. In Proc. of 1st International Conference on Mobile Learning, University of Wolverhampton, Ironbridge, UK. [Bouzeghoub et al., 2010] Bouzeghoub, A., Taconet, C., Jarraya, A., Do, N., and Conan, D. (2010). Comple- mentarity of Process-oriented and Ontology-based Context Managers to Identify Situations. In Submitted to CMMSE’2010. [Buchholz et al., 2003] Buchholz, T., Kupper, A., and Schiffers, M. (2003). Quality of context information: What it is and why we need it. In 10th International Workshop of the HP OpenView University Association (HPOVUA), ACM, Geneva, Switzerland, Hewlett-Packard OpenView University Association. [Cecchet et al., 2005] Cecchet, E., Elmeleegy, H., Layaïda, O., and Quéma, V. (2005). Implementing Probes for J2EE Cluster Monitoring. Studia Informatica. [Chen and Kotz, 2000] Chen, G. and Kotz, D. (2000). A Survey of Context-Aware Mobile Computing Re-
[Chen et al., 2004] Chen, H., Finin, T., and Joshi, A. (2004). An Ontology for Context-Aware Pervasive Computing Environments. Special Issue on Ontologies for Distributed Systems, Knowledge Engineering Review, 18(3):197–207. [Conan et al., 2007] Conan, D., Rouvoy, R., and Seinturier, L. (2007). Scalable Processing of Context Information with COSMOS. In Indulska, J. and Raymonds, K., editors, Proc. 6th, volume 4531 of Lecture Notes in Computer Science, pages 210–224, Paphos, Cyprus. Springer-Verlag. [Conan et al., 2008] Conan, D., Rouvoy, R., and Seinturier, L. (2008). COSMOS: composition de nœuds de
[Coutaz and Rey, 2002] Coutaz, J. and Rey, G. (2002). Foundations for a Theory of Contextors. In Kolski,
Interfaces, pages 13–34, Valenciennes (France). Kluwer. [da Rocha and Endler, 2006] da Rocha, R. and Endler, M. (2006). Context Management in Heterogeneous, Evolving Ubiquitous Envrionments. IEEE Distributed Systems Online, 7(4). [Dargie and Hamann, 2006] Dargie, W. and Hamann, T. (2006). A distributed architecture for reasoning about a higher-level context. In IEEE International Conference on Wireless and Mobile Computing, Networking and Communications, 2006. (WiMob’2006), pages 268– 275. [Denning et al., 2005] Denning, P., Horning, J., Parnas, D., and Weinstein, L. (2005). Wikipedia Risks. Communications of the ACM, 48(12):152. [Dey et al., 2001] Dey, A., Salber, D., and Abowd, G. (2001). A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications. Special issue on context-aware computing in the Human-Computer Interaction Journal, 16(2–4):97–166. [Gu et al., 2004] Gu, T., Wang, X. H., Pung, H. K., and Zhang, D. Q. (January 2004). An Ontology-based Context Model in Intelligent Environments. In Proceedings of Communication Networks and Distributed Systems Modeling and Simulation Conference, pages 270–275, San Diego, California, USA. Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 29
Context management for ubiquitous applications 7 Concluding remarks [Henricksen et al., 2002] Henricksen, K., Indulska, J., and Rakotonirainy, A. (2002). Modeling context in- formation in pervasive computing systems. In In: Mattern, F. anf Naghshineh, M. e., editor, PERVASIVE 2002, volume 2414 of Lecture Notes in Computer Science, pages 79–117, Heidelberg. Springer Verlag. [Julien and Roman, 2006] Julien, C. and Roman, G.-C. (2006). EgoSpaces: Facilitating Rapid Development
[Kephart and Chess, 2003] Kephart, J. and Chess, D. (2003). The Vision of Autonomic Computing. IEEE Computer, 36(1). [Krause and Hochstatter, 2005] Krause, M. and Hochstatter, I. (2005). Challenges in Modelling and Using Quality of Context (QoC). In et al., T. M., editor, Mobility Aware Technologies and Applications (MATA), volume 3744 of Lecture Notes in Computer Science, pages 324–333. Springer-Verlag. [MUSIC, 2007] MUSIC (2007). Requirements of methods, languages, algorithms, and tools to modeling and management of context. Technical report, IST MUSIC Project, Deliverable D2.1. [Nguyen and Rouvrais, 2007] Nguyen, T. and Rouvrais, S. (2007). Towards a Peer-to-peer Middleware for Context Provisioning in Spontaneous Networks. In Proc. 5th MiNEMA Workshop on Middleware for Network Ecentric and Mobile Applications, Magdeburg, Germany. [Paspallis et al., 2008] Paspallis, N., Rouvoy, R., Barone, P., Papadopoulos, G., Eliassen, F., and Mamelli, A. (2008). A Pluggable and Reconfigurable Architecture for a Context-aware Enabling Middleware System. In Proc. 10th International Symposium on Distributed Objects and Applications, volume 5331 of Lecture Notes in Computer Science, pages 553–570, Monterrey, Mexico. Springer-Verlag. [Preuveneers and Berbers, 2007] Preuveneers, D. and Berbers, Y. (2007). Architectural backpropagation support for managing ambiguous context in smart environments. In Proc. UAHCI Universal Access in Human-Computer Interaction, Ambient Interaction, volume 4555 of Lecture Notes in Computer Science, pages 178–187. Springer-Verlag. [Ranganathan et al., 2004] Ranganathan, A., Al-Muhtadi, J., and Campbell, R. (2004). Reasoning About Uncertain Contexts in Pervasive Computing Environments. IEEE Pervasive Computing, 3(2):10–18. [Román et al., 2002] Román, M., Hess, C., Cerqueira, R., Ranganathan, A., Campbell, R., and Nahrstedt,
1(4):74–83. [Romero et al., 2007] Romero, D., Hermosillo, G., Taherkordi, A., Nzekwa, R., Rouvoy, R., and Eliassen, F. (2007). RESTful Integration of Heterogeneous Devices in Pervasive Environments. In Proc. 10th, Lecture Notes in Computer Science, Amsterdam, Netherlands. Springer-Verlag. [Romero et al., 2009] Romero, D., Rouvoy, R., Chabridon, S., Conan, D., Pessemier, N., and Seinturier, N. (2009). Enabling Context-Aware Web Services: A Middleware Approach for Ubiquitous Environments. Chapman and Hall/CRC. [Rouvoy et al., 2008] Rouvoy, R., Conan, D., and Seinturier, L. (2008). Software Architecture Patterns for a Context Processing Middleware Framework. IEEE Distributed Systems Online, 9(6). [Seyler et al., 2007] Seyler, F., Taconet, C., and Bernard, G. (2007). Context Adaptation of Web Service
laborative Enterprises. WETICE’07, Paris. [Taconet et al., 2009] Taconet, C., Kazi-Aoul, Z., Zaier, M., and Conan, D. (2009). CA3M: A runtime model and a middleware for dynamic context management. In Proc. 11th International Symposium on Distributed Objects and Applications, volume 5870 of Lecture Notes in Computer Science, pages 513–530, Algarve, Portugal. Springer-Verlag. [Ye et al., 2009] Ye, J., Coyle, L., Dobson, S., and Nixon, P. (2009). Using Situation Lattices in Sensor Analysis. In Proc. of IEEE International Conference on Pervasive Computing and Communications, pages 1–11, Galveston, TX, USA. Télécom SudParis — Denis Conan, Chantal Taconet, Sophie Chabridon — juin 2010 — Ubimob 2010 30