Augmenting software engineers with modeling assistants
Supporter les ingénieurs logiciels avec des assistants de modélisation
Assistant logiciel
Interaction
Artificial Intelligence
Modeling
Software assistant
Logiciels -- Développement
Systèmes, Conception de
Systèmes de recommandation (informatique)
Représentation des connaissances
Modèles entité-association
Agents intelligents (logiciels)
Interaction humain-machine
Ingénierie dirigée par les modèles
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.
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.
Electronic Thesis or Dissertation
Text
en
PDF
10335988
https://pepite-depot.univ-lille.fr/LIBRE/EDMADIS/2021/2021LILUB027.pdf
https://theses.hal.science/tel-03675233
https://theses.hal.science/tel-03675233
https://theses.hal.science/tel-03675233
https://theses.hal.science/tel-03675233
Savary-Leblanc
Maxime
Savary-Leblanc
1995-01-14
FR
262184052
http://www.theses.fr/2021LILUB027
2021LILUB027
2021-12-15
Informatique et applications
Université de Lille (2018-2021)
223446556
Doctorat
Docteur es
non
oui
Le Pallec
Xavier
MADS_DIRECTEUR_DE_THESE_1
070461015
Gérard
Sébastien
MADS_DIRECTEUR_DE_THESE_2
167724053
Seinturier
Lionel
MADS_PRESIDENT_DU_JURY
067175619
Abrahao
Silvia
MADS_MEMBRE_DU_JURY_1
Martinie De Almeida
Célia
MADS_MEMBRE_DU_JURY_2
16381239X
Gray
Jeff
MADS_RAPPORTEUR_1
Kolovos
Dimitris
MADS_RAPPORTEUR_2
Ober
Ileana
MADS_RAPPORTEUR_3
059569972
Ecole doctorale Mathématiques, sciences du numérique et de leurs interactions (Lille)
MADS_ECOLE_DOCTORALE_1
258621362
Centre de Recherche en Informatique, Signal et Automatique de Lille
MADS_PARTENAIRE_DE_RECHERCHE_1
410272
18388695X
ddc:004
Le Pallec
Xavier
Gérard
Sébastien
Seinturier
Lionel
Abrahao
Silvia
Martinie De Almeida
Célia
Gray
Jeff
Kolovos
Dimitris
Ober
Ileana
Ecole doctorale Mathématiques, sciences du numérique et de leurs interactions (Lille)
Centre de recherche en informatique, signal et automatique de Lille
PDF
10335988