326.076/326.0VR, Friday 8:30-10:00, HS 13, Start: March 6, 2020
The goal of this course is to teach students of computer science and mathematics methods for the formal specification of abstract data types and their application in practical software engineering examples. No prerequisites apart from basic set theory and logic are required.
We concentrate on the approach of algebraic/axiomatic program specification where concepts from universal algebra are used to formalize the semantics of specifications. For rapid prototyping, we use the software system CafeOBJ in which specifications can be directly executed. We also sketch the object-oriented specification languages Larch/C++ and JML which are based on similar principles and finally introduce the Common Algebraic Specification Language CASL.
Presentations of various case studies are interspersed. Course grades will be based on exercises which are both theoretical (paper and pencil) and practical (CafeOBJ).
To take part in the course, you have to enrol in the KUSSS system. Since the exercises will be submitted via Moodle, you also have to login in Moodle and register as a course participant. You will then also receive per email all messages posted in the News forum.