B. APPROCHE ORIENTEE-OBJET

B2. OASIS : Approche orientée-objet d'architectures avancées d'assistant logiciel


Prof. A. VAN LAMSWEERDE, UCL, Fac. des Sciences Appliquées
Place Sainte-Barbe 2, 1348 Louvain-La-Neuve

L'objectif du projet OASIS était de concevoir et de prototype une architecture avancée d'assistant logiciel guidé par les processus, étendant les possibilités et l'architecture de l'environnement ALMA que nous avions conçu auparavant. L'idée était d'y inclure de la connaissance sur les processus de développement de logiciels afin de fournir une guidance active de l'utilisateur pour l'élaboration, la validation et la documentation des objets logiciels gérés dans une base d'objets suivant une méthodologie donnée. L'architecture d'OASIS devait fournir des mécanismes permettant de la particulariser (instancier) aux types d'objets, d'associations, de processus ou d'agents intervenant dans une méthodologie spécifique, existante ou à venir. De plus, nous souhaitions étudier plus précisément une instantiation de cette architecture générique permettant de supporter des processus complexes s'appuyant sur une grande quantité de connaissances variées, à savoir l'acquisition des spécifications de logiciels, domaine dans lequel nous avons acquis une expertise par le développement de la stratégie d'acquisition de spécifications KAOS.

Dans un premier temps, nous avons étudié des modèles et des processus existants ainsi que les paradigmes de modélisation de ces processus, encore appelés méta-modèles. Ensuite, nous avons proposé un schéma extensible pour la définition de modèles et de méta-modèles. Ce schéma est basé sur le paradigme orienté-objet. Tout méta-modèle est défini comme une spécialisation d'un noyau orienté-objet, général et unique. La dynamique d'un méta-modèle est définie par des méthodes attachées à des objets de niveau méta. Les modèles de processus sont alors définis comme des instances de ces objets de niveau méta. Ce schéma extensible fournit un pilote générique dont un prototype a été construit en ML. Une première expérience réaliste de description d'un tel méta-modèle comme spécialisation du pilote a été menée. Marvel, le paradigme de modélisation bien connu, a été choisi pour cette expérience.

En parallèle, nous avons identifié la nécessité de disposer de descriptions plus abstraites des modèles de processus. En effet, la plupart des langages de modélisation de processus existants ne permettent pas de décrire le pourquoi d'un modèle. En l'absence de telles informations, la maintenance de ces programmes est très difficile, voire impossible. Une approche par raffinement est nécessaire si on souhaite modéliser des processus complexes réalistes. Ceux-ci doivent tout d'abord être spécifiés dans un langage abstrait pour être ensuite progressivement raffinés en des programmes exécutables modélisant les processus. L'adéquation du langage KAOS comme langage abstrait de spécification de processus a été étudiée. Les résultats sont encourageants en ce sens qu'il est maintenant possible de raisonner formellement sur les buts et les contraintes apparaissant dans ces modèles.

KAOS a également été étudiée en tant que méthodologie de développement. Comme les études de cas l'ont montré, l'acquisition de spécifications KAOS est une tâche longue et ardue. Seule l'utilisation d'outils basés sur le paradigme de réutilisation peut rendre cette tâche supportable. Le raisonnement par analogie s'avère une piste prometteuse dans cette optique. Des études de cas ont confirmé que cette approche pouvait fournir une assistance efficace dans la réutilisation de composants KAOS. Même si les mécanismes de base du raisonnement par analogie sont bien connus, un travail important fut nécessaire pour adapter ces mécanismes à l'acquisition de processus KAOS. Le résultat est un ensemble d'opérateurs génériques, applicables à tout langage de spécification basé sur un modèle conceptuel orienté-objet, muni de prédicats.

Table des matières Article suivant