• Aucun résultat trouvé

3.3 La notion de Service

3.3.5 Description d’un service

3.3.5.1 Mod´elisation g´en´erale d’un service Tous type de service est d´efini par au moins : – L’action qu’il permet de r´ealiser.

– Les conditions et contraintes li´ees `a son utilisation. – Les protocoles d’utilisation.

Cela peut paraˆıtre simple, mais en pr´esence de robots qui peuvent agir sur leur environnement ou en subir les conditions changeantes, il est obli- gatoire d’associer la connaissance de cet environnement `a la description des services, les deux notions ´etant ´etroitement li´ees [3]. La repr´esentation de la connaissance commune `a tous les engins doit englober leurs services ainsi que l’environnement dans lequel ils ´evoluent.

Aux ´el´ements pr´ec´edemment list´es, seront rajout´es :

- Une distinction sur les conditions et contraintes : il faudra s´eparer celles li´ees `a la mise en place du service (initialisation), de celles n´ecessaires pendant son ex´ecution.

- Une pr´ecision sur les contraintes du service qui sont d´ependantes de l’environnement, dans lequel ´evolue l’engin, de celles qui ne le sont pas [42]. Il est ´egalement possible de parler des effets de bord et de leurs conditions d’occurrence.

Au cours des r´eflexions, d’autres ´el´ements sont ´egalement apparus utiles `

– Le mode d’utilisation du service, qui peut avoir deux ´etats, actif ou passif. Pour un service actif l’utilisateur interroge r´eguli`erement le four- nisseur de service pour avoir un retour sur l’ex´ecution. Pour un service passif l’utilisateur invoque le service et attend un retour du fournisseur quand celui-ci a termin´e.

– La visibilit´e des services, qui d´efinit la notion de service priv´e ou public, ainsi que le partage de services restreints `a certains utilisateurs. Un service peut donc ˆetre : visible pour les voisins directs uniquement, transmis indirectement de voisin `a voisin jusqu’`a un certain niveau, ou bien visible et transmis `a tous les engins du r´eseau.

– La diff´erenciation des parties de la description du service qui sont des- tin´ees `a un usage interne de celles qui devront ˆetre transmises aux autres engins.

– La diff´erenciation des parties d’un service selon qu’elles sont n´ecessaires aux phases d’initialisation, d’exploitation ou de fin du service.

Au final, un service est donc d´ecrit en utilisant les champs suivants :

Nom et identifiant du service et du fournisseur R´ealisation du service

Effets de Bords

,→ Tˆaches inconditionnelles

,→ Tˆaches conditionnelles (avec leurs conditions associ´ees) Contraintes

,→ Contraintes d’initialisation ,→ Contraintes d’exploitation ,→ Contraintes de fin de service

Utilisation du service (li´ee `a l’´etat du service (Init, exec, end...)) ,→ Fournitures en entr´ees

,→ Fournitures en sortie ´

Etat courant du service (disponibilit´e et mode de fonctionnement) Visibilit´e du service

Les diff´erentes valeurs de ces champs coupl´ees `a l’´etat interne d’un engin et `a l’´etat de son environnement permettront de d´eterminer la disponibilit´e d’un service `a un instant donn´e.

3.3.5.2 D´ecomposition du service en 3 parties

Pour minimiser les ´echanges d’information, la repr´esentation des services a ´et´e structur´ee en trois parties : la d´efinition publique du service, le mode d’emploi utilisateur et la partie r´eserv´ee au fournisseur du service :

1 - La d´efinition du service est l’information n´ecessaire `a un engin robotique pour d´ecider si le service peut lui ˆetre utile. Cette partie contient : – L’identification du service et de son fournisseur comme par exemple ”MonitoringZoneBlimp” pour un service `a bord d’un dirigeable don- nant des images de la zone qu’il survole.

– Le type du service : physique (utilise des actionneurs, avec un effet physique sur l’environnement) ou logiciel (informatique, stockage de donn´ees, relais de communication).

– La r´ealisation du service, qui d´ecrit ce que le service est suppos´e faire, et le type de retour qui sera obtenu `a l’ex´ecution, comme par exemple : donner p´eriodiquement des images d’une partie de son environnement. – Le mode du service, actif ou passif, qui d´efinit le type des interactions

qui sont mises en œuvre entre le producteur et le consommateur. – La visibilit´e des services.

2 - Le mode d’emploi utilisateur du service, qui doit r´epondre `a des questions comme la fa¸con d’invoquer et d’utiliser le service, du point de vue du consommateur. Cela inclut :

– L’initialisation et les contraintes d’ex´ecution (les conditions requises pour invoquer et ex´ecuter le service : les conditions environnementales, les d´elais, l’´etat de l’engin...).

– Les flux de donn´ees li´es aux entr´ees du service (Description des donn´ees consomm´ees par le service, qui peuvent ˆetre des messages ou des argu- ments) et aux sorties (Description des donn´ees fournies par le service). – Les effets secondaires de la prestation qui d´ecrivent ce qui peut ´eventuellement

se produire et dans quelles conditions.

– Les cas de d´efaillances, c’est `a dire une liste et une description des ´eventuelles d´efaillances de ce service. Par exemple une d´efaillance de la fonction MonitoringZone peut ˆetre UnreachableZone.

3 - La partie r´eserv´ee au fournisseur du service qui doit offrir des in- formations sur la fa¸con d’ex´ecuter le service, du point de vue du fournisseur. Le terme g´en´erique de ressource repr´esente tout ce qui est n´ecessaire pour ex´ecuter le service (mat´eriel, puissance, fonction, son ´etat, le mode, etc.). Cette partie comprend, entre autres, l’´etat de service (disponible, indispo-

nible, init, exec, termin´e ...) et les fonctions de l’engin qui sont requises pour ex´ecuter le service.

3.4

D´efinition d’une ontologie g´en´erique pour