Software Product Lines Engineering in the domain of Naval Defence Systems

Summary

The objective of this thesis is to provide solutions to better address the modelling of the intrinsic variability of models and software. This subject deals with the modelling of Software Product Lines (SPL) in the context of naval defence applications. A first objective is to address the modelling and the use of SPL according to their expressiveness, manipulation and validation. The aim is to get a framework allowing to define SPL with the necessary expressiveness and to provide to the user appropriate editors in order to guide and control him during the configuration process, that is to say, while he is selecting one product among the family of products corresponding to the SPL. To address business domains emphasizes a number of key issues. A second objective is to study possible extensions in order to address some of these key issues : i) modification of the selected product at runtime according to the context and the quality of service (QoS), ii) solution scalability, iii) separation and composition of the various concerns of one SPL, iv) interoperability with other formalisms, v) reusability, etc.

This PhD positions is funded by DCNS (Thèse CIFRE). DCNS group (http://www.dcnsgroup.com/) is a front-ranking European player in the world market for naval defence systems. The Ph.D. position will be located at I3S lab, Sophia Antipolis, France (see. below) in the MODALIS team. The PhD student may also have to spend research periods at DCNS in Paris, France.

More details

(in french)

Ingénierie des lignes de produits logicielles dans le domaine des systèmes de défense navale

Le contexte des travaux proposés s’insère dans la problématique de création et d’évolution des lignes de produits logicielles ou Software Product Line (SPL). On peut citer à titre d’exemple des lignes de produits logicielles de téléphones portables, de web services dédiés à l’imagerie médicale ou de systèmes de management de combats navals (SMC). Le formalisme des Feature Models représente une approche intéressante pour décrire la variabilité d’une famille de produits et l’état de l’art foisonnant illustre les nombreuses extensions et utilisations de cette approche notamment dans le cadre de l’ingénierie des modèles. Cette approche repose sur deux étapes : i) la phase de construction du Feature Model - pour capturer la structure et la sémantique de la famille de produits et ii) la phase de configuration qui correspond à la sélection des parties optionnelles et des variantes conduisant à la définition d’un produit parmi l’ensemble des produits potentiels.

Dans le cadre de ce sujet de thèse nous nous intéressons en particulier à la modélisation de produits dans le domaine de la défense navale. Le fait de s’intéresser à des domaines métiers ciblés met en évidence un certain nombre de verrous technologiques :

  • La mise en évidence de tous les besoins de variabilité nécessaires à la définition des lignes de produits du domaine y compris à la définition des différentes formes de contraintes qui pourront exister entre les variantes.
  • La génération pour chaque ligne de produits d’éditeurs adaptés permettant de guider et contrôler l’utilisateur (c’est particulièrement important à la fois pour détecter les erreurs syntaxiques mais aussi les configurations non conformes).
  • La classe d’applications considérée comme par exemple la mise en œuvre de systèmes pour la défense navale introduit une distance importante entre l’expertise nécessaire à la spécification d’un besoin lié au domaine (ex : la description de la mission d’une plateforme navale) et l’expertise nécessaire à la mise en œuvre logicielle correspondante sur des plateformes temps réels. Il faut donc imaginer des solutions dirigées par le domaine qui permettent de garantir un passage automatique de l’espace du problème vers l’espace de la solution.
  • La faculté de pouvoir décider d’une reconfiguration (choix d’un nouveau produit dérivé) dynamiquement en fonction des variations du contexte d’exécution ou de contraintes de qualités de service, nécessite la mise en œuvre de techniques appropriées.
  • La validité des configurations et de leur projection sur des plateformes d’exécution est cruciale pour des systèmes critiques comme ceux visés dans le cadre de ce travail. Cette vérification devra être faite au plus tôt.
  • Le passage à l’échelle est aussi un point particulièrement important pour des systèmes nécessitant une grande réactivité. Il faut pouvoir raisonner sur des petits modèles afin de procéder à leur validation et garantir que leur composition - en vue d’obtenir un système correspondant à l’ensemble des besoins – conserve les mêmes propriétés.
  • L’amélioration de la réutilisabilité est un facteur important de la productivité dans le développement logiciel. S’appuyer pour cela sur les mécanismes de composition permettant le passage à l’échelle est une piste à étudier.
  • Les Feature Models dans l’espace de la solution ne peuvent représenter au mieux qu’une vue des informations nécessaires à la mise en œuvre de la ligne de produits sur la plateforme logicielle. Souvent l’architecture de cette plateforme est assez éloignée du Feature Model correspondant. Il faudra donc modéliser cette plateforme avec des formalismes appropriés afin de prendre en compte par exemple le séquencement d’opérations ce qui n’est pas possible avec un Feature Model. En conséquence il est nécessaire de réfléchir à des solutions permettant d’établir des passerelles entre les formalismes.

Dans un premier temps on s’intéressera à la modélisation et l’utilisation d’une ligne de produits en termes d’expressivité, de manipulation et de validation. Un premier objectif est de construire un framework permettant de définir une ligne de produits avec toute l’expressivité nécessaire et de disposer d’un éditeur adapté pour guider et contrôler l’utilisateur en charge de la définition d’un « produit » issu de cette famille. Cette première étape servira de base aux extensions destinées à résoudre un certain nombre des verrous technologiques mentionnés ci-dessus. Compte tenu du financement de la bourse en partenariat avec une entreprise, la validation de l’approche sur des cas réels et la mise en œuvre de prototype est particulièrement importante. Les prototypes développés utiliseront des solutions technologiques ouvertes. Ils s’appuieront notamment sur la plateforme Eclipse et sur EMF (Eclipse Modeling Framework), son environnement pour la modélisation et la génération de code.

Localisation de la thèse : I3S + missions sur Paris et audio/vidéoconférences.