Skip to main content

System Validation 1: Automata and Behavioral Equivalences

MCS

About This Course

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 Behavioral 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.

Course Staff

Jan Friso Groote  is a Full Professor and Chair of Formal Systems Analysis group in the Department of Mathematics and Computer Science at Eindhoven University of Technology (TU/e). His areas of expertise include Computer systems, architectures, software, algorithms, embedded systems and formal methods. Jan Friso has contributed to  structural operational semantics  and verification technology. His particular contributions include the  tyft/tyxt format for operational rules, the first and also the most efficient algorithms to determine  branching bisimulation and the  cones and foci method to prove correctness of protocols and distributed algorithms. He is the founding father of the process modeling language and analysis tool set  mCRL2. This tool set makes it possible to describe the behavior of software with data, time and probabilities, whilst proving properties related to this behavior, expressed in the modal mu-calculus, as well as reducing and visualizing this.  

His current research goal is to show that formal analysis techniques can be used to design the software for complete systems. For this it is not only necessary to improve the verification techniques and algorithms, but it is also important to develop software development styles suitable for verification. Industrial experience shows that this reduces the development time with a factor three increasing the quality with a factor 10. Especially regarding the quality, it can be expected that substantial further improvements are possible, hopefully leading to zero defect software.

"We want to provide technology that enables software engineersto deliver flawless software at reasonable cost.”

Frequently Asked Questions

What web browser should I use?

The Open edX platform works best with current versions of Chrome, Edge, Firefox, or Safari.

See our list of supported browsers for the most up-to-date information.

Course Summary

  1. Course Number

    2IMF30
  2. Classes Start

Enroll