- Level Professional
- Duration 4 hours
- Course by EIT Digital
-
Offered by
About
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 enforces 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 illustrate these in a number of examples and quizzes. This course explains labelled transition systems or automata to model behaviour for especially 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, 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'.Modules
Introduction to Automata and behavioural equivalences
1
Videos
- Welcome
Automata and behaviour
3
Videos
- An automaton as a model for behaviour
- Non-deterministic behaviour
- The definition of an automaton
1
Readings
- Book exercises
An example
1
Assignment
- Automata to model behaviour
1
Videos
- The wolf, the goat and the cabbage
Concrete behavioural equivalences
3
Videos
- Behavioural equivalences
- Strong bisimulation
- Trace equivalence
1
Readings
- Book exercises
The internal action
1
Assignment
- Basic behavioural equivalences
3
Videos
- The internal or τ -action.
- Branching bisimulation
- Rooted branching bisimulation
1
Readings
- Book exercises
An application to the alternating bit protocol
1
Videos
- The alternating bit protocol
Various other behavioural equivalences
4
Videos
- Divergence preserving branching bisimulation
- Weak trace equivalence
- Weak bisimulation
- Language, failure, and completed trace equivalence
Final observations
1
Assignment
- More behavioural equivalences.
2
Videos
- When to use which behavioural equivalence
- Transition systems with data, time and probabilities
Auto Summary
Experience a comprehensive dive into System Validation with "Automata and Behavioural Equivalences," a course designed to ensure reliability in software communication. Led by Coursera, this professional-level course spans 240 hours, focusing on the fundamentals of system behaviour through state machines and automata. Ideal for those in personal development, it offers essential techniques to prove error absence and maintain system dependability. Subscription options include Starter and Professional. Join now to simplify complex behaviours and enhance your software systems.

Jan Friso Groote