COMP31111 Verified Development syllabus 2017-2018
It has been known for a long time that, in theory, the whole activity of system specification, refinement and implementation, could be integrated into a comprehensive mathematical theory and could be supported by industrial strength system development tools. However an actual realisation of this supposition was slow to appear, and the idea was not really made practical until the mid 1980s. Nowadays though, there are a number of tools that embody this idea, and the integration of various reasoning technologies into the process (these days often behind the scenes) is a fertile area of research. This course is an introduction to this methodology.
This course is an introduction to verified development, using the Perfect Developer tool from Eschertech, which allows the development of abstract models, and their translation and refinement into running Java code.
Overview of informal and rigorous development.
Overview of model based refinement.
Basics of the Perfect language.
Practical development and refinement in Perfect.
More refinement theory.
The role of automated reasoning.
Prospects for the future.
There are exercises associated with COMP31111. Some are to be submitted via Blackboard for assessment (counting 20% of the course).
Feedback methodsFeedback is provided face to face in the lab, and online for uploaded assessed materials.
- Assessment written exam (2 hours)
- Lectures (22 hours)
- Analytical skills
- Problem solving
|Programme outcome||Unit learning outcomes||Assessment|
|A1 A3 B1 D6||Be familiar with informal and rigorous development.|
|A1 A3 B1 D6||Be familiar with model based refinement.|
|A1 A3 B1 D6||Have a knowledge of Perfect Developer.|
|A1 A3 B1 D6||Be able to design and build simple applications using Perfect Developer.|
|A1 A3 B1 D6||Have an appreciation of the significance of Perfect's verification conditions.|
COMP31111 does not have a specified reading list.
Course unit materials
Links to course unit teaching materials can be found on the School of Computer Science website for current students.