La généralisation : un outil pour la réutilisation
Institution:
Grenoble INPGDisciplines:
Directors:
Abstract EN:
Pas de résumé disponible.
Abstract FR:
Ce document présente notre contribution dans le domaine de la réutilisation de logiciel. Nous définissons les bases d'un système d'aide à la réutilisation construit autour d'un cadre formel ― les spécifications algébriques. Par ailleurs, l'approche que nous proposons est caractérisée par la généralisation (automatique ou semi-automatique) de composants de spécification conçus pour des problèmes particuliers. La combinaison de ces deux aspects (réutilisation par spécification algébrique et réutilisation par généralisation) n'avait pas à ce jour été étudiée. Elle fait gagner de la souplesse, car le programmeur n'a pas à se soucier de la généralité des composants qu'il écrit, et en sécurité, car la généralisation peut être conduite par rapport à certaines propriétés sémantiques du composant original, le système garantissant que les propriétés choisies sont bien conservées. Dans une première partie de ce document, nous définissons formellement les objets de ce système ― les composants de spécification et leur sémantique ― et un ensemble d'opérateurs de transformation. Parmi ces opérateurs, nous définissons celui que nous introduisons ― l'opérateur de généralisation. Nous énonçons et démontrons une série de propriétés de ces opérateurs qui permettent d'établir une hiérarchie de composants dans un cadre catégoriel (la hiérarchie de morphismes de spécification). Une deuxième partie de ce travail est consacrée à l'aide qu'on peut apporter à l'utilisateur lors de la détermination d'une généralisation. Dans un premier temps, nous traitons le problème de la généralisation syntaxique, qui représente le maximum de généralité qu'on peut obtenir. Ensuite, nous étudions le problème de la généralisation sémantique, c'est-à-dire, la généralisation avec préservation d'un ensemble de propriétés sémantiques déterminées par l'utilisateur