Abstract
The Software Engineering Programme at Oxford teaches formal methods as an integral part of its programme of professional education in software engineering. This paper explains how the methods are taught—in the context of emerging trends in software development, and in the context of existing practice—and how their use is promoted through course design and motivating examples.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abrial, J.-R.: The B-Book: Assigning Programs to Meanings (1996)
Almstrum, V.L., Dean, C.N., Goelman, D., Hiburn, T.B., Smith, J.: Support for teaching formal methods. ACM SIGCSE Bulletin 33(2), 71–88 (2001)
Ball, T., Cook, B., Levin, V., Rajamani, S.K.: SLAM and Static Driver Verifier: Technology Transfer of Formal Methods inside Microsoft. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, Springer, Heidelberg (2004)
Bennett, S., McRobb, S., Farmer, R.: Object-Oriented Systems Analysis and Design. McGraw-Hill, New York (1999)
Blanchard, B.S.: System Engineering Management. Wiley, Chichester (1998)
Boute, R.: Can lightweight formal methods carry the weight? In: Proceedings of Teaching Formal Methods 2003, pp. 47–55 (2003)
Cavarra, A., Crichton, C., Davies, J.: A method for the automatic generation of test suites from object models. Information and Software Technology 46 (2004)
de Barros, R.S.M.: On the Formal Specification and Derivation of Relational Database Applications. PhD thesis, Department of Computing Science, The University of Glasgow (1994)
Dean, C.N., Hinchey, M.G. (eds.): Teaching and learning formal methods. Academic Press International Series in Formal Methods (1996)
DeRemer, F., Kron, H.: Programming-in-the-Large versus Programming-in-the-Small. In: International Conference on Reliable Software. SIGPLAN Notices, vol. 10 (1975)
Duce, D.A.: Proceedings of Teaching Formal Methods 2003. BCS (2003)
Edmond, D.: Refining database systems. In: Bowen, J.P., Hinchey, M.G. (eds.) ZUM 1995. LNCS, vol. 967, pp. 25–44. Springer, Heidelberg (1995)
Formal Methods Educational Site, www.cs.indiana.edu/formal-methods-education/
Fowler, M.: UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd edn. September 19, Addison-Wesley, Reading (2003)
Habrias, H.: Investigation into the teaching of B worldwide (2003), http://www.iut-nantes.univnantes.fr/habrias/coursb/questionnaireEnglish.html
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall International, Englewood Cliffs (1985)
IEEE Computer Society. The SoftWare Engineering Body of Knowledge (2004), www.swebok.org
Kelemen, C., Tucker, A., Henderson, P., Bruce, K., Astrachan, O.: Has our curriculum become math-phobic (an American perspective). In: Proceedings of the 5th Annual SIGSCE/SIGCUE Conference on Innovation and Technology in Computer Science Education, July 2000, pp. 132–135 (2000)
Kleppe, A., Warmer, J., Bast, W.: MDA Explained: The Model Driven Architecture(TM): Practice and Promise, 1st edn. Addison-Wesley, Reading (2003)
Lethbridge, T.C.: What knowledge is important to a software professional? IEEE Computer 33(5), 44–50 (2000)
Martin, A.P., Simpson, A.C.: Generalizing the Z Schema Calculus: Database Schemas and Beyond. In: Proceedings of APSEC (Asia-Pacific Software Engineering Conference) 2003, pp. 28–37 (2003)
Naur, P., Randall, B.: Software Engineering: A Report on a Conference Sponsored by the NATO Science Committee (1969)
Page, R.L.: Software is discrete mathematics. In: Proceedings of the 8th ACM SIGPLAN International Conference on Functional Programming, pp. 79–86 (2003)
The Apache Maven Project. Maven (2004)
Simpson, A.C., Martin, A.P.: Supplementing the understanding of Z: a formal approach to database design. In: Proceedings of Teaching Formal Methods 2003, pp. 65–70 (2003)
Sommerville, I.: Software Engineering, 6th edn. Addison-Wesley, Reading (2001)
Spivey, J.M.: The Z Notation: A Reference Manual, 2nd edn. Prentice-Hall International, Englewood Cliffs (1992)
Stiles, D.: Informal formal methods in a computer engineering curriculum. In: Proceedings of Teaching Formal Methods 2003, pp. 40–46 (2003)
The Joint Task Force on Computing Curricula, IEEE Computer Society, Association for Computing Machinery. Computing Curricula 2001 (2001), http://computer.org/education/cc2001/
Tucker, A.B. (ed.): Computing Curricula 1991: Report of the ACM/IEEE-CS Joint Curriculum Task Force. IEEE Computer Society Press, Los Alamitos (1991)
Wing, J.M.: A specifier’s introduction to formal methods. IEEE Computer 23(9), 8–24 (1990)
Wing, J.M.: Weaving formal methods into the undergraduate computer science curriculum. In: Proceedings of the 8th International Conference on Algebraic Methodology and Software Technology, AMAST (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Davies, J., Simpson, A., Martin, A. (2004). Teaching Formal Methods in Context. In: Dean, C.N., Boute, R.T. (eds) Teaching Formal Methods. TFM 2004. Lecture Notes in Computer Science, vol 3294. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30472-2_12
Download citation
DOI: https://doi.org/10.1007/978-3-540-30472-2_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-23611-5
Online ISBN: 978-3-540-30472-2
eBook Packages: Springer Book Archive