Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
JSD et algèbre de processus
(ref : Bray section pages 311 à 313) IGL301 - Spécification et vérification des exgiences
2
JSD et Algèbre de processus
Décrire les séquences d’évènement à l’aide d’une algèbre Orthogonal (en terme de style) aux automates et machines à états Similaire aux expressions régulières IGL301 - Spécification et vérification des exgiences
3
IGL301 - Spécification et vérification des exgiences
JSD Jackson System Development (1983) notation graphique pour les expressions régulières diagramme JSD est l’arbre syntaxique d’une expression régulière opérateurs séquence, choix, itération IGL301 - Spécification et vérification des exgiences
4
IGL301 - Spécification et vérification des exgiences
Algèbre de processus Tony Hoare (CSP) et Robin Milner (CCS) (~ ) plus puissant que JSD expression régulière plus paramètres pour les actions opérateurs additionnels || - synchronisation ||| - entrelacement appel de processus opérations quantifiées IGL301 - Spécification et vérification des exgiences
5
EB3 - Algèbre de processus
Frappier et St-Denis (1998) Inspiré de CSP, CCS et Lotos, mais syntaxe plus simple, inspirée des expressions régulières Utilise les traces pour spécifier les sorties d’un système d’information algèbre de processus traditionnelles (CSP et CCS) ne le permettent pas facilement Sémantique opérationnelle IGL301 - Spécification et vérification des exgiences
6
Exemple de la bibliothèque
main = ( ||| b : BookId : book(b)* ) || ( ||| m : MemberId : member(m)* ) IGL301 - Spécification et vérification des exgiences
7
Exemple de la bibliothèque
book(b : BookId ) = Acquire(b, _) • ( loan( _, b)* ||| ListBookId(b)* ) • Discard(b) IGL301 - Spécification et vérification des exgiences
8
Exemple de la bibliothèque
member(m : MemberId ) = Join(m, _,_) • ( ||| b : BookId : loan( m, b)* ) • Leave(m) IGL301 - Spécification et vérification des exgiences
9
Exemple de la bibliothèque
loan (m:MemberId, b:BookId ) = Lend(m, b) • Renew(b)* • Return(b) IGL301 - Spécification et vérification des exgiences
10
IGL301 - Spécification et vérification des exgiences
Opérateurs opérateurs définis par des règles de transitions règles définissent un système de transition E peut exécuter et se transformer en E’ IGL301 - Spécification et vérification des exgiences
11
IGL301 - Spécification et vérification des exgiences
Règle de l’action dénote une action interne dénote un processus qui a terminé avec succès IGL301 - Spécification et vérification des exgiences
12
IGL301 - Spécification et vérification des exgiences
Règles -1 IGL301 - Spécification et vérification des exgiences
13
IGL301 - Spécification et vérification des exgiences
Règles - 2 IGL301 - Spécification et vérification des exgiences
14
IGL301 - Spécification et vérification des exgiences
Règles - 3 IGL301 - Spécification et vérification des exgiences
15
Exemples de transitions
IGL301 - Spécification et vérification des exgiences
16
IGL301 - Spécification et vérification des exgiences
Exemple de preuve IGL301 - Spécification et vérification des exgiences
17
IGL301 - Spécification et vérification des exgiences
Garde P ==> E pour définir la condition P, on peut utiliser des fonctions récursives sur les traces de l’expression de processus main exemple nbLoansMember(t,m) < maxLoans(t,m) ==> Lend(m,b) IGL301 - Spécification et vérification des exgiences
18
IGL301 - Spécification et vérification des exgiences
Fonction récursive int nbLoansMember(t:Trace, m:MemberId) = match last(t) with : ; Join(m, _ ) : 0; Lend( m, b) : 1 + nbLoansMember(front(t),m); otherwise : nbLoansMember(front(t),m) end IGL301 - Spécification et vérification des exgiences
19
IGL301 - Spécification et vérification des exgiences
Fonction récursive int nbLoans(t : Trace, b : BookId) = match last(t) with : ; Acquire(b, _ ) : 0; Lend( _, b) : 1 + nbLoans(front(t),b); Renew(b) : 1 + nbLoans(front(t),b); otherwise : nbLoans(front(t),b); end appel récursif valeur de retour action IGL301 - Spécification et vérification des exgiences
20
IGL301 - Spécification et vérification des exgiences
TP6 Donnez l’expression de processus décrivant le système suivant : “Le système doit gérer des équipes et des joueurs. Un joueur peut jouer pour une seule équipe à la fois. Une équipe comporte un maximum de 25 joueurs. Prenez en compte les actions suivantes : créer et supprimer une équipe, créer et supprimer un joueur, embauche d’un joueur par une équipe,libération d’un joueur par une équipe.” IGL301 - Spécification et vérification des exgiences
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.