G53FSP Formal Specification Dr. Rong Qu Course Introduction http://www.cs.nott.ac.uk/~rxq/g53fsp School of Computer Science G53FSP Formal Specifications 1 Formal Specification Definition Covers a range of topics Mathematical specification of programming language Application of formal methods in the management of large software projects Use of formal mathematical techniques in program development is becoming more important as systems become more complex and crucial School of Computer Science G53FSP Formal Specifications 2 Course Aims English “requirements specification” of a computer systems an exact formal specification required in program Understand the principles of Formal Specification techniques via mathematical methods Be able to read and write specifications in Z School of Computer Science G53FSP Formal Specifications 3 Course Aims Z language Developed at Oxford Widely accepted Other methods also available School of Computer Science G53FSP Formal Specifications 4 Course Context G51MCS Mathematics for Computer Scientists G51MC2 Mathematics for Computer Science 2 G53FSP Formal Specification School of Computer Science G53FSP Formal Specifications 5 Pre-requisites Rely heavily on Set theory First order predicate logic First part of this module Set theory Relations and functions Sequences, etc School of Computer Science G53FSP Formal Specifications 6 Who Can Attend? Third-year Single Honors Joint Honors Computer Science Other students from outside the School who fulfilled the pre-requisites for admissions to the module School of Computer Science G53FSP Formal Specifications 7 Course Introduction Lectures Handouts/notes, summary of each lecture Speak properly (louder, clearer, faster, slower) Feedback on coursework Course content not too much / too little School of Computer Science G53FSP Formal Specifications 8 Course Introduction Lectures 2 slots per week Lectures, tutorial, coursework feedback, etc About 16 hours Lecture Times and Locations Tue 13:00 (C3 Exchange Building) Thur 15:00 (C1 Exchange Building) School of Computer Science G53FSP Formal Specifications 9 Text Book E. Burke and E. Foxley. Logic and its Applications. Prentice Hall. International Series in Computer Science. Second Printing. 1996. ~9 in GGL, UoN School of Computer Science G53FSP Formal Specifications 10 Useful Reading David Lightfoot. Formal Specification using Z. Palgrave, 2001 Well written easy to understand School of Computer Science G53FSP Formal Specifications 11 Useful Reading Antoni Diller. An Introduction to Formal Methods. 2nd Edition. John Wiley, 1994. Comprehensive tutorial intro Practical exercises Code School of Computer Science G53FSP Formal Specifications 12 Course Assessment 100% on coursework 3 pieces of coursework 15%: 2 exercises (Burke & Foxley book) 35%: 4 exercises (Burke & Foxley book) 50%: 1 handout Non-assessed exercise (latex, 2 exercises) Need to be formatted electronically using a proper Z preprocessor Roff, latex School of Computer Science G53FSP Formal Specifications 13 Coursework Schedule Coursework Is already available Closing dates 15:30pm on the day Hand in to school’s support office No further extensions School of Computer Science G53FSP Formal Specifications 14 Course Outline Lecture 1 & 2 – introduction Background knowledge FSP introduction specifications, formal methods advantages and disadvantages Lecture 3-5 – mathematical background Propositional calculus, predicate calculus, set theory, bags, relations, functions, sequences, recursion and induction School of Computer Science G53FSP Formal Specifications 15 Course Outline Lecture 6-16 – the Z specification language Schemas: information schemas, state schema, observation or query schema, axiom schema Algebra: operations on Z schema Large system case study Coursework and exercises walkthrough School of Computer Science G53FSP Formal Specifications 16 Course Information Course web page http://www.cs.nott.ac.uk/~rxq/g53fsp All lecture notes online All coursework Course schedule – please check updates during the course Supplementary materials School of Computer Science G53FSP Formal Specifications 17 Summary Aims of the course Textbooks Lectures, course outline Assessment, coursework schedule Course web page School of Computer Science G53FSP Formal Specifications 18