4 Critères de classification et l’arbre de classification
Les deux problèmes majeurs dans la création d’une nouvelle taxonomie sont : les critères de classification et l’arbre de classification. Ici, les critères de classification ont été choisis pour refléter l’essence du point de vue fondamental de la recherche. L’arbre de classification a été obtenu par application successive des critères choisis. Les feuilles de l’arbre de classification sont les exemples (efforts de recherche), qui sont élaborés brièvement plus tard, dans la section Présentation des solutions existantes de ce document.
Dans cette étude, nous avons également inclus des architectures ne traitant pas de la sémantique des données, mais dont les architectures ont influencé la recherche dans une certaine direction. En plus de cela, nous avons montré comment l’enrichissement sémantique des données améliore l’efficacité de l’approche utilisée.
Puisque le rôle de la plateforme d’intégration des réseaux de capteurs est d’agir comme une interface entre les réseaux de capteurs et l’application des utilisateurs, les chercheurs sont en mesure d’aborder le problème soit au niveau des réseaux de capteurs, c’est-à-dire de manière ascendante, soit au niveau des applications, c’est-à-dire par une approche descendante. Par conséquent, comme principal critère de classification des architectures étudiées, nous classons les architectures en fonction de l’approche choisie, qui peut inclure : l’approche orientée vers les réseaux de capteurs et l’approche orientée vers les applications. Dans la première approche, les chercheurs tentent de résoudre l’hétérogénéité des réseaux de capteurs, leurs caractéristiques techniques, leurs contraintes, leurs protocoles, ainsi que les observations et les mesures produites, en proposant une méthode optimale de traitement, de représentation, de stockage et d’agrégation des sources de données de capteurs disponibles aux couches supérieures du système, et donc aux applications. Dans la deuxième approche, les chercheurs tendent à permettre une interface aussi conforme que possible et un mécanisme d’interaction pour les utilisateurs et les applications, qui leur permettent d’obtenir les informations qui les intéressent, à partir des réseaux de capteurs intégrés, en les libérant des complexités et des spécificités de ces réseaux de capteurs.
Dans la première classe, nous pouvons identifier trois sous-groupes : les architectures centrées sur les bases de données, les approches basées sur la traduction de requêtes, et les approches basées sur la virtualisation des capteurs. Tous ces sous-groupes peuvent encore être divisés en approches avec et sans emploi de la sémantique des données.
Les solutions centrées sur la base de données se caractérisent par une base de données comme hub central de toutes les données de capteurs collectées, et par conséquent toutes les recherches et manipulations des données de capteurs sont effectuées sur la base de données. C’est un défi de faire correspondre des données de capteur hétérogènes à un schéma de base de données unique. Un mécanisme supplémentaire doit être fourni pour la prise en charge des données en temps réel, car ce type de données peut difficilement être mis en cache directement en raison de son grand volume. Le principal problème de cette approche est l’évolutivité, car le serveur de base de données doit gérer à la fois les insertions de données provenant des nœuds de capteurs et les requêtes des applications. Cette approche peut bénéficier de la possibilité d’activer le support des techniques d’exploration de données et d’apprentissage automatique sur le pool stocké de données de capteurs.
L’approche de traduction de requête utilise la forme naturelle des données de capteurs et les langages de requête associés afin de transformer la requête des utilisateurs dans le langage de requête cible d’une certaine source. Cette approche implique un besoin de maintenir les informations des sources de données disponibles, principalement le langage de requête natif de certaines sources de données, le format et la nature des données produites, mais elle peut également inclure des informations sur les capacités des capteurs, la topologie du réseau, les contraintes de puissance pour une meilleure optimisation des requêtes. Les résultats des requêtes natives doivent être assemblés dans le format de données cible. Potentiellement, un inconvénient de performance réside dans le fait que deux conversions par chaque demande de l’utilisateur doivent être effectuées dans le runtime : lorsqu’une requête est traduite en requête native, et à nouveau lorsque les résultats de la requête doivent être convertis dans le format cible.
Dans l’approche de virtualisation des capteurs, les capteurs et autres dispositifs sont représentés avec un modèle de données abstrait et les applications ont la possibilité d’interagir directement avec cette abstraction en utilisant une interface. Que la mise en œuvre de l’interface définie soit réalisée sur les composants des nœuds de capteurs, des puits ou des passerelles, les flux de données produits doivent être conformes au format communément accepté qui doit permettre l’interopérabilité. En général, tout format de données commun, qui exploite le modèle de données sémantiques, pourrait être utilisé pour représenter les données, ou même plusieurs formats de données ciblant différents niveaux d’abstractions de données, pourraient coexister en parallèle en fonction des besoins des utilisateurs. Cette approche est prometteuse et offre une bonne évolutivité, de hautes performances et une fusion efficace des données sur des réseaux de capteurs hétérogènes, ainsi qu’une flexibilité dans l’agrégation des flux de données, etc.
Comme indiqué ci-dessus, les approches orientées application tentent d’offrir le moyen le plus efficace aux applications des utilisateurs pour obtenir les informations nécessaires des réseaux de capteurs intégrés. Cependant, en se concentrant sur la fourniture de l’interaction de haut niveau entre les applications et le système sous-jacent, avec des fonctions d’inférence de connaissances, elles souffrent parfois des aspects de performance, ce qui empêche une acceptation plus large de ces solutions. Nous avons identifié quatre sous-groupes qui partagent le même principe de base d’approche descendante : les approches d’architecture orientée services, les approches de composition de services, les approches de transformation de données à base de règles et les systèmes à base d’agents.
Les approches d’architecture orientée services fournissent une interface de service standard avec des méthodes définies et des codages de données pour obtenir des observations et des mesures à partir des capteurs souhaités. En outre, elles peuvent offrir des fonctions telles que l’obtention d’informations sur les caractéristiques des capteurs, la possibilité de s’abonner à des valeurs de données de capteurs sélectionnés, la soumission de requêtes, éventuellement des fonctions d’actionnement, etc. L’interaction dominante dans ces architectures est le modèle demande-réponse et, dans une moindre mesure, la livraison de données de capteurs basée sur des événements. L’interaction dominante dans ces architectures est le modèle requête-réponse et, dans une moindre mesure, la livraison de données de capteurs basée sur des événements. Bien qu’il n’y ait pas de contraintes explicites sur la mise en œuvre concrète, cette approche tend à être orientée verticalement et ne couvre qu’un seul domaine d’application.
Les approches orientées composition de services offrent aux utilisateurs la possibilité de définir des services ou des flux de données arbitraires avec une caractéristique spécifique d’intérêt. Le système essaiera de composer un tel flux de données en appliquant un traitement spécifique sur les sources de données appropriées, ce qui aura pour résultat de produire un flux de données conforme à la spécification demandée. L’expressivité totale de la demande de l’utilisateur pourrait être obtenue en permettant une description basée sur un modèle sémantique des flux de données souhaités et des capacités de traitement : le raisonnement basé sur la sémantique pourrait être utilisé lors de la recherche d’une composition optimale des composants disponibles. Cette approche semble offrir les solutions les plus flexibles du point de vue des applications, bien que les performances puissent être dégradées en raison de la découverte en temps réel de la composition des services.
La transformation des données basée sur des règles semble être l’approche la plus courante pour utiliser les modèles de données sémantiques. L’inférence de nouvelles connaissances ou la détection d’événements de haut niveau sont réalisées par les fonctions de mappage reposant sur les relations entre les concepts capturés dans la représentation ontologique du modèle de domaine et les observations et mesures des données du capteur. Il peut y avoir de multiples transformations à travers l’architecture en fonction des différentes couches du modèle d’information. Les données sont transformées de formats de niveau inférieur en représentations basées sur la sémantique permettant l’application d’algorithmes de recherche et de raisonnement sémantiques.
Les systèmes à base d’agents se composent de plusieurs types d’agents. Les agents sont des composants logiciels capables d’effectuer des tâches spécifiques. Ils réalisent en collaboration les fonctionnalités souhaitées. Pour les communications internes des agents, on peut utiliser certaines plateformes d’agents standard ou une implémentation spécifique. En général, les agents appartiennent à une ou plusieurs couches en fonction du type de fonctionnalités dont ils sont responsables. Il peut également y avoir plusieurs types d’agents dans une même couche logique. Les agents des couches supérieures emploient des agents des couches inférieures. Le fait que les agents emploient la sémantique des données des capteurs ou que des modèles sémantiques soient utilisés pour la description des capacités de traitement des agents dépend de la mise en œuvre concrète.
L’arbre de classification, dérivé des critères de classification susmentionnés, est présenté à la figure 1, et est composé de sept feuilles. Chaque feuille de l’arbre de classification se voit attribuer un nom, comme décrit ci-dessus. La liste des solutions existantes (exemples) est donnée en fonction de la classification appliquée pour chaque feuille (classe). Nous n’avons fourni que les noms des approches et les principales références dans un paragraphe séparé afin de permettre aux lecteurs intéressés d’étudier plus en détail . Pour des raisons de simplicité, nous donnons un nom arbitraire à une solution qui n’a pas de nom explicite donné par les auteurs. Nous utilisons soit le nom de l’institution dont les auteurs sont issus, soit le nom de la principale question stratégique caractéristique de cette solution.
Les solutions centrées sur la base de données comprennent des approches non sémantiques telles que le système de base de données Cougar , l’un des premiers travaux de recherche vers l’intégration des réseaux de capteurs, et SenseWeb , qui est un exemple d’utilisation maximale de l’approche décrite. L’ES3N est un exemple d’approche centrée sur la base de données sémantique.
Toutes les solutions relatives aux approches de traduction de requêtes emploient des technologies sémantiques et comprennent : le réseau de capteurs sémantiques du CSIRO , l’approche basée sur SPARQLSTREAM , et le SemSorGrid4Env , qui est la solution la plus complète de ce groupe.
Les efforts de recherche les plus récents dans ce domaine appartiennent aux approches de virtualisation des capteurs. L’approche non sémantique est utilisée dans le GSN , tandis que les solutions proposées dans les projets financés par l’UE à grande échelle tels que le SENSEI et l’Internet des objets (IoT) utilisent la sémantique des données.
Les architectures orientées services comprennent des solutions non sémantiques simples et pourtant efficaces telles que TinyREST et les spécifications OGC SWE de l’architecture de référence mises en œuvre par diverses parties . Une approche basée sur la sémantique est utilisée dans le SemSOS .
Les approches de composition de services ont tendance à offrir l’interaction la plus flexible aux utilisateurs et Hourglass est un exemple de solution non sémantique. Des solutions plus puissantes utilisent des approches sémantiques et incluent le SONGS et une architecture développée chez IBM .
Les architectures les plus courantes qui utilisent des technologies sémantiques appartiennent aux approches de transformation de données basées sur des règles et incluent : un système de fusion de données de capteurs basé sur la sémantique développé à l’Université de Toronto , une architecture pluggable conçue à l’Université technique nationale d’Athènes , et le SWASN , une partie de la vision CommonSense d’Ericsson .
Enfin, les approches basées sur les agents ont à la fois les représentants non sémantiques et sémantiques : le premier est une infrastructure de capteurs à l’échelle de l’Internet appelée IrisNet , tandis que le second est le SWAP , un système multi-agent pour les architectures Web de capteurs.