Aide à la réutilisation de spécifications formelles en LOTOS
Abstract
Reuse is a key to improve the quality and the productivity of software. However, there are still problems not entirely resolved limiting the practice of reuse such as construction of a reusable component and adaptation of a component in an application according to the specific needs of the user. In our work, we are interested to the reuse of formal specifications. These specifications allow on one hand a system description to de more abstract, explicit and modular than the code and on the other hand to prove the correction of new system. We focused on two specifications types : abstract data types and concurrent processes using LOTOS language. To support specification reuse, we defined new and complex methods : re-striction, promotion and generalization of data types as well a composition and extension of processes. These methods are aided with operators defined in Proplane model. Reuse operators are based on theories (to produce correct results), are automatic ( the users are not necessarily experts in formal methods) and interactive (to support the user intuition). We applied these operators on case studies.
La réutilisation est un moyen permettant d'améliorer la qualité et la productivité des logiciels. Cependant, il existe encore des problèmes non entièrement résolus limitant la pratique de la réutilisation comme la construction d'un composant réutilisable et l'adaptation d'un composant dans une application selon les besoins spécifiques de l'utilisateur. Dans notre travail, nous nous sommes intéressés à la réutilisation de spécifications formelles. Celles-ci permettent, d'une part, une description du système de manière plus abstraite, plus explicite et plus modulaire que le code, et d'autre part, de prouver la correction du nouveau système. Nous nous sommes focalisés sur deux types de spécifications, les types abstraits de données et les processus concurrents, en utilisant le langage LOTOS. Pour supporter la réutilisation de spécifications, nous avons défini des méthodes nouvelles et élaborées : restriction, promotion et généralisation de types de données et également composition et extension de processus. Ces méthodes sont assistées à l'aide d'opérateurs définis dans le modèle Proplane. Nos opérateurs de réutilisation sont basés sur des bases formelles (afin d'engendrer des résultats corrects), sont automatiques (les utilisateurs ne sont pas forcément des experts de méthodes formelles) et inter-actifs (pour supporter l'intuition des utilisateurs). Nous avons appliqué ces opérateurs sur des études de cas.