JSD et algèbre de processus

Slides:



Advertisements
Présentations similaires
Chapitre annexe. Récursivité
Advertisements

Approche graphique du nombre dérivé
1 Modéliser Ou comment RE-présenter sa connaissance.
Qui a le nombre qui vient après 8 ?
Génie Logiciel 2 Julie Dugdale
Julie Dugdale Génie Logiciel 2 Julie Dugdale
Introduction à l’Algorithmique
Calculs de complexité d'algorithmes
Est Ouest Sud 11 1 Nord 1 Individuel 13 joueurs 13 rondes - 26 étuis Laval Du Breuil Adstock, Québec Allez à 2 Est I séries détuis entre les tables.
Est Ouest Sud 11 1 Nord 1 Laval Du Breuil, Adstock, Québec I-17-17ACBLScore S0417 Allez à 1 Est Allez à 4 Sud Allez à 3 Est Allez à 2 Ouest RndNE
Est Ouest Sud 11 1 Nord 1 Individuel 15 ou 16 joueurs 15 rondes - 30 étuis Laval Du Breuil Adstock, Québec I-16-15ACBLScore S0415 RndNE
GEF 243B Programmation informatique appliquée Expressions de type mixte et blocs §
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 1 Cilia, un framework de médiation ouvert, léger, multi-personnalités.
Les cas d’utilisation (use cases)
ANALYSE DES TRAITEMENTS
Architecture de réseaux
Défi écriture BEF Couverture. Défi écriture BEF Page 1.
Plan de formation Chapitre 1 : Présentation de SAP
Quoi ? Un tampon.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Construction de Box-Plot ou diagrammes en boîtes ou boîtes à moustaches Construire une boîte à moustaches …
Interface Homme Machine IHM Pro
Qu’est-ce qu’un ordinateur ?
PARTIE 3 : Le SYSTEME D’INFORMATION FUTUR
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
OCaml - Les listes L3 MI.
Eléments d ’algèbre relationnelle
Récursivité.
La haute tour sombre 3 Des actions
II. Chaînage, SDD séquentielles
Analyse structurée (ref : Bray chapitre 4.3, 13.1, 14.3)
Les algorithmes: complexité et notation asymptotique
Initiation aux bases de données et à la programmation événementielle
(ref : Bray section pages 283 à 290)
Les tris.
1 CLUB DES UTILISATEURS SAS DE QUÉBEC COMMENT TRANSFORMER UN PROGRAMME SAS EN TÂCHE PLANIFIÉE SOUS WINDOWS Présentation de Jacques Pagé STRiCT Technologies.
Classes abstraites et Interfaces
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Complément Le diagramme des classes
Test bilan de calcul mental N°1 :
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
IGL301 - Spécification et vérification des exgiences 1 Chapitre 1 Introduction (ref : Bray chapitre 1)
IGL301 - Spécification et vérification des exgiences 1 Chapitre 2 Le processus dingénierie des exigences (ref : Bray chapitre 2)
Unified Modeling Langage
Expressions régulières et hash tables
Algèbre Relationnelle
CSI3525: Concepts des Languages de Programmation
3.2 PRODUIT VECTORIEL Cours 7.
Notre calendrier français MARS 2014
Chapitre 3 Syntaxe et sémantique.
Partie II Sémantique.
COURS DE PROGRAMMATION ORIENTEE OBJET :
Veuillez trouver ci-joint
Introduction à l’algèbre
Synchronisation Classique
Chapitre 3 Les bibliothèques de balises JSP et la JSTL
Modélisation des opérations Spécifier les transformations détat que lon attend des services de la machine Létat dune machine entièrement déterminée par.
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI
1 Modèle pédagogique d’un système d’apprentissage (SA)
Expressions régulières et hash tables
Voici les mouvements de Mars et de la Terre dans le référentiel héliocentrique Sens de rotation LE SOLEIL MARS LA TERRE.
CALENDRIER-PLAYBOY 2020.
Gérer la sécurité des mots de passe et les ressources
LES PILES ET FILES.
Le langage Basic LOTOS ● g : ensemble des portes .
Quel est l’intérêt d’utiliser le diagramme de Gantt dans la démarche de projet A partir d’un exemple concret, nous allons pouvoir exploiter plusieurs parties.
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
Algorithmique et programmation (1)‏
Chapitre 6.2 Les curseurs Cours SGBD 3A Mme hkimi Jihène
Scripts et fonctions Instructions de contrôle
Transcription de la présentation:

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

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

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

IGL301 - Spécification et vérification des exgiences Algèbre de processus Tony Hoare (CSP) et Robin Milner (CCS) (~1978-79) 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

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

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

Exemple de la bibliothèque book(b : BookId ) = Acquire(b, _) • ( loan( _, b)* ||| ListBookId(b)* ) • Discard(b) IGL301 - Spécification et vérification des exgiences

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

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

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

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

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

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

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

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

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

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

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

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

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