Sujet du stage : Extension d’un langage pour la synthèse d’architectures systèmes : définition et manipulation de quantités

Au sein de l’Institut de Recherche Technologique SystemX, situé au cœur du campus scientifique d’excellence mondiale de Paris-Saclay, vous prendrez une part active au développement d’un centre de recherche technologique de niveau international dans le domaine de l’ingénierie numérique des systèmes. Adossé aux meilleurs organismes de recherche français du domaine et constitué par des équipes mixtes d’industriels et d’académiques, ce centre a pour mission de générer de nouvelles connaissances et solutions technologiques en s’appuyant sur les percées de l’ingénierie numérique et de diffuser ses compétences dans tous les secteurs économiques.
Vous serez encadré par un ingénieur-chercheur SystemX du domaine Ingénierie Système.

Vous travaillerez au sein du projet de recherche SystemX DCE « Defense Collaborative Engineering », projet faisant suite au projet I(SC)² « Ingénierie système collaborative des systèmes complexes », mené en collaboration avec des partenaires industriels de la défense.

Ce stage est susceptible d’être suivi d’une proposition de thèse sur une approche formelle pour la génération d’architecture admissible en conception de systèmes complexes avec l’école Supméca.

Présentation du sujet

Contexte du stage
L’ingénierie système s’intéresse à la conception et la validation de systèmes complexes. L’approche Model-Based Systems Engineering (MBSE) cherche à apporter un support méthodologique et outillé basé sur des modèles pour répondre aux problématiques de ce domaine. Lors de certaines phases de la conception, une exploration de l’espace des architectures ou du design peut être à réaliser, en effet, l’architecte (ou l’ingénieur) système est confronté à des problèmes de diverses natures [1] :

  • Dimensionnement d’un système (problème où des paramètres de conception ne sont pas fixés),
  • Configuration (problème où des composants ne sont pas sélectionnés),
  • Allocation (problème où des ressources ne sont pas allouées),
  • Synthèse d’architecture (problème proposant un mix des trois premières caractéristiques).

L’objectif général est d’apporter une assistance aux concepteurs de systèmes pour identifier les solutions candidates (valides), afin de pouvoir en sélectionner une ou plusieurs sur la base d’analyses de compromis. L’approche suivie est de proposer un cadre méthodologique et technique outillé pour explorer les architectures en ingénierie système et obtenir un ensemble de solutions par synthèse.
Ce cadre est constitué d’un langage de modélisation (Domain-Specific Modeling LanguageDSML) permettant à l’architecte (ou l’ingénieur) de représenter un ensemble d’architectures en intension (modèle déclaratif), couplé à solveur de type CSP [2] (orienté résolution de problèmes hybrides) permettant d’explorer l’espace de solutions.
Un enrichissement du langage DEPS [3] (acronyme de « Design Problem Specification »), combinant un langage de modélisation système (apportant structuration et abstraction), et un langage de programmation mathématique (permettant la formalisation d’inconnues, d’équations et d’inéquations pour la résolution de problèmes) est à réaliser.

Description du stage
Dans le contexte décrit ci-avant, le stage s’intéresse plus particulièrement à améliorer l’expression, l’opérationnalisation des quantités, permettant d’exprimer des réalités physiques (intensités physiques et dimensions) ou des abstractions informatiques (interprétation des énumérés), et aux analyses en découlant (par exemple pour vérifier l’homogénéité d’équations). En effet, la représentation des unités et des dimensions dans les systèmes informatiques est peu codifiée et souvent ignorée [4]. Or, dans le cas d’une modélisation systèmes, il est intéressant d’adjoindre des mécanismes de contrôle permettant d’éliminer au mieux les erreurs que les utilisateurs risquent fort de commettre, telles que : l’oubli de conversion d’unités, l’oubli de termes, etc. Une analyse dimensionnelle plus poussée permettrait de vérifier l’homogénéité d’une formule, d’effectuer des changements d’unités, de réduire les équations de la physique, etc. [5]

Missions du stage
Des compétences de diverses natures sont attendues pour réaliser, d’une part, un état de l’art sur la problématique de la représentation des quantités dans les modélisations systèmes, une étude comparative et une synthèse, et, d’autre part, une spécification et une implémentation de la solution. En résumé, les résultats attendus sont :

  • La réalisation d’un état de l’art sur l’expression et l’opérationnalisation des quantités dans les langages de modélisation : étude sur les ontologies sur les quantités (par ex. QUDT [6], QUDV, OM, et OBO), et sur l’expression des quantités dans les modèles (par ex. MARTE, SysML, etc.) [7],
  • La spécification de l’extension du langage : proposer une syntaxe abstraite (ensemble des concepts) et spécifier la grammaire (syntaxe concrète textuelle), afin de permettre la déclaration des quantités, et leur opérationnalisation dans le langage.
  • Une implémentation de la solution (réaliser un programme d’analyse du langage, parseur, algorithmes de vérification, et de son intégration dans le compilateur existant) et test sur un cas d’étude fourni par le projet.
  • Une rédaction d’un article scientifique pour restituer et valoriser les résultats obtenus.

Références bibliographiques
[1] Yvars, P.-A., & Zimmer, L. DEPS – a formal Modeling Language for System Architecture Synthesis. [online]. 2019
[2] Yvars, P.-A., & Zimmer, L. DEPS : Un langage pour le spécification de problèmes de conception de systèmes.  10ème Conférence Francophone de Modélisation, Optimisation et Simulation- MOSIM’14. 2014
[3] E. Tsang, Foundations of Constraint Satisfaction. London and San Diego: Academic Press, 1993.
[4] M.P. Foster, Quantities, units and computing, Computer Standards & Interfaces, 35 pp.529-535. 2013
[5] KOVACIC : Application de l’analyse dimensionnelle. 45ème journées nationales de l’Union des Physiciens, 1997.
[6] QUDT Ontologies Overview [online]
[7] Loli Burgueño, Tanja Mayerhofer, Manuel Wimmer, Antonio Vallecillo, Specifying quantities in software models, Information and Software Technology, Information and Software Technology. Vol. 113, 2019, pp 82-97, [online]

Profil et compétences

De formation en Master 2 recherche ou école d’ingénieur dernière année, dans le domaine de l’informatique, du génie logiciel.

Compétences : 

  • Informatique, théorie des langages et compilation
  • Conception orientée objet
  • Maîtrise d’un langage de programmation orientée objet (Java, Delphi, C++, etc.)
  • Technique d’ingénierie logicielle,
  • Programmation par contraintes (un plus)
  • Connaissances en ingénierie dirigée par les modèles (un plus)
  • Maîtrise de l’anglais écrit

Aptitudes personnelles : 

  • Capacité à développer une problématique de recherche
  • Curiosité, esprit d’initiative, capacité d’analyse et rigueur
  • Esprit d’analyse, autonomie, travail collaboratif
  • Intérêt pour la recherche appliquée
  • Ouverture d’esprit, motivation

Référence de l’offre : DSR-2021-07-DCE

Informations clés

Type de contrat : Stage de 6 mois, démarrage : février – mars 2021
Localisation du poste : Plateau de Saclay (91)


Postuler à cette offre d’emploi


Mots-clés :


Partager cette offre d’emploi :

Inscrivez-vous à la newsletter de l'IRT SystemX

et recevez chaque mois les dernières actualités de l'institut :