• Aucun résultat trouvé

Projet scientifique de l’équipe ACMES

Le projet du précédent quadriennal était centré sur la déclinaison d’une boucle autonomique (surveillance, analyse, planification, exécution) sur les trois axes de l’équipe (systèmes répartis ubiquitaires, entreprises virtuelles et workflows, intelligence collective et sociale). C’était un projet ambitieux par son ampleur qui a effectivement été suivi mais qui est encore porteur de sens et fécond aujourd’hui : de nombreux points ont été abordés pendant la période mais pas complètement traités. Nous proposons donc un projet dans la continuité du précédent avec une focalisation sur l’aspect multi-échelle dans l’ubiquitaire, sur l’aspect formalisation et données dans le cloud et sur l’aspect social et hybridation de modèles sur l’intelligence collective et sociale.

Une grande partie de ce projet s’intègre dans les projets transverses du laboratoire : la plupart de nos travaux rentre dans le thème Réseaux complexes (informatique autonomique, cloud, monitoring de ressources, intelligence collective et sociale) et nous avons commencé à travailler sur le thème Energie (déploiement dans un contexte multi-échelle, gestion de services et notamment élasticité dans le cloud, variabilité des procédés métiers).

8.4.1 Intergiciels et algorithmique pour les environnements ubiquitaires

Nos travaux concernant les algorithmes et services intergiciels pour les environnements mobiles, ouverts, am-biants et diffus vont se poursuivre. Dans le contexte des interactions accrues des systèmes avec l’Internet des objets et les services dans les nuages, nous étudierons certains aspects de nos travaux sous le point de vue des systèmes répartis multi-échelles.

Les services intelligents de demain (ville intelligente, agriculture intelligente...) reposeront sur des briques logi-cielles réparties sur plusieurs échelles comprenant à la fois des objets intelligents, de l’informatique mobile et de l’informatique dans le Cloud. La mise en œuvre de ces services devra répondre à des exigences accrues en termes de temps de réponse, d’extensibilité, de disponibilité, d’éco-conception et d’autonomicité.

Certains de nos travaux, notamment ceux concernant l’informatique mobile et l’informatique ambiante se placent naturellement dans un cadre multi-échelle. Différemment de l’aspect large échelle qui s’intéresse à la quantité (des dispositifs, des requêtes), concernant le multi-échelle, nous nous préoccuperons plus de l’hétérogénéité. Nous serons amenés à repenser les architectures de distribution, ainsi que la conception des systèmes et algorithmes, enfin nous devrons intégrer des préoccupations nouvelles telles que le respect de la vie privée dans la construction des systèmes. Nous avons amorcé un travail concernant les systèmes répartis multi-échelles dans le cadre du projet ANR INCOME [103]. Nos travaux porteront notamment sur les aspects observation, autonomie, distribution à base d’événéments des informations ainsi que sur le déploiement dans les systèmes répartis multi-échelles.

Observation et autonomie large et multi-échelle. L’intelligence ambiante et l’informatique diffuse, in-visible pour l’humain qui en bénéficie, reposent sur l’autonomie des systèmes. Les briques de base d’un système autonomique sont : l’observation des systèmes et de l’environnement, la connaissance du système et les capacités d’adaptation autonomique des systèmes. Dans un environnement large et multi-échelle, la notion d’observation et d’adaptation est plus complexe à concevoir et nécessite de revisiter les solutions utilisées jusqu’à présent à l’échelle locale d’un environnement ambiant. Les raisons en sont le volume des informations à observer et à analy-ser, le caractère éphémère des informations contextuelles, la multiplicité des sources de contexte (capteurs, bases de connaissances, réseaux sociaux), la qualité variable des informations observées, les conflits entre les exigences d’observation et celles du respect de la vie privée. Nous souhaitons poursuivre nos travaux concernant l’observation et l’adaptation des systèmes pour apporter des réponses en termes de modèles (d’observation, d’apprentissage, de variabilité des services), de services et algorithmes de diffusion (sur des systèmes à base d’événements multi-échelles) et d’intergiciels pour l’adaptation pour la construction de systèmes autonomiques à large échelle. Nous nous intéressons notamment au compromis entre la qualité de contexte requise par les applications et le respect de la vie privée nécessaire à la confiance des utilisateurs dans les applications. Ces travaux ont débuté dans le cadre de la thèse de doctorat de Samer Machara Marquez. D’autre part, dans le cadre du projet INCOME, une infra-structure de distribution d’informations de contexte multi-échelle est en cours de définition. Cette infrainfra-structure a pour caractéristique de prendre en compte des propriétés extra-fonctionnelles (qualité de contexte, respect de la vie privée, multi-échelle) dans le routage des informations.

Déploiement logiciel multi-échelle et éco-conception. Dans les années à venir, les logiciels seront dé-ployés à la fois à large échelle en termes de nombre d’équipements (millions d’équipements) et de multi-échelle (hétérogénéité des équipements, des objets au Cloud).

Les services répartis actuels sont en mesure de gérer plusieurs dizaines, voire centaines de millions de clients simultanés. Pour ce faire, leurs architectes s’appuient sur de bonnes pratiques pour garantir la disponibilité, les temps de réponses et l’extensibilité. Or, ces pratiques montrent aujourd’hui leurs limites avec l’explosion du nombre de clients, les exigences d’éco-conception et de disponibilité. Nous avons pour projet d’intégrer dans les intergiciels, des mécanismes permettant de prendre en compte les exigences à la fois en terme de robustesse et d’éco-conception.

Notamment, les décisions de déploiement devront prendre en compte des préoccupations d’efficacité énergétique, de performance et de robustesse. Pour répondre à cette problématique, des patrons et stratégies de déploiement ainsi que des infrastructures de supervision à la fois large et multi-échelles seront indispensables. Dans cette perspective, nous avons dans un premier temps défini un processus de caractérisation de système multi-échelle. Avec l’approche d’ingénierie dirigée par les modèles, nous avons proposé un méta-modèle de caractérisation multi-échelle. Ces travaux ont débuté dans le cadre de la thèse de Sam Rottenberg. Nous prévoyons l’intégration des concepts multi-échelles pour l’extension d’un langage de description de déploiement. Nos objectifs sont de parvenir à adapter dynamiquement les choix de déploiement aux caractéristiques multi-échelles du système tout en prenant en compte des préoccupations d’éco-conception.

8.4.2 Services, Workflows et Cloud

Modélisation et vérification de propriétés de procédés dans les environnements dynamiques Nous nous sommes intéressés à la modélisation formelle et la vérification de bonnes propriétés dans les procédés interen-treprises (PIE). Dans les années à venir, nous continuerons à explorer de nouvelles propriétés non considérées telles que l’opacité et les propriétés temporisées. Nous avons défini une nouvelle structure appelée TAG pour abstraire le graphe d’accessibilité d’un réseau temporisé. Cette nouvelle structure nous permettra de vérifier des propriétés temporisées dans les PIE d’une façon efficace [83].

Par ailleurs, nous envisageons de développer des approches pour la modélisation et la vérification de nouvelles propriétés de procédés évoluant dans des environnements dynamiques tels que le cloud. En particulier, nous nous intéresserons à la modélisation et la vérification de l’élasticité des procédés en environnement cloud.

L’élasticité est une notion fondamentale dans le cloud. Elle garantit la possibilité d’accroître et de décroître, en temps réel, les ressources (logicielles et/ou matérielles) disponibles en fonction des besoins réels des utilisateurs du cloud. Peu de travaux existants ont abordé le problème de l’élasticité dans le cloud d’un point de vue formel. Nous avons commencé l’étude de l’élasticité au niveau logiciel (Business process as a Service) et nous cherchons à définir des mécanismes assurant l’élasticité des applications à base de services dans le cloud. Pour ce faire, nous adoptons deux approches pour la modélisation et la vérification de l’élasticité.

Notre première approche consiste en la définition d’un modèle formel de déploiement de procédés qui représente les services, leurs instances et conteneurs et les liens de transfert d’appels entre services. De plus, nous envisageons la définition d’un modèle de réseaux de Petri de haut niveau permettant de contrôler à l’exécution les opérations d’élasticité (scalling up et scalling down) et de modéliser des stratégies d’élasticité qui s’appliquent au modèle de déploiement. Un tel modèle de contrôle peut être utilisé pour l’évaluation et la simulation de stratégies d’élasticité avant leur déploiement effectif. Ce travail a démarré récemment dans le cadre de la thèse de Mourad Amziani (co-encadrée par Tarek Meliti de UEVE/IBISC). Les résultats préliminaires de nos travaux en ne considérant que des stratégies limitées au nombre d’instances de services sont encourageants [72, 73, 74].

Par ailleurs nous développons une deuxième approche pour l’élasticité. Étant donné un procédé composé de plusieurs services, le concepteur modélise son procédé sans se soucier de la phase de déploiement et indique (par une annotation par exemple) quels sont les services qui doivent être élastiques. Le concepteur peut aussi indiquer la stratégie qu’il veut pour adapter le nombre d’instances de services déployés en fonction des demandes en temps réel. Ces informations nous permettent de générer, de façon automatique et transparente, un contrôleur adapté au processus initial et qui lui sera connecté pour garantir la propriété d’élasticité. Cette deuxième approche est développée en collaboration avec Kais Klai (Université de Paris 13/LIPN) et a donné lieu à une publication [82].

Nous continuerons à développer ces deux approches par la prise compte de nouvelles propriétés de qualité de service.

Gestion autonomique de ressources de Cloud Due à la dynamicité des environnements Cloud, les ressources évoluent au cours de leur cycle de vie, nécessitant une gestion autonomique. Nous avons commencé par étudier les aspects de supervision et de reconfiguration des ressources Cloud [88]. Afin de faciliter la tâche des fournisseurs de Cloud, nous souhaitons continuer ce travail en définissant une infrastructure autonomique suffisamment générique pour être utilisée aux différents niveaux (XaaS) d’un cloud.

Nous pensons définir un gestionnaire autonomique qui, à partir d’un SLA (Service Level Agreement) déjà établi entre le fournisseur et l’utilisateur, permet de mettre en place une infrastructure autonomique pour la gestion des ressources en déterminant et en instanciant automatiquement toutes les entités pour la mise en place de cette infrastructure. Ce gestionnaire commence par analyser un SLA lié à des ressources dans le cloud pour en extraire et déduire les informations utiles à la mise en place d’une infrastructure autonomique. Ces informations peuvent être : (i) les règles à appliquer par l’analyseur pour déclencher éventuellement des alertes vers le reconfigurateur ; (ii) les ressources à superviser ; (iii) les stratégies de reconfiguration ou d’adaptation à mettre en place. Une fois les informations déduites, il instancie un analyseur, l’initialise avec les règles déterminées, et le lie par un système d’abonnement / notification aux différentes ressources à superviser. Il instancie aussi un reconfigurateur et l’initialise avec les stratégies déduites. Ce reconfigurateur permet de générer des plans d’actions de reconfiguration à partir des alertes reçues de l’analyseur.

Variabilité de services et de plateformes Dans des environnements à large échelle et dynamiques (Grid, Cloud, etc), les concepteurs et développeurs de services et systèmes logiciels doivent prendre en compte la com-plexité d’un écosystème qui comprend les plateformes d’exécution, les utilisateurs de ces procédés, les services et systèmes logiciels. Dans ce contexte, les modèles de services et de systèmes logiciels doivent être configurables en ne représentant pas des modèles de service uniques, mais des familles de services. En configurant un modèle de service, on obtient une variante qui peut être exécutée au sein de l’entreprise concernée. Cela permettra aux entreprises (organisations) de supporter des services, des procédés et des systèmes logiciels métiers similaires tout en tenant compte des variations locales d’une manière contrôlée. De ce fait, il faut, d’une part, supporter le processus de conception par des techniques d’apprentissage et de fouille utilisant les traces d’exécution, et d’autre part, mettre en place une politique supportant des approches de conception intelligente de services, d’applications et de procédés qui soient configurables. Nous avons déjà entrepris un premier travail dans lequel nous proposons un mécanisme d’aide à la conception de variantes de processus en recommandant, d’une part, des services en se basant sur le contexte de composition [171], et en construisant, d’autre part, des fragments de procédés configurables [75].

Par ailleurs, la variabilité de services et de plateformes pourrait être une aide essentielle pour une conception et une exécution verte et respectueuse de la nature. Pour se faire, nous avons proposé dans le cade du programme Erasmus Mundus Green IT une thèse qui vise une gestion de procédés métiers intelligente et consciente de l’énergie à travers une modélisation et une exécution de variantes adaptatives dans une environnement cloud. En effet, le Cloud Computing permet aux entreprises de réduire leur consommation d’énergie en fournissant des ressources de manière dynamique, évolutive et l’accès à un pool de ressources informatiques configurables.

8.4.3 Intelligence Collective et Sociale

L’intelligence collective et sociale (Social and Community Intelligence) est un nouveau de domaine de recherche interdisciplinaire avec beaucoup d’applications potentielles. De nombreux défis restent à résoudre parmi lesquels l’acquisition et la fusion de données provenant de sources multiples et en général hétérogènes, la définition de modèles de raisonnement complexes tout en respectant l’intimité de la vie privée (privacy). Par exemple, nous voulons coupler les traces GPS des taxis avec des informations issues des réseaux sociaux afin de mieux caractériser la dynamique de déplacement dans les villes, comprendre des dynamiques de groupe (à l’occasion d’un grand événement comme un match de football par exemple).

Afin de pouvoir raisonner sur ces données, y appliquer des traitements spécifiques tels que des résumés ou des filtres statistiques ou prendre des décisions en tenant compte d’un ensemble de données contextuelles, il devient impératif d’avoir un langage commun permettant de manipuler tous ces différents formats. Nous envisageons, dans le cadre d’une thèse qui débute, de spécifier et d’implémenter une extension du langage SPARQL afin qu’il puisse manipuler un ou plusieurs flux sémantisés de différentes natures (statiques ou dynamiques) en entrée, et arrivant à des vitesses différentes. Cette extension devra ajouter les concepts de fenêtres temporelles (logiques et physiques), les opérateurs d’agrégation, ainsi que les fonctions de résumé et d’oubli et pourra s’inspirer de ce qui a été fait dans le domaine des DSMS (Data Stream Management Systems). Le langage ainsi étendu devra aussi permettre

de raisonner sur des flux entrants en les couplant avec des informations contextuelles telles que des données de géolocalisation, des profils utilisateurs ou encore des données environnementales. Ce raisonnement devra faciliter la prise de décision, la mise à jour des bases de connaissances ainsi que la détection des situations anormales dans un réseau de capteurs par exemple.

En ce qui concerne l’analyse des réseaux sociaux, nous prévoyons de poursuivre nos travaux en intégrant les di-mensions sémantique et temporelle. Comprendre et déterminer la structure globale d’un réseau social, la distribution des acteurs et des activités et leurs positions stratégiques est un domaine qui a été traité dans la littérature. Ce-pendant, les algorithmes d’analyse de réseaux sociaux sont uniquement basés sur l’analyse structurelle des graphes sociaux et n’exploitent pas la sémantique qui est intrinsèque à ce type de représentations et dont ils pourraient fortement tirer profit. Par exemple, les types des liens, les profils différents ou les rôles des acteurs. Or, ces infor-mations peuvent s’avérer extrêmement importantes en regardant l’activité sociale avec des perspectives différentes, par exemple, des activités dans le contexte professionnel, familial, ou amical. Le Web sémantique et plus générale-ment le Web de données (ou Linked data) nous permet de représenter des identités distribuées, des activités et des relations de façon uniforme même en étant localisés sur des sites différents. Ces concepts et vocabulaires pourraient enrichir sémantiquement les graphes sociaux et permettre des inférences qui n’étaient pas possibles avant. En outre, une analyse qui considère la dimension temporelle d’un réseau social pourrait également fournir des informations pertinentes sur ses caractéristiques et donner des indices de ses évolutions passées et futures. Par exemple, la date d’interactions entre des acteurs pourrait être utilisée pour affiner la détection communautaire en se concentrant sur des activités récentes.

Enfin, nous nous appuierons sur nos résultats concernant la prise en compte du risque dans la recommandation contextuelle pour adresser des problématiques sociétales de santé et plus spécifiquement la détection mais aussi l’anticipation de situations dites "anormales" potentiellement critiques. Cela permet d’assurer la sécurité, que ce soit des personnes autonomes présentant une fragilité ou des personnes en perte d’autonomie. Il s’agit ici de caractériser le comportement usuel des individus afin de mesurer les dérivations par rapport aux habitudes en utilisant entre autres des paramètres actimétriques, les activités du groupe présent dans l’environnement surveillé, le dossier médical, l’historique des alertes, les interactions avec le personnel soignant ou la famille, etc. L’estimation des indicateurs de risque sera basée en partie sur l’analyse à long terme des activités, postures et capteurs vitaux.

Ces indicateurs à long terme seront personnalisés et contextualisés en utilisant des données personnelles disponibles ainsi que les informations de contexte de la vie quotidienne. Ces indicateurs seront utilisés comme une référence de situations non critiques. Nous intègrerons en outre les travaux de recherche dans les systèmes de persuasion pour influencer les choix de l’utilisateur voire même modifier son attitude. En effet, dans la plupart des cas, les utilisateurs n’ont pas une vision claire de leurs préférences et vont plutôt entamer un processus de construction de celles-ci durant la session de recommandation. Les concepts de persuasion peuvent avoir plusieurs effets positifs comme l’augmentation de la confiance et de la satisfaction envers le processus de recommandation. Les évaluations seront faites sur la plateforme collaborative MobileMii, en cours de montage à NanoInnov, en collaboration avec le CEA-List et l’équipe TIPIC.