Offered
Clayton Second semester 2008 (Day)
Synopsis
Review of set theory, the predicate calculus, relations, relational algebra and formal specification concepts; algebraic and model based specifications; the role of formal specifications in software engineering. The B notation, data and algorithm design; data and operation refinement; proofs of correctness; proof obligations.
Objectives
- Fundamentals of the B Method;
- Applications of the B Method;
- A reading knowledge of B specifications;
- Software Testing in the discrete domain;
- The role of proof obligations and consistent specifications;
- Determination of Proof Obligation;
- The role of refinement in developing formal specifications;
- An appreciation of the professional need to establish formal properties of software;
- A belief that formal specifications can improve the quality of software;
- Skills in using the B notation to develop and prove software specifications;
- The ability to install a B Toolkit on a Unix/Linux platform;
- The ability to write basic B specifications;
- The ability to refine and extend more advanced B specifications.
Assessment
Assignments: 50%
Examination: 50%
Contact hours
3 x contact hrs/week
Prerequisites
(FIT2024 or CSE2201) and (MAT1830 or MTH1112 or MAT1077)
Prohibitions
CSE4213, GCO4013, SFT3302