• Aucun résultat trouvé

Mod` eles de description des applications, des fonctionnali-

4.3 Vers une infrastructure de gestion de composition d’applications

5.2.1 Mod` eles de description des applications, des fonctionnali-

Afin de permettre aux syst`emes de gestion de composition de manipuler les dif- f´erentes descriptions, FCAP propose des mod`eles de description de haut-niveau pour les applications, les fonctionnalit´es et les configurations. Ces mod`eles d´efinissent les concepts principaux, g´en´eriques et applicables `a tout environnement attentif. Ces mo- d`eles peuvent ainsi ˆetre ´etendus pour d´ecrire plus pr´ecis´ement les caract´eristiques d’une application, d’une fonctionnalit´e, ou d’une configuration.

a) Mod`ele de description d’application abstraite

Le mod`ele de description d’application abstraite permet la sp´ecification d’une ap- plication de mani`ere abstraite, sans faire r´ef´erence aux dispositifs et aux fonctionnalit´es qui peuvent ˆetre pr´esents dans l’environnement. La figure 5.3 pr´esente ce mod`ele de description. Il se compose de trois concepts :

app:AbsFunctionnality repr´esente le concept de fonctionnalit´e d’une application abs- traite (ou fonctionnalit´e abstraite). Une fonctionnalit´e abstraite repr´esente une fonctionnalit´e dont les caract´eristiques correspondent aux besoins exprim´es par l’application abstraite, mais ne fait pas n´ecessairement r´ef´erence `a une fonction- nalit´e r´eellement fournie par un dispositif.

app:Interaction repr´esente le concept d’interaction entre des fonctionnalit´es. Des fonc- tionnalit´es peuvent interagir pour ´echanger des informations, ou avoir une in- fluence indirecte l’une sur l’autre. On consid`ere ici qu’une interaction lie toujours deux fonctionnalit´es.

app:Application repr´esente le concept d’application. Une application comporte g´en´e- ralement plusieurs fonctionnalit´es abstraites qui interagissent.

app:Application

app:Interaction

app:AbsFunctionality

2 0..n 1 1

app:hasInteraction

app:hasFunctionality

app:involves

1 0..n

Figure 5.3 – Mod`ele de description d’application

Exemple La figure 5.4 pr´esente une partie de la description d’une application cor- respondant au sc´enario de la section 2.1.2. Cette description d´efinit une application irnotif:app, compos´ee de deux fonctionnalit´es : irnotif:sender et irnotif:notifier. Elle d´efi- nit de plus que ces deux fonctionnalit´es doivent interagir au travers d’une interaction irnotif:interaction (sans pr´eciser la nature de cette interaction).

b) Mod`ele de description de fonctionnalit´e

Le mod`ele de description de fonctionnalit´e est un mod`ele de haut-niveau, qui s’ap- plique `a toute sorte de fonctionnalit´es pr´esentes dans un environnement attentif. La

irnotif:app a app:Application ; app:hasFunctionnality irnotif:sender ; app:hasFunctionnality irnotif:notifier ; app:hasInteraction irnotif:interaction1 . irnotif:sender a app:AbsFunctionnality . irnotif:notifier a app:AbsFunctionnality . irnotif:interaction1 a app:Interaction ; app:involves irnotif:sender ; app:involves irnotif:notifier .

Figure 5.4 – Partie de la description de l’application

figure 5.5 repr´esente le mod`ele de description de fonctionnalit´es. Cette ontologie pr´e- sente deux classes (ou concepts) essentiels :

fonct:Composable

fonct:Service

0..n 0..n

1 1

fonct:expects

fonct:provides

Figure 5.5 – Mod`ele de description de fonctionnalit´e

fonct:Composable repr´esente le concept de fonctionnalit´e composable. Une fonction- nalit´e composable peut ˆetre compos´ee avec d’autres fonctionnalit´es pour former une application.

fonct:Service repr´esente un service grˆace auquel il est possible d’invoquer une fonc- tionnalit´e. La propri´et´e fonct:provides permet d’exprimer qu’une fonctionnalit´e fournit un service. La propri´et´e fonct:expects permet d’exprimer qu’une fonc- tionnalit´e s’attend `a utiliser un service fourni par une autre fonctionnalit´e.

Exemple Les figures suivantes pr´esentent des descriptions de fonctionnalit´es du sc´enario pr´esent´e dans la section 2.1.2.

– La figure 5.6 pr´esente une partie de la description de la fonctionnalit´e offerte par le cadre photo. Elle d´efinit ainsi que la ressource nomm´ee pframe:msg displayer est

une fonctionnalit´e composable et qu’elle fournit un service, nomm´e pframe:VisualNotification. – La figure 5.7 pr´esente une partie de la description de la fonctionnalit´e offerte par

iRider. Elle d´efinit ainsi que la ressource nomm´ee irider:irider est une fonction- nalit´e composable et qu’elle attend un service, nomm´ee irider:notif service.

pframe:msg_displayer a fonct:Composable ;

fonct:provides pframe:display_service . pframe:display_service

a fonct:Service .

Figure 5.6 – Partie de la description du cadre photo

irider:irider

a fonct:Composable ; fonct:expects irider:notif_service . irider:notif_service

a fonct:Service .

Figure 5.7 – Partie de la description de iRider

c) Mod`ele de description de configuration

La mod´elisation des configurations s’appuie sur la mod´elisation des fonctionnalit´es et fournit des ´el´ements pour d´ecrire des interactions entre les fonctionnalit´es. La figure 5.8 repr´esente le mod`ele de description des configurations. Ce mod`ele pr´esente deux classes essentielles :

conf:Assembly repr´esente le concept d’assemblage de plusieurs fonctionnalit´es. Un as- semblage implique plusieurs fonctionnalit´es composables et met en place des connecteurs pour les faire interagir.

conf:Connector repr´esente le concept de connecteur entre des services. Un connec- teur permet de mettre en interaction un service fourni par une fonctionnalit´e composable et un service attendu par une autre fonctionnalit´e composable.

conf:Assembly

conf:Connector

fonct:Composable

1..n 1 1

conf:creates

conf:involves

conf:provided

fonct:Service

conf:expected

1 1 0..n 0..n 0..n

Figure 5.8 – Mod`ele de description des configurations

Exemple La figure 5.9 pr´esente un assemblage issu du sc´enario pr´esent´e dans la section 2.1.2. Elle d´efinit que la ressource nomm´ee notif1:asm1 est un assemblage, qui

implique les ressources pframe:msg displayer et irider:irider. Cet assemblage cr´ee de plus un connecteur nomm´e notif1:connector1, qui connecte deux fonctionnalit´es composables pframe:msg displayer et irider:irider en consid´erant pframe:display service comme service fournit et irider:notif service comme service attendu.

notif1:asm1

a conf:Assembly ;

conf:involves pframe:msg_displayer ;

conf:involves irider:irider ;

conf:creates connect:connector .

notif1:connector1

a conf:Connector ;

conf:connects pframe:msg_displayer ;

conf:connects irider:irider ;

conf:provided pframe:display_service ;

conf:expected irider:notif_service .

Figure 5.9 – Partie de la description d’un assemblage de iRider et du cadre photo