On Fitting a Formal Method into Practice

  • Rainer Gmehlich
  • Katrin Grau
  • Stefan Hallerstede
  • Michael Leuschel
  • Felix Lösch
  • Daniel Plagge
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6991)

Abstract

The development of the Event-B formal method and the supporting tools Rodin and ProB was guided by practical experiences with the B-Method, the Z specification notation, VDM and similar practical formal methods. The case study discussed in this article — a cruise control system — is a serious test of industrial use. We report on where Event-B and its tools have succeeded, where they have not. We also report on advances that were inspired by the case study. Interestingly, the case study was not a pure formal methods problem. In addition to Event-B, it used Problem Frames for capturing requirements. The interaction between the two proved to be crucial for the success of the case study. The heart of the problem was tracing informal requirements from Problem Frames descriptions to formal Event-B models. To a large degree, this issue dictated the approach that had to be used for formal modelling. A dedicated record theory and dedicated tool support were required. The size of the formal models rather than complex individual formulas was the main challenge for tool support.

Keywords

Model Check Proof Obligation Problem Frame Target Speed Brake Pedal 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abrial, J.-R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press, Cambridge (2010)CrossRefMATHGoogle Scholar
  2. 2.
    Abrial, J.-R., Butler, M.J., Hallerstede, S., Hoang, T.S., Mehta, F., Voisin, L.: RODIN: an open toolset for modelling and reasoning in Event-B. STTT 12(6), 447–466 (2010)CrossRefGoogle Scholar
  3. 3.
    Edmunds, A., Butler, M.J.: Tool support for Event-B code generation (2009)Google Scholar
  4. 4.
    Evans, N., Butler, M.J.: A proposal for records in event-B. In: Misra, J., Nipkow, T., Karakostas, G. (eds.) FM 2006. LNCS, vol. 4085, pp. 221–235. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. 5.
    Hallerstede, S., Leuschel, M.: Constraint-Based Deadlock Checking of High-Level Specifications. In: Proceedings ICLP 2011 (to appear, 2011)Google Scholar
  6. 6.
    Harel, D., Lachover, H., Naamad, A., Pnueli, A., Politi, M., Sherman, R., Shtull-Trauring, A., Trakhtenbrot, M.: STATEMATE: A working environment for the development of complex reactive systems. IEEE Transactions on Software Engineering SE-16(4), 403–414 (1990)CrossRefGoogle Scholar
  7. 7.
    Iliasov, A.: On Event-B and Control Flow. Technical Report CS-TR-1159, University of Newcastle (2009)Google Scholar
  8. 8.
    Jackson, M.: Problem Frames: Analyzing and structuring software development problems. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (2001)Google Scholar
  9. 9.
    Jones, C.B.: DEPLOY Deliverable D15: Advances in Methodological WPsGoogle Scholar
  10. 10.
    Jones, C.B.: Systematic Software Development Using VDM. Prentice-Hall, Englewood Cliffs (1990)MATHGoogle Scholar
  11. 11.
    Leuschel, M., Butler, M.J.: ProB: an automated analysis toolset for the B method. STTT 10(2), 185–203 (2008)CrossRefGoogle Scholar
  12. 12.
    Leuschel, M., Falampin, J., Fritz, F., Plagge, D.: Automated property verification for large scale B models. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 708–723. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  13. 13.
    Loesch, F., Gmehlich, R., Grau, K., Jones, C.B., Mazzara, M.: DEPLOY Deliverable D19: Pilot Deployment in the Automotive SectorGoogle Scholar
  14. 14.
    Snook, C.F., Butler, M.J.: UML-B: Formal modeling and design aided by UML. ACM Trans. Softw. Eng. Methodol. 15(1), 92–122 (2006)CrossRefGoogle Scholar
  15. 15.
    Stursberg, O., Fehnker, A., Han, Z., Krogh, B.H.: Verification of a cruise control system using counterexample-guided search. Control Engineering Practice 12(10), 1269–1278 (2004)CrossRefGoogle Scholar
  16. 16.
    Yeganefard, S., Butler, M.J., Rezazadeh, A.: Evaluation of a Guideline by Formal Modelling of Cruise Control System in Event-B. In: Muñoz, C. (ed.) NFM 2010, NASA/CP-2010-216215 (April 2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Rainer Gmehlich
    • 1
  • Katrin Grau
    • 1
  • Stefan Hallerstede
    • 2
  • Michael Leuschel
    • 2
  • Felix Lösch
    • 1
  • Daniel Plagge
    • 2
  1. 1.Robert Bosch GmbHStuttgartGermany
  2. 2.Heinrich-Heine-University of DüsseldorfGermany

Personalised recommendations