Module Identifier | CS33310 | ||
Module Title | FORMAL METHODS IN SOFTWARE ENGINEERING | ||
Academic Year | 2002/2003 | ||
Co-ordinator | Dr Mark B Ratcliffe | ||
Semester | Semester 2 | ||
Other staff | Dr Frederick W Long, Dr Ross D King | ||
Pre-Requisite | CS21120 , CS22120 | ||
Course delivery | Lecture | 22 lectures | |
Other | Workshop. Up to 4 | ||
Assessment | Semester Exam | 2 Hours A1 | 80% |
Semester Assessment | A2 Course Work: Two pieces | 20% | |
Supplementary Exam | Will take the same form, under the terms of the Department's policy | ||
Further details | http://www.aber.ac.uk/compsci/ModuleInfo/CS33310 |
2. Formal Specifications - 1 Lecture
The advantages and disadvantages of formal specification. Algebraic and operational specifications.
3. VDM as a Specification Language - 4 Lectures
Introduction and history. The VDM specification language. Data types in VDM. Proof using the data types. An example specification.
4. The Logic of Partial Functions - 2 Lectures
Proof in the three valued logic of partial functions. Differences from the traditional two valued logic. Applications to formal methods, in particular VDM.
5. VDM as a Formal Development Method - 3 Lectures
Stages and processes in the development of a software design using VDM. Data reification and operation decomposition.
6. Correctness Proofs - 3 Lectures
Programming proof rules and their application in the specification of computer systems.
7. Outstanding Problems and Other Methods - 2 Lectures
Formal specification of systems with concurrency. Modularisation of formal specifications. Safety and reliability issues. Other specification languages, Z and GYPSY (briefly). ANNA and SPARK.
8. Temporal Logic - 2 Lectures
Specification of time dependent systems. The operators always, sometimes, next and until. Extension of VDM to include temporal logic.
9. Logic Applications in Computing - 4 Lectures
Resolution theorem proving. Logic programming and Prolog. Multi-valued logics, Fuzzy logic, and reasoning with uncertainty.