At present, by far the largest use of formal methods in industry is in the specification of software components, rather than in later development stages. Further, when we take into consideration the lack of methodological support for refinement of such specifications it is clear that many “formal developments” are nothing more than “formally contrived developments”. The result is that implementations, quite often, behave in a manner that is non-congruent with respect to their specifications. This causes many problems for the users and eventual maintainers of such systems. The B method avoids these problems because it allows developers to develop systems in a rigorous/verifiable way.


Formal Method Transformation Rule Formal Development Abstract Machine Project Document 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    J R Abrial, A Refinement Case Study (Using the Abstract Machine Notation), Proceedings of 4th Refinement Workshop, J M Morris and R C Shaw (Editors), Workshops in Computing, Springer Verlag, 1991.Google Scholar
  2. [2]
    J R Abrial, The B Book: Assigning Programs to Meaning, Cambridge University Press, 1995, to appear.Google Scholar
  3. [3]
    M Ben-Ari, Mathematical Logic for Computer Science, Prentice Hall, 1993.Google Scholar
  4. [4]
    P Bernard, G Laffitte, The French Population Census for 1990, Z User Meeting 1995, Springer-Verlag LNCS Vol. 967, 1995, pp. 334–352.Google Scholar
  5. [5]
    J Bicarregui, D Clutterbuck, G Finnie, H Haughton, K Lano, H Lesan, W Marsh, B Matthews, M Moulding, A Newton, B Ritchie, T Rushton, P Scharbach, Formal Methods into Practice: Case Studies in the Application of the B Method, BUT Project internal report, 1995.Google Scholar
  6. [6]
    J Bicarregui, B Ritchie, Invariants, Frames and Postconditions: A Comparison of the VDM and B notations, IEEE Transactions On Software Engineering, 21 (2) 1995, pp. 79–89.CrossRefGoogle Scholar
  7. [7]
    P Bieber, N Boulahia-Cuppens, T Lehmann, E van Wickeren, Abstract Machines for Communication Security, Proc. of IEEE Workshop on Foundations of Computer Security VI, IEEE Press, 1993.Google Scholar
  8. [8]
    P Bieber, N Boulahia-Cuppens, Formal Development of Authentication Protocols, Proc. of BCS-FACS Sixth Refinement Workshop, Springer-Verlag, 1994.Google Scholar
  9. [9]
    J Bowen, J Nicholls (Eds), Z User Meeting, 1992, Springer-Verlag Workshops in Computing, 1993.Google Scholar
  10. [10]
    J Bowen, V Stavridou, Safety-critical systems, formal methods and standards, Software Engineering Journal, July 1993, pages 189 — 209.Google Scholar
  11. [11]
    P Chapront, Vital Coded Processor and Safety Related Software Design, in: H H Frey (Editor), Safety of Computer Control Systems 1992 (SAFECOMP ‘82), Computer Systems in Safety Critical Applications, Proc IFAC Symp. Switzerland, 29–30 October 1992 (Pergamon Press, 1992), pages 141 — 145.Google Scholar
  12. [12]
    D Coleman, F Hayes, S Bear, Introducing Objectcharts or How to Use Statecharts in Object-Oriented Design, IEEE Transactions on Software Engineering, Vol. 18, No. 1, January 1992.Google Scholar
  13. [13]
    D Coleman, F Hayes, Coherent Models for Object-Oriented Analysis, Proceedings OOPSLA ‘81, 1991.Google Scholar
  14. [14]
    D Coleman, P Arnold, S Bodoff, C Dollin, H Gilchrist, F Hayes, and P Jeremaes. Object-oriented Development: The Fusion Method. Prentice Hall Object-oriented Series, 1994.Google Scholar
  15. [15]
    B P Collins, J E Nicholls, and I H Sorensen. Introducing formal methods: The CICS experience with Z. Technical report, Programming Research Group, Oxford University, 1988.Google Scholar
  16. [16]
    S Cook and J Daniels. Designing Object Systems: Object-Oriented Modelling with Syntropy. Prentice Hall, Sept 1994.MATHGoogle Scholar
  17. [17]
    C DaSilva, B Dehbonei, F Mejia, Formal Specification in the Development of Industrial Applications: The Subway Speed Control Mechanism, FORTE ‘81, pages 207–221, 1991.Google Scholar
  18. [18]
    B Dehbonei, F Mejia, Verification of Proofs for the B Formal Development Process, ACM SIGPLAN Notices, Vol. 28, No. 11, 1993, pp. 16–21.CrossRefGoogle Scholar
  19. [19]
    E Dijkstra, A Discipline of Programming, Prentice Hall, Englewood Cliffs, NJ, 1976.MATHGoogle Scholar
  20. [20]
    A Diller, R Docherty, Z and Abstract Machine Notation: A Comparison, Proc. of Z Users Workshop, J. Bowen (Ed.), 1994.Google Scholar
  21. [21]
    C Draper, Practical Experiences of Z and SSADM, Z User Meeting, Springer-Verlag Workshops in Computing, 1992.Google Scholar
  22. [22]
    R Duke, P King, G Rose, G Smith, The Object-Z Specification Language, 91–1 (Version 1 ), University of Queensland, Department of Computer Science, Software Verification Research Centre, May 1991.Google Scholar
  23. [23]
    E Durr, A Duursma, N Plat (Eds), VDM++ Language Reference Manual, AFRODITE project document AFRO/CG/ED/LRM/V9. 1, CAP Gemini Innovation, May 1994.Google Scholar
  24. [24]
    E Durr, E Dusink, The role of VDM++ in the development of a real-time tracking and tracing system. In Proceedings of FME ‘83, eds. J. Woodcock and P. Larsen, LNCS, Springer-Verlag, 1993, pp. 64–72.Google Scholar
  25. [25]
    M Eva, SSADM Version 4: A User’s Guide, McGraw Hill International Series in Software Engineering, 1992.Google Scholar
  26. [26]
    A Evans, Position Paper, Formal Specification and Object Orientation Workshop, Logica London, November 1992.Google Scholar
  27. [27]
    J Fiadeiro, T Maibaum, Sometimes “Tomorrow” is “Sometime”, in Temporal Logic, D. M. Gabbay and H. J. Ohlbach (editors), LNAI 827, Springer-Verlag 1994, 48–66.Google Scholar
  28. [28]
    C Fidge, Proof Obligations for Real-Time Refinement, Proceedings of 6th Refinement Workshop, Springer-Verlag Workshops in Computing, 1994.Google Scholar
  29. [29]
    R Fink, S Oppert, P Collinson, G Cooke, S Dhanjal, H Lesan, R Shaw. Data Management in Clinical Laboratory Information Systems, Directions in Safety-critical Systems, Springer-Verlag, 1993.Google Scholar
  30. [30]
    R France. Semantically Extended Data Flow Diagrams: A Formal Specification Tool, IEEE Transactions on Software Engineering, Vol. 18, No. 4, April 1992.Google Scholar
  31. [31]
    D Harel. Statecharts: A visual formalism for complex systems, Science of Computer Programming 8 (1987), 231–274.MathSciNetMATHCrossRefGoogle Scholar
  32. [32]
    J Hares. SSADM for the Advanced Practitioner, Wiley, 1990.Google Scholar
  33. [33]
    H Haughton. Specification of communication protocols using formal methods. Information and Software Technology, 1992.Google Scholar
  34. [34]
    H Haughton, K Lano. Testing and Safety analysis of AM specifications, in Proceedings of the 6th Refinement Workshop, City University, London January ‘84, Springer-Verlag Workshops in Computing, 1994.Google Scholar
  35. [35]
    J V Hill. Microprocessor Based Protection Systems, Elsevier 1991.Google Scholar
  36. [36]
    C A R Hoare. Communicating Sequential Processes, Prentice Hall, 1985.Google Scholar
  37. [37]
    J Hoare. The use of B in CICS. In J Bowen and M Hinchey, editors, Applications of Formal Methods. Prentice Hall, 1995.Google Scholar
  38. [38]
    J A Goguen, T Winkler, Introducing OBJ3, SRI International, Computer Science Lab, SRI-CSL-88–9, August, 1988.Google Scholar
  39. [39]
    D Cries. The Science of Programming. Prentice Hall, 1986.Google Scholar
  40. [40]
    C B Jones. Systematic Software Construction using VDM. Prentice Hall, 1990.Google Scholar
  41. [41]
    K Lano, Method Case Study: Invoice System, BUT Project Document BUT/LLOYDS/KL/14/V1, 1992.Google Scholar
  42. [42]
    K Lano, H Haughton, Improving the Process of Specification and Refinement in B AMN, Proceedings of 6th Refinement Workshop, D Till ( Ed. ), Springer-Verlag Workshops in Computing, 1994.Google Scholar
  43. [43]
    K Lano, J Dick, Concurrent Specification in B AMN, Dept. of Computing, Imperial College, 1995.Google Scholar
  44. [44]
    K Lano, B User Trials Code Generation Course, BUT Project Document BUT/LLOYDS/KL/79/V1, October 1993.Google Scholar
  45. [45]
    K Lano, The Specification of a Real Time System in Z, REDO project document 2487TN-PRG-1015, December 1991.Google Scholar
  46. [46]
    K Lano, Reactive System Specification and Refinement, Proceedings of TAPSOFT ‘95, Springer-Verlag LNCS, 1995.Google Scholar
  47. [47]
    K Lano, H Haughton,Formal Development in B Abstract Machine Notation, Information and Software Technology, Vol. 37, No. 5–6, May—June, 1995, pp 303–316.Google Scholar
  48. [48]
    M K O Lee, P N Scharbachand I H Sorensen, Engineering Real Software Using Formal Methods, Proceedings of 4th Refinement Workshop, J M Morris and R C Shaw (Editors), Workshops in Computing, Springer Verlag, 1991.Google Scholar
  49. [49]
    S Mellor and P Ward. Structured Development for Real-time Systems (3 Volumes). Yourdon Press, 1985.Google Scholar
  50. [50]
    S M Merad, Adding Formalism to Object-oriented analysis, KBSL Conference on Requirements and Design Analysis for Object-Oriented Environments, 1992.Google Scholar
  51. [51]
    B Meyer. Object-Oriented Software Construction. Prentice Hall, 1988.Google Scholar
  52. [52]
    Ministry of Defence. Draft Interim Defence Standard 00–55, April 1991.Google Scholar
  53. [53]
    Ministry of Defence, Hazard Analysis and Safety Classification of the Computer and Programmable Electronic System Elements of Defence Equipment. Interim Defence Standard 00–56, April 1991.Google Scholar
  54. [54]
    E F Moore, Gedanken-experiments on Sequential Machines, in Automata Studies, Princetown University Press, Princetown N.J., 1956.Google Scholar
  55. [55]
    C Morgan, Programming from Specifications, Prentice Hall, 1990.Google Scholar
  56. [56]
    F Polack, M Whiston, Formal Methods and System AnalysisProceedings of Methods Integration Conference, Springer-Verlag 1992.Google Scholar
  57. [57]
    PROgram Development by SPECification and TRAnsformation Volume 1 Methodology PROSPECTRA Report M.1.1S3-R-55.3 March 1990Google Scholar
  58. [58]
    D R Pyle, M Josephs, Enriching a Structured Method with Z, Oxford University Programming Research Group, 1991.Google Scholar
  59. [59]
    D R Pyle, M Josephs, Entity-Relationship Models Expressed in Z: A Synthesis of Structured and Formal Methods, Oxford University Programming Research Group, 1991.Google Scholar
  60. [60]
    The RAISE Language Group, The RAISE SPECIFICATION LANGUAGE, Prentice Hall, 1992.Google Scholar
  61. [61]
    B Ritchie, J Bicarregui and H Haughton, Experiences in Using the AMN in a GKS Study, in FME’94: Industrial Benefits of Formal Methods, Lecture Notes in Computer Science, Vol. 873, Springer Verlag, 1994, pp. 93–104.Google Scholar
  62. [62]
    J Rumbaugh, M Blahs, W Premerlani, F Eddy, W Lorensen, Object-Oriented Modelling and Design, Englewood Cliffs, NJ, Prentice Hall Ltd., 1991.Google Scholar
  63. [63]
    J Spivey, The Z Reference Manual, 2nd Edition, Prentice Hall, 1992.Google Scholar
  64. [64]
    A C Storey, H Haughton, A Strategy for the Production of Verifiable Code Using the B Method, in FME’94: Industrial Benefits of Formal Methods, Lecture Notes in Computer Science, Vol. 873, Springer Verlag, 1994, pp. 346–365.Google Scholar
  65. [65]
    H Waeselynck, J-L Boulanger, The Role of Testing in the B Formal Development Process, Proc. 6th International Symposium on software Reliability Engineering (ISSRE’95), Toulouse, 1995.Google Scholar
  66. [66]
    IEC/TC65A(Secretariat)123, Functional Safety of Electrical/Electronic/Programmable Electronic Systems: Generic Aspects. Part 1: General Requirements, International Electrotecimical CommissionGoogle Scholar

Copyright information

© Springer-Verlag London Limited 1996

Authors and Affiliations

  • Kevin Lano
    • 1
  1. 1.Department of ComputingImperial College of Science, Technology and MedicineLondonUK

Personalised recommendations