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.
Preview
Unable to display preview. Download preview PDF.
References
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.
D. Berry. Academic legitimacy of the software engineering discipline. Technical Report CMU-SEI-92-34, Software Engineering Institute, Carnegie Mellon Univ., 1992.
B. Boehm. A spiral model of software development and enhancement. IEEE Computer, 21(5):61–72, May 1988.
G. Booch. Object-oriented development. IEEE Transactions on Software Engineering, 12(2):211–220, Feb. 1986.
J. Bowen. Formal Specification of Window Systems. Technical Report PRG-74, Oxford University Computing Laboratory, England, June 1989.
B. Chen, W. Harwood, and M. Jackson. The Specification of Complex Systems Addison Wesley, 1986.
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.
P. Ciancarini. Artificial Chess Players (in Italian). Mursia, 1992.
P. Coad and E. Yourdon. Object-Oriented Design. Yourdon Press, 1991.
B. Curtis, M. Kellner, and J. Over. Process Modeling. Communications of the ACM, 35(9):75–90, September 1992.
A. Diller. Z: An Introduction to Formal Methods. Wiley, 1990.
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.
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.
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.
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.
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.
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.
C. Ghezzi, M. Jazayeri, and D. Mandrioli. Fundamentals of Software Engineering. Prentice Hall, 1991.
J. Guttag, S. Garland, and J. Horning. Debugging Larch Shared Language Specifications. IEEE Transactions on Software Engineering, 16(9):1044–1075, September 1990.
J. Guttag and J. Horning. Larch: Languages and Tools for Formal Specification. Springer-Verlag, Berlin, 1993.
R. Kemmerer. Testing Formal Specifications to Detect Design Errors. IEEE Transactions on Software Engineering, 11(1):32–43, January 1985.
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.
B. Meyer. Object-Oriented Software Construction. Prentice Hall, 1988.
D. Perry and G. Kaiser. Models of Software Development Environments. IEEE Transactions on Software Engineering, 17(3):283–295, 1991.
D. Perry and A. Wolf. Foundations for the Study of Software Architecture. ACM SIGSOFT Software Engineering Notes, 17(4):40–52, October 1992.
I. Sommerville. Software Engineering. Addison Wesley, 4 edition, 1991.
J. Spivey. The Z Notation. A Reference Manual. Prentice Hall, 2 edition, 1992.
P. Tutelaers. A Font and a style for Typesetting Chess using LaTeX or TeX. TU Gboat, 13(1):85–90, 1992.
J. Wing. A Study of 12 Specifications of the Library Problem. IEEE Software, 5(4):66–76, July 1988.
J. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8–24, September 1990.
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.
E. Yourdon and L. C. Constantine. Structured Design. Yourdon Press, 1979.
A. Zaremski. A Larch Specification of the Miró Editor. Technical Report CMU-CS-91-111, Carnegie Mellon Univerity, February 1991.
Author information
Authors and Affiliations
Editor information
Rights 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