Top Banner
Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire [email protected] MOPS-RM Télécom SudParis 6 novembre 2014
35

Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apr 11, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pourl’adaptation d’applications en

environnement ubiquitaire

[email protected]

MOPS-RM

Télécom SudParis 6 novembre 2014

Page 2: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire

Table des matières

Apport des modèles pour l’adaptation d’applications en environnement [email protected], , Télécom SudParis, MOPS-RM6 novembre 2014 1Évolution des applications : ubiquité et sensibilité au contexte . . . . . . . . . . . . . . . . . . . . . 4

Sommaire 4

1 Sensibilité au contexte 41.1 Définition du contexte en informatique ubiquitaire . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Définition de la sensibilité au contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3 Sensibilité au contexte pour quelle informatique ? . . . . . . . . . . . . . . . . . . . . . . . . . . 61.4 Quelques exemples de sensibilité au contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.5 Sensibilité au contexte, quelle architecture à l’exécution ? . . . . . . . . . . . . . . . . . . . . . 71.6 Boucle d’autonomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.7 Sensibilité au contexte et adhésion des utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . 81.8 Les premières applications sensibles au contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.9 Sensibilité au contexte et cycle de vie des applications . . . . . . . . . . . . . . . . . . . . . . . 91.10 Sensibilité au contexte : travaux de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Découplage Application / Sensibilité au contexte : exemples d’architectures 102.1 Exemple de l’architecture Context Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2 Exemple de l’architecture CAMidO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.3 Tâches pouvant être découplées de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3 Gestion de contexte 123.1 Functionalities and architecture of a context manager . . . . . . . . . . . . . . . . . . . . . . . 133.2 Context management requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.3 Quality of context : Definition and motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.4 Quality criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.5 Cosmos context manager example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.6 Ontology-based and process-oriented context management . . . . . . . . . . . . . . . . . . . . . 15

4 Modélisation des informations de contextes 164.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.1.1 Pourquoi la modélisation de contexte ? . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.1.2 Modèle et méta-modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.2 Quelques concepts pour définir la sensibilité au contexte . . . . . . . . . . . . . . . . . . . . . . 184.2.1 Entités observables, observables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.2.2 Observation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.2.3 Système sensible au contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.2.4 Espace des informations de contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.3 Critères de comparaison de modèles de contexte . . . . . . . . . . . . . . . . . . . . . . . . . . 204.4 Profils de contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.4.1 Principe d’un profil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.4.2 Modélisation clé-valeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.4.3 Exemple de wurfl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.4.4 CCPP Composite Capability / Preference Profiles (W3C) . . . . . . . . . . . . . . . . . 244.4.5 Point sur les profils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.5 Approches orientées base de données et ontologie . . . . . . . . . . . . . . . . . . . . . . . . . . 254.5.1 Context Modeling Language (Université de Queensland) . . . . . . . . . . . . . . . . . . 254.5.2 Ontologie de contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.5.3 Delivery Context Ontology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.5.4 CAMidO méta-modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.6 Approches IDM (Ingénierie Dirigée par les Modèles) . . . . . . . . . . . . . . . . . . . . . . . . 284.6.1 Principes de l’IDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.6.2 Outils de l’IDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 2

Page 3: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire

4.6.3 Travaux sur la sensibilité au contexte et l’IDM . . . . . . . . . . . . . . . . . . . . . . . 294.6.4 ContextUML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.6.5 Élément du modèle de l’application sensible au contexte . . . . . . . . . . . . . . . . . . 304.6.6 Conclusion sur l’approche IDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Conclusions 31

Références 33

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 3

Page 4: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire

# 2

'

&

$

%

Évolution des applications : ubiquité et sensibilité au contexte

MobilitéUbiquité

Carte à puces

Intelligence ambiante

1970 1985 2000 2010 2020

Intelligence ambiante& Internet des objets

■ Sujet du cours : intergiciels pour applications ubiquitaires, ambiantes et sensibles aucontexte

Comment faciliter le développement d’applications sensibles à leur contexte d’exécution. Les intergicielspeuvent-ils et comment prendre en charge la préoccupation de sensibilité au contexte. Les questions qui seposent sont multiples, en particulier les suivantes.

• Quelle vue de l’environnement donner aux applications ? Quelle est la qualité de cette vue ?• Quel usage faire des informations recueillies (informatif, adaptatif) ?• Quel processus de développement faut-il mettre en œuvre pour des applications sensibles au contexte ?• Quels mécanismes mettre en œuvre à l’exécution

# 3

'

&

$

%

Sommaire

1 Sensibilité au contexte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42 Découplage Application / Sensibilité au contexte : exemples d’architectures . . . . . . . 163 Gestion de contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Modélisation des informations de contextes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 4

Page 5: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire 1 Sensibilité au contexte

# 4

'

&

$

%

1 Sensibilité au contexte

1.2 Définition du contexte en informatique ubiquitaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61.2 Définition de la sensibilité au contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.4 Sensibilité au contexte pour quelle informatique ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.4 Quelques exemples de sensibilité au contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91.5 Sensibilité au contexte, quelle architecture à l’exécution ? . . . . . . . . . . . . . . . . . . . . . . 101.7 Boucle d’autonomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.7 Sensibilité au contexte et adhésion des utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.9 Les premières applications sensibles au contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141.9 Sensibilité au contexte et cycle de vie des applications . . . . . . . . . . . . . . . . . . . . . . . . . . 142.0 Sensibilité au contexte : travaux de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

# 5

'

&

$

%

1.1 Définition du contexte en informatique ubiquitaire

■ En intelligence artificielle, Brézillon [Brézillon, 2002] définit le contexte par :“Le contexte est ce qui n’intervient pas directement dans la résolution d’unproblème mais contraint sa résolution”

■ Dey [Dey et al., 2001a] 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émentpouvant influencer le comportement d’une application

■ Dans le cadre de l’informatique ubiquitaire, quelques exemples d’entités et decontextes associés :♦ terminal utilisé : bande passante de la connexion réseau, disponibilité de la

mémoire, charge du processeur, taille d’écran et modes d’interaction avecl’utilisateur

♦ utilisateur : identité de l’utilisateur, sa langue maternelle, sa localisationgéographique

♦ salle : niveau de lumière ou de bruit, température

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 5

Page 6: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire 1 Sensibilité au contexte

# 6

'

&

$

%

1.2 Définition de la sensibilité au contexte

■ Informatique sensible au contexte ou Context Aware Computing : termeintroduit par [Schilit and Want, 1994]

■ [Brown et al., 1997] :Les applications sensibles au contexte sont des applications dont le comportementpeut varier en fonction du contexte.

■ [Dey et al., 2001a] :Un système est sensible au contexte s’il utilise le contexte pour offrir desinformations ou des services pertinents pour l’utilisateur.

■ En couplant ces deux définitions : « Les applications sensibles au contexte sont desapplications dont la structure et le comportement varient en fonction du contexte.Elles utilisent les observations de contexte pour offrir des informations ou desservices pertinents pour l’utilisateur. »

# 7

'

&

$

%

1.3 Sensibilité au contexte pour quelle informatique ?

■ Informatique mobile (mobilité utilisateur, mobilité du terminal, mobilité réseau)caractérisée par un changement de contexte permanent

■ Informatique ubiquitaire « informatique accessible de tout endroit et depuis toutesorte de dispositif »

■ Informatique diffuse « We define a pervasive computing environment as onesaturated with computing and communication capability, yet so gracefully integratedwith users that it becomes a technology that disappears. »[Satyanarayanan, 2001]

■ Informatique ambiante : « Milieu ayant la faculté de percevoir, de raisonner,d’agir, et d’interagir afin de fournir des services améliorant la qualité de vie des êtresvivants et notamment des personnes. »[Coutaz and Crowley, 2008]

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 6

Page 7: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire 1 Sensibilité au contexte

# 8

'

&

$

%

1.4 Quelques exemples de sensibilité au contexte

■ Choix d’un algorithme de réconciliation en fonction des temps de latence(comportement)

■ Démarrage d’une synchronisation lorsque le réseau est rétabli (réaction)■ Client/Serveur : mode synchrone lorsque le réseau est opérationnel en mode

bufferisation sinon (comportement)■ Avertissement lorsqu’une personne est à proximité (réaction)■ Affichage une position géographique (connexion contexte – attribut)■ Ajustement de sa vitesse en fonction de la distance du véhicule qui est devant

(réaction)■ Modification la température de la pièce en fonction des personnes présentes

(comportement)■ Arrêt de la radio lors de la réception d’un appel téléphonique (réaction)■ Découverte des serveurs de proximité et liaison avec ces serveurs (structure de

l’application)■ Dans un magasin, affichage des réductions du rayon (réaction)■ Message SMS visuel ou vocal (si je suis dans ma voiture) (comportement)

# 9

'

&

$

%

■ Choix du composant interface en fonction des capacités du terminaux (structure del’application)

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 7

Page 8: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire 1 Sensibilité au contexte

# 10

'

&

$

%

1.5 Sensibilité au contexte, quelle architecture à l’exécution ?

• Plusieurs fonctions nécessaires– Collecte des informations de contexte– Détection des changements de situations de contexte– Réalisation des adaptations (sans intervention de l’utilisateur)

# 11

'

&

$

%

1.6 Boucle d’autonomie

■ Control loop of autonomic computing [Kephart and Chess, 2003]

Exécution

Plannification Analyse

Environnement d’exécution

Lien causal

Plateforme

Politique d’adaptation

Observation

Base deconnaissances

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 8

Page 9: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire 1 Sensibilité au contexte

# 12

'

&

$

%

1.7 Sensibilité au contexte et adhésion des utilisateurs

■ Changement radical :♦ Hier, l’utilisateur était (plus ou moins) maître des réactions de l’application

(interactions souris, clavier, pointeur ...)♦ −→ Demain, les changements de situations de contexte entraîneront des

modifications dans la structure et le comportement des applications■ Interrogations :

♦ Qu’est-ce que l’utilisateur est en mesure de supporter ?♦ L’utilisateur risque-t-il d’avoir un sentiment de perte de contrôle ?♦ Quelle valeur ajoutée pour l’utilisateur ?♦ Quelle connaissance nécessaire pour débrayer des comportements jugés

inopportuns ?

# 13

'

&

$

%

1.8 Les premières applications sensibles au contexte

■ Shopping Assistant guide [Asthana et al., 1994] : utilise la localisation del’utilisateur pour le guider dans un magasin

■ CyberGuide [Abowd et al., 1997] : offre des informations touristiques sur une carteinteractive (sites à visiter selon (1) localisation utilisateur et (2) historique desvisites)

■ Conference Assistant [Dey et al., 1999] : assiste les participants à une conférence ;suggestion de présentations à laquelle assister ; affichage automatique desprésentations en cours

■ Adaptive GSM phone and PDA [Schmidt et al., 1999] : assiste les utilisateurs determinaux mobiles ; change la taille d’écriture en fonction de l’activité del’utilisateur ; sélection automatique des profils de téléphones portables en fonctiondu contexte (sonner, vibrer ou rester silencieux)

■ Call Forwarding [Want et al., 1992] grâce au système de localisation d’ActiveBadge, le réceptionniste utilise la localisation de l’utilisateur pour faire suivre lesappels téléphoniques vers le téléphone le plus proche de l’utilisateur

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 9

Page 10: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire

# 14

'

&

$

%

1.9 Sensibilité au contexte et cycle de vie des applications

■ Adaptation statique♦ Choix de conception, lignes de produit

♦ Choix de déploiement :▶ Quelle ligne de produit pour quel matériel ?▶ Quelle structure de l’application (services externes) ?

■ Adaptation dynamique♦ Choix à l’exécution▶ Modifications du comportement ou de la structure de l’application

# 15

'

&

$

%

1.10 Sensibilité au contexte : travaux de recherche

■ Des applications sensibles au contexte existent aujourd’hui.Pourquoi encore des travaux de recherche sur la sensibilité au contexte ?♦ Réduction de la charge de travail du développeur d’applications : marge de

manœuvre ;♦ Découplage de la partie sensibilité au contexte de la partie métier de

l’application ;♦ 3 pistes explorées dans la suite du cours :

1. S’appuyer sur une étape de modélisation de contexte2. S’appuyer sur des services intergiciels notamment le gestionnaire de contexte3. Offrir des intergiciels qui réalisent des interactions entre les informations de

contexte et les applications (adaptations)

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 10

Page 11: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire 2 Découplage Application / Sensibilité au contexte : exemples d’architectures

# 16

'

&

$

%

2 Découplage Application / Sensibilité au contexte : exemplesd’architectures

2.1 Exemple de l’architecture Context Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.0 Exemple de l’architecture CAMidO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.0 Tâches pouvant être découplées de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Nous illustrons avec deux exemples d’architectures les tâches de gestion de contexte. L’objectif de cesexemples est de montrer quelles sont les tâches de gestion de contexte qui peuvent être découplées del’application.

Les premières applications intégraient dans le code de l’application l’ensemble de ces tâches, ce qui rendaitles applications extrêmement dépendantes des capteurs d’informations, des types de contexte traités, de lamise en œuvre des adaptations.

# 17

'

&

$

%

2.1 Exemple de l’architecture Context Toolkit

Context Toolkit [Dey et al., 2001a] est un cadriciel pour permettre la sensibilité au contexte des applica-tions. Hors de l’application, plusieurs toolkits pour la gestion du contexte : des widgets pour la collecte, desinterpretors pour le calcul de contextes interprétés, des aggregators qui symbolisent les entités observables.Un discoverer pour enregistrer et découvrir les différents toolkits.

Context Toolkit utilise les handlers pour relier ses différents Toolkits. Un client souscrit auprès d’un

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 11

Page 12: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire

toolkit, qui à son tour appelle lorsque nécessaire par un mécanisme de callback, un handler défini sur leclient. Ce mécanisme est utilisé entre toolkit mais aussi entre applications et toolkit.

Un premier niveau de découplage entre applications et gestion de contexte est atteint.

# 18

'

&

$

%

2.2 Exemple de l’architecture CAMidO

CAMidO [Belhanafi Belhouli, 2006] Context Aware Middleware based on Ontology. C’est un cadriciel quipermet de gérer la collecte d’informations de contextes et les adaptations. Les deux sont réalisés grâce à desinformations de modélisation de contexte fournies dans une ontologie.

# 19

'

&

$

%

2.3 Tâches pouvant être découplées de l’application

■ Collecte des informations de contexte

■ Stockage des informations de contexte

■ Interprétation des informations de contexte

■ Analyse des informations de contexte

■ Adaptations à des situations de contexte

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 12

Page 13: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire 3 Gestion de contexte

# 20

'

&

$

%

3 Gestion de contexte

3.2 Functionalities and architecture of a context manager . . . . . . . . . . . . . . . . . . . . . . . . . . 223.2 Context management requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.4 Quality of context : Definition and motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.4 Quality criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.6 Cosmos context manager example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263.6 Ontology-based and process-oriented context management . . . . . . . . . . . . . . . . . . . . . 26

# 21

'

&

$

%

3.1 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

SensorsUser profilesSystem ressources Remote data

processing nodesHierarchies of

Versus

Design pattern "Layer"

Context collection

Context interpretation

Situation detection

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 13

Page 14: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire 3 Gestion de contexte

# 22

'

&

$

%

3.2 Context management requirements

From [Bouzeghoub et al., 2010]

■ Observation/Notification : context data both observed by and notified toapplications

■ 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 beconsumed rapidly later on

■ Handling unforeseen situation : dynamic context data and application-specificknowledge unforeseeable at design time

■ Expression of situations : Application designers shall have a means to expressrelevant situations to be detected by the system

# 23

'

&

$

%

3.3 Quality of context : Definition and motivations

■ Quality of Context = Any inherent information that describes context informationand can be used to determine the worth of the information for a specificapplication [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., 2001b]■ Cost of reasoning about uncertain contexts

[Ranganathan et al., 2004, Dargie and Hamann, 2006]

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 14

Page 15: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire 3 Gestion de contexte

# 24

'

&

$

%

3.4 Quality criteria

■ [Buchholz et al., 2003, Preuveneers and Berbers, 2007] :1. Accuracy : how exactly the provided context data mirrors the reality2. Precision : how detailed a measurement is stated3. Probability of correctness : probability that a piece of context data is correct ;

unintentional error4. Trust-worthiness : how likely it is that the provided data is correct ; rated by

client5. Resolution : granularity of information6. Up-to-dateness/freshness : age of context information

# 25

'

&

$

%

3.5 Cosmos context manager example

■ 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 callSystem 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

WiFimanager

Bluetooth

locationchoice

managerUser profile

managerShop

manager

flash−salefilterPrivacy

rules

Flash sale offer Matching information ?

Transmission decisionac.t. freshness, accuracy, trust−worthiness and privacy

Adjust Location

Speed

Stabilized

GPRSmanager

AT

ATF

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 15

Page 16: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire 4 Modélisation des informations de contextes

# 26

'

&

$

%

3.6 Ontology-based and process-oriented context management

■ Ontology-based = data orientation♦ CoBrA [Chen, 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., 2001b], Contextor [Coutaz and Rey, 2002],MoCA [da Rocha and Endler, 2006], MUSIC [Paspallis et al., 2008]

# 27

'

&

$

%

4 Modélisation des informations de contextes

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.2 Quelques concepts pour définir la sensibilité au contexte. . . . . . . . . . . . . . . . . . . . . . . .324.3 Critères de comparaison de modèles de contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.4 Profils de contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.5 Approches orientées base de données et ontologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.6 Approches IDM (Ingénierie Dirigée par les Modèles) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 16

Page 17: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

4 Modélisation des informations de contextes 4.1 Introduction

# 28

'

&

$

%

4.1 Introduction

4.1.2 Pourquoi la modélisation de contexte ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.1.2 Modèle et méta-modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

# 29

'

&

$

%

4.1.1 Pourquoi la modélisation de contexte ?

■ La modélisation de contexte est un pas vers le découplage entre les tâches degestion de contexte et l’application.

■ Plusieurs niveaux de modèles :♦ Les modèles de contextes décrivent les contextes qui peuvent être observés.♦ Les modèles de sensibilité au contexte décrivent les variations/adaptations

associées à des modifications dans l’état du contexte.■ Les modèles sont :

♦ Fournis pour une application (modèles de sensibilité au contexte) ou pour unensemble d’applications

♦ Puis interprétés par les services intergiciels

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 17

Page 18: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

4 Modélisation des informations de contextes 4.2 Quelques concepts pour définir la sensibilité au contexte

# 30

'

&

$

%

4.1.2 Modèle et méta-modèle

■ La structure des informations stockées dans les modèles est définie par unméta-modèleUn modèle est conforme à un méta-modèleLe niveau méta-modèle permet de connaître le moule permettant d’ajouter denouveaux éléments dans le modèle.♦ Plusieurs langages et technologies permettent de définir des modèles conformes à

des méta-modèles :▶ Un fichier XML est conforme à un XML schéma (ou un DTD),▶ Ecore est un langage pour définir des DSM Domain Specific Model (des

(méta-)classes avec leurs relations)▶ Les ontologies permettent de définir des concepts et leurs relations (qui

peuvent être instanciés)

# 31

'

&

$

%

4.2 Quelques concepts pour définir la sensibilité au contexte

4.2.1 Entités observables, observables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.2.3 Observation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.2.3 Système sensible au contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .344.3.0 Espace des informations de contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 18

Page 19: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

4 Modélisation des informations de contextes 4.2 Quelques concepts pour définir la sensibilité au contexte

# 32

'

&

$

%

4.2.1 Entités observables, observables

Définition■ Une entité observable est une entité physique ou logique qui peut être observée.■ Pour une entité observable, plusieurs observables peuvent donner lieu à des

observationsExemples

■ Une machine est une entité observableles observables associés : son niveau de batterie, la taille de son écran, lamémoire totale, la mémoire disponible

■ Une personne est une entité observableles observables associés : sa localisation, sa préférence langage

■ Une salle est une entité observableles observables associés : le nombre de personnes présentes ; la luminosité

# 33

'

&

$

%

4.2.2 Observation

■ Chaque observable peut donner lieu à une ou plusieurs observations■ En fonction des observables les observations peuvent ou non évoluer dans le temps

Observable immuable : une personne : préférence langage, nom(français, tartempion)

Observable dynamique : une personne : sa localisationlatitude : xx ; longitude : yy

■ Suivant les possibilités du modèle, un historique des observations peut être conservéou non

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 19

Page 20: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire 4 Modélisation des informations de contextes

# 34

'

&

$

%

4.2.3 Système sensible au contexte

■ Un Système sensible au contexte est un système dont le comportement ou lastructure peut varier en fonction de l’état de l’espace des informations de contexte.intergiciel (le mode de communication peut varier en fonction de l’état du réseau)composant (pour un composant interface utilisateur, l’affichage peut varier en

fonction du terminal)application multi-composant (la structure de l’assemblage varie en fonction de

l’état de l’espace des informations de contexte)

# 35

'

&

$

%

4.2.4 Espace des informations de contexte

■ L’espace des informations de contexte d’un système est caractérisé par l’état desdifférents éléments le caractérisant : les entités observables, les observables et l’étatdes observations attachées aux observables.

■ Un observable interprété est obtenu par interprétation à partir d’un ou de plusieursautres observables :♦ Exemple : la ville la plus proche peut-être calculée à partir d’une information de

localisation■ Certains observables peuvent fournir des Situations d’adaptation

♦ Afin de repérer un changement d’état dans l’espace des informations de contexte.♦ Ce changement d’état significatif pour le système nécessite une réaction dans le

système :▶ Une adaptation.

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 20

Page 21: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

4 Modélisation des informations de contextes 4.4 Profils de contexte

# 36

'

&

$

%

4.3 Critères de comparaison de modèles de contexte

structuration : structuration de l’espace des informations (plat, arbre, graphe)validation : comment valider le modèle (quel méta-modèle)distribution :

■ Les entités observables peuvent-elles être distribuées ? les observationsinterprétées peuvent-elles provenir d’observables distribués ?

■ Le modèle peut-il être distribué ?contenu : jusqu’où va la description ? observables, entités, situations, adaptations ?QoC caractérisation de la qualité de contexte

collecte : le modèle permet-il d’être associé à un gestionnaire de contexteoutils : outils d’interrogation, de modification, d’interprétation associés

Les critères de comparaison des différents modèles de contexte se déclinent suivant les trois axes suivants :méthode générale de structuration, distribution, puis contenu et outils.

En ce qui concerne l’axe structuration, le premier critère concerne la structuration des éléments dumodèle. Les méta-modèles étudiés dans cet état de l’art se différencient par les entités du modèle maisaussi par les relations exprimées entre ces différents éléments. Nous classons les travaux de modélisationavec les catégories suivantes : espace plat, espace hiérarchique, graphe orienté étiqueté. Le dernier critère estla validation, chaque élément présent dans le modèle, doit être défini de manière formelle pour d’une partavoir une compréhension de la sémantique du modèle et d’autre part pouvoir le valider. Dans le tableaucomparatif, le critère validation exprime le document qui permet d’évaluer la conformité d’un modèle.

En ce qui concerne l’axe distribution, nous avons retenu deux critères. D’une part la possibilité de décrireet donc de traiter dans le système des entités observables distribuées. D’autre part la possibilité de travailleravec un modèle de contexte distribué.

# 37

'

&

$

%

4.4 Profils de contexte

4.4.3 Principe d’un profil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.4.3 Modélisation clé-valeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.4.3 Exemple de wurfl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.4.4 CCPP Composite Capability / Preference Profiles (W3C) . . . . . . . . . . . . . . . . . . . . . 424.5.1 Point sur les profils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 21

Page 22: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

4 Modélisation des informations de contextes 4.4 Profils de contexte

# 38

'

&

$

%

4.4.1 Principe d’un profil

■ Description des caractéristiques d’une entité observable■ Profils approprié pour des caractéristiques immuables■ Principe d’utilisation :

♦ Lors d’une demande de service (p. ex : requête HTTP) :▶ Le client fournit un identifiant de profil▶ Le serveur consulte les informations correspondant à ce profil▶ Le serveur fournit une réponse adaptée au profil

# 39

'

&

$

%

4.4.2 Modélisation clé-valeur

■ La modélisation la plus simple de l’information de contexte : une information decontexte est donnée par :♦ La clé (le nom logique) du contexte♦ La valeur du contexte

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 22

Page 23: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

4 Modélisation des informations de contextes 4.4 Profils de contexte

# 40

'

&

$

%

4.4.3 Exemple de wurfl

■ WURFL : Wireless Universal Resource FiLe [Passani, 2007]■ Fichier qui recense les caractéristiques de l’ensemble des terminaux mobiles (entité

observable)■ La grammaire de ce fichier est fournie par une DTD■ Une URL permet de mettre à jour les informations de ce fichier■ Tout le monde peut mettre à jour, tout le monde peut télécharger ce fichier

# 41

'

&

$

%

■ Exemple de profil défini dans wurfl :<device user_agent="Nokia3100" actual_device_root="true"

fall_back="nokia_generic_series40"id="nokia_3100_ver1">

<group id="product_info"><capability name="model_name" value="3100"/>

</group><group id="xhtml_ui"><capability name="xhtml_supports_table_for_layout" value="true"/><capability name="xhtml_supports_css_cell_table_coloring" value="true"/><capability name="xhtml_readable_background_color1" value="#99CCFF"/><capability name="xhtml_readable_background_color2" value="#FFFFFF"/>

</group><group id="markup"><capability name="html_wi_w3_xhtmlbasic" value="true"/><capability name="html_wi_oma_xhtmlmp_1_0" value="true"/>

</group></device>

WURFL DTD

<!ELEMENT wurfl ( version, devices ) >

<!ELEMENT version ( ver, last_updated, official_url, maintainers, authors, contributors, statement ) ><!ELEMENT ver ( #PCDATA ) ><!ELEMENT last_updated ( #PCDATA ) ><!ELEMENT official_url ( #PCDATA ) ><!ELEMENT statement ( #PCDATA ) >

<!ELEMENT maintainers ( maintainer ) ><!ELEMENT maintainer EMPTY ><!ATTLIST maintainer email CDATA #REQUIRED >

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 23

Page 24: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

4 Modélisation des informations de contextes 4.4 Profils de contexte

<!ATTLIST maintainer home_page CDATA #REQUIRED ><!ATTLIST maintainer name CDATA #REQUIRED >

<!ELEMENT authors ( author+ ) ><!ELEMENT author EMPTY ><!ATTLIST author name CDATA #REQUIRED ><!ATTLIST author email CDATA #REQUIRED ><!ATTLIST author home_page CDATA #IMPLIED >

<!ELEMENT contributors ( contributor+ ) ><!ELEMENT contributor EMPTY ><!ATTLIST contributor name CDATA #REQUIRED ><!ATTLIST contributor email CDATA #REQUIRED >

<!ELEMENT devices ( device+ ) ><!ELEMENT device ( group* ) ><!ATTLIST device id NMTOKEN #REQUIRED ><!ATTLIST device fall_back NMTOKEN #REQUIRED ><!ATTLIST device user_agent CDATA #REQUIRED ><!ATTLIST device actual_device_root CDATA #IMPLIED >

<!ELEMENT group ( capability+ ) ><!ATTLIST group id NMTOKEN #REQUIRED >

<!ELEMENT capability EMPTY ><!ATTLIST capability name NMTOKEN #REQUIRED ><!ATTLIST capability value NMTOKEN #REQUIRED >

La base WURFL a pour objectif de répertorier et de donner les caractéristiques des terminaux mobiles.Un formulaire public permet d’alimenter la base avec de nouveaux terminaux. La base peut être téléchargée.La base répertorie aujourd’hui 9100 terminaux mobiles et détaille jusqu’à 310 caractéristiques différentes.Les profils sont remplis conformément à la DTD WURFL. La DTD ne fixe pas la liste des caractéristiquesdes terminaux.

# 42

'

&

$

%

4.4.4 CCPP Composite Capability / Preference Profiles (W3C)

■ Description en RDF (Resource Description Framework) grammaire XML pourreprésenter des graphes orientés étiquetés

■ Caractéristiques du terminal et préférences utilisateurs■ Utilisé pour le choix automatique des pages HTML en fonction des contraintes■ Hiérarchie de description à deux niveaux

<rdf:Description rdf:about="http:.../profile#MyProfile"><ccpp:component>

<rdf:Description rdf:about="htt.../profile#TerminalHardware"><rdf:type rdf:resource="htt.../schema#HardwarePlatform" /><ex:displayWidth>320</ex:displayWidth><ex:displayHeight>200</ex:displayHeight>

</rdf:Description></ccpp:component>

</rdf:Description>

RDF [W3C, 2004] (Resource Description Framework) est un langage de description de graphes orientésétiquetés. Il permet de décrire des triplets (sujet, prédicat, objet). Le sujet représente la ressource à décrire.Le prédicat représente un type de propriété applicable à cette ressource. L’objet représente une donnée ou

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 24

Page 25: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

4 Modélisation des informations de contextes 4.5 Approches orientées base de données et ontologie

une autre ressource. Chaque triplet correspond à un arc orienté dont le label est le prédicat, le nœud sourcele sujet et le nœud cible l’objet. Des vocabulaires ont été définis au dessus de RDF pour la définition deprofils de contexte notamment par CC/PP et UAProf.

CC/PP est une proposition du W3C pour la représentation de profils. CC/PP permet de décrire lescapacités d’un dispositif mobile ainsi que les préférences de l’utilisateur. La structure d’un profil CC/PP estcomposée d’une hiérarchie à deux niveaux, des composants (entités observables) et des étiquettes (obser-vables).

# 43

'

&

$

%

4.4.5 Point sur les profils

■ Des profils existent sur une ou plusieurs entités observables■ Ils sont adaptés pour des observables immuables■ Des langages d’interrogation permettent de parcourir les profils (ex SPARQL

proposé par W3C)■ Difficultés : la mise à jour des fichiers de profils et leur réplication pour assurer leur

disponibilité

# 44

'

&

$

%

4.5 Approches orientées base de données et ontologie

4.5.1 Context Modeling Language (Université de Queensland) . . . . . . . . . . . . . . . . . . . . . . 454.5.2 Ontologie de contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.5.4 Delivery Context Ontology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.5.4 CAMidO méta-modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 25

Page 26: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

4 Modélisation des informations de contextes 4.5 Approches orientées base de données et ontologie

# 45

'

&

$

%

4.5.1 Context Modeling Language (Université de Queensland)

[McFadden et al., 2004] proposent une notation graphique pour la modélisation desinformations de contexte :

Le double carré indique les entités observables.Les entités observables sont reliées par une association typée vers les observables. Le type de l’associationdonne le mode de source de contexte. Certains observables sont immuables, d’autres évoluent dynamique-ment, certains observables sont lus dans des fichiers de profil, d’autres sont obtenus par des capteurs...

Pour cette approche, nous présentons CML [Henricksen and Indulska, 2006] (Context Modeling Lan-guage) une modélisation de contexte définie par une extension de ORM (Object Role Modeling [Halpin, 2001]).

ORM ajoute un niveau d’abstraction aux bases de données relationnelles. ORM permet de modéliser desrelations n-aires, de placer des contraintes sur des relations, de modéliser les relations d’héritage. Un modèleORM peut être projeté sur un schéma relationnel. Les outils associés à CML sont les outils classiques desbases de données.

# 46

'

&

$

%

4.5.2 Ontologie de contexte

■ Ontologie : Modèle d’organisation des connaissances dans un domaine donné■ Proche de la modélisation orientée objet■ Description constituée de classes, sous classes et de relations■ Relations sémantiques entre les classes (équivalence)■ Riche pour exprimer les contraintes sur des propriétés■ Donne le moyen de raisonner sur les informations de contexte (moteur d’inférence)

♦ A partir de règles définies avec une logique de premier ordre

Plusieurs modèles d’ontologies ont été proposés pour décrire le contexte. Ces approches permettent non

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 26

Page 27: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

4 Modélisation des informations de contextes 4.5 Approches orientées base de données et ontologie

seulement de modéliser le contexte, mais aussi de raisonner sur les données décrites.Une ontologie est une description sémantique, structurée et formelle des concepts d’un domaine et de

leurs inter-relations [Uschold and Grüninger, 1996]. Une ontologie définit un ensemble de concepts organisésen graphe dont les relations sont sémantiques, de composition ou d’héritage. Une ontologie est un ensemblede classes, de relations existantes entre ces classes, de propriétés attachées aux classes et d’axiomes. Lacréation d’une ontologie se fait avec un langage de logique de description (ou F-logic) qui est un fragmentdécidable de la logique du premier ordre. Les ontologies, sont souvent associées avec des moteurs d’inférencepour raisonner sur les informations de contexte avec des règles d’inférence. Dernièrement, dans la lignée duweb sémantique, de nombreux langages et outils informatiques sont apparus pour construire et manipulerdes ontologies. OWL (Ontology Web Language) [Bechhofer et al., 2004], langage basé sur RDF, définit unesyntaxe pour construire des ontologies.

# 47

'

&

$

%

4.5.3 Delivery Context Ontology

[W3C, 2007]

■ Ontologie définie par W3C pour représenter les terminaux mobiles■ Observables dynamiques (non immuables) :

♦ Niveau de batterie♦ Connectivité réseau

■ Observables interprétés :♦ Dimensions de l’écran en différentes unités♦ Différentes unités obtenues par inférence

# 48

'

&

$

%

4.5.4 CAMidO méta-modèle

[Belhanafi et al., 2005]

■ Méta-modèle décrit avec le langage OWL (Web Ontology Language)■ CAMidO modélise :

♦ Le contexte (context level)♦ Le mode d’acquisition des informations de contexte (middleware level)♦ Mais aussi, les actions de réaction au contexte (application level)

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 27

Page 28: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

4 Modélisation des informations de contextes 4.6 Approches IDM (Ingénierie Dirigée par les Modèles)

# 49

'

&

$

%Sensor

DirectContext

Context IndirectContext

CAService

RelevantSituation

Component

HowDeduce

TakesDataFrom

Niveau Application

Niveau Contexte

Niveau Capteur Classe

Héritage

Relation entre deux classes

BooleanAction

Application

ObjectProperty

ExtendedProperty

Deduction

InterpretationOperation

Condition

Action

LeafCondition

CompositeCondition

LogicalOperator

RelevantCondition

AwareOf

Contains

RegistredFor

RelevantAction

Adaptation

ReactivAdaptation ProactivAdaptation

ProactivClientdaptation

ProactivServerAdaptation

Necessitates

OperationToCall

RelevantContext

Use

Needs

Subset

1.. n 1.. n

1.. n *

1.. n

*

*

0.. 1

*

0.. 1

0.. 1 0.. 1 0.. 1

0.. 1

0.. 1

# 50

'

&

$

%

4.6 Approches IDM (Ingénierie Dirigée par les Modèles)

4.6.1 Principes de l’IDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.6.3 Outils de l’IDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.6.3 Travaux sur la sensibilité au contexte et l’IDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.6.5 ContextUML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.6.5 Élément du modèle de l’application sensible au contexte . . . . . . . . . . . . . . . . . . . . . . 554.0.0 Conclusion sur l’approche IDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 28

Page 29: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

4 Modélisation des informations de contextes 4.6 Approches IDM (Ingénierie Dirigée par les Modèles)

# 51

'

&

$

%

4.6.1 Principes de l’IDM

■ Ajout d’un niveau d’abstraction (par rapport aux modèles)■ Méta-modèle définit ce niveau d’abstraction■ On utilise le méta-modèle pour :

♦ Définir un modèle conforme à un méta-modèle♦ Écrire des programmes pour :▶ Parcourir les modèles▶ Faire des transformations de modèles▶ Réaliser des adaptations de modèle

# 52

'

&

$

%

4.6.2 Outils de l’IDM

■ Langages de méta-modélisation : Ecore EMF (Eclipse Modeling Framework), MOF(Meta-Object Facility) ;

■ Profils UML : taguer les classes et les associations (stéréotypes) ;■ Programmes qui parcourent les modèles

♦ p. ex. : API EMF pour parcourir les modèles conformes à un méta-modèle EMF♦ p. ex. : API UML pour parcourir les modèles conformes à un profil UML

■ Des outils de transformation de modèle■ Les outils de l’IDM arrivent à maturité■ Ce sont des candidats pour la modélisation de contexte et la modélisation de la

sensibilité au contexte

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 29

Page 30: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

4 Modélisation des informations de contextes 4.6 Approches IDM (Ingénierie Dirigée par les Modèles)

# 53

'

&

$

%

4.6.3 Travaux sur la sensibilité au contexte et l’IDM

■ Définition de filtres à appliquer aux paramètres de services Web : ContextUML[Sheng and Benatallah, 2005]

■ Approche pour l’intégration de la sensibilité au contexte dans la modélisation desapplications [Ayed et al., 2007]

■ Orchestrations sensibles au contexte CAComp [Seyler et al., 2007]■ Lignes de produit pour applications mobiles [White and Schmidt, 2008]

Un des intérêts de cette approche est de pouvoir relier des éléments du modèle des applications avec deséléments du modèle de contexte et ainsi de pouvoir définir des points de variation de l’application en fonctionde situations d’adaptations.

# 54

'

&

$

%

4.6.4 ContextUML

Action

Constraint

Service

Operation

Message

Part

CAObject Context ContextSource

Binding Triggering

Atomic Composite

CAMechanism

* 1..*

* 1..*

1..*

*

* * 1..*

*

* 1..*

1..*

input output0..1 0..1

*

L’acquisition des observations de contexte est réalisé via des services web (« Context Services »). Lesadaptations sont appliqués à des CAObject (Context Aware Object) qui peuvent être : Service, Operation,Message, et Part (parameter) (concepts WSDL). Le binding est défini pour les paramètres d’un service. UnCAObject est lié à un CAMechanism qui permet de faire des transformations. Pas d’information de typagelié aux différents contextes, constraint et parameter qui sont quand même liés. Comment sont exprimées lescontraintes qui sous-tendent les adaptations ? Ce sont des contraintes en OCL exprimées en commentaires.ContextTriggering est appliqué sur les messages, ce sont des actions appliquées aux messages en entrée ou ensortie d’un service web. Les actions sont des filtres sur les messages en sortie ou en entrée dans le web service.

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 30

Page 31: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire

# 55

'

&

$

%

4.6.5 Élément du modèle de l’application sensible au contexte

DéfinitionUn élément qui réagit à des changements de contexte

Exemple

■ Système■ Application■ Composant■ Collaboration entre composants■ Opération■ Paramètre d’opération■ ...

# 56

'

&

$

%

4.6.6 Conclusion sur l’approche IDM

■ Avec l’approche IDM, on peut définir dans le modèle de l’application un point devue de sensibilité au contexte♦ Quels éléments du modèle de l’application peuvent subir des modifications dans

certaines situations de contextes.♦ Quelles situations doit-on évaluer ?♦ Quelles entités observables ?▶ Quels observables ?

♦ Quelles adaptations ?■ Les adaptations peuvent être réalisées à la conception, au déploiement, à l’exécution.■ Quelques travaux en cours...

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 31

Page 32: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire

# 57

'

&

$

%

Conclusions

■ Applications sensibles au contexte : une nouvelle forme d’applications enenvironnement ubiquitaire

■ Modèles de sensibilité au contexte des applications à intégrer dans le processus deconception des applications

■ A l’exéuction :♦ Modèles à l’exécution une piste prometteuse

[Bencomo et al., 2008, Fleurey et al., 2008, Taconet et al., 2009]♦ Gestionnaire de contexte

■ Questions ouvertes♦ Qualité de contexte, respect de la vie privée♦ Prise de décision répartie

■ Non couvert dans ce cours♦ Intergiciels d’adaptation

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 32

Page 33: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire

Références[Abowd et al., 1997] Abowd, G. D., Atkeson, C. G., Hong, J., Long, S., Kooper, R., and Pinkerton, M.

(1997). Cyberguide : A mobile context-aware tour guide. Wireless Networks, 3(5) :421–433.

[Asthana et al., 1994] Asthana, A., Cravatts, M., and Krzyzanowski, P. (December 1994). An indoor wirelesssystem for personalized shopping assistance. In Proceedings of IEEE Workshop on Mobile ComputingSystems and Applications, pages 69–74, Santa Cruz, California.

[Ayed et al., 2007] Ayed, D., Delanote, D., and Berbers, Y. (2007). Computer Science, volume 4635/2007of Lecture Notes in Computer Science, chapter MDD Approach for the Development of Context-AwareApplications, pages 15–28. Springer, Berlin / Heidelberg.

[Bechhofer et al., 2004] Bechhofer, S., van Harmelen, F., Hendler, J., Horrocks, I., McGuinness, D. L.,F.Patel-Schneider, P., and Stein, L. A. (2004). OWL Web Ontology Language Reference. W3C Re-commendation http ://www.w3.org/TR/owl-ref.

[Belhanafi et al., 2005] Belhanafi, N., Taconet, C., and Bernard, G. (16-17 June,2005). Camido, a context-aware middleware based on ontology meta-model. In CAPS 2005, Workshop on Context Awareness forProactiv Systems, Helsinki,Finland.

[Belhanafi Belhouli, 2006] Belhanafi Belhouli, N. (2006). Ajout de mécanismes de réactivité au contexte dansles intergiciels pour composants dans le cadre d’utilisateurs nomades. PhD thesis, Institut National desTélécommunications (école doctorale SITEVRY).

[Bencomo et al., 2008] Bencomo, N., Blair, G., France, R., Munoz, F., and Jeanneret, C., editors (2008). 3rdWorkshop on Models@runtime, Toulouse, France.

[Bouzeghoub and Do Ngoc, 2008] Bouzeghoub, A. and Do Ngoc, K. (2008). A situation based metadatafor 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 ProceedingsICDIM ’10 : 4th International Conference on Digital Information Management.

[Brézillon, 2002] Brézillon, P. (2002). Hors du contexte point de salut. In Objets communicants, Autrans,France.

[Brown et al., 1997] Brown, P., Bovey, J., and Chen, X. (1997). Context-aware Applications : from theLaboratory to the Marketplace. IEEE Personal Communications, 4(5) :58–64.

[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.

[Chen and Kotz, 2000] Chen, G. and Kotz, D. (2000). A Survey of Context-Aware Mobile Computing Re-search. Technical Report TR2000-381, Dartmouth College, Hanover, NH, (USA).

[Chen, 2004] Chen, H. (2004). An Intelligent Broker Architecture for Pervasive Context-Aware Systems.PhD thesis, University of Maryland, Baltimore County.

[Coutaz and Crowley, 2008] Coutaz, J. and Crowley, J. (2008). Plan ń intelligence ambiante ż : défis etopportunités. Rapport final du Groupe de Travail ń Intelligence Ambiante ż du Groupe de ConcertationSectoriel (GCS3) MSER DGRI A3.

[Coutaz and Rey, 2002] Coutaz, J. and Rey, G. (2002). Foundations for a Theory of Contextors. In Kolski,C. and Vanderdonckt, J., editors, Proc. 4th International Conference on Computer-Aided Design of UserInterfaces, 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. 7(4).

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 33

Page 34: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire

[Dargie and Hamann, 2006] Dargie, W. and Hamann, T. (2006). A distributed architecture for reasoningabout a higher-level context. In IEEE International Conference on Wireless and Mobile Computing,Networking and Communications, 2006. (WiMob’2006), pages 268– 275.

[Dey et al., 2001a] Dey, A., Abowd, G., and Salber, D. (2001a). A conceptual framework and toolkit forsupporting the rapid prototyping of context-aware applications. Human-computer Interaction, 16(2-4(special issue on context-aware computing)) :97–166.

[Dey et al., 2001b] Dey, A., Salber, D., and Abowd, G. (2001b). A conceptual framework and a toolkit forsupporting the rapid prototyping of context-aware applications. Special issue on context-aware computingin the Human-Computer Interaction Journal, 16(2–4) :97–166.

[Dey et al., 1999] Dey, A. K., Futakawa, M., Salber, D., and Abowd, G. D. (October 1999). The conferenceassistant : Combining context-awareness with wearable computing. In Proceedings of the 3rd InternationalSymposium on Wearable Computers (ISWC ’99), pages 21–28, San Francisco, CA.

[Fleurey et al., 2008] Fleurey, F., Dehlen, V., Bencomo, N., Morin, B., and Jézéquel, J. (2008). Modelingand Validating Dynamic Adaptation. In Models@runtime’08, pages 36–46, Toulouse, France.

[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 Communication Networks and Distributed SystemsModeling and Simulation Conference, San Diego, California, USA.

[Halpin, 2001] Halpin, T. (2001). Information Modeling and Relational Databases From Conceptual Analysisto Logical Design. The Morgan Kaufmann Series in Data Management Systems. Morgan Kaufmann.

[Henricksen and Indulska, 2006] Henricksen, K. and Indulska, J. (2006). Developing context-aware pervasivecomputing applications : Models and approach. Pervasive and Mobile Computing, 2(1) :37–64.

[Henricksen et al., 2002] Henricksen, K., Indulska, J., and Rakotonirainy, A. (2002). Modeling context infor-mation in pervasive computing systems. In In : Mattern, F. anf Naghshineh, M. e., editor, PERVASIVE2002, volume 2414 of Lecture Notes in Computer Science, pages 79–117, Heidelberg. Springer Verlag.

[Kephart and Chess, 2003] Kephart, J. and Chess, D. (2003). The Vision of Autonomic Computing. IEEEComputer, 36(1).

[Krause and Hochstatter, 2005] Krause, M. and Hochstatter, I. (2005). Challenges in Modelling and UsingQuality 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.

[McFadden et al., 2004] McFadden, T., Henricksen, K., and Indulska, J. (September, 2004). Automatingcontext-aware application development. In First International whorkshop on Advanced Context Modeling,Reasoning and Managenemt, UbiComp, Nottingham, England.

[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 LectureNotes in Computer Science, pages 553–570, Monterrey, Mexico. Springer-Verlag.

[Passani, 2007] Passani, L. (2007). Wurfl (Wireless Universal Resource File). http ://wurfl.sourceforge.net/.

[Preuveneers and Berbers, 2007] Preuveneers, D. and Berbers, Y. (2007). Architectural backpropagationsupport for managing ambiguous context in smart environments. In Proc. UAHCI Universal Access inHuman-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 AboutUncertain 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,K. (2002). Gaia : A Middleware Infrastructure to Enable Active Spaces. IEEE Pervasive Computing,1(4) :74–83.

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 34

Page 35: Évolution des applications: ubiquité et sensibilité au contexte..................... 1 4

Apport des modèles pour l’adaptation d’applications en environnement ubiquitaire

[Satyanarayanan, 2001] Satyanarayanan, M. (2001). Pervasive computing : vision and challenges. PersonalCommunications, IEEE, 8(4) :10–17.

[Schilit and Want, 1994] Schilit, B.and Adams, N. and Want, R. (1994). Context-aware computing ap-plications. In Proceedings of the 1st IEEE International Workshop on Mobile Computing Systems andApplications, Los Alamitos, CA.

[Schmidt et al., 1999] Schmidt, A., Aidoo, K. A., Takaluoma, A., Tuomela, U., Van Laerhoven, K., andVan de Velde, W. (September 1999). Advanced interaction in context. In Proceedings of the First Interna-tional Symposium on Handheld and Ubiquitous Computing,HUC’99, pages 89–101, Karlsruhe, Germany.

[Seyler et al., 2007] Seyler, F., Taconet, C., and Bernard, G. (2007). Context Aware Orchestration Meta-Model. In ICAS’07 The Third International Conference on Autonomic and Autonomous Systems, Athens,Greece.

[Sheng and Benatallah, 2005] Sheng, Q. and Benatallah, B. (2005). ContextUML : A UML-Based Mode-ling Language for Model-Driven Development of Context-Aware Web Services. In The 4th InternationalConference on Mobile Business (ICMB’05), IEEE Computer Society. Sydney, Australia., pages 206–212.

[Taconet et al., 2009] Taconet, C., Kazi-Aoul, Z., Zaier, M., and Conan, D. (2009). CA3M : A RuntimeModel and a Middleware for Dynamic Context Management. In Meersman, R., Dillon, T., and Herrero, P.,editors, On the Move to Meaningful Internet Systems : OTM 2009 ; The 11th International Symposium onDistributed Objects, Middleware, and Applications (DOA’09), volume 5870 of Lecture Notes in ComputerScience, pages 513–530, Vilamoura, Algarve, Portugal,. INF - Dept. Informatique (Institut TELECOM ;Télécom SudParis), SAMOVAR - SAMOVAR UMR INT-CNRS 5157 (INT-CNRS), Springer.

[Uschold and Grüninger, 1996] Uschold, M. and Grüninger, M. (1996). Ontologies : principles, methods, andapplications. Knowledge Engineering Review, 11(2) :93–155.

[W3C, 2004] W3C (2004). Resource Description Framework (RDF) : Concepts and Abstract Syntax. W3CRecommandation.

[W3C, 2007] W3C (2007). Delivery Context Ontology working draft. W3C Recommendationhttp ://www.w3.org/TR/dcontology/.

[Want et al., 1992] Want, R., Hopper, A., Falcão, V., and Gibbons, J. (January 1992). The active badgelocation system. ACM Transactions on Information Systems, 10(1) :91–102.

[White and Schmidt, 2008] White, J. and Schmidt, D. (2008). Model-Driven Product-Line Architectures forMobile Devices. In 17th Annual Conference of the International Federation of Automatic Control, Seoul,Korea.

Télécom SudParis — [email protected] — 6 novembre 2014 — MOPS-RM 35