Un formalisme pour la traçabilité des transformations
Dans le développement logiciel en industrie, les documents de spécification jouent un rôle important pour la communication entre les analystes et les développeurs. Cependant, avec le temps, les changements de personel et les échéances toujours plus courtes, ces documents sont souvent obsolètes ou in...
Main Author: | |
---|---|
Other Authors: | |
Language: | fr |
Published: |
2010
|
Subjects: | |
Online Access: | http://hdl.handle.net/1866/3747 |
id |
ndltd-LACETR-oai-collectionscanada.gc.ca-QMU.1866-3747 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-LACETR-oai-collectionscanada.gc.ca-QMU.1866-37472013-10-04T04:16:37ZUn formalisme pour la traçabilité des transformationsLemoine, Mathieutraçabilitétraceabilitymodèlemodelcode sourcesource codethéorie des groupesgroup theorytranspositionstranspositionsApplied Sciences - Computer Science / Sciences appliqués et technologie - Informatique (UMI : 0984)Dans le développement logiciel en industrie, les documents de spécification jouent un rôle important pour la communication entre les analystes et les développeurs. Cependant, avec le temps, les changements de personel et les échéances toujours plus courtes, ces documents sont souvent obsolètes ou incohérents avec l'état effectif du système, i.e., son code source. Pourtant, il est nécessaire que les composants du système logiciel soient conservés à jour et cohérents avec leurs documents de spécifications pour faciliter leur développement et maintenance et, ainsi, pour en réduire les coûts. Maintenir la cohérence entre spécification et code source nécessite de pouvoir représenter les changements sur les uns et les autres et de pouvoir appliquer ces changements de manière cohérente et automatique. Nous proposons une solution permettant de décrire une représentation d'un logiciel ainsi qu'un formalisme mathématique permettant de décrire et de manipuler l'évolution des composants de ces représentations. Le formalisme est basé sur les triplets de Hoare pour représenter les transformations et sur la théorie des groupes et des homomorphismes de groupes pour manipuler ces transformations et permettrent leur application sur les différentes représentations du système. Nous illustrons notre formalisme sur deux représentations d'un système logiciel : PADL, une représentation architecturale de haut niveau (semblable à UML), et JCT, un arbre de syntaxe abstrait basé sur Java. Nous définissons également des transformations représentant l'évolution de ces représentations et la transposition permettant de reporter les transformations d'une représentation sur l'autre. Enfin, nous avons développé et décrivons brièvement une implémentation de notre illustration, un plugiciel pour l'IDE Eclipse détectant les transformations effectuées sur le code par les développeurs et un générateur de code pour l'intégration de nouvelles représentations dans l'implémentation.When developing software system in industry, system specifications are heavily used in communication among analysts and developers. However, system evolution, employee turn-over and shorter deadlines lead those documents either not to be up-to-date or not to be consistent with the actual system source code. Yet, having up-to-date documents would greatly help analysts and developers and reduce development and maintenance costs. Therefore, we need to keep those documents up-to-date and consistent. We propose a novel mathematical formalism to describe and manipulate the evolution of these documents. The mathematical formalism is based on Hoare triple to represent the transformations and group theory and groups homomorphisms to manipulate these transformations and apply them on different representations. We illustrate our formalism using two representation of a same system: PADL, that is an abstract design specification (similar to UML), and JCT, that is an Abstract Syntax Tree for Java. We also define transformations describing their evolutions, and transformations transposition from one representation to another. Finally, we provide an implementation of our illustration, a plugin for the Eclipse IDE detecting source code transformations made by a developer and a source code generator for integrating new representations in the implementation.Yann-Gaël, Guéheneuc2010-05-31T13:35:10ZNO_RESTRICTION2010-05-31T13:35:10Z2010-04-012009-12Thèse ou Mémoire numérique / Electronic Thesis or Dissertationhttp://hdl.handle.net/1866/3747fr |
collection |
NDLTD |
language |
fr |
sources |
NDLTD |
topic |
traçabilité traceability modèle model code source source code théorie des groupes group theory transpositions transpositions Applied Sciences - Computer Science / Sciences appliqués et technologie - Informatique (UMI : 0984) |
spellingShingle |
traçabilité traceability modèle model code source source code théorie des groupes group theory transpositions transpositions Applied Sciences - Computer Science / Sciences appliqués et technologie - Informatique (UMI : 0984) Lemoine, Mathieu Un formalisme pour la traçabilité des transformations |
description |
Dans le développement logiciel en industrie, les documents de
spécification jouent un rôle important pour la communication entre les analystes
et les développeurs. Cependant, avec le temps, les changements de personel et
les échéances toujours plus courtes, ces documents sont souvent obsolètes ou
incohérents avec l'état effectif du système, i.e., son code
source. Pourtant, il est nécessaire que les composants du système logiciel
soient conservés à jour et cohérents avec leurs documents de spécifications pour
faciliter leur développement et maintenance et, ainsi, pour en réduire les
coûts. Maintenir la cohérence entre spécification et code source nécessite de
pouvoir représenter les changements sur les uns et les autres et de pouvoir
appliquer ces changements de manière cohérente et automatique.
Nous proposons une solution permettant de décrire une représentation d'un
logiciel ainsi qu'un formalisme mathématique permettant de décrire et de
manipuler l'évolution des composants de ces représentations. Le formalisme est
basé sur les triplets de Hoare pour représenter les transformations et sur la
théorie des groupes et des homomorphismes de groupes pour manipuler ces
transformations et permettrent leur application sur les différentes
représentations du système.
Nous illustrons notre formalisme sur deux représentations d'un système logiciel
: PADL, une représentation architecturale de haut niveau (semblable à UML), et
JCT, un arbre de syntaxe abstrait basé sur Java. Nous définissons également des
transformations représentant l'évolution de ces représentations et la
transposition permettant de reporter les transformations d'une représentation
sur l'autre. Enfin, nous avons développé et décrivons brièvement une
implémentation de notre illustration, un plugiciel pour l'IDE Eclipse détectant
les transformations effectuées sur le code par les développeurs et un générateur
de code pour l'intégration de nouvelles représentations dans l'implémentation. === When developing software system in industry, system specifications are heavily
used in communication among analysts and developers. However, system evolution,
employee turn-over and shorter deadlines lead those documents either not to be
up-to-date or not to be consistent with the actual system source code. Yet,
having up-to-date documents would greatly help analysts and developers and
reduce development and maintenance costs. Therefore, we need to keep those
documents up-to-date and consistent.
We propose a novel mathematical formalism to describe and manipulate the
evolution of these documents. The mathematical formalism is based on Hoare
triple to represent the transformations and group theory and groups
homomorphisms to manipulate these transformations and apply them on different
representations.
We illustrate our formalism using two representation of a same system: PADL,
that is an abstract design specification (similar to UML), and JCT, that is an
Abstract Syntax Tree for Java. We also define transformations describing their
evolutions, and transformations transposition from one representation to
another. Finally, we provide an implementation of our illustration, a plugin for
the Eclipse IDE detecting source code transformations made by a developer and a
source code generator for integrating new representations in the implementation. |
author2 |
Yann-Gaël, Guéheneuc |
author_facet |
Yann-Gaël, Guéheneuc Lemoine, Mathieu |
author |
Lemoine, Mathieu |
author_sort |
Lemoine, Mathieu |
title |
Un formalisme pour la traçabilité des transformations |
title_short |
Un formalisme pour la traçabilité des transformations |
title_full |
Un formalisme pour la traçabilité des transformations |
title_fullStr |
Un formalisme pour la traçabilité des transformations |
title_full_unstemmed |
Un formalisme pour la traçabilité des transformations |
title_sort |
un formalisme pour la traçabilité des transformations |
publishDate |
2010 |
url |
http://hdl.handle.net/1866/3747 |
work_keys_str_mv |
AT lemoinemathieu unformalismepourlatracabilitedestransformations |
_version_ |
1716602209629634560 |