Détail d'une fiche   Version PDF

SPIRALS (SR0679OR)

Self-adaptation for distributed services and large software systems

SPIRALS (SR0613WR) →  SPIRALS


Statut: Décision signée

Responsable : Lionel Seinturier

Mots-clés de "A - Thèmes de recherche en Sciences du numérique - 2023" : A1.3. Systèmes distribués , A1.3.3. Blockchain , A1.3.5. Cloud , A1.4. Systèmes ubiquitaires , A1.6. Efficacité énergétique , A2.3.1. Systèmes embarqués , A2.3.2. Systèmes cyber-physiques , A2.4.2. Model-checking , A2.5. Génie logiciel , A2.5.2. Conception basé composant , A2.5.3. Génie logiciel empirique , A2.5.4. Maintenance, évolution , A2.6.2. Intergiciels , A3.1.3. Données distribuées , A3.1.4. Données incertaines , A3.1.5. Contrôle d'accès, confidentialité , A3.1.9. Bases de données , A3.2.1. Bases de connaissances , A3.2.4. Web sémantique , A3.2.5. Ontologies , A4.4. Sécurité des équipements et des logiciels , A4.8. Technologies pour la protection de la vie privée , A7.2. Logique , A9.1. Connaissances

Mots-clés de "B - Autres sciences et domaines d'application - 2023" : B6.1. Industrie du logiciel , B6.4. Internet des objets , B6.5. Systèmes d'information , B6.6. Systèmes embarqués , B8.5.2. Production participative , B9.5.1. Informatique , B9.5.6. Science des données , B9.10. Confidentialité, vie privée

Domaine : Réseaux, systèmes et services, calcul distribué
Thème : Systèmes distribués et intergiciels

Période : 01/01/2015 -> 30/06/2026
Dates d'évaluation : 13/10/2016 , 07/10/2021

Etablissement(s) de rattachement : UNIVERSITE DE LILLE, CNRS
Laboratoire(s) partenaire(s) : CRISTAL (9189)

CRI : Centre Inria de l'Université de Lille
Localisation : Centre Inria de l'Université de Lille
Code structure Inria : 101047-1

Numéro RNSR : 201421121B
N° de structure Inria: SR0679OR

Présentation

Spirals mène des activités de recherche dans les domaines des systèmes répartis et des sciences du logiciel. Nous avons pour but d'introduire plus d'autonomie dans les mécanismes d'adaptation des systèmes logiciels, en particulier, afin d'assurer la transition des systèmes adaptatifs vers les systèmes auto-adaptatifs. Nous visons plus particulièrement deux propriétés : l'auto-guérison et l'auto-optimisation. Avec l'auto-guérison, nous avons pour but d'étudier et d'adapter des solutions de fouille de données et d'apprentissage à la conception et la mise en œuvre de systèmes logiciels, plus particulièrement en vue de la réparation automatique des systèmes logiciels. Avec l'auto-optimisation, nous avons pour but de partager, collecter et analyser les comportements dans un environnement réparti afin de continuellement adapter, optimiser et maintenir en fonctionnement des systèmes logiciels et d'aller vers l'obtention de systèmes distribués éternels.

Axes de recherche

  • Auto-guérison : Fouille d'artéfacts logiciels pour faire évoluer automatiquement les systèmes. Les systèmes logiciels doivent faire face au changement tout au long de leur cycle de vie. Les méthodes de développement agiles floutent la frontière entre la conception et l'exécution et entraînent des adaptations constantes. La taille des systèmes (qui se compte en millions de lignes de code) multiplie le nombre de bugs par un ordre de grandeur similaire. De plus en plus de systèmes logiciels s'exécutent en mode "survie", au sens où on ne peut ni les rebooter, ni les mettre à jour. Nous pensons que des solutions nouvelles et innovantes peuvent être trouvées en utilisant des techniques de fouille de données et d'apprentissage adaptées au génie logiciel. Ce type de recherche consiste à faire de la fouille de connaissances sur les systèmes logiciels en analysant le code source, les systèmes de versionnement, les traces d'exécution, la documentation et tous les artéfacts de développement et d'exécution en général. Cette connaissance peut alors être utilisée dans des systèmes de recommandation pour le développement logiciel, les outils d'audit, les consoles de supervision à l'exécution, les frameworks de résilience.
  • Auto-optimisation : Partage de comportements à l'exécution pour l'adaptation continue du logiciel. Les systèmes répartis complexes doivent s'adapter de façon fluide à un grand nombre de cibles de déploiement. Ceci est dû à l'impossibilité pour les développeurs d'anticiper toutes les conditions d'exécution dans lesquelles ces systèmes seront immergés. Un défi majeur pour ces systèmes est de développer leur capacité à raisonner de façon continue sur eux-mêmes et de leur permettre de prendre les décisions et les actions appropriées quant aux optimisations qu'ils peuvent s'auto-appliquer. La contribution de recherche que nous visons dans ce domaine sera de ce fait organisée autour d'un modèle de référence pour l'ingénierie des systèmes répartis auto-optimisés pilotés de façon autonome par des boucles de contrôle adaptatives, qui s'étendront de façon automatique pour faire face à la complexité des décisions à prendre. Le programme de recherche sur cet objectif se focalisera sur l'étude de mécanismes pour superviser, prendre des décisions, et reconfigurer automatiquement les logiciels à l'exécution et à différents niveaux de granularité.

Relations industrielles et internationales