• Aucun résultat trouvé

1.6 Les projets STM & S2C2

2.1.1 Les composants du système

2.2 Le modèle basé sur une ontologie . . . . 40

2.2.1 Instance d’ontologie . . . . 41 2.2.2 Règles SWRL et Analyse . . . . 45

2.3 Les modèles orientés graphe . . . . 47

2.3.1 Requête de changement à effectuer (RFC) . . . . 48 2.3.2 Génération de plan d’exécution . . . . 49

Dans le contexte de systèmes IoT et plus particulièrement des villes intelligentes, différentes problématiques et enjeux sont à considérer. Tout d’abord, une approche orientée services permet d’avoir une vision haut-niveau et homogène des différents éléments mis en jeu qu’il s’agisse d’objets connectés (accessibles directement ou via des plateformes exposant ces objets via des services (service Web, services REST, etc.), mais aussi d’autres services déployés sur internet (services de géolocalisation, météo, banques de données ouvertes, etc.).

Le système doit être capable de gérer cette diversité avec cette vision orientée services mais aussi de répondre aux problèmes posés par la dynamicité de l’en-vironnement (objets qui changent d’état et / ou de localisation, etc.) ainsi que la dynamicité des besoins utilisateurs et fonctionnels (e.g., gestion dynamique de contenus et d’entités mobiles).

Afin de répondre à ces différents éléments de problématique liés aux systèmes IoT, une architecture haut-niveau d’un système de gestion autonome est présentée dans ce chapitre. Ce système se base sur une gestion modulaire et auto-nomique de systèmes IoT dans une vision orientée services afin d’être capable de surveiller les évènements qui occurrent sur le système supervisé, de prendre des dé-cisions en autonomie ainsi que de générer des actions exécutables sur ledit système. Tout d’abord l’architecture générale du système proposé est présentée avec ses différents composants ainsi que son mode de fonctionnement général. Ensuite, les

différents modèles en jeu sont abordés. Ils consistent en : un modèle sémantique à base d’ontologies permettant de stocker de la connaissance sur le système super-visé ainsi que de réaliser une analyse de cette connaissance ; ainsi qu’un modèle à base de graphes et de grammaire de graphes permettant de générer des plans d’exécution exécutables sur le système supervisé. Pour chaque modèle, le principe de ce dernier est mis en avant puis leur mise en œuvre est détaillée. Enfin, des exemples sont présentés afin de comprendre leur instanciation dans le contexte de notre cas d’utilisation.

2.1 Architecture haut-niveau du système proposé

Dans cette section est détaillée l’architecture mise en place pour concevoir un système capable de gérer de manière autonome la dynamicité liée au système IoT avec une vision orientée services. Différents modèles sont concernés dans l’élabora-tion et l’instancial’élabora-tion de ce système et ils seront détaillés dans les secl’élabora-tions suivantes.

2.1.1 Les composants du système

Système IoT

(Objets Physiques, Services, …)

MONITEUR ANALYSEUR PLANIFICATEUR EXECUTEUR Évènements Symptômes Requêtes de changement Plans d’exécution Exécution Grammaire de graphe Ontologie BASE DE CONNAISSANCE

Système de gestion autonomique

Figure 2.1 – Structure globale du système

Afin de traiter le problème présenté précédemment, le système de gestion conçu est présenté en Figure 2.1. Il se compose de trois éléments principaux : le ges-tionnaire autonome (Autonomic Manager, AM ), la Base de Connaissance (Knowledge base (KB)), et le système IoT (IoT System, IoTS ) sous-jacent. 2.1.1.1 Le système IoT géré

Le système IoT regroupe les objets connectés considérés qui vont être déployés dans la ville par exemple, les véhicules connectés, et les autres entités connectées, mais aussi les services associés aux objets ou les services logiciels (e.g., déployés

2.1. Architecture haut-niveau du système proposé 39

sur le Cloud). Étant donné que l’approche est orientée service il est important de pouvoir faire un lien entre une vision services et les objets physiques accessibles et déployés, et de stocker ce lien dans la base de connaissance.

2.1.1.2 Le gestionnaire autonome (AM)

Le gestionnaire autonome représente l’entité haut-niveau qui est en charge de surveiller et gérer la partie sous-jacente. Ce gestionnaire se base sur un modèle de type MAPE-K introduit dans [Kephart 2003] et présenté plus en détails dans le Chapitre 1, Section 1.3.1. Ce paradigme présente une architecture haut-niveau pour un système autonome spécifiée en quatre composants principaux :

• le Moniteur (monitor ) • l’Analyseur (analyser ) • le Planificateur (planner ) • l’Exécuteur (executor )

Cette architecture permet au système de répondre de manière autonome aux différents évènements pouvant survenir sur le système supervisé par l’intégration de comportements à travers notamment la base de connaissance. L’idée est de pouvoir intégrer une gestion de comportements haut-niveau définis en fonction de symp-tômes et pouvant émettre des actions à effectuer.

Dans notre cas, le système se base sur une vision orientée services afin de faciliter l’interaction avec le système supervisé, que ce soit par l’utilisation de plateformes (intergiciels, plateformes Cloud, etc.) ou via l’interaction directe avec les objets concernés.

Dans le système présenté, le gestionnaire interagit avec à la fois la base de connaissance et le système IoT.

2.1.1.3 La base de connaissance

La base de connaissance du système MAPE-K est un composant clef du système. Elle permet de stocker et de partager de la connaissance sur le système contrôlé, mais aussi les politiques haut-niveau de configuration ce qui permet au système d’agir en fonction des événements qui surviennent.

Dans notre approche la base de connaissance est principalement composée de deux modèles différents : une ontologie et une grammaire de graphes associée à un moteur de transformation de graphes.

Une ontologie est une “spécification explicite d’une conceptualisation” (cf. Sec-tion 1.4.1 et [Gruber 1991] pour définiSec-tion). Elle constitue un modèle sémantique de données d’un domaine et permet de définir des relations entre ces différents concepts. De plus, l’ontologie permet de réaliser du raisonnement sur la connaissance à propos des concepts concernés et donc d’enrichir la connaissance détenue.

Une grammaire de graphes définit un ensemble d’éléments comme un graphe type, et un ensemble de règles de réécriture qui vont associer des motifs de graphes à remplacer par de nouveau motifs dans les graphes cibles (cf. Section 1.5.1.2 et [Rozenberg 1997] pour définition complète).

Il est important de noter ici que ces modèles peuvent évoluer ou être modifiés en fonction des besoins et du contexte ou même du comportement attendu du système de gestion.

L’ontologie est utilisée pour stocker des méta-données sémantiques en rapport avec le système IoT. Elle permet notamment de réaliser du raisonnement qui va aider l’analyseur à prendre des décisions (cf. Section 2.2) via l’inférence de connaissance sur le système supervisé.

Le planificateur instancié pour la boucle autonomique repose quant à lui sur le modèle basé sur une grammaire de graphes pour générer les plans d’exécution (cf. Section 2.3.2). En fonction de requêtes générées par l’analyseur, une transformation de graphe va être effectuée sur les requêtes générées par l’analyseur afin de produire un plan d’exécution.

Dans cette thèse, nous nous intéressons particulièrement à la phase d’analyse et de planification où les décisions sont prises et les actions à effectuer sont générées pour être transformées en plan d’exécution. Les composants moniteur et exécuteur ne seront pas étudiés en détail. Cependant, des techniques avancée de monitoring peuvent être utilisées en complément telles celles présentées dans [Delgado 2004] [Palacios 2011] [Mosincat 2011].