School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu...

18
School of Computer Sc ience G53FSP Formal Specificati ons 1 G53FSP Formal Specification Dr. Rong Qu Course Introduction http://www.cs.nott.ac.uk/~rxq/g53fsp

Transcript of School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu...

Page 1: School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu Course Introduction rxq/g53fsp.

School of Computer Science

G53FSP Formal Specifications 1

G53FSPFormal Specification

Dr. Rong QuCourse Introduction

http://www.cs.nott.ac.uk/~rxq/g53fsp

Page 2: School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu Course Introduction rxq/g53fsp.

School of Computer Science

G53FSP Formal Specifications 2

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

Page 3: School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu Course Introduction rxq/g53fsp.

School of Computer Science

G53FSP Formal Specifications 3

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

Page 4: School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu Course Introduction rxq/g53fsp.

School of Computer Science

G53FSP Formal Specifications 4

Course Aims

Z language Developed at Oxford Widely accepted Other methods also available

Page 5: School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu Course Introduction rxq/g53fsp.

School of Computer Science

G53FSP Formal Specifications 5

Course Context

G51MCSMathematics for Computer

Scientists

G51MC2Mathematics for Computer

Science 2

G53FSPFormal Specification

Page 6: School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu Course Introduction rxq/g53fsp.

School of Computer Science

G53FSP Formal Specifications 6

Pre-requisites

Rely heavily on Set theory First order predicate logic

First part of this module Set theory Relations and functions Sequences, etc

Page 7: School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu Course Introduction rxq/g53fsp.

School of Computer Science

G53FSP Formal Specifications 7

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

Page 8: School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu Course Introduction rxq/g53fsp.

School of Computer Science

G53FSP Formal Specifications 8

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

Page 9: School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu Course Introduction rxq/g53fsp.

School of Computer Science

G53FSP Formal Specifications 9

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)

Page 10: School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu Course Introduction rxq/g53fsp.

School of Computer Science

G53FSP Formal Specifications 10

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

Page 11: School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu Course Introduction rxq/g53fsp.

School of Computer Science

G53FSP Formal Specifications 11

Useful Reading

David Lightfoot. Formal Specification using Z. Palgrave, 2001 Well written easy

to understand

Page 12: School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu Course Introduction rxq/g53fsp.

School of Computer Science

G53FSP Formal Specifications 12

Useful Reading Antoni Diller. An

Introduction to Formal Methods. 2nd Edition. John Wiley, 1994. Comprehensive

tutorial intro Practical exercises Code

Page 13: School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu Course Introduction rxq/g53fsp.

School of Computer Science

G53FSP Formal Specifications 13

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

pre-processor Roff, latex

Page 14: School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu Course Introduction rxq/g53fsp.

School of Computer Science

G53FSP Formal Specifications 14

Coursework Schedule Coursework

Is already available Closing dates 15:30pm on the day Hand in to school’s support office No further extensions

Page 15: School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu Course Introduction rxq/g53fsp.

School of Computer Science

G53FSP Formal Specifications 15

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

Page 16: School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu Course Introduction rxq/g53fsp.

School of Computer Science

G53FSP Formal Specifications 16

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

Page 17: School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu Course Introduction rxq/g53fsp.

School of Computer Science

G53FSP Formal Specifications 17

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

Page 18: School of Computer ScienceG53FSP Formal Specifications1 G53FSP Formal Specification Dr. Rong Qu Course Introduction rxq/g53fsp.

School of Computer Science

G53FSP Formal Specifications 18

Summary

Aims of the course Textbooks Lectures, course outline Assessment, coursework schedule Course web page