La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

IGL301 - Spécification et vérification des exgiences 1 JSD et algèbre de processus (ref : Bray section 13.4.1 - pages 311 à 313)

Présentations similaires


Présentation au sujet: "IGL301 - Spécification et vérification des exgiences 1 JSD et algèbre de processus (ref : Bray section 13.4.1 - pages 311 à 313)"— Transcription de la présentation:

1 IGL301 - Spécification et vérification des exgiences 1 JSD et algèbre de processus (ref : Bray section pages 311 à 313)

2 IGL301 - Spécification et vérification des exgiences 2 JSD et Algèbre de processus Décrire les séquences dévènement à laide dune algèbre Orthogonal (en terme de style) aux automates et machines à états Similaire aux expressions régulières

3 IGL301 - Spécification et vérification des exgiences 3 JSD Jackson System Development (1983) notation graphique pour les expressions régulières –diagramme JSD est larbre syntaxique dune expression régulière –opérateurs séquence, choix, itération

4 IGL301 - Spécification et vérification des exgiences 4 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

5 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 dun système dinformation –algèbre de processus traditionnelles (CSP et CCS) ne le permettent pas facilement Sémantique opérationnelle

6 IGL301 - Spécification et vérification des exgiences 6 Exemple de la bibliothèque main = ( ||| b : BookId : book(b)* ) || ( ||| m : MemberId : member(m)* )

7 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)

8 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)

9 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)

10 IGL301 - Spécification et vérification des exgiences 10 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

11 IGL301 - Spécification et vérification des exgiences 11 Règle de laction dénote un processus qui a terminé avec succès dénote une action interne

12 IGL301 - Spécification et vérification des exgiences 12 Règles -1

13 IGL301 - Spécification et vérification des exgiences 13 Règles - 2

14 IGL301 - Spécification et vérification des exgiences 14 Règles - 3

15 IGL301 - Spécification et vérification des exgiences 15 Exemples de transitions

16 IGL301 - Spécification et vérification des exgiences 16 Exemple de preuve

17 IGL301 - Spécification et vérification des exgiences 17 Garde P ==> E pour définir la condition P, on peut utiliser des fonctions récursives sur les traces de lexpression de processus main exemple nbLoansMember(t,m) Lend(m,b)

18 IGL301 - Spécification et vérification des exgiences 18 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

19 IGL301 - Spécification et vérification des exgiences 19 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 action valeur de retour appel récursif

20 IGL301 - Spécification et vérification des exgiences 20 TP6 Donnez lexpression 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 dun joueur par une équipe,libération dun joueur par une équipe.


Télécharger ppt "IGL301 - Spécification et vérification des exgiences 1 JSD et algèbre de processus (ref : Bray section 13.4.1 - pages 311 à 313)"

Présentations similaires


Annonces Google