Augmenting software engineers with modeling assistants - TEL - Thèses en ligne
Thèse Année : 2021

Augmenting software engineers with modeling assistants

Supporter les ingénieurs logiciels avec des assistants de modélisation

Résumé

Domain knowledge is a prerequisite to produce software design and implementation tailored to stakeholders’ requirements. One common way to formalize that knowledge is achieved through conceptual models, which are commonly used to describe or simulate a system. Acquiring such expertise requires to discuss with knowledgeable stakeholders and/or to get an access to useful documents, which both might not always be easily accessible. In the same time, more and more model samples can be gathered from multiple sources, what represents an increasing number of already formalized and accessible knowledge pieces. For example, some companies keep archives of internal model repositories. There also exist numerous open source projects that contain models while some modeling tools even offer the possibility to create public projects that are free to browse. Such data sources could be exploited to create domain knowledge that could be provided to software engineers while modeling. To be useful, this knowledge must be of high quality, but must also be well integrated into the software modeling process. The focus of this thesis is to provide a framework to exploit knowledge to assist users of computer-based modeling tools with software modeling assistants. This thesis first introduces our research questions based on a systematic mapping study about software assistants for software engineering, and then focuses on software assistants for modeling. It reports on the design of modeling assistants based on a user-centered approach. We present the conclusions of interviews conducted with experts in modeling, a stage in which requirements are collected. Then, we develop the creation of a prototype modeling knowledge base allowing (i) to create general and specific artificial modeling knowledge, and (ii) to make them available to any software client via recommendations. After introducing the results of an experiment regarding the accuracy of the system, we discuss these preliminary results. Finally, this thesis presents a software modeling assistant implementation integrated to the Papyrus tool, which aims to cognify the UML modeling environment by integrating the previously created knowledge. Our work helps to clarify the need for assistance during software modeling work, presents an initial approach to the design of software assistants for software modeling, and identify research challenges in modeling assistance.
La connaissance du domaine est une condition préalable à la conception et à la mise en œuvre de logiciels adaptés aux exigences des parties prenantes. Une façon courante de formaliser cette connaissance est réalisée par des modèles conceptuels, qui sont couramment utilisés pour décrire ou simuler un système. L'acquisition d'une telle expertise nécessite de discuter avec des parties prenantes bien informées et/ou d'avoir accès à des documents utiles, qui ne sont pas toujours facilement accessibles. Dans le même temps, de plus en plus d'échantillons de modèles peuvent être rassemblés à partir de sources multiples, ce qui représente un nombre croissant d'éléments de connaissance déjà formalisés et accessibles. Par exemple, certaines entreprises conservent des archives de référentiels de modèles internes. Il existe également de nombreux projets open source qui contiennent des modèles, tandis que certains outils de modélisation offrent même la possibilité de créer des projets publics que l'on peut parcourir librement. Ces sources de données pourraient être exploitées pour créer une connaissance du domaine qui pourrait être fournie aux ingénieurs logiciels lors de la modélisation. Pour être utile, cette connaissance doit être de haute qualité, mais doit aussi être bien intégrée dans le processus de modélisation du logiciel. L'objectif de cette thèse est de fournir un cadre pour exploiter les connaissances afin d'aider les utilisateurs d'outils de modélisation informatique avec des assistants de modélisation logicielle. Cette thèse présente d'abord nos questions de recherche basées sur une étude de cartographie systématique sur les assistants logiciels pour l'ingénierie logicielle, et se concentre ensuite sur les assistants logiciels pour la modélisation. Elle rend compte de la conception d'assistants de modélisation basée sur une approche centrée sur l'utilisateur. Nous présentons les conclusions des entretiens menés avec des experts en modélisation, une étape au cours de laquelle les exigences sont recueillies. Ensuite, nous développons la création d'un prototype de base de connaissances en modélisation permettant (i) de créer des connaissances artificielles générales et spécifiques en modélisation, et (ii) de les mettre à disposition de tout client logiciel via des recommandations. Après avoir présenté les résultats d'une expérience concernant la précision du système, nous discutons ces résultats préliminaires. Enfin, cette thèse présente l'implémentation d'un assistant de modélisation logiciel intégré à l'outil Papyrus, qui vise à cognifier l'environnement de modélisation UML en intégrant les connaissances précédemment créées. Notre travail permet de clarifier le besoin d'assistance pendant les travaux de modélisation de logiciels, de présenter une première approche de la conception d'assistants logiciels pour la modélisation de logiciels, et d'identifier les défis de recherche dans l'assistance à la modélisation.
Fichier principal
Vignette du fichier
These_SAVARY-LEBLANC_Maxime.pdf (9.86 Mo) Télécharger le fichier
Origine Version validée par le jury (STAR)

Dates et versions

tel-03675233 , version 1 (23-05-2022)

Identifiants

  • HAL Id : tel-03675233 , version 1

Citer

Maxime Savary-Leblanc. Augmenting software engineers with modeling assistants. Software Engineering [cs.SE]. Université de Lille, 2021. English. ⟨NNT : 2021LILUB027⟩. ⟨tel-03675233⟩
136 Consultations
237 Téléchargements

Partager

More