System Validation: Automata and behavioural equivalences (Coursera)

Offered by EIT Digital,
System Validation: Automata and behavioural equivalences (Coursera)

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.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

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'.
Reading material: J.F. Groote and M.R. Mousavi. Modeling and analysis of communicating systems. The MIT Press, 2014.

Syllabus:

WEEK 1
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.

WEEK 2
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.

WEEK 3
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.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Embedded Hardware and Operating Systems (Coursera) Coursera
EIT Digital

Embedded Hardware and Operating Systems (Coursera)

This course is intended for the Bachelor and Master's students, who like practical programming and making IoTs applications! In this course we will talk about two components of a cyber physical system, namely hardware and operating systems. After completing this course, you will have the knowledge of both hardware components and operating systems. You are able to plan and use embedded operating systems in resource-constraint devices for Internet-of-Things (cyber physical system) applications.

Sep 21st 2026
4 Weeks
Linux System Programming and Introduction to Buildroot (Coursera) Coursera
University of Colorado Boulder

Linux System Programming and Introduction to Buildroot (Coursera)

This course provides an overview of System Programming for the Linux operating system, or software which is interfacing directly with the Linux Kernel and C library. The basic components of a Linux Embedded System, including kernel and root filesystem details are discussed. The Buildroot build system is introduced, which students use to build their own custom Embedded Linux system through programming assignments.

Sep 7th 2026
4 Weeks
Discrete Structures (saylor.org) Saylor Academy
Saylor.org

Discrete Structures (saylor.org)

This course has been designed to provide you with a clear, accessible introduction to discrete mathematics. Discrete mathematics describes processes that consist of a sequence of individual steps (as compared to calculus, which describes processes that change in a continuous manner). The principal topics presented in this course are logic and proof, induction and recursion, discrete probability, and finite state machines.

Self Paced
Self-Paced
Embedded Systems Essentials with Arm: Getting Started (edX) EdX
Arm Education,ArmEducationX

Embedded Systems Essentials with Arm: Getting Started (edX)

Get practical without hardware. Quickly prototype and build microcontroller projects using industry-standard APIs. Embedded systems are everywhere – and Arm-based technologies are the industry standard. Getting started could not be easier. This course includes free access to an Mbed simulator so you can apply your new knowledge and skills to prototype and build real-world embedded applications quickly, without the trouble or expense of sourcing hardware.

Self Paced
Self-Paced
Let Us PIC: A Datasheet Approcah for PIC Programming (Skillshare) Skillshare
Skillshare

Let Us PIC: A Datasheet Approcah for PIC Programming (Skillshare)

This course introduces basic concepts of PIC micro-controller programming using C. Starting from installation of required software, this course gives insight of programming the PIC microcontroller to access General Purpose Input Output (GPIO) pins, Configuring external interrupts, Timers and counters, ADCs, LCD and Keypad interfacing, PWM generation and few communication protocols like UART, I2C and SPI.

Self Paced
Self-Paced
Systèmes embarqués et objets connectés - Démarche de conception (FUN) FUN
Université Fédérale Toulouse Midi-Pyrénées

Systèmes embarqués et objets connectés - Démarche de conception (FUN)

Coproduit par l'INP Toulouse et l'INSA Toulouse, ce MOOC constitue un module de positionnement général des systèmes embarqués et objets connectés dans leurs contextes opérationnels. Fortement novateur, il aborde ces systèmes selon un ensemble de points de vue pluridisciplinaires. L'objectif de ce MOOC est de vous permettre d'acquérir une démarche méthodologique, de mettre en place une pensée globale prenant en compte l'écosystème du domaine des systèmes embarqués et objets connectés dans une finalité de compréhension générale du système.

No sessions available
5-12 Weeks
Design and Prototype Embedded Computer Systems (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

Design and Prototype Embedded Computer Systems (FutureLearn)

Discover embedded system design and work your way through the product design lifecycle. Supported by Google. Learn how to design your own embedded system. On this course from the Raspberry Pi Foundation, you will explore how embedded systems are used in the world around us. You will learn what makes an embedded system different from a general purpose system (such as a PC) and discover how embedded systems are specialised for a particular use case.

Nov 1st 2021
3 Weeks
System Validation (Canvas Network) Canvas Network
Halmstad University

System Validation (Canvas Network)

Anyone who has ever designed an embedded system or a communication protocol involving several components executing simultaneously knows that such software is inherently susceptible to bugs. Typical problems include race conditions, deadlocks, and unexpected interplay between different components. The parallel nature of these systems makes it notoriously hard to detect such bugs using testing (timing, e.g., plays a crucial role). This course is designed to provide an introduction to the problems that arise in the design of such systems. It provides ways to model such systems and reason about them.

Self Paced
Self-Paced
Real-Time Embedded Systems Concepts and Practices (Coursera) Coursera
University of Colorado Boulder

Real-Time Embedded Systems Concepts and Practices (Coursera)

This course can also be taken for academic credit as ECEA 5315, part of CU Boulder’s Master of Science in Electrical Engineering degree. Course Description: In this course, students will design and build a microprocessor-based embedded system application using a real-time operating system or RT POSIX extensions with Embedded Linux. The course focus is on the process as well as fundamentals of integrating microprocessor-based embedded system elements for digital command and control of typical embedded hardware systems.

Aug 31st 2026
4 Weeks
Real-Time Embedded Systems Theory and Analysis (Coursera) Coursera
University of Colorado Boulder

Real-Time Embedded Systems Theory and Analysis (Coursera)

This course provides an in-depth and full mathematical derivation and review of models for scheduling policies and feasibility determination by hand and with rate monotonic tools along with comparison to actual performance for real-time scheduled threads running on a native Linux system.

Aug 31st 2026
4 Weeks