Coronavirus (Covid-19): Latest updates and information
Skip to main content Skip to navigation

CS932 Formal Systems Development

Throughout the 2020-21 academic year, we will be adapting the way we teach and assess modules in line with government guidance on social distancing and other protective measures in response to Coronavirus. Teaching will vary between online and on-campus delivery through the year, and you should read the additional information linked on the right hand side of this page for details of how we anticipate this will work. The contact hours shown in the module information below are superseded by the additional information. You can find out more about the University’s overall response to Coronavirus at: https://warwick.ac.uk/coronavirus.

CS932-15 Formal Systems Development

Academic year
20/21
Department
Computer Science
Level
Taught Postgraduate Level
Module leader
Jane Sinclair
Credit value
15
Module duration
10 weeks
Assessment
Multiple
Study location
University of Warwick main campus, Coventry
Introductory description

This module uses formal techniques to explore the specification, design and implementation of computer systems. It will cover more advanced features of specification and introduce data and functional refinement, considering how a system design may be modified in a variety of practical ways. Refining the specification to code is an important step in the software life-cycle. This module presents both the theoretical basis for this and practical means of refinement from system specification to program code.

Module aims

To study methods for designing, analysing and programming complex computing systems.

Outline syllabus

This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.

Revision of sets, relations, functions and sequences.
Revision of basic specification skills.
Introduction to development tool:

  • Basic syntax;
  • Introduction to the AMN approach;
  • Examples and use of tool;
    Case studies;
    Data refinement:
  • Refinement;
  • Relations and nondeterminism;
  • Simulations.
    Functional Refinement;
    Review of refinement concepts using the Guarded Command Language;
    Implementation through refinement;
    Throughout the course there will be an emphasis on tool support;
    We would also hope to include a speaker/s from industry in the course teaching (perhaps for the case studies).
Learning outcomes

By the end of the module, students should be able to:

  • Write formal specifications in one or more chosen notations.
  • Understand the principles of formal verification and weakest precondition and the rules for specification consistency.
  • Work with online tools to develop specifications; to generate and prove obligations for machines consistency and correctness of refinements; to refine specifications and develop code.
  • Understand the principles of refinement and the formal rules that apply. Be able to find loop variants and invariants and to verify loops.
Indicative reading list

Please see Talis Aspire link for most up to date list.

View reading list on Talis Aspire

Subject specific skills
  • Logical reasoning;
  • Problem solving;
  • Task analysis and decomposition;
Transferable skills
  • Problem solving;
  • Team work;
  • Communication;
  • Logical reasoning;
  • Time management;
  • Self-directed learning;

Study time

Type Required
Lectures 20 sessions of 1 hour (13%)
Supervised practical classes 10 sessions of 2 hours (13%)
Private study 110 hours (73%)
Total 150 hours
Private study description

Background reading;
Completion of exercise sheets;
Revision;

Costs

No further costs have been identified for this module.

You do not need to pass all assessment components to pass the module.

Students can register for this module without taking any assessment.

Assessment group D
Weighting Study time
Practical assignment 1 20%

Assignment 1: practical coursework task

Practical assignment 2 20%

Assignment 2: practical coursework task

2 hour examination 60%

2 hour exam

~Platforms - AEP

Assessment group R
Weighting Study time
CS932 resit Examination 100%

CS932 Examination resit

~Platforms - AEP

Feedback on assessment

Individual written feedback on each assignment.

Past exam papers for CS932

Courses

This module is Optional for:

  • Year 1 of TCSA-G5PD Postgraduate Taught Computer Science

Further Information

Term 1

15 CATS (7.5 ECTS)

Online Material

Additional Information