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