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

Capstone: Autonomous Runway Detection for IoT (Coursera) Coursera
EIT Digital

Capstone: Autonomous Runway Detection for IoT (Coursera)

The students will develop a larger system using the learning outcomes from these courses, and the students will evaluate the developed system in a real-world programming environment. This course is a true engineering task in which the student must, not only implement the algorithm code, but also handle the interfaces between many different actors and hardware platforms.

Aug 10th 2026
3 Weeks
Introduction to Embedded Systems Software and Development Environments (Coursera) Coursera
University of Colorado Boulder

Introduction to Embedded Systems Software and Development Environments (Coursera)

Welcome to the Introduction to Embedded Systems Software and Development Environments. This course is focused on giving you real world coding experience and hands on project work with ARM based Microcontrollers. You will learn how to implement software configuration management and develop embedded software applications. Course assignments include creating a build system using the GNU Toolchain GCC, using Git version control, and developing software in Linux on a Virtual Machine.

Aug 17th 2026
4 Weeks
Fundamentals of TinyML (edX) EdX
HarvardX,Harvard University

Fundamentals of TinyML (edX)

Focusing on the basics of machine learning and embedded systems, such as smartphones, this course will introduce you to the “language” of TinyML. What do you know about TinyML? Tiny Machine Learning (TinyML) is one of the fastest-growing areas of Deep Learning and is rapidly becoming more accessible. This course provides a foundation for you to understand this emerging field.

Self Paced
Self-Paced
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
Build Your First Internet of Things (IoT) Application on Arm (edX) EdX
Arm Education,ArmEducationX

Build Your First Internet of Things (IoT) Application on Arm (edX)

Learn to build functional IoT solutions such as an environmental sensor and an activity monitor that you can feature in your CV or portfolio of work - showcasing your skills to peers, professors or prospective employers. Arm technology powered the smartphone revolution, and now it’s helping power the Internet of Things (IoT). This online course will provide beginners with an accelerated path to gain the knowledge necessary to thrive in a world transformed by innovations in IoT.

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
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
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
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 (2): Model process behaviour (Coursera) Coursera
EIT Digital

System Validation (2): Model process behaviour (Coursera)

System Validation is the field that studies the fundamentals of system communication and information processing. It is the next logical step in computer science and improving software development in general. 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.

Aug 17th 2026
3 Weeks
Tinkering Fundamentals: Motion and Mechanisms (Coursera) Coursera
Exploratorium

Tinkering Fundamentals: Motion and Mechanisms (Coursera)

The Tinkering Fundamentals course will offer educators and enthusiasts an opportunity to develop a practice of tinkering and making. We see tinkering as a serious endeavor—one that is generalizable across content and especially good at interweaving disciplines in a way that leads to complex projects and individualized learning opportunities.

Aug 17th 2026
5-12 Weeks