Have you ever experienced software systems failing? Websites crash, calendar not synchronising, or even a power blackout. Of course you have! But did you know that many of these errors are the result of communication errors either within a system or between systems? Depending on the system, the impact of software failures can be huge, even resulting in massive economic damage or loss of lives. Software, and in particular the communication between software-intensive systems, is very complex and very difficult to get right. However, we need dependability in the systems we use, directly or indirectly, to support us in our everyday lives.
System Validation helps you to design embedded system behaviour that is structurally sound. It also forces you to make the behaviour simple and insightful; systems that are designed for sound behaviour are also much easier to maintain and adapt. System Validation is the field that studies the fundamentals of system communication and information processing. The techniques put forward in system validaton allow to prove the absence of errors.
This first course ’Automata and behavioural equivalences', builds the foundation of the subsequent courses, showing you how to look at system behaviour as state machines. It discusses behavioural equivalences and illustrates these in a number of examples and quizzes. This course explains labelled transition systems or automata to model behaviour, especially for software controlled systems. An important question is when two behaviours represented by such automata are equal. The answer to this question is not at all straightforward, but the resulting equivalences are used as powerful tools to simplify complex behaviour. This allows us to exactly investigate and understand the behavioural properties of such systems precisely. Especially, in the combination with hiding of behaviour, equivalence reduction is a unique technique to obtain insight in the behaviour of systems, and is far more effective than simulation or testing. Using this insight we can make the models correct. Such models form an excellent basis for the production of concise, reliable and maintainable software.
This course is part I of the set of courses for System Validation. System Validation, as a set of courses, is part of a larger EIT Digital online programme called 'Internet of Things through Embedded Systems'.
Overview
Syllabus
- Behavioural modelling
- System Validation is the field that studies the fundamentals of system communication and information processing. It allows automated analysis based on behavioural models of a system to see if a system works correctly. We want to guarantee that the systems does exactly what it is supposed to do. The techniques put forward in system validaton allow to prove the absence of errors. It allows to design embedded system behaviour that is structurally sound and as a side effect enforces you to make the behaviour simple and insightful. This means that the systems are not only behaving correctly, but are also much easier to maintain and adapt.’Automata and behavioural equivalences' shows you how to look at system behaviour as state machines. It discusses behavioural equivalences and illustrate these in a number of examples and quizzes. This module introduces automata or labelled transition systems as the basic way to model the behaviour of software controlled systems. It subsequently addresses the question when such behaviours are equivalent. Reading material. J.F. Groote and M.R. Mousavi. Modeling and analysis of communicating systems. The MIT Press, 2014.
- Basic behavioural equivalences
- This module shows the most important equivalences that express when the behaviour of two automata can be considered to be equivalent. It will become obvious that there are multiple of such notions, all fit for use under different circumstances. Furthermore, the all-important notion of the internal or hidden action is introduced with some associated behavioural equivalences.
- More behavioural equivalences
- This module elaborates on the equivalences provided earlier. It is shown how it can be applied, especially to the alternating bit protocol. Furthermore, a number of additional equivalences are introduced.
Taught by
Jan Friso Groote