• Aucun résultat trouvé

Chapitre 3 Méthode B et temporalité 51

3.5 Vue d’ensemble des extensions

– une clauseCLOCKcontient les horloges du système. Ces horloges remplacent l’ensemble énuméré décrivant les régions de l’automate temporisé

– Les contraintes portant anciennement sur ces régions deviennent des prédicats bornant sur les valeurs de l’horloge

– L’évènement tick devient implicite

En bref, la notation obtenue est une traduction directe de l’automate temporisé à invariants originel. Sachant que le passage de cette notation “continue” à la notation discrète précédente est automatique, la vérification par model-checking devient possible.

Le deuxième intérêt de cet ajout de notation est la possibilité du raffinement. Hammad [HJMO03] définit pour les systèmes de transition une relation de raffinement très proche de celle du B événementiel (cf section 3.4.1.0). Les auteurs définissent à partir de cette relation de raffinement une autre relation, celle-ci pour les systèmes de transition temporisés (STT). Ils illustrent sur un exemple que le raffinement d’un STT par l’autre implique le raffinement entre leurs automates des régions respectifs. La démonstration de ce résultat impliquerait qu’il est possible de relater le raffinement de B et le raffinement de B étendu avec des horloges, ce qui simplifierait la modélisation et surtout la validation de ce genre de système.

3.5 Vue d’ensemble des extensions

Que pouvons-nous retenir des différentes extensions de B et du B événementiel pour traiter du temps et de la concurrence ? Nous pouvons tout d’abord retenir que ces extensions peuvent diviser en deux grandes catégories :

– Les extensions utilisant les mécanismes de B

– Les extensions lui adjoignant une nouvelle sémantique, de manière interne ou externe, devant permettre d’exprimer de nouvelles propriétés.

Les extensions utilisant les mécanismes de B restent assez simples : Bodeveix [BFR04] qui exprime certaines classes de contraintes temporelles, et Büchi [BB99] qui propose un mécan-isme de type assumption/commitment. L’intérêt d’utiliser les mécanmécan-ismes de B est de pouvoir utiliser les outils existants. Le défaut de ce genre d’approche est le risque que les modèles obtenus aient une complexité résultante inadaptée à ces mêmes outils.

Les extensions sémantiques internes permettent d’augmenter l’expressivité de B lui-même. Les diverses extensions du k illustrent à petite échelle comment changer la sémantique des

instructions de B. Ce changement reste cependant dans le cadre théorique de la théorie des en-sembles. D’autres extensions touchant à la logique utilisée, ou aux hypothèses implicites faites, démontrent la possibilité d’exprimer plus directement des contraintes de type temporel : at-teignabilité, vivacité, simultanéité. Le B événementiel fait par exemple l’hypothèse implicite de non-terminaison du système : des problèmes de vivacité, de blocage apparaissent et deviennent explicite dans la validation du modèle. L’extension de Lano et Dick [LFD96] propose d’utiliser une logique temporelle simple pour la validation des machines, et étend la notion de machine à la notion de machine threadée. Il devient donc possible d’exprimer la simultanéité, et de rajouter des contraintes temporelles de vivacité sur les machines.

Les extensions sémantiques externes utilisent B pour sa facilité à exprimer des propriétés mathématiques et lui adjoignent un autre formalisme pour spécifier des séquences d’actions non-terminantes. CSPkB utilise B pour valider les composants d’un modèle, et la partie CSP

Chapitre 3. Méthode B et temporalité

les mets en séquence. La validation se fait en vérifiant certaines contraintes additionnelles sur l’interconnexion entre les machines B et les processus CSP. Hammad [HJMO03] utilise les automates temporisés pour donner à B la notion de continuité des actions. B y est utilisé pour accueillir les contraintes mises sur les états et transitions, et spécifier des contraintes temporelles additionnelles portant sur ceux-ci. La difficulté ici est de pouvoir faire correspondre le raffine-ment d’automates temporisés et le raffineraffine-ment du B événeraffine-mentiel.

Globalement, les extensions utilisant B comme format final restent d’une expressivité assez simple. Le problème réside donc surtout dans la complexité des spécifications B obtenues, qui peuvent être alors plus difficile à valider. Les extensions augmentant B de manière interne per-mettent d’élargir considérablement le champ d’action de B, en gardant une certaine simplicité de modélisation. Le problème de la validation dépend, lui, de la sémantique utilisée pour l’ex-tension. Les extensions externes ont pour avantage d’utiliser le “meilleur de deux formalismes”. La difficulté vient ici du point de rencontre entre les deux formalismes, où il faut vérifier que certaines bonnes propriétés (modularité, raffinement) sont conservées.

Nous présentons au chapitre suivant une extension interne de B, qui se base sur une logique temporelle continue pour en exprimer la sémantique.

Bibliographie

[Abr74] Jean-Raymond Abrial. Data semantics. In IFIP Working Conference Data Base

Management, pages 1–60, 1974.

[Abr84a] Jean-Raymond Abrial. The mathematical construction of a program. Science of

Computer Programming, 4(1), April 1984.

[Abr84b] Jean-Raymond Abrial. Specification or how to give reality to abstraction. Technique

et Science Informatiques, 1984.

[Abr88] J. R. Abrial. The B tool. In R. Bloomfield ; L. Marshall ; R. Jones, editor, Proceedings

of the 2nd VDM-Europe Symposium, volume 328 of LNCS, pages 86–87, Berlin,

September 1988. Springer.

[Abr96a] Jean-Raymond Abrial. The B Book - Assigning Programs to Meanings. Cambridge University Press, August 1996.

[Abr96b] Jean-Raymond Abrial. Extending B without changing it (for developing distributed systems). In Habrias [Hab96], pages 169–191.

[Abr96c] Jean-Raymond Abrial. A steam-boiler control specification problem. In Jean-Raymond Abrial, Egon Börger, and Hans Langmaack, editors, Formal Methods for

Industrial Applications : Specifying and Programming the Steam Boiler, volume

1165 of Lecture Notes in Computer Science, pages 500–509. Springer-Verlag, Berlin, Germany, 1996, 1996.

[Abr00] Jean-Raymond Abrial. Event driven sequential program construction. MATISSE project, October 2000.

[ACM03a] Jean-Raymond Abrial, Dominique Cansell, and Dominique Méry. A mechanically proved and incremental development of IEEE 1394 tree identify protocol. Formal

aspects of computing, 14(3), April 2003.

[ACM03b] Jean-Raymond Abrial, Dominique Cansell, and Dominique Méry. Formal deriva-tion of spanning trees algorithms. In Bert et al. [BBKW03], pages 457 – 476. [ACM05] Jean-Raymond Abrial, Dominique Cansell, and Dominique Méry. Refinement and

reachability in event b. In Helen Treharne, Steve King, and Martin Henson, editors,

ZB 2005 : Formal Specification and Development in Z and B : 4th International Conference of B and Z Users, Guilford, UK, volume 3455 of Lecture Notes in Com-puter Science, pages 222–241. Springer Verlag, Apr 2005.

[AFA03] IRISA. Approches Formelles dans l’Assistance au Développement de Logiciels,

Bibliographie

[AM97] Jean-Raymond Abrial and Louis Mussat. Specification and design of a transmission protocol by successive refinements using B. In Manfred Broy and Birgit Schieder, editors, Mathematical Methods in Program Development, volume 158 of NATO ASI

Series F : Computer ans Systems Sciences, pages 129–200. Springer, 1997.

[AM98] Jean-Raymond Abrial and L. Mussat. Introducing dynamic constraints in B. In Bert [Ber98], pages 83–128.

[AO97] Krzysztof R. Apt and Ernst-Rüdiger Olderog. Verification of sequential and

con-current programs (2nd ed.). Springer-Verlag New York, Inc., Secaucus, NJ, USA,

1997.

[BB99] Martin Büchi and Ralph Back. Compositional symmetric sharing in B. In Wing et al. [WWD99], pages 431–451.

[BBFM99] Patrick Behm, Paul Benoit, Alain Faivre, and Jean-Marc Meynadier. Meteor : A successful application of B in a large project. In World Congress on Formal Methods

1999, number 1709 in Lecture Notes in Computer Science, pages 369–387. Springer

Verlag, september 1999.

[BBKW03] Didier Bert, Jonathan P. Bowen, S. King, and M. Waldén, editors. ZB’2003 –

Formal Specification and Development in Z and B,International Conference of B and Z Users, Turku, Finland, June 4-6, 2003, Proceedings, volume 2651 of Lecture Notes in Computer Science (Springer-Verlag), Turku, Finland, June 2003. Springer.

[BDM97] Patrick Behm, Pierre Desforges, and Fernando Mejia. Application de la méthode B

dans l’industrie ferroviaire, chapter III, pages 59–88. Volume 20 of OFTA [OFT97],

1997.

[Ber98] Didier Bert, editor. B’98 : The 2nd International B Conference, Recent Advances in

the Development and Use of the B Method, volume 1393 of Lecture Notes in Com-puter Science (Springer-Verlag), Montpellier, April 1998. LIRRM Laboratoire

d’In-formatique, de Robotique et de Micro-électronique de Montpellier, Springer Verlag. [BF02] Michael Butler and Jerome Falampin. An approach to modelling and refining timing

properties in B. In RCS02 (Refinement of Critical Systems), Grenoble, January 2002. CERT-ONERA.

[BFM99] Jean-Paul Bodeveix, Mamoun Filali, and César Munoz. A formalization of the B method in Coq and PVS. In BUGM99 [BUG99], pages 32–48.

[BFR04] Jean-Paul Bodeveix, Mamoun Filali, and Miloud Rached. Méthodes de spécification de systèmes temps réel en B. In FAC2004 (Formalisation des Activités

Concur-rentes), Toulouse, Mars 2004. CERT-ONERA. http://www.cert.fr/feria/svf/ FAC/2004/actes.html.

[BPR96] D. Bert, M.-L. Potet, and Y. Rouzaud. A study on components and assembly primi-tives in B. In Habrias [Hab96], pages 47–62.

[Büc98] Martin Büchi. The B bank : A complete case study. In Proceedings of ICFEM98, the

Second International Conference on Formal Engineering Methods, pages 190–199.

IEEE Press, December 1998.

[BUG99] FM’99 – B Users Group Meeting – Applying B in an industrial context : Tools,

[Dij71] Edsger W. Dijkstra. Hierarchical ordering of sequential processes. Acta Informatica, 1 :115–138, 1971. http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD310. PDF.

[Dij75] Edsger W. Dijkstra. Guarded commands, nondeterminacy and formal derivation of programs. Communications of the ACM, 18(8) :453–457, 1975.

[DY00] DCS-York, editor. ZB’2000 – International Conference of B and Z Users, volume 1878 of Lecture Notes in Computer Science (Springer-Verlag), Helsington, York, UK YO10 5DD, August 2000.

[Gil62] Arthur Gill. Introduction to the Theory of Finite-state Machines. McGraw-Hill, 1962. [Hab96] Henri Habrias, editor. Proceedings of the 1st Conference on the B method, Putting into Practice methods and tools for information system design, 3 rue du Maréchal Joffre, BP 34103, 44041 Nantes Cedex 1, November 1996. IRIN Institut de recherche en informatique de Nantes.

[HJMO03] Ahmed Hammad, Jacques Julliand, H. Mountassir, and Dieudonné Okalas Ossami. Expression en B et raffinement des systèmes réactifs temps réel. In AFADL2003 [AFA03], pages 211–226.

[Hoa69] C.A.R. Hoare. An axiomatic basis for computer programming. Communications of

the ACM, 12(10) :576–580, 1969.

[HU79] John E. Hopcroft and Jeffrey D. Ullman. Introduction to Automata Theory,

Lan-guages and Computation. Addison-Wesley, 1979.

[Lam02] Leslie Lamport. Specifying Systems : The TLA+ Language and Tools for Hardware

and Software Engineers. Addison-Wesley, July 2002.

[LBS96] K. Lano, J. Bicarregui, and A. Sanchez. Using B to design and verify controllers for chemical processing. In Habrias [Hab96], pages 237–270.

[LD96] Kevin Lano and Jeremy Dick. Development of concurrent systems in B AMN. In He Jifeng, John Cooke, and Peter Wallis, editors, BCS-FACS 7th Refinement

Work-shop, Electronic Workshops in Computing. Springer-Verlag, july 1996.

[LFD96] Kevin Lano, J. Fiadeiro, and Jeremy Dick. Extending B AMN with concurrency. Technical report, Dept. of Computing, Imperial College, 1996.

[MCM04] Rafaël Marcano, Samuel Colin, and Georges Mariano. A formal framework for uml modelling with timed constraints : Application to railway control systems. In

SVERTS : Specification and Validation of UML models for Real Time and Embed-ded Systems, Lisbon, Portugal, October 2004. (in conjunction with 7th International

Conference on the Unified Modeling Language, UML 2004).

[OFT97] OFTA, editor. Application des techniques formelles au logiciel, volume 20. Obser-vatoire Français des Techniques Avancéees & Lavoisier TEC & DOC, 1997.

[OG76] Susan Owicki and David Gries. An axiomatic proof technique for parallel programs.

Acta Informatica, 6 :319–340, 1976.

[Pet03] Dorian Petit. Génération automatique de composants logiciels sûrs à partir de

spé-cifications formelles B. Thèse de doctorat, Université de Valenciennes et du

Bibliographie

[PR98] Marie-Laure Potet and Yann Rouzaud. Composition and refinement in the B method. In Bert [Ber98], pages 46–65.

[Qiw96] Xu Qiwen. On compositionality in refining concurrent systems. In He Jifeng, John Cooke, and Peter Wallis, editors, Proceedings of the BCS FACS 7th Refinement

Work-shop, Electronic Workshops in Computing. Springer-Verlag, Berlin, Germany, 1996.

[ROD05] 2005. http://rodin.cs.ncl.ac.uk/.

[ST02] Steve Schneider and Helen Treharne. Communicating B machines. In ZB02 [ZB002], pages 416–435.

[TS99] Helen Treharne and Steve Schneider. Using a process algebra to control B OPERA-TIONS. Technical Report CSD-TR-99-01, Royal Holloway, Department of Com-puter Science, University of London, Egham, Surrey TW20 0EX, England, June 1999.

[TS00] Helen Treharne and Steve Schneider. How to drive a B machine. In DCS-York [DY00], pages 188–208.

[WWD99] Jeannette M. Wing, Jim Woodcock, and Jim Davies, editors. Proceedings of FM’99 : World Congress on Formal Methods, number 1709 in Lecture Notes in

Com-puter Science (Springer-Verlag). Springer Verlag, September 1999.

[ZB002] LSR-IMAG. ZB’2002 – Formal Specification and Development in Z and B, volume 2272 of Lecture Notes in Computer Science (Springer-Verlag), Grenoble, France, January 2002.

[ZM95] Ying Zhang and Alan K. Mackworth. Synthesis of hybrid constraint-based con-trollers. In Hybrid Systems II, volume 999 of LNCS, pages 552–567, London, UK, 1995. Springer-Verlag.