Modelling and Verification of Reactive Systems

Computing systems are becoming increasingly sophisticated and control key aspects of our lives. In light of the increasing complexity of such computing devices, one of the key scientific challenges in computer science is to design and develop computing systems that do what they were expected to do, and do so reliably. The aim of this course is to introduce models for the formal description of computing systems, with emphasis on parallel, reactive and possibly real-time systems, and the techniques for system verification and validation that accompany them. As an important component of the course, we shall introduce industrial-strength software tools for modelling and analyzing the behaviour of (real-time) reactive systems.