Bridging the gap between natural language system requirements and architecture design models - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2021

Bridging the gap between natural language system requirements and architecture design models

Combler le fossé entre les exigences du système exprimées en langage naturel et les modèles de conception d’architecture

Résumé

In recent years, system design constraints evolve more and more requiring to embed more stakeholders in the projects. Consequently, modern software projects are becoming many times larger and more complex than in the past. Model-Based Systems Engineering (MBSE) methods are on their side recognized to foster holistic view of design and empower high quality and maintainable software architecture. However, architecture design models are always extracted manually by engineers, which became a tedious, time-consuming and error prone task. Especially, the exponential growth of the number of system requirements raises difficulties in managing the requirements manually and having a clear crystal view of the expectation and scope of the system to be designed. The lack of human expertise as well as powerful automation tools are often cited as the main key barriers that still slow down the spread of the MBSE approach and present significant hurdles to demonstrate its Return On Investments (ROI).Recently, Artificial Intelligence (AI) has been receiving intensive attention and its applications have made their way into products in our daily life. In fact, AI techniques together with suitable technology have enabled systems to perceive, predict, and act in assisting humans in a wide range of applications. Hence, it stands to reason that advances in AI can bring great practical value to mitigate some of the challenges raised by the adoption of MBSE. In this thesis, we contributed a first step towards applying AI for MBSE to optimize the adoption of MBSE and resolve some of its challenges. Specifically, we proposed a new flow of Machine Learning (ML) and Natural Language Processing (NLP) components, empowering the automation to go from natural language requirements towards a preliminary UML architecture design model including a package breakdown model denoting the system’s decomposition. First, we proposed a clustering solution that helps to decompose the complex system into smallest sub-systems based on the semantic similarity of early requirements. The core of the proposed clustering solution is a semantic similarity computation module that analyzes the semantic information of both the words and requirement statements of each pair of requirements using the neural word embedding model word2vec. Accordingly, a set of clusters of similar requirements are generated denoting the identified sub-systems and hence, helping to reduce the complexity of the target system. Then, we proposed a model extractor that extracts from each identified cluster (i.e., sub-system), the relevant elements that are needed to build the UML use-case package break-down model using a set of NLP heuristics. Finally, we proposed a mapping operation that programmatically maps the extracted model elements into their corresponding ones in the target UML use-case package model. Our proposal was prototyped on Papyrus and evaluated on several case studies encompassing different types of natural language software requirements.
Au cours des dernières années, les contraintes liées à la conception des systèmes évoluent de plus en plus et nécessitent l’intégration d’un plus grand nombre d’intervenants dans les projets. Par conséquent, les projets de logiciels modernes deviennent beaucoup plus complexes que dans le passé. L'ingénierie des systèmes basée sur les modèles (MBSE) est de son côté reconnue pour favoriser une vision holistique de la conception et permettre une architecture logicielle de haute qualité et maintenable. Cependant, les modèles de conception d'architecture sont toujours extraits manuellement par les ingénieurs, ce qui est devenu une tâche fastidieuse, chronophage et sujette aux erreurs. En particulier, la croissance exponentielle du nombre d'exigences système soulève des difficultés pour gérer les exigences manuellement et avoir une vision claire et cristalline des attentes et de la portée du système à concevoir. Le manque d'expertise humaine ainsi que des outils d'automatisation puissants sont souvent cités comme les principaux obstacles clés qui ralentissent encore l'adoption de l'approche MBSE et présentent des obstacles importants pour démontrer son retour sur investissement (ROI). Récemment, l'intelligence artificielle (IA) a fait l'objet d'une attention intense et ses applications ont fait leur chemin dans les produits de notre vie quotidienne. En fait, les techniques d'IA associées à une technologie appropriée ont permis aux systèmes de percevoir, de prédire et d'agir pour aider les humains dans un large éventail d'applications. Par conséquent, il va de soi que les progrès de l'IA peuvent apporter une grande valeur pratique pour atténuer certains des défis soulevés par l'adoption du MBSE. Dans cette thèse, nous avons contribué à une première étape vers l'application de l'IA pour le MBSE afin d'optimiser l'adoption du MBSE et de résoudre certains de ses défis. Plus précisément, nous avons proposé un nouveau flux de composants d'apprentissage automatique (ML) et de traitement automatique du langage naturel (TALN), permettant à l'automatisation de la transition des exigences exprimées en langage naturel vers un modèle préliminaire de conception d'architecture exprimé en UML comprenant un modèle de paquet décrivant la décomposition du système. Premièrement, nous avons proposé une solution de clustering qui aide à décomposer le système complexe en sous-systèmes plus petits en fonction de la similarité sémantique des exigences logicielles. Le cœur de la solution de clustering proposée est un module de calcul de similarité sémantique qui analyse les informations sémantiques des mots ainsi que des énoncés d'exigences pour chaque paire d'exigences en utilisant le modèle de prolongements lexicaux neuronaux word2vec. Par conséquent, un ensemble de groupes d’exigences sémantiquement similaires sont générés pour désigner les sous-systèmes identifiés et, qui aident à réduire la complexité du système cible. Ensuite, nous avons proposé un extracteur de modèle qui extrait de chaque groupe d'exigences identifié (c.-à-d., sous-système), les éléments pertinents qui sont nécessaires pour construire le modèle de packages de cas d’utilisation exprimé en UML en utilisant un ensemble d’heuristiques de TALN. Enfin, nous avons proposé une opération de mapping qui transforme les éléments extraits pour construire le modèle en leurs éléments correspondants dans le modèle de paquet de cas d’utilisation cible exprimé en UML. Notre travail a été prototypé sur Papyrus et évaluée sur plusieurs cas d'étude englobant différents types d'exigences logicielles exprimées en langage naturel.
Fichier principal
Vignette du fichier
109450_KOCHBATI_2021_archivage.pdf (3.09 Mo) Télécharger le fichier
Origine Version validée par le jury (STAR)

Dates et versions

tel-03411393 , version 1 (02-11-2021)

Identifiants

  • HAL Id : tel-03411393 , version 1

Citer

Takwa Kochbati. Bridging the gap between natural language system requirements and architecture design models. Software Engineering [cs.SE]. Université Paris-Saclay, 2021. English. ⟨NNT : 2021UPASG076⟩. ⟨tel-03411393⟩
302 Consultations
780 Téléchargements

Partager

Gmail Mastodon Facebook X LinkedIn More