Outils pour la conception formelle des systèmes concurrents
Dr. Djamel Eddine SAIDOUNI
Maître de conférence & Maître de recherche Laboratoire LIRE
Département d’informatique Faculté des sciences de l’ingénieur Université Mentouri de Constantine
E-mail : saidounid@hotmail.com Tel : 072629238
Plan
Systèmes réactifs (SRs)
Conception hiérarchique des SRs
Vérification formelle des SRs
Approche comportementale
Approche de test formel
Notion de conformité
Algorithme MRCP
Sémantique du vrai parallélisme
Environnement
Systèmes réactifs
Un système réactif est un système capable d’interagir avec l’environnement à travers des points d’interaction.
Chaque interaction du système change son état.
État 0
État 1 a
b c A l’état 0, l’interaction sur a est possible
A l’état 1, l’interaction sur a n’est plus possible
Systèmes réactifs
Exemple : Machine à café p c M t r
M p
p
c r
r t
G1 p
i p
i t c
M
G3
i r
i r
p i
p i
t c
M
G2
i r r
i
Systèmes réactifs
Du point de vue de l’environnement, G1 et G2 offrent le même comportement.
De ce même point de vue, les
comportements de G1 et G2 diffèrent
avec celui de G3.
Méthodologie de conception
Spécification S0
Spécification Sn
Spécification Sn+1
Implémentation
Raffinement
Besoins utilisateur Contraintes
environnementales
Contraintes conceptuelles Cahier de charges
Nature des interactions Vérification
Résultat
Décisions
Problème du test de la réalisation
Spécification formelle finale écrite dans un
modèle de spécification (Exp: RdP, LOTOS, ...)
Réalisation du système. Accessible uniquement à travers des points d’interaction
Ensemble de tests Génération
Application
Méthodologie de conception
La trajectoire de conception consiste en un nombre d’étapes de conception d’un même système qui diffèrent par le niveau
d’abstraction. On distingue 3 phases :
La phase architecturale : formalisation des besoins informels. L’architecture doit être définie en terme de comportement observable (Boite noire).
La phase d’implémentation
La phase de réalisation : réalisation d’un système dans un environnement réel.
Outils pour la conception formelle
Modèle de spécification formelle : Le modèle de spécification doit posséder une syntaxe et une sémantique permettant d’exprimer le comportement architectural du système de
manière naturelle. Un tel modèle doit avoir les caractéristiques suivantes:
L’interaction est une notion intrinsèque
Composition
Distribution
Communication
Formalisme mathématique
Supporter les contraintes conceptuelles
Interactions atomiques ou non
Les occurrences des interactions sont aléatoires ou obéissent à des lois de probabilité, ... etc
Outils pour la conception formelle
Raffinement de spécifications : On distingue deux méthodes de raffinement de spécifications
Raffinement par transformation de parties de la spécification (Méthodologie de conception LOTOSPhere)
Approche par de raffinement d’actions : Dans cette
approche, toute action (interaction) est vue comme étant l’abstraction d’un processus. Dans ce cas le raffinement consiste en le remplacement de certaines actions de la spécification Sn par leur processus correspondant dans la spécification Sn+1. La sémantique sous-jacente doit
supporter ce concept.
Outils pour la conception formelle
Vérification : La validation du système conçu consiste à montrer que son implémentation est conforme à sa spécification. On distingue deux approches :
Approche boite blanche : La spécification et
l’implémentation sont deux structures entièrement et librement exploitables.
Approche boite noire : Appelée traditionnellement
test
des implémentations. Elle se substitue à la première approche lorsque l’implémentation n’est accessible que via ses points d’interaction avec l’environnement.Spécification formelle
Modèles de spécification formelle
Langages
Modèles algébriques
Réseaux de Petri
Modèles sémantiques du parallélisme
Types de sémantiques
Types de modèles sémantiques
Modèles de spécification formelle
Algébriques Langages Réseaux de Petri
•CCS (Milner:79)
•CSP (Hoar:85)
•ACP (Bergstra:85)
•LOTOS (Bolognesi et Brinksma : 87)
•RT-LOTOS (Courtiat, Camargo et Saidouni:93)
•ET-LOTOS (Leduc et Dantine : 93)
•D-LOTOS (Saidouni et
•Estelle
•Maude (Logique de réécriture)
•Mobile Maude
•Real Time Maude
•Places/Transitions
•Prédicat
•Colorés
•Algébriques
•Bien formés
•Temporel
•Temporisé
•Temporisés stochastiques
•Temporisés stochastiques
Modèles de spécification formelle
La diversité des modèles de spécification est une conséquence de:
•Les écoles : Chaque école défend l’approche qu’elle juge meilleure
•Les contraintes conceptuelles :
•Prise en compte des durées d’actions
•Prise en compte des contraintes temporelles (attente, latence, urgence ... etc.)
•Prise en compte de lois d’occurrence des événement (processus stochastiques)
L’utilisation d’un modèle donné et la prise en compte de contraintes conceptuelles (temps, durée, .. etc.) L’utilisation d’un modèle sémantique approprié.
Modèles sémantiques du parallélisme
Types de sémantiques : La définition
de la sémantique d’un modèle de
spécification peut être donnée de
quatre manières différentes dont
chacune est utile dans une des phases
de conception ou d’utilisation du modèle
de spécification. Ces types de
sémantiques sont :
Types de sémantiques
Sémantique informelle : C’est la première étape pour la définition de la sémantique du modèle de spécification. Cette sémantique exprime, dans un langage naturel, la sémantique de chaque construction (opérateurs, expressions, ...etc.) du modèle de spécification.
Exemple : Etant donnés que A et B dénotent
deux processus, l’expression A ||| B dénote
que les processus A et B sont en parallèles
Types de sémantiques
Sémantique opérationnelle : C’est un ensemble de règles qui décrit de manière formelle l’interprétation pas à pas de toute spécification par la machine. Cette sémantique intéresse plus particulièrement les personnes désireux d’implanter le modèle de spécification (Construction d’un compilateur).
Sémantique axiomatique : C’est un ensemble d’équations qui exprime les propriétés des opérateurs du modèle de spécification.
Exemple : A ||| (B ||| C) = (A ||| B) ||| C
Ce type de sémantique intéresse plus particulièrement les utilisateurs du modèle de spécification.
Types de sémantiques
Sémantique dénotationnelle : Définie par le choix d’un domaine d’interprétation et la donnée d’une fonction
d’interprétation sur ce domaine de l’ensemble des termes appartenant aux modèle de spécification (Expressions de comportement)
Expressions de Comportements Domaine d’interprétation
S [[S]]
[[ . ]]
Modèles sémantiques du parallélisme
Modèles d’entrelacement Modèles temporisés et stochastiques
Modèles de non entrelacement
•Arbres de synchronisation
•Systèmes de transitions étiquetées
•Arbres de refus
•Graphes de refus
•Arbres d’acceptance
•Automates temporisés
•Automates temporisés avec des durées d’actions
•Chaînes de Markove
Modèles d’ordre partiel Modèles de vrai parallélisme
•Arbres causaux
•Arbres causaux dynamiques
•STEC
•Systèmes de transitions asynchrones
•Structures d’événements
•Arbres maximaux