Combinaison de spécifications formelles pour la modélisation des systèmes d'information. (Coupling of formal specifications for modelling information systems)
نویسنده
چکیده
State Machines [Gur95]. Les Abstract State Machines (ASM), appelées aussi Evolving Algebras (EA), ont pour but de relier les spécifications de type algébrique et leur modèle sémantique. L’approche consiste à construire des machines (appelées aussi “e-algèbres”) qui représentent les systèmes de manière à ce que la correction des spécifications soit établie par de simples observations et vérifications. Des outils permettent en outre de simuler les machines obtenues. Les ASM sont une variante de la logique du premier ordre avec égalité. Les structures algébriques “classiques” sont généralement définies par la syntaxe du langage et par une algèbre qui modélise ce langage. Une signature est définie par la donnée des symboles de langage. Elle peut comprendre, suivant la logique considérée, des noms de domaines, des noms de relations ou bien des noms de fonctions. Une algèbre A de signature S est un ensemble non vide X associé à une interprétation γ des symboles de S dans X . Une e-algèbre permet en outre de changer la sémantique d’une fonction ou d’une relation par l’intermédiaire de règles sur les symboles du langage. Plusieurs opérateurs sont utilisés pour définir ces règles, comme la séquence, les boucles conditionnelles ou la récursivité. Elles peuvent enfin être gardées. À chaque étape 3.7. COMPARAISON DES APPROCHES 73 de l’exécution de l’ASM, les gardes sont réévaluées afin d’exécuter les règles et de modifier la sémantique des symboles de relations et de fonctions concernées. Cette approche se distingue un peu des autres exemples de cet état de l’art, car elle concerne les spécifications de type algébrique et il ne s’agit pas vraiment d’une combinaison de spécifications formelles. Elle permet toutefois d’intégrer les aspects dynamiques en modifiant la sémantique. Pour cette raison, cette approche appartient au groupe de combinaisons unification. CSP et Z [BDW99]. Cette approche propose une méthode de comparaison des langages CSP et Z, en identifiant un processus CSP avec un type de donnée abstrait de Z. Pour ce faire, Bolton définit une sémantique du comportement pour les types abstraits de données. Les opérations d’un type de donnée sont ainsi représentées dans le modèle sémantique comme des événements. L’approche propose également des relations de simulation sur les données qui sont valides et complètes par rapport aux relations de raffinement CSP. La démarche adoptée ici est similaire à celle des travaux de combinaison entre CSP et Object-Z. Un premier exemple a été donné avec CSP-OZ dans la section 3.4. Un autre exemple, décrit dans [SD01], permet aussi d’identifier un processus CSP avec une classe Object-Z. La différence vient en fait des structures comparées : Bolton considère les types de données abstraits de Z, tandis que Fischer et Derrick utilisent les classes Object-Z. Toutefois, Bolton ne définit pas un nouveau langage, mais propose une nouvelle sémantique pour représenter le comportement des types de données Z en fonction des processus CSP. De ce point de vue, cet exemple ressemble plutôt aux approches comme csp2B qui utilisent la sémantique d’un langage pour compléter celle de l’autre. Ce couplage appartient donc au groupe de combinaisons juxtaposition. Z + Petri Nets [PJ03]. Les réseaux de Petri [Pet81] sont des graphes bipartis composés de places et de transitions. Ce langage formel permet de décrire de manière graphique, mais rigoureuse, des systèmes concurrents. Dans cette approche, de nouveaux réseaux, appelés des réseaux d’activation concurrente, sont définis comme des réseaux de Petri classiques dans lesquels deux types de places sont distingués : les places classiques et les ZPlaces. Pour représenter le comportement du système, les réseaux de Petri associent aux places des jetons. Les transitions permettent de déterminer sous quelles conditions les jetons du système peuvent passer d’une place à une autre. Dans l’approche Z + Petri Nets, le système est représenté d’une part par une spécification Z classique et d’autre part par un réseau d’activation concurrente dans lequel les ZPlaces sont associées à des opérations de la spécification Z. Quand une ZPlace contient un jeton, alors l’opération Z correspondante est activée et peut être exécutée. Cette approche conserve le double point de vue entre les deux parties de la modélisation. Le seul lien entre spécification Z et réseaux de Petri est l’association d’une opération Z à une ZPlace. Par conséquent, l’utilisation des outils existants est possible dans chacune des deux parties. Pour éviter des redondances, les opérations Z ne spécifient aucune précondition concernant une variable représentant l’état global du système et les réseaux de Petri utilisés sont les plus simples et ne permettent pas, comme les réseaux de Petri de haut niveau ou les réseaux colorés, de spécifier des contraintes sur les données. 74 CHAPITRE 3. COMBINAISON DE SPÉCIFICATIONS FORMELLES Les défauts de Z + Petri Nets sont, d’une part, que la séparation entre les deux parties de la spécification ne permet de vérifier le système dans son ensemble et que, d’autre part, l’analyse des réseaux de Petri devient difficile dès que le système est complexe. Cet exemple est assez proche de la méthode avec CSP et Z, où les deux parties de la spécification ne sont liées que par l’identification d’un type de données abstrait Z avec un processus CSP. Z + Petri Nets appartient au groupe de combinaisons juxtaposition. ZCCS [GS97]. Le langage CCS ne prévoit pas une syntaxe et une sémantique précises concernant le passage des valeurs en paramètre des agents, utilisés en CCS pour décrire le comportement d’un système. Cette approche propose d’utiliser la notation Z et une sémantique opérationnelle pour compléter CCS [Mil89]. Une spécification ZCCS est donc une spécification CCS dans laquelle les agents font appel à des données décrites par des schémas Z. La partie Z de la spécification permet de définir les ensembles abstraits, les variables et les constantes ainsi que les axiomes vérifiés par ces données qui seront utilisées dans la seconde partie de la spécification. Cette dernière est une séquence de déclarations d’agents, comme dans une description CCS standard, qui permet de modéliser le comportement du système. Les paramètres des agents sont exprimés avec la syntaxe Z pour décrire d’une part les prédicats et les types qu’ils doivent vérifier et d’autre part les effets attendus. L’intégration est ici plus facile à réaliser que dans les approches avec CSP, car la sémantique associée à CCS est opérationnelle. La principale difficulté des approches CSP avec Z ou Object-Z réside dans la diversité des sémantiques utilisées pour les deux langages à intégrer. CSP utilise en effet des modèles de la sémantique dénotationnelle. Par sa définition complète de la sémantique, ce travail s’apparente à celui de CSP-OZ ou Circus. Cette combinaison appartient au groupe unification.
منابع مشابه
La combinaison d'UML avec la méthode formelle CSP-OZ pour le développement d'applications bases des données
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....
متن کاملCouplage de spécifications B et de descriptions UML pour l'aide aux développements formels des Systèmes d'Information
RÉSUMÉ. La méthode B est une méthode formelle utilisée pour modéliser des systèmes et prouver l’exactitude de leur conception par raffinements successifs. Mais les spécifications formelles sont difficiles à lire quand elles ne sont pas accompagnées d’une documentation. Cette lisibilité est essentielle pour une bonne compréhension de la spécification, notamment dans des phases de validation ou d...
متن کاملModélisation d'objets mobiles pour les systèmes d'information géolocalisés itinérants en temps réel
RÉSUMÉ. La convergence du développement dans le domaine de la communication sans fil, l’évolution des systèmes de positionnement et des systèmes d’information géographiques (SIG) ont favorisé l’émergence d’un nouveau type de services et d’applications liés à la mobilité et à la localisation. En revanche, les systèmes d’information actuels ne permettent pas la gestion d’informations concernant d...
متن کاملFormalisation and verification of the Chilean electronic invoice system
We present a case study describing the formal specification and verification of the Chilean electronic invoice system, which has been defined by the Chilean taxes administration. The system is described by graphical specifications consisting of labelled transition systems, composed using synchronisation networks. Both, transition systems and networks, are parameterized. We use verification tool...
متن کاملMéthode pour la modélisation du contexte d'interaction
RÉSUMÉ. Cet article s’inscrit dans le domaine de l’informatique ambiante et propose une définition opérationnelle du contexte d’interaction pour les besoins de l’interaction hommemachine. Après un bilan sur la notion de contexte dans la littérature, nous présentons notre définition du contexte fondée sur des réseaux de contextes et de situations puis une méthode d’analyse s’appuyant sur cette d...
متن کامل