Embedding Formal Development in Software Engineering

  • Ken Robinson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3294)


Formal methods have had considerable success in developing the theoretical fundamentals of many areas of computing, but have had considerably less success at penetrating the areas where those formal techniques could be applied. This can be regarded as a failure of formal methods. This paper is concerned, in particular, with the lack of impact of formal techniques on software development, and especially on software development curricula. The paper presents some diagnoses of the cause of the problem and discusses attempts at integration of formal development into a Software Engineering program.


Software Development Software Engineer Formal Method Class Diagram Formal Development 
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.
    Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)zbMATHCrossRefGoogle Scholar
  2. 2.
    UNSW B Resource Site, Google Scholar
  3. 3.
    ORA Canada. Z/EVES Z proof assistant,
  4. 4.
    COMP2110. Software System Specification,
  5. 5.
    COMP2111. System Modelling and Development,
  6. 6.
    The Joint Task force on Computing Curricula IEEE Computer Society and ACM. Computing curriculum – software engineering. Technical report, IEEE Computer Society & ACM (2004),
  7. 7.
    Jia, X.: Ztc: Z type checker,
  8. 8.
    King, S.: Z and the refinement calculus. In: Bjørner, D., Hoare, C.A.R., Langmaack, H. (eds.) VDM 1990. LNCS, vol. 428, pp. 164–188. Springer, Heidelberg (1990)Google Scholar
  9. 9.
  10. 10.
    B-Core(UK) Ltd. B Toolkit,
  11. 11.
    Robinson, K.A.: Refining Z specifications to programs. In: Australian Software Engineering Conference, May 1987. I.E.Aust, pp. 87–97 (1987)Google Scholar
  12. 12.
    Robinson, K.: Early experiences in teaching the B-Method. pp. 291–296, Universite de Nantes, Institut de Recherche en Informatique de Nantes (November 1996)Google Scholar
  13. 13.
    Robinson, K., Ho, P., Schwenke, M.: To Zed and back: Integrating data flow diagrams and Z, July 1996, pp. 127–134. ACM Press, New York (1996)Google Scholar
  14. 14.
    Schneider, S.: The B-Method: An Introduction. Palgrave, Oxford (2001)Google Scholar
  15. 15.
    Sekerinski, E., Sere, K. (eds.): Program Development by Refinement, FACIT. Springer, Heidelberg (1999)zbMATHGoogle Scholar
  16. 16.
    SENG2010. Software Engineering Workshop 2A,
  17. 17.
    SENG2020. Software Engineering Workshop 2B,
  18. 18.
  19. 19.
    Steria, Atelier, B.:
  20. 20.
    UNSW. Software Engineering Program,
  21. 21.
    Wordsworth, J.B.: Software Engineering with the B-Method. Addison-Wesley, Reading (1996)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Ken Robinson
    • 1
    • 2
  1. 1.School of Computer Science & EngineeringUniversity of New South WalesAustralia
  2. 2.National ICTAustralia

Personalised recommendations