Skip to main content

A course on formal methods in software engineering: Matching requirements with design

  • Education Session
  • Conference paper
  • First Online:
ZUM '95: The Z Formal Specification Notation (ZUM 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 967))

Included in the following conference series:

Abstract

In this paper we shortly describe the course plan and syllabus used in a course included in the degree in Computer Science of University of Bologna since 1992. We discuss a project developed by students using formal notations for the specification of both requirements and design. The formal methods we use are based on Z notation for requirements specification and Larch for design specifications.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G. Abowd, R. Allen, and D. Garlan. Using Style to Understand Descriptions of Software Architecture. In D.Notkin, editor, Proc. ACM SIGSOFT 1st Conf. on Fundamentals of Software Engineering, volume 18:5 of ACM SIGSOFT Software Engineering Notes, 1993.

    Google Scholar 

  2. D. Berry. Academic legitimacy of the software engineering discipline. Technical Report CMU-SEI-92-34, Software Engineering Institute, Carnegie Mellon Univ., 1992.

    Google Scholar 

  3. B. Boehm. A spiral model of software development and enhancement. IEEE Computer, 21(5):61–72, May 1988.

    Google Scholar 

  4. G. Booch. Object-oriented development. IEEE Transactions on Software Engineering, 12(2):211–220, Feb. 1986.

    Google Scholar 

  5. J. Bowen. Formal Specification of Window Systems. Technical Report PRG-74, Oxford University Computing Laboratory, England, June 1989.

    Google Scholar 

  6. B. Chen, W. Harwood, and M. Jackson. The Specification of Complex Systems Addison Wesley, 1986.

    Google Scholar 

  7. P. Ciaccia, P. Ciancarini, and W. Penzo. A Formal Approach to Software Design: The Clepsydra Methodology. In Proc. 9th Annual Z Users Meeting, Workshops in Computing, Limerick, Ireland, 1995 (to appear). Springer-Verlag, Berlin.

    Google Scholar 

  8. P. Ciancarini. Artificial Chess Players (in Italian). Mursia, 1992.

    Google Scholar 

  9. P. Coad and E. Yourdon. Object-Oriented Design. Yourdon Press, 1991.

    Google Scholar 

  10. B. Curtis, M. Kellner, and J. Over. Process Modeling. Communications of the ACM, 35(9):75–90, September 1992.

    Google Scholar 

  11. A. Diller. Z: An Introduction to Formal Methods. Wiley, 1990.

    Google Scholar 

  12. H. Ehrig, B. Mahr, I. Classen, and F. Orejas. Introduction to Algebraic Specification. Part 1: Formal Methods for Software Development. The Computer Journal, 35(5):460–467, 1992.

    Google Scholar 

  13. H. Ehrig, B. Mahr, and F. Orejas. Introduction to Algebraic Specification. Part 2: From Classical View to Foundations of System Specifications. The Computer Journal, 35(5):468–477, 1992.

    Google Scholar 

  14. D. Garlan. Formal Methods for Software Engineers: Tradeoff in Curriculum Design. In C. Sledge, editor, Software Engineering Education, Proc. SEI Conference, volume 640 of Lecture Notes in Computer Science, pages 131–142, SanDiego, CA, October 1992. Springer-Verlag, Berlin.

    Google Scholar 

  15. D. Garlan and M. Shaw. An Introduction to Software Architecture. In V. Ambriola and G. Tortora, editors, Advances in Software Engineering and Knowledge Engineering, pages 1–40. World Scientific Publishing Co., 1992.

    Google Scholar 

  16. D. Garlan, M. Shaw, C. Okasaki, C. Scott, and R. Swonger. Experience with a course on architectures for software systems. In Proc. Conf. on Software Engineering Education, volume 640 of Lecture Notes in Computer Science, pages 23–43. Springer-Verlag, Berlin, 1992.

    Google Scholar 

  17. S. Garland and J. Guttag. An overview of LP, the Larch Prover. In B. Springer-Verlag, editor, Proc. 3rd Int. Conf. on Rewriting Techniques and Applications, volume 355 of Lecture Notes in Computer Science, pages 137–151, 1989.

    Google Scholar 

  18. C. Ghezzi, M. Jazayeri, and D. Mandrioli. Fundamentals of Software Engineering. Prentice Hall, 1991.

    Google Scholar 

  19. J. Guttag, S. Garland, and J. Horning. Debugging Larch Shared Language Specifications. IEEE Transactions on Software Engineering, 16(9):1044–1075, September 1990.

    Google Scholar 

  20. J. Guttag and J. Horning. Larch: Languages and Tools for Formal Specification. Springer-Verlag, Berlin, 1993.

    Google Scholar 

  21. R. Kemmerer. Testing Formal Specifications to Detect Design Errors. IEEE Transactions on Software Engineering, 11(1):32–43, January 1985.

    Google Scholar 

  22. A. Kierulf, K. Chen, and J. Nievergelt. Smart game board and go explorer: A study in software and knowledge engineering. Communications of the ACM, 33(2):152–166, February 1990.

    Google Scholar 

  23. B. Meyer. Object-Oriented Software Construction. Prentice Hall, 1988.

    Google Scholar 

  24. D. Perry and G. Kaiser. Models of Software Development Environments. IEEE Transactions on Software Engineering, 17(3):283–295, 1991.

    Google Scholar 

  25. D. Perry and A. Wolf. Foundations for the Study of Software Architecture. ACM SIGSOFT Software Engineering Notes, 17(4):40–52, October 1992.

    Google Scholar 

  26. I. Sommerville. Software Engineering. Addison Wesley, 4 edition, 1991.

    Google Scholar 

  27. J. Spivey. The Z Notation. A Reference Manual. Prentice Hall, 2 edition, 1992.

    Google Scholar 

  28. P. Tutelaers. A Font and a style for Typesetting Chess using LaTeX or TeX. TU Gboat, 13(1):85–90, 1992.

    Google Scholar 

  29. J. Wing. A Study of 12 Specifications of the Library Problem. IEEE Software, 5(4):66–76, July 1988.

    Google Scholar 

  30. J. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8–24, September 1990.

    Google Scholar 

  31. J. Wing and A. Zaremski. A Formal Specification of a Visual Language Editor. In C. Ghezzi and G. Roman, editors, Proc. 6th IEEE Int. Workshop on Software Specification and Design, pages 120–129, Como, Italy, October 1991. IEEE Computer Society Press.

    Google Scholar 

  32. E. Yourdon and L. C. Constantine. Structured Design. Yourdon Press, 1979.

    Google Scholar 

  33. A. Zaremski. A Larch Specification of the Miró Editor. Technical Report CMU-CS-91-111, Carnegie Mellon Univerity, February 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jonathan P. Bowen Michael G. Hinchey

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ciancarini, P., Ciaccia, P. (1995). A course on formal methods in software engineering: Matching requirements with design. In: Bowen, J.P., Hinchey, M.G. (eds) ZUM '95: The Z Formal Specification Notation. ZUM 1995. Lecture Notes in Computer Science, vol 967. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60271-2_138

Download citation

  • DOI: https://doi.org/10.1007/3-540-60271-2_138

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60271-2

  • Online ISBN: 978-3-540-44782-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics