La combinaison d'UML avec la méthode formelle CSP-OZ pour le ...

formelle comprenant le langage Оbject-Z (l'extension orientée objet du langage Z) pour la description des aspects statiques des systèmes et la théorie CSP ...
20KB taille 25 téléchargements 201 vues
Actes du XXVII° congrès INFORSID, Toulouse, mai 2009

La combinaison d’UML avec la méthode formelle CSP-OZ pour le développement d’applications bases des données Tahar Bendouma Department of Theoretical Cybernetics, Kazan State University, Russia Kazan 420008, Kremlovskaya str 18, Room 115 [email protected] MOTS-CLÉS :

Base de données relationnelle, méthode formelle, UML, CSP, Object-Z, CSP-OZ.

KEYWORDS:

Relational data base, formal method, UML, CSP, Object-Z, CSP-OZ.

Les méthodes utilisées pour la spécification et le développement d’applications de bases de données sont basées soit sur les notations graphiques (appelées méthodes semi-formelles) soit sur des notations mathématiques (appelées méthodes formelles). Les méthodes semi-formelles (E-R, UML, OMT,…) (Jacobson et al., 2005) permettent une représentation intuitive et synthétique du système à étudier. Ces méthodes représentent des avantages indéniables pour la modélisation. Elles constituent un support idéal pour la communication entre les différents acteurs du système. Mais dans ces méthodes, il n’y a pas d’outils de contrôle et de vérification des spécifications obtenues. L’utilisation des méthodes formelles (Z, B, CSP, CCS,…) permet, d'une part, de vérifier la cohérence globale du système et, d'autre part, d'assurer, la conformité du code final par rapport à sa spécification initiale. Malgré les coûts supplémentaires liés au travail d’analyse et de conception en spécification formelle, l’utilisation de telles méthodes est de plus en plus justifiée pour des logiciels qui impliquent des données ou des conditions de sécurité critiques, car elles permettent d’assurer leur bon fonctionnement et d’éviter ainsi des risques d’erreur (Gervais, 2006). Les méthodes formelles peuvent être classées en : orienté vers la description des aspects statiques (B, Z,…), et orienté vers la description des aspects dynamiques (CSP, CCS, ACP,…). Une approche plus actuelle est fondée sur la combinaison des méthodes de spécifications des aspects statiques avec les méthodes de spécifications des aspects dynamiques. L'un des travaux les plus intéressants est CSP-OZ (Fischer, 2000) qui se présente comme une méthode formelle comprenant le langage Оbject-Z (l'extension orientée objet du langage Z) pour la description des aspects statiques des systèmes et la théorie CSP pour la spécification des aspects dynamiques. L’objectif de notre travail est de décrire une approche basée sur le couplage des notions graphiques d’ UML avec les notions formelles de CSP-OZ. Ce couplage

481

Actes du XXVII° congrès INFORSID, Toulouse, mai 2009

permet de tirer profit, premièrement, de l’aspect intuitif et visuel qu’offrent les notations graphiques, deuxièmement, de l’aspect de formalisation des notations mathématiques : on obtient alors la précision et la possibilité de prouver les spécifications. Les principaux travaux relatifs à cette approche de développement, pour les applications bases de données, sont présentés en (Barros, 1994) et (Laleau et al., 2000). L’approche est réalisée de la manière suivante : – La première étape consiste à décrire les aspects statiques et dynamiques du système d’information avec les diagrammes UML (le diagramme de classes pour les aspects statiques et le diagramme de collaborations pour les aspects dynamiques). Les contraintes qui ne peuvent pas être exprimées de façon précise avec les notations graphiques sont spécifiées ensuite avec CSP-OZ. – L’étape suivante consiste à générer des spécifications CSP-OZ à partir des diagrammes UML établis lors de la première étape (à partir du diagramme de classes, on peut générer la spécification des structures des tables et les opérations de bases en Object-Z, et à partir du diagramme de collaborations, on peut générer la spécification de l’aspect dynamique en CSP). – Cette étape produit le code correspondant à la spécification. Cette phase de codage permet de définir, d’une part, le schéma de la base de données et les requêtes SQL des bases associées (insertion, suppression d’un tuple, etc.), et d’autre part, les classes dans un langage de programmation, permettant l'implémentation effective des moyens du traitement dans la base de données.

Bibliographie Jacobson I., Booch G., Rumbaugh J., The Unified Modeling Language User Guide, AddisonWesley, 2005. Fischer C., Combination and Implementation of Processes and Data: From CSP-OZ to Java, Ph.D. Thesis, Bericht Nr. 2/2000, University of Oldenburg, April 2000. Gervais F., Combinaison de spécifications formelles pour la modélisation des systèmes d'information. Thèse de doctorat, spécialité informatique, CNAM Paris, Université de Sherbrooke (Québec), Décembre 2006. Barros. R.S.M., Deriving Relational Database Programs from Formal specification, 2 nd Int. Conf. FME’94, Springer-Verlag, LNCS, Barcelona, Spain, 1994. P

P

Laleau R., Mammar A., «An Overview of a Method and its Support Tool for Generating B Specifications from UML Notations», In Proceeding 15th IEEE conf on Automated Software Engineering (ASE2000), p. 269–272.

482