Projet de recherche doctoral numero :3905

Description

Date depot: 1 janvier 1900
Titre: Selection et composition de patrons de conception à partir de l'expression d'objectifs non-fonctionnels
Directeur de thèse: Laurent PAUTET (LTCI (EDMH))
Domaine scientifique: Sciences et technologies de l'information et de la communication
Thématique CNRS : Non defini

Resumé: Contexte Propriétés Non-Fonctionnelles et Systèmes Temps-Réel Embarqués Critiques La prédiction des caractéristiques non-fonctionnelles d’un système logiciel a constitué un challenge de recherche très important ces dernières années. Les méthodes et outils qui se sont intéressés à ce problème ont fortement progressé, si bien qu’il existe de nombreux langages et framework capable d’estimer des caractéristiques non-fonctionnelles d’un système telles que : le pire temps de réponse d’une tâche, la disponibilité d’un service, la consommation energétique d’un système, son poid, etc… Ces méthodes s’appuient sur des techniques de modélisation : l’estimation des caractéristiques non-fonctionnelles s’appuie sur une abstraction du système en cours de réalisation. Les caractéristiques non-fonctionnelles que doit satisfaire un système peuvent être classées en deux catégories : les exigences non-fonctionnelles et les objectifs non-fonctionnels. Une exigence définit le cadre contractuel pour qu’une solution soit acceptable ; un objectif définit les caractéiristiques à améliorer pour obtenir une solution plus satisfaisante pour le client. Pour illustrer ces définitions, prenons l’exemple d’un pacemaker. Le client d’un fabriquant de pacemaker peut exiger que le poid du pacemaker n’excède pas 500 grammes. Il sagit là d’une exigence non-fonctionnel. En revanche, le fabriquant a intérêt à réduire ce poid qu maximum pour avoir un produit concurrentiel. L’objectif non-fonctionnel est alors de minimiser le poid du pacemaker. Par ailleurs, il est important de noter qu’il existe des patrons de conception qui ont été proposés pour améliorer les caractéristiques non-fonctionnelles d’un système. Il est donc util d’avoir une bonne connaissance de ces patrons pour pouvoir les appliquer en fonction d’un ensemble d’objectifs non-fonctionnels donnés. Enfin, les réels difficultés commencent lorsqu’on prend conscience que les objectifs non-fonctionnels peuvent être en compétition : l’amélioration d’une caractéristique C1 d’un système peut provoquer la dégradation d’une caractéristique C2. Par exemple, améliorer la disponibilité d’un service se fait souvent par réplication de ce service, ce qui provoque un accroissement du poid et/ou des temps de réponse de ces services. D’un point de vu logiciel, l’arbitrage se fait souvent entre occupation mémoire et temps de calcul. Pendant la phase de production d’un système temp-réel embarqué critique, une difficulté majeure est de décider de l’utilisation des patrons de conceptions pour satisfaire au mieux un ensemble d’objectifs non-fonctionnels en compétition. Le projet FSF Le projet FSF (Fiabilité et Sûreté de Fonctionnement) de l'IRT SystemX est un exemple de projet dans lequel les concepteurs de systèmes ferroviaires souhaitent s'intéresser à la composition de patrons de conception orientés sûreté de fonctionnement. Plus particulièrement, l'application de ces patrons sera évaluée selon leurs impacts en termes de disponibilité et en termes de performances temporelles. En effet, si on considère le patron bien connu qu'est la réplication triple avec voteurs, il va de soit que la présence de ces voteurs induit un délais de réponse plus élevé que celui induit par la chaine fonctionnelle simple (sans réplicats). Ce surcoût est dû à la fois aux fonctions de vote, à la mise en oeuvre de communications entre chaque voteur et chaque réplicat, mais aussi aux besoins de synchronisation entre voteurs et réplicats. Le projet RAMSES RAMSES (Refinement of AADL Models for the Synthesis of Embedded Systems) est un framework de transformation de modèles dans lequel les patrons de concepion sont implémentés sous la forme de transformations de modèles AADL. En fait, AADL est le langage source et le langage cible des transformations mises en oeuvre dans RAMSES. Cela permet de mener des analyses à la fois sur le modèle d'entré, mais aussi sur un modèle qui intègre l'application des patrons de conception. De plus, les transformations de modèles implémentent ici des patrons de conception, de sorte que le résultat de la transformation sera analysé en prenant en compte les impacts positifs et négatifs du patron vis-à-vis des objectifs non-fonctionnels. Problématique Pendant cette thèse, nous allons nous intéresser à la composition de patrons de conception pilotée par l’expression des exigences et objectifs non-fonctionnels. Les patrons de conception seront implémentés sous la forme de transformations de modèles. Ces transformations de modèle sont exprimées de façon générique, indépendamment du système précis sur lequel elles vont être appliquées. Ainsi, ces patrons pourront être réutilisés dans différents contextes applicatifs. Lors de l’utilisation de ces patrons dans un contexte applicatif donné, nous nous intéresserons au problème suivant : Quel(s) patron(s) sélectionner et selon quel(s) critère(s) ? La sélection d’un patron revient ici à déterminer quels éléments devront être transformés p

Doctorant.e: Rahmoun Smail