SlideShare une entreprise Scribd logo
Université Ibn Khaldoun - Tiaret
Faculté des Mathématique et d’Informatique
Département d’Informatique
2015/2016
Le événementiel
Réalisé par:
• Aissaoui Fatma
• Bouabdelli Halima
Module:
Enseignant responsable:
Mr B.Boudaa
Spécification & Conception Logicielles
Plan du Travail
Introduction
♦ Définition de la méthode Event-B
♦ Logique et théorie des ensembles
♦ Le modèle Event-B
♦ Raffinement & Obligation des preuves
♦ La plateforme Rodin
♦ Le plug-in ProB
♦ Exemple
Conclusion
♦ Références
Introduction
1
• Les logiciels et systèmes informatique deviennent de plus en plus complexes.
Ceci les rend très sensibles aux erreurs produites durant le cycle de vie d’un
système. En effet, ces erreurs logicielles peuvent être introduites durant les
phases initiales (spécification) et la conception.
Le génie logiciel offre des méthodes formelles, techniques et outils permettant
d’éviter et combattre les erreurs très tôt dès les phases initiales parmi ces
méthodes le B événementiel (Event-B).
Le B événementiel / Par: Aissaoui & Bouabdelli
Définition de la méthode Event-B
♦ Cette méthode à été défini par Jean-Raymond Abrial l’inventeur de la
méthode B.
♦ Est une extension de la méthode B qui permet la spécification des systèmes réactifs,
des algorithmes séquentiels, concurrents et distribués.
♦ Le Event-B est basé sur le langage Logico-ensembliste, elle utilise des approches
mathématiques basées sur la théorie des ensembles et la logique des prédicats.
2
Le B événementiel / Par: Aissaoui & Bouabdelli
Logique et théorie des ensembles
♦ Le langage Logico-ensembliste est basé sur la logique classique du premier
ordre et la théorie des ensembles.
3
♦ Il supporte les concepts mathématiques couple, relation et fonction comme:
Domaine (dom), relation réciproque (r-1), …..
♦ Il supporte les notations ensemblistes usuelles comme : l’union, ensemble
vide, inclusion intersection …
♦ Les symboles utilisé pour exprimer des prédicats logiques sont : T Vrai,
⊥ Faux, P∧Q Conjonction ….
Le B événementiel / Par: Aissaoui & Bouabdelli
Prédicats Logiques
4
Le B événementiel / Par: Aissaoui & Bouabdelli
Tableau: Prédicats logiques
Le Modèle Event-B
♦ Le Modèle Event-B: Est le premier concept d’Event-B, car il décrit un
système par un ensemble d’états, un ensemble d’action, un état initiale et une
relation de transition.
1- Un contexte Event-B :
Comporte les paramètres du système à modéliser. Il se compose d’ensembles,
de constantes avec leurs axiomes et éventuellement des théorèmes.
♦ Il est composé d’un ensemble de machines et contextes.
5
Le B événementiel / Par: Aissaoui & Bouabdelli
♦ La structure d’un contexte est comme suite :
6
• Sets:
regroupe la liste des
ensembles qui ne sont pas
vides .
Le Modèle Event-B
2- Une machine Event-B: Contient deux parties :Statique et dynamique.
• La partie statique: Comporte les variables modélisant l’état du système.
Ces variables sont typées et peuvent avoir des propriétés invariantes décrites
par des prédicats logiques.
• La partie dynamique: Comporte des évènement permettant d’agir sur
l’état du système.
♦ Une machine Event-B peut comporter des théorèmes qui devraient être
prouvés.
♦ On distingue deux types de machines : machine abstraite introduite dans le
modèle le plus abstrait et machine de raffinement (ou raffinée).
7
Le B événementiel / Par: Aissaoui & Bouabdelli
♦ La structure d’une machine est comme suit:
8
•Invariant:
sert à décrire les
contraintes sous forme
de prédicats .
• Variant:
c’est une clause qui
apparait dans une
machine raffinée et qui
contient des événements.
♦ Evénement: Il modélise une transition discrète et peut être défini par
une relation « avant-après » notée BA (x, x’)
• La forme générale d’un événement est représentée par la figure suivante :
9
• Status:
décrit l’état d’un
événement .
Raffinement & Obligation des preuves
♦ Le raffinement:
Est le processus de construction d’un modèle progressivement correct. Consiste
à construire une séquence ordonnée de modèles ou chacun est considéré
comme un raffinement d’un autre modèle précédent de la séquence.
♦ Obligation des preuves:
•Définit ce que doit être prouvé pour un modèle.
•Il s’agit d’un prédicat dont on doit fournir une démonstration pour
vérifier un critère de correction sur le modèle, afin de garantir cette
correction un outil de plateforme RODIN appelée générateur d’obligation
de preuve qui génère automatiquement ces obligations.
10
Le B événementiel / Par: Aissaoui & Bouabdelli
La Plateforme RODIN
♦ La plate-forme RODIN: est l’outil dédié au développement en B événementiel,
supportant de façon robuste le raffinement de modèles et la preuve mathématique.
Elle a été créée à Zürich lors du projet européen (FP7) éponyme entre 2004 et 2007.
Il s’agit d’une plate-forme Open Source basée sur l’IDE Eclipse.
11
Le B événementiel / Par: Aissaoui & Bouabdelli
 Installation:
Télécharger le fichier compressé Plate-forme Rodin à partir du site d’Event-B:
http://www.eventb.org/install.html
• Pour installer, il suffit de décompresser l'archive sur votre disque dur et lancez
"Rodin" exécutable .
Figure: La page web d’installation de la plateforme RODIN
12
Figure : Rodin GUI
♦ l’interface graphique de la plateforme RODIN:
13
Le Plug-in ProB
L’outil ProB: Un outil d’animation pour Event-B. L’animation est très
importante et permet de déceler une série de problèmes, comme par
exemple, les interblocages (deadlocks) ou d’autres comportements inattendus
d’un modèle. Ce plug-in est basé sur une traduction d’Event-B vers B classique.
14
Le B événementiel / Par: Aissaoui & Bouabdelli
15
♦ Nous lançons ProB par un clic droit sur la machine qu’on veut l’animer et sélectionnez
Start Animation / Model Checking. Rodin passera au PROB-perspective, comme
le montre la figure:
Figure : La perspective ProB
le principe de cet exemple:
• Les signaux sont modélisés par des variables booléennes une pour les piétons et une
pour les voitures, la valeur FALSE indique l’obligation de s’arrêter et la valeur TRUE
autorise la circulation. La circulation simultanée des piétons et des voitures est
interdite (exigence).
16
• ensuite on va voir le raffinement qui relie deux machines : une machine
abstraite (à raffiner) et une machine concrète (résultat du raffinement) est
réalisée en raffinant les variables ainsi que les événements de la machine
abstraite.
• Figure: La correspondance entre les événements abstraits et concrets
17
Conclusion
18
♦ Dans cette partie, nous avons présenté d’une façon rigoureuse les
concepts de base de la méthode formelle Event-B. Une telle méthode permet
le développement pas-à-pas des logiciels corrects par construction en se
servant de la technique de raffinement.
Références
19
• www.loria.fr/~mery/malg/partie-move.pdf
• http://handbook.event-b.org/current/pdf/rodin-doc.pdf
• https://pdfs.semanticscholar.org/1e28/
02337f7c04dd92e760de7da916e7fec2dc7c.pdf
• http://www.systerel.fr/expertises/methodes-formelles/plate-forme-rodin/
• http://thesesups.ups-tlse.fr/2841/1/2015TOU30105.pdf
• Abrial J-R., Modeling in Event-B: System and Software Engineering, Cambridge
University Press, 2010.
• Abrial J-R., The B book - Assigning Programs to Meanings, Cambridge University
Press,1996.
• Chill R., Logique et théorie des ensembles, Laboratoire de Mathématiques et
Applications de Metz, Université de Metz, 2007/08.
Références
20
• Introduction to Event-B:
http://www.csse.monash.edu.au/~ajh/teaching/fit3013/2010/lectures/01-
Introduction/01-Introduction-slides.pdf
• Summary of Event-B Proof Obligations :
http://www.computing.dcu.ie/~hamilton/teaching/CA648/sld_po.pdf
• Summary of the Event-B Modeling Notation:
http://www.cse.unsw.edu.au/~cs2111/PDF/sld_evtb.pdf
• Troudi I., Développement formel des algorithmes séquentiels en Event-B,
Master,FSEGS, 2011.
• Wirth N., Program Development by Stepwise Refinement, P. Wegner Editor,
Volume 14 Number 4, 221-227, ETH Zurich, April 1971.

Contenu connexe

Tendances

Knn
KnnKnn
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
Amir Souissi
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
Heithem Abbes
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMajid CHADAD
 
Chapitre2_Partie1.pdf
Chapitre2_Partie1.pdfChapitre2_Partie1.pdf
Chapitre2_Partie1.pdf
MbarkiIsraa
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées services
Donia Hammami
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
AmineMouhout1
 
Methodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifiéMethodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifié
Mireille Blay-Fornarino
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de Classes
Lilia Sfaxi
 
Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
ENSET, Université Hassan II Casablanca
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
Mansouri Khalifa
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
Lilia Sfaxi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
Lilia Sfaxi
 
Chapitre2_fragmentation_Abdali.pptx
Chapitre2_fragmentation_Abdali.pptxChapitre2_fragmentation_Abdali.pptx
Chapitre2_fragmentation_Abdali.pptx
AimadBenzakry
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
Lilia Sfaxi
 
Uml & cas d'utilisation
Uml & cas d'utilisationUml & cas d'utilisation
Uml & cas d'utilisation
Mireille Blay-Fornarino
 
UML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriUML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouri
Mansouri Khalifa
 
Support du cours : Systèmes d'exploitation 2 (linux)
Support du cours : Systèmes d'exploitation 2 (linux)Support du cours : Systèmes d'exploitation 2 (linux)
Support du cours : Systèmes d'exploitation 2 (linux)
Faycel Chaoua
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
Amir Souissi
 
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
tayebbousfiha1
 

Tendances (20)

Knn
KnnKnn
Knn
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigés
 
Chapitre2_Partie1.pdf
Chapitre2_Partie1.pdfChapitre2_Partie1.pdf
Chapitre2_Partie1.pdf
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées services
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 
Methodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifiéMethodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifié
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de Classes
 
Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
Chapitre2_fragmentation_Abdali.pptx
Chapitre2_fragmentation_Abdali.pptxChapitre2_fragmentation_Abdali.pptx
Chapitre2_fragmentation_Abdali.pptx
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
Uml & cas d'utilisation
Uml & cas d'utilisationUml & cas d'utilisation
Uml & cas d'utilisation
 
UML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriUML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouri
 
Support du cours : Systèmes d'exploitation 2 (linux)
Support du cours : Systèmes d'exploitation 2 (linux)Support du cours : Systèmes d'exploitation 2 (linux)
Support du cours : Systèmes d'exploitation 2 (linux)
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
 

Similaire à Event B ( B événementiel )

XebiCon'17 : Déploiement continu de modèle de Machine Learning - Loïc Divad
XebiCon'17 : Déploiement continu de modèle de Machine Learning - Loïc DivadXebiCon'17 : Déploiement continu de modèle de Machine Learning - Loïc Divad
XebiCon'17 : Déploiement continu de modèle de Machine Learning - Loïc Divad
Publicis Sapient Engineering
 
B5282 g formation-ibm-cognos-transformer-concevoir-des-modeles-olap
B5282 g formation-ibm-cognos-transformer-concevoir-des-modeles-olapB5282 g formation-ibm-cognos-transformer-concevoir-des-modeles-olap
B5282 g formation-ibm-cognos-transformer-concevoir-des-modeles-olapCERTyou Formation
 
Comptabilite analytique d-exploitation_ter_tsge
Comptabilite analytique d-exploitation_ter_tsgeComptabilite analytique d-exploitation_ter_tsge
Comptabilite analytique d-exploitation_ter_tsgesa7ir
 
Apprentissage automatique avec RapidMiner
Apprentissage automatique avec RapidMinerApprentissage automatique avec RapidMiner
Apprentissage automatique avec RapidMiner
Majdi Hannachi
 
Suivi de qualité PIC afup2010
Suivi de qualité PIC afup2010Suivi de qualité PIC afup2010
Suivi de qualité PIC afup2010Gabriele Santini
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"
Nazih Heni
 
Gpn.pptx
Gpn.pptxGpn.pptx
Gpn.pptx
PrivaelGuidi
 
Platform freelance ASP .NET / C#
Platform freelance ASP .NET / C# Platform freelance ASP .NET / C#
Platform freelance ASP .NET / C#
Saâd Zerhouni
 
Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.
Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.
Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.
jkebbab
 
Business Intelligence
Business IntelligenceBusiness Intelligence
Business Intelligence
Walid Chamour
 
[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel
USTHB & DELTALOG
 
Contrôle par exception & analyse des écarts.
Contrôle par exception & analyse des écarts.Contrôle par exception & analyse des écarts.
Contrôle par exception & analyse des écarts.
Youssef Belaïd
 
180927 opeo @ carrefours excellence (2)
180927   opeo @ carrefours excellence (2)180927   opeo @ carrefours excellence (2)
180927 opeo @ carrefours excellence (2)
Renan Devillieres
 
Modèle en v
 Modèle en v Modèle en v
Modèle en v
bouye2209
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange Labs
Emmanuel Hugonnet
 
cours-gratuit.com--id-12477.pdf
cours-gratuit.com--id-12477.pdfcours-gratuit.com--id-12477.pdf
cours-gratuit.com--id-12477.pdf
ssuser192642
 
Dossier de plan_de_tests_v1.00
Dossier de plan_de_tests_v1.00Dossier de plan_de_tests_v1.00
Dossier de plan_de_tests_v1.00
Arnold Stellio
 
Talk Session COSMAL du GDR GPL 2011
Talk Session COSMAL du GDR GPL 2011Talk Session COSMAL du GDR GPL 2011
Talk Session COSMAL du GDR GPL 2011
Sébastien Mosser
 
Rapport genie logiciel
Rapport genie logicielRapport genie logiciel
Rapport genie logiciel
serge sonfack
 

Similaire à Event B ( B événementiel ) (20)

XebiCon'17 : Déploiement continu de modèle de Machine Learning - Loïc Divad
XebiCon'17 : Déploiement continu de modèle de Machine Learning - Loïc DivadXebiCon'17 : Déploiement continu de modèle de Machine Learning - Loïc Divad
XebiCon'17 : Déploiement continu de modèle de Machine Learning - Loïc Divad
 
B5282 g formation-ibm-cognos-transformer-concevoir-des-modeles-olap
B5282 g formation-ibm-cognos-transformer-concevoir-des-modeles-olapB5282 g formation-ibm-cognos-transformer-concevoir-des-modeles-olap
B5282 g formation-ibm-cognos-transformer-concevoir-des-modeles-olap
 
Comptabilite analytique d-exploitation_ter_tsge
Comptabilite analytique d-exploitation_ter_tsgeComptabilite analytique d-exploitation_ter_tsge
Comptabilite analytique d-exploitation_ter_tsge
 
Apprentissage automatique avec RapidMiner
Apprentissage automatique avec RapidMinerApprentissage automatique avec RapidMiner
Apprentissage automatique avec RapidMiner
 
Suivi de qualité PIC afup2010
Suivi de qualité PIC afup2010Suivi de qualité PIC afup2010
Suivi de qualité PIC afup2010
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"
 
Gpn.pptx
Gpn.pptxGpn.pptx
Gpn.pptx
 
Platform freelance ASP .NET / C#
Platform freelance ASP .NET / C# Platform freelance ASP .NET / C#
Platform freelance ASP .NET / C#
 
Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.
Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.
Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.
 
Business Intelligence
Business IntelligenceBusiness Intelligence
Business Intelligence
 
[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel
 
Contrôle par exception & analyse des écarts.
Contrôle par exception & analyse des écarts.Contrôle par exception & analyse des écarts.
Contrôle par exception & analyse des écarts.
 
180927 opeo @ carrefours excellence (2)
180927   opeo @ carrefours excellence (2)180927   opeo @ carrefours excellence (2)
180927 opeo @ carrefours excellence (2)
 
CV_Bilel CHAOUADI
CV_Bilel CHAOUADICV_Bilel CHAOUADI
CV_Bilel CHAOUADI
 
Modèle en v
 Modèle en v Modèle en v
Modèle en v
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange Labs
 
cours-gratuit.com--id-12477.pdf
cours-gratuit.com--id-12477.pdfcours-gratuit.com--id-12477.pdf
cours-gratuit.com--id-12477.pdf
 
Dossier de plan_de_tests_v1.00
Dossier de plan_de_tests_v1.00Dossier de plan_de_tests_v1.00
Dossier de plan_de_tests_v1.00
 
Talk Session COSMAL du GDR GPL 2011
Talk Session COSMAL du GDR GPL 2011Talk Session COSMAL du GDR GPL 2011
Talk Session COSMAL du GDR GPL 2011
 
Rapport genie logiciel
Rapport genie logicielRapport genie logiciel
Rapport genie logiciel
 

Event B ( B événementiel )

  • 1. Université Ibn Khaldoun - Tiaret Faculté des Mathématique et d’Informatique Département d’Informatique 2015/2016 Le événementiel Réalisé par: • Aissaoui Fatma • Bouabdelli Halima Module: Enseignant responsable: Mr B.Boudaa Spécification & Conception Logicielles
  • 2. Plan du Travail Introduction ♦ Définition de la méthode Event-B ♦ Logique et théorie des ensembles ♦ Le modèle Event-B ♦ Raffinement & Obligation des preuves ♦ La plateforme Rodin ♦ Le plug-in ProB ♦ Exemple Conclusion ♦ Références
  • 3. Introduction 1 • Les logiciels et systèmes informatique deviennent de plus en plus complexes. Ceci les rend très sensibles aux erreurs produites durant le cycle de vie d’un système. En effet, ces erreurs logicielles peuvent être introduites durant les phases initiales (spécification) et la conception. Le génie logiciel offre des méthodes formelles, techniques et outils permettant d’éviter et combattre les erreurs très tôt dès les phases initiales parmi ces méthodes le B événementiel (Event-B). Le B événementiel / Par: Aissaoui & Bouabdelli
  • 4. Définition de la méthode Event-B ♦ Cette méthode à été défini par Jean-Raymond Abrial l’inventeur de la méthode B. ♦ Est une extension de la méthode B qui permet la spécification des systèmes réactifs, des algorithmes séquentiels, concurrents et distribués. ♦ Le Event-B est basé sur le langage Logico-ensembliste, elle utilise des approches mathématiques basées sur la théorie des ensembles et la logique des prédicats. 2 Le B événementiel / Par: Aissaoui & Bouabdelli
  • 5. Logique et théorie des ensembles ♦ Le langage Logico-ensembliste est basé sur la logique classique du premier ordre et la théorie des ensembles. 3 ♦ Il supporte les concepts mathématiques couple, relation et fonction comme: Domaine (dom), relation réciproque (r-1), ….. ♦ Il supporte les notations ensemblistes usuelles comme : l’union, ensemble vide, inclusion intersection … ♦ Les symboles utilisé pour exprimer des prédicats logiques sont : T Vrai, ⊥ Faux, P∧Q Conjonction …. Le B événementiel / Par: Aissaoui & Bouabdelli
  • 6. Prédicats Logiques 4 Le B événementiel / Par: Aissaoui & Bouabdelli Tableau: Prédicats logiques
  • 7. Le Modèle Event-B ♦ Le Modèle Event-B: Est le premier concept d’Event-B, car il décrit un système par un ensemble d’états, un ensemble d’action, un état initiale et une relation de transition. 1- Un contexte Event-B : Comporte les paramètres du système à modéliser. Il se compose d’ensembles, de constantes avec leurs axiomes et éventuellement des théorèmes. ♦ Il est composé d’un ensemble de machines et contextes. 5 Le B événementiel / Par: Aissaoui & Bouabdelli
  • 8. ♦ La structure d’un contexte est comme suite : 6 • Sets: regroupe la liste des ensembles qui ne sont pas vides .
  • 9. Le Modèle Event-B 2- Une machine Event-B: Contient deux parties :Statique et dynamique. • La partie statique: Comporte les variables modélisant l’état du système. Ces variables sont typées et peuvent avoir des propriétés invariantes décrites par des prédicats logiques. • La partie dynamique: Comporte des évènement permettant d’agir sur l’état du système. ♦ Une machine Event-B peut comporter des théorèmes qui devraient être prouvés. ♦ On distingue deux types de machines : machine abstraite introduite dans le modèle le plus abstrait et machine de raffinement (ou raffinée). 7 Le B événementiel / Par: Aissaoui & Bouabdelli
  • 10. ♦ La structure d’une machine est comme suit: 8 •Invariant: sert à décrire les contraintes sous forme de prédicats . • Variant: c’est une clause qui apparait dans une machine raffinée et qui contient des événements.
  • 11. ♦ Evénement: Il modélise une transition discrète et peut être défini par une relation « avant-après » notée BA (x, x’) • La forme générale d’un événement est représentée par la figure suivante : 9 • Status: décrit l’état d’un événement .
  • 12. Raffinement & Obligation des preuves ♦ Le raffinement: Est le processus de construction d’un modèle progressivement correct. Consiste à construire une séquence ordonnée de modèles ou chacun est considéré comme un raffinement d’un autre modèle précédent de la séquence. ♦ Obligation des preuves: •Définit ce que doit être prouvé pour un modèle. •Il s’agit d’un prédicat dont on doit fournir une démonstration pour vérifier un critère de correction sur le modèle, afin de garantir cette correction un outil de plateforme RODIN appelée générateur d’obligation de preuve qui génère automatiquement ces obligations. 10 Le B événementiel / Par: Aissaoui & Bouabdelli
  • 13. La Plateforme RODIN ♦ La plate-forme RODIN: est l’outil dédié au développement en B événementiel, supportant de façon robuste le raffinement de modèles et la preuve mathématique. Elle a été créée à Zürich lors du projet européen (FP7) éponyme entre 2004 et 2007. Il s’agit d’une plate-forme Open Source basée sur l’IDE Eclipse. 11 Le B événementiel / Par: Aissaoui & Bouabdelli  Installation: Télécharger le fichier compressé Plate-forme Rodin à partir du site d’Event-B: http://www.eventb.org/install.html • Pour installer, il suffit de décompresser l'archive sur votre disque dur et lancez "Rodin" exécutable .
  • 14. Figure: La page web d’installation de la plateforme RODIN 12
  • 15. Figure : Rodin GUI ♦ l’interface graphique de la plateforme RODIN: 13
  • 16. Le Plug-in ProB L’outil ProB: Un outil d’animation pour Event-B. L’animation est très importante et permet de déceler une série de problèmes, comme par exemple, les interblocages (deadlocks) ou d’autres comportements inattendus d’un modèle. Ce plug-in est basé sur une traduction d’Event-B vers B classique. 14 Le B événementiel / Par: Aissaoui & Bouabdelli
  • 17. 15 ♦ Nous lançons ProB par un clic droit sur la machine qu’on veut l’animer et sélectionnez Start Animation / Model Checking. Rodin passera au PROB-perspective, comme le montre la figure: Figure : La perspective ProB
  • 18.
  • 19. le principe de cet exemple: • Les signaux sont modélisés par des variables booléennes une pour les piétons et une pour les voitures, la valeur FALSE indique l’obligation de s’arrêter et la valeur TRUE autorise la circulation. La circulation simultanée des piétons et des voitures est interdite (exigence). 16
  • 20. • ensuite on va voir le raffinement qui relie deux machines : une machine abstraite (à raffiner) et une machine concrète (résultat du raffinement) est réalisée en raffinant les variables ainsi que les événements de la machine abstraite. • Figure: La correspondance entre les événements abstraits et concrets 17
  • 21. Conclusion 18 ♦ Dans cette partie, nous avons présenté d’une façon rigoureuse les concepts de base de la méthode formelle Event-B. Une telle méthode permet le développement pas-à-pas des logiciels corrects par construction en se servant de la technique de raffinement.
  • 22. Références 19 • www.loria.fr/~mery/malg/partie-move.pdf • http://handbook.event-b.org/current/pdf/rodin-doc.pdf • https://pdfs.semanticscholar.org/1e28/ 02337f7c04dd92e760de7da916e7fec2dc7c.pdf • http://www.systerel.fr/expertises/methodes-formelles/plate-forme-rodin/ • http://thesesups.ups-tlse.fr/2841/1/2015TOU30105.pdf • Abrial J-R., Modeling in Event-B: System and Software Engineering, Cambridge University Press, 2010. • Abrial J-R., The B book - Assigning Programs to Meanings, Cambridge University Press,1996. • Chill R., Logique et théorie des ensembles, Laboratoire de Mathématiques et Applications de Metz, Université de Metz, 2007/08.
  • 23. Références 20 • Introduction to Event-B: http://www.csse.monash.edu.au/~ajh/teaching/fit3013/2010/lectures/01- Introduction/01-Introduction-slides.pdf • Summary of Event-B Proof Obligations : http://www.computing.dcu.ie/~hamilton/teaching/CA648/sld_po.pdf • Summary of the Event-B Modeling Notation: http://www.cse.unsw.edu.au/~cs2111/PDF/sld_evtb.pdf • Troudi I., Développement formel des algorithmes séquentiels en Event-B, Master,FSEGS, 2011. • Wirth N., Program Development by Stepwise Refinement, P. Wegner Editor, Volume 14 Number 4, 221-227, ETH Zurich, April 1971.