Quelles abstractions de contexte pour la construction d applications sensibles au contexte Chantal Taconet & Zakia Kazi-Aoul Journée IDM/ADAPT 13/11/2008 Équipe MARGE
Plan de la présentation 1 Introduction.................................................................... 3 2 Vues de contexte...............................................................10 3 Méta-modèles et modèles de contexte........................................... 13 4 Méta-modèles et modèles de sensibilité au contexte.............................. 18 5 Liens entre les modèles, modèles et intergiciels.................................. 21 Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 2/27
1 Introduction 1.1 Introduction.................................................................. 4 1.2 Positionnement................................................................5 1.3 Nos objectifs.................................................................. 6 1.4 Suzanne s Scenario: context-aware offers.......................................7 1.5 Suzanne s Scenario: context-aware product description application............... 8 1.6 Principales abstractions........................................................ 9 Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 3/27
1.1 Introduction 1 Introduction Quelques définitions : Dey [Dey et al., 2001] définit par contexte: toute information pouvant être utilisée pour caractériser la situation d une entité (personne, objet physique ou informatique). Et plus généralement tout élément pouvant influencer le comportement d une application [Brown et al., 1997]: Les applications sensibles au contexte sont des applications dont le comportement peut varier en fonction du contexte. Plus généralement: Un système sensible au contexte est un système dont le comportement ou la structure peut varier en fonction de l état de l espace des informations de contexte. Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 4/27
1.2 Positionnement Des modèles de contexte vers les modèles de sensibilité au contexte Profils CC/PP [Klyne et al., 2007], WURFL [Passani, 2007] Modèles de collecte CML [McFadden et al., 2004] Ontologies: Delivery [W3C, 2007] 1 Introduction Approche IDM: permet le tissage entre le modèle de contexte et le modèle de l application Sensibilité au contexte est un aspect non fonctionnel des applications Découplage entre l application et la gestion de la sensibilité au contexte Asynchronisme entre application et collecte/interprétation/analyse de contexte Utilisation des modèles par un intergiciel qui gère la sensibilité au contexte Présence du modèle pendant l exécution (modifications dynamiques du modèle) Gestion de la collecte de données de contexte distribuées Gestion de l analyse des données de contexte Gestion des adaptations Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 5/27
1.3 Nos objectifs 1 Introduction Prise en compte de la distribution des données de contexte Tissage entre le modèle de sensibilité au contexte et le modèle de l application Modélisation de contrats d adaptation et d observation déterministes Modèles utilisés par un intergiciel qui gère la sensibilité au contexte Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 6/27
1 Introduction 1.4 Suzanne s Scenario: context-aware offers Suzanne... Is a client of an e-commerce merchant Goes by train to visit her friend. Uses her 3G connexion to access to the merchant site. Receives offers on: Hiking shoes (Hobby = Hiking) Pullovers (Temperature = 5 degrees Celsius) 50 % Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 7/27
1 Introduction 1.5 Suzanne s Scenario: context-aware product description application Suzanne wants to look to the offers in detail using the product description application... The battery level is low and the cell phone is not plugged ==> the product description application switches to a poor mode Once the cell phone plugged, the product description application switches to a normal mode Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 8/27
1.6 Principales abstractions 1 Introduction Entité: Représente un élément physique ou logique (personne, concept, etc.) qui peut être traité comme une unité indépendante ou un membre d une catégorie particulière, et auquel des observables peuvent être associés Exemples: le terminal utilisateur, la station météo de la ville la plus proche Observable: Abstraction qui définit un type d information à observer, donne lieu à des observations. Exemple: le niveau de batterie du terminal utilisateur Situations d adaptation : Un observable, calculé à partir d un ensemble d observables, pouvant prendre un ensemble fini d états et pour lequel un changement d état résulte dans un changement dans le système sensible au contexte. Exemple: l état de la batterie du terminal utilisateur : "LowBattery" ou "NormalBattery". Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 9/27
2 Vues de contexte 2.1 Présentation des méta-modèles............................................... 11 2.2 Paquetages du méta-modèle.................................................. 12 Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 10/27
2.1 Présentation des méta-modèles 2 Vues de contexte Plusieurs fournisseurs, plusieurs vues des données de sensibilité au contexte: ContextView méta-modèle Modèles fournis par: fournisseurs d abstractions d observables Objectifs: description générale d observables organisés en catégories CollectorView méta-modèle: Modèles fournis par: développeurs de collecteurs de contexte Objectifs: définition les caractéristiques de chaque collecteur ainsi que son mode d instanciation Context-AwarenessView méta-modèle: Modèles fournis par: développeurs d applications sensibles au contexte Objectifs: description de la sensibilité au contexte des applications Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 11/27
2.2 Paquetages du méta-modèle 2 Vues de contexte ApplicationView (SCA) Component Service Context awarenessview Context aware System Entity ContextView ObservableType CollectorView Collector Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 12/27
3 Méta-modèles et modèles de contexte 3.1 Méta-modèle de contexte..................................................... 14 3.2 Modèle de contexte pour les applications ubiquitaires.......................... 15 3.3 InterpretedObservable: du méta-modèle vers le modèle......................... 16 3.4 Modèle de contexte plateforme................................................17 Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 13/27
3 Méta-modèles et modèles de contexte 3.1 Méta-modèle de contexte Entry point ContextRoot categories InterpretedObservableType derivationexpression: String agregation: Boolean 0..* e.g.: temperature, bandwidth, terminal type Category observabletypes 0.. 0..* subcategories observabletypes 0.. ObservableType name: String description: String immutable: Boolean numerical: Boolean observationtypename: String observationjavatype: Class AdaptationSituationsType An observable type to identify situations e.g.: connected or not 0..* derivedfrom 1..1 observabletype ObservableRelation name: String lowercardinality: Int uppercardinality: Int Type of observation report Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 14/27
3 Méta-modèles et modèles de contexte 3.2 Modèle de contexte pour les applications ubiquitaires << ObservableRelation >> << ObservableType >> BatteryPlugged observation type: BatteryStateEnumeration : NormalBattery BatteryPlugged BatteryLevel>10% LowBattery:! BatteryPlugged & BatteryLevel<10% << Category >> TerminalCategory << ObservableType >> BatteryLevel << ObservableType >> Connectivity << ObservableType >> NetworkInterfaceType << AdaptationSituationsType >> BatteryStates << ContextRoot >> UbiquitousContext << Category >> UserCategory << ObservableType >> GPSLocation << Observabletype >> << Category >> EnvironmentCategory CellularLocation << ObservableType >> TemperatureValue << InterpretedObservableType >> TemperatureStates e.g. TemperatureValue<10 C TemperatureValue>10 C << ObservableRelation >> Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 15/27
3 Méta-modèles et modèles de contexte 3.3 InterpretedObservable: du méta-modèle vers le modèle Meta model ContextView Ubiquitous Model ContextView InterpretedObservableType ObservableType << ObservableType >> Localisation << ObservableRelation >> localisations 2..2 0..* derivedfrom 1..1 observabletype ObservableRelation name: String lowercardinality: Int uppercardinality: Int << InterpretedObservableType >> Distance instance of instance of Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 16/27
3 Méta-modèles et modèles de contexte 3.4 Modèle de contexte plateforme ObservationType DeviceTypeEnumeration <<AdaptationSituationsType>> PDA Phone Computer DeviceType ObservationType DeviceOSEnumeration <<AdaptationSituationsType>> DeviceOS WinMobile Symbian Android <<ContextRoot>> PlatformContext <<Category>> DeviceCategory <<AdaptationSituationsType>> DeviceNetworkInterface ObservationType NetworkInterfaceEnumeration 3G WiFi Edge Bluetooth <<AdaptationSituationsType>> DeviceDisplay ObservationType DeviceDisplayEnumeration HighRes LowRes <<AdaptationSituationsType>> DeviceKeyboardType ObservationType KeyboardTypeEnumeration Numeric Querty TouchScreen Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 17/27
4 Méta-modèles et modèles de sensibilité au contexte 4.1 Méta-modèles de sensibilité au contexte....................................... 19 4.2 Modèle de sensibilité au contexte du scénario de Suzanne...................... 20 Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 18/27
4 Méta-modèles et modèles de sensibilité a 4.1 Méta-modèles de sensibilité au contexte entry point ContextAwareSystem mainuser terminal serveur Entity name: String 0..* EntityRelation entities 0..* linkedentities 0..* entityrelations name: String lowercardinality: Integer uppercardinality: Integer observationalcontracts 0..* 0..* observables Observable observable ObservationalContract 1..1 0..* derivedfrom Contracts between the application and the observation system InterpretedObservable adaptationcontracts 0..* AdaptationSituations adaptationsituations 1..1 AdaptationContract Instance of (or reference) types defined in ContextView models Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 19/27
4 Méta-modèles et modèles de sensibilité a 4.2 Modèle de sensibilité au contexte du scénario de Suzanne << ContextAwareSystem >> ECommerceApplication << EntityRelation >> << Entity >> Terminal << Entity >> User << Entity >> WeatherStation << Observable >> << Observable >> << Observable >> << Observable >> BatteryPlugged BatteryLevel Hobby TemperatureValue << derivedfrom >> Battery State Enumeration : NormalBattery BatteryLow << AdaptationSituations >> BatteryStates << AdaptationContract >> BatteryContract << derivedfrom >> << ObservationalContract >> HobbyContract << derivedfrom >> << InterpretedObservable >> TemperatureStates Temperature State Enumeration : WinterTemperature(<10) SummerTemperature (>10) << ObservationalContract >> TemperatureContract Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 20/27
5 Liens entre les modèles, modèles et intergiciels 5.1 Méta-modèle des collecteurs.................................................. 22 5.2 Liens entre 3 modèles (contexte, collecteur, sensibilité)......................... 23 5.3 Modèle et intergiciel..........................................................24 Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 21/27
5 Liens entre les modèles, modèles et inter 5.1 Méta-modèle des collecteurs CollectorInstantiationFactory instantiationartifact: String CollectorRoot collectors 0.. A collector references an observable type CollectorFactory 1..2 Collector name: String collectorfamily: CollectorFamilyValues observationmodeavailable: Boolean notificationmodeavailable: Boolean unitofmeasure: String CollectorDiscoveryFactory discoveryidentifier: String 0..* QoCParameters Describes how the application may be connected to a collector by discovery and/or by instantiation CollectorQoCParameter Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 22/27
5 Liens entre les modèles, modèles et inter 5.2 Liens entre 3 modèles (contexte, collecteur, sensibilité) ecommerceapplication ContextAwarenessView COSMOS CollectorView << EntityRelation >> workson 1 << Entity >> UserTerminal collector << Collector >> CosmosTemperature << Entity >> User << EntityRelation >> currentcity 1 << Entity >> UserCurrentCity observable << Observable >> LocalTemperature observabletype Ubiquitous ContextView << ObservableType >> Temperature definedfor << EntityRelation >> forcasteddestinations 0..* << Entity >> DestinationCity observable << Observable >> DestTemperature definedfor SensorML CollectorView collector << Collector >> CosmosTemperature Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 23/27
5 Liens entre les modèles, modèles et inter Système Sensible au Contexte 5.3 Modèle et intergiciel contrats d adaptation et d observation maj modèle IModel ICollector (observation active) CAController lit modifie ContextAwareness View Model notifie observe instancie Collectors Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 24/27
Conclusions travaux en cours Méta-modèles (définis en ecore/emf) Évaluation de l applicabilité scénarios: création de modèles reflétant les besoins en terme sensibilité au contexte (éditeurs de modèles générés par emf) [Taconet and Kazi-Aoul, 2008] Travaux en cours: Travaux sur des contrats d adaptation et contrats d observations pour des applications dont les modèles sont donnés en SCA Développement de l intergiciel CAController (autour des classes générés par emf) Bridge vers des collecteurs de contexte COSMOS [Conan et al., 2007] (composition de composants fractals) Définition et tests des interfaces CAController/applications Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 25/27
Conclusions travaux en cours Merci pour votre attention! Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 26/27
Références [Brown et al., 1997] Brown, P., Bovey, J., and Chen, X. (1997). Context-aware Applications: from the Laboratory to the Marketplace. IEEE Personal Communications, 4(5):58 64. [Conan et al., 2007] Conan, D., Rouvoy, R., and Seinturier, L. (2007). Scalable Processing of Context Information with COSMOS. In Springer-Verlag, editor, 7th IFIP International Conference on Distributed Applications and Interoperable Systems,, volume 4531 of Lecture Notes in Computer Science, pages 210 224, Paphos, Cyprus. [Dey et al., 2001] Dey, A., Abowd, G., and Salber, D. (2001). A conceptual framework and toolkit for supporting the rapid prototyping of context-aware applications. Human-computer Interaction, 16(2-4 (special issue on context-aware computing)):97 166. [Klyne et al., 2007] Klyne, G., Reynolds, F., Woodrow, C., Ohto, H., Hjelm, J., Butler, M. H., and Tran, L. (2007). Composite Capability/Preference Profile (CC/PP): Structure and vocabularies 2.0. Technical report, W3C recommandation. [McFadden et al., 2004] McFadden, T., Henricksen, K., and Indulska, J. (September, 2004). Automating context-aware application development. In First International whorkshop on Advanced Context Modeling, Reasoning and Managenemt, UbiComp, Nottingham, England. [Passani, 2007] Passani, L. (2007). Wurfl (Wireless Universal Resource File). http://wurfl.sourceforge.net/. [Taconet and Kazi-Aoul, 2008] Taconet, C. and Kazi-Aoul, Z. (2008). Context-awareness and Model Driven Engineering: Illustration by an e-commerce application scenario. In 2nd IEEE international workshop on context modeling and management for smart environments, London UK. [W3C, 2007] W3C (2007). Delivery Context Ontology working draft. W3C Recommendation http://www.w3.org/tr/dcontology/. Chantal Taconet & Zakia Kazi-Aoul Équipe MARGE Journée IDM/ADAPT 13/11/2008 27/27