Collections de documents électroniques
RECHERCHER

Une approche de découverte des diagrammes de classes UML par l'apprentissage profond

Téléchargements

Téléchargements par mois depuis la dernière année

Plus de statistiques...

Rigou, Yves (2022). Une approche de découverte des diagrammes de classes UML par l'apprentissage profond. Mémoire. Rimouski, Université du Québec à Rimouski, Département de mathématiques, informatique et génie, 252 p.

[thumbnail of Yves_Rigou_avril2022.pdf]
Prévisualisation
PDF
Télécharger (3MB) | Prévisualisation

Résumé

RÉSUMÉ : L'ingénierie logicielle a élaboré des outils afin de rationaliser le processus de développement d'une application informatique. Parmi ceux-ci, l'architecture dirigée par les modèles propose de passer des exigences écrites en langage naturel dans un cahier des charges au code de l'application en passant par deux modèles intermédiaires, un modèle indépendant de la plateforme puis un modèle dépendant de la plateforme. Puisque les modèles et le code sont écrits en langage semi-formel, il est possible de passer de l'un à l'autre de manière automatique, ce qui rend le processus automatisable sur les trois quarts de sa longueur. Reste la première étape qui produit un modèle indépendant de plateforme à partir d'un cahier des charges et qui n'est pas automatisable en l'état actuel du fait de la complexité du langage naturel. Nous faisons l'hypothèse que l'utilisation de techniques de l'apprentissage profond développées dans le cadre du traitement automatique des langues nous permette d'envisager l'automatisation de cette étape et de produire un diagramme de classes qui est un modèle indépendant de plateforme courant. Le traitement automatique des langues est constitué d'un ensemble de tâches dont certaines peuvent nous aider à valider notre hypothèse. Parmi celles-ci, nous pensons que la détection d'entités peut nous aider à identifier les concepts clés du diagramme de classes, que la classification de relations peut nous aider à identifier les liens entre les concepts et que la résolution de coréférences peut nous aider à rassembler l'ensemble des informations relatives à un concept. Nous proposons un modèle qui résout conjointement les trois tâches et dont les résultats doivent nous permettre d'élaborer le diagramme. Nous proposons également un jeu de données annoté pour résoudre ces tâches dans le contexte de la transformation de cahiers des charges en diagramme de classe, ce qui n'existait pas encore. Notre modèle composé d'une couche d'encodage de type BERT et trois couches de décodage de type réseau à propagation avant permet de produire un diagramme de classe simple certes imparfait, mais cohérent malgré un jeu de données encore petit, ce qui valide la démarche et présente une première série de résultats encourageante. -- Mot(s) clé(s) en français : Ingénierie logicielle, Cahier des charges, Diagramme de classes, Apprentissage profond, Réseaux de neurones, Modèles, Détection d'entités, Résolution de coréférences, Classification de relations. --
ABSTRACT : Software engineering has developed tools to streamline the process of developing an IT application. Among these, the model-driven architecture proposes going from requirements written in natural language in a specification to the application code via two intermediate models, a platform-independent model and then a platform-specific model. Since the models and code are written in a semi-formal language, it is possible to switch between them automatically, making the process automatable over three-quarters of its length. The first step which creates a platform-independent model based on specifications cannot be automated in the current state because of the complexity of natural language. We hypothesize that the use of deep learning techniques developed within the framework of automatic language processing allows us to consider the automation of this step and to produce a class diagram. Automatic language processing consists of tasks, some of which can help us validate our hypothesis. We believe that entity detection can help us identify key concepts in the class diagram, that relation classification can help us identify links between concepts, and that coreference resolution can help us gather all the information relating to a concept. We propose a model that jointly resolves the three tasks, which should allow us to construct the diagram. We also provide an annotated dataset to solve these tasks in the context of transforming specifications into class diagrams. Our model, composed of a BERT-type encoding layer and three feed-forward-neural-network-type decoding layers makes it possible to produce a simple class diagram that is imperfect but consistent despite a still small data set, which validates the approach and presents a first series of encouraging results. -- Mot(s) clé(s) en anglais : Software engineering, Specifications, Class diagram, Deep learning, Neural network, Model, Entity extraction, Coreference resolution, Relation classification.

Type de document : Thèse ou mémoire de l'UQAR (Mémoire)
Directeur(trice) de mémoire/thèse : Khriss, Ismaïl
Information complémentaire : Mémoire présenté dans le cadre du programme de maîtrise en informatique de l'UQAC offert par extension à l'UQAR en vue de l'obtention du grade de maître ès science (M. Sc.).
Mots-clés : Apprentissage profond; Réseaux neuronaux (Informatique); Apprentissage automatique; Diagramme de classes; Uml; Classification; Relation.
Départements et unités départementales : Département de mathématiques, informatique et génie > Informatique
Déposé par : DIUQAR UQAR
Date de dépôt : 02 mars 2023 21:20
Dernière modification : 02 mars 2023 21:20
URI : https://semaphore.uqar.ca/id/eprint/2117

Actions (administrateurs uniquement)

Éditer la notice Éditer la notice