System Validation (4): Modelling Software, Protocols, and other behaviour (Coursera)

Offered by EIT Digital,
System Validation (4): Modelling Software, Protocols, and other behaviour (Coursera)

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

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

This means that the systems are not only behaving correctly, but are also much easier to maintain and adapt. ’Modeling Software Protocols, and other behaviour' demonstrates the power of formal methods in software modelling, communication protocols, and other examples.
Reading material: J.F. Groote and M.R. Mousavi. Modeling and analysis of communicating systems. The MIT Press, 2014.

Syllabus

WEEK 1 - Advanced modelling
We show how the behavior of simple programs and communication protocols can be modelled and analysed. Furthermore, we introduce the notion of a linear process: a simple normal form to which every behavior can be reduced. This normal form is the workhorse when it comes to the analysis of behavior.

WEEK 2 - Modelling guidelines
In this lecture you see various modelling techniques that can be used to keep the state space of your models small.

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

Related Courses

IoT Networks and Protocols (edX) EdX
Curtin University,CurtinX

IoT Networks and Protocols (edX)

Learn about IoT networks and the protocols and standards associated with the Internet and how these apply to the IoT. The Internet of Things (IoT) is expanding at a rapid rate, and it is becoming increasingly important for professionals to understand what it is, how it works, and how to harness its power to improve your business.

Self Paced
Self-Paced
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.

Sep 14th 2026
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
Fabriquer un objet connecté (FUN) FUN
Institut Mines-Telecom

Fabriquer un objet connecté (FUN)

Ce MOOC est le deuxième volet du parcours La Fabrication Numérique. Que se passe-t-il quand les objets se connectent à Internet ? Découvrez les mécanismes et les protocoles pour connecter un objet à Internet ou connecter des objets entre eux. Vous utiliserez les technologies issues des FabLabs pour fabriquer “Nelson”, un petit objet intelligent et autonome, contrôlé par votre smartphone ou votre ordinateur. Vous apprendrez également à re-programmer votre objet à l’infini pour l’adapter à vos besoins.

No sessions available
4 Weeks
Architecture, Algorithms, and Protocols of a Quantum Computer and Quantum Internet (edX) EdX
Delft University of Technology,DelftX

Architecture, Algorithms, and Protocols of a Quantum Computer and Quantum Internet (edX)

Learn the basics of quantum algorithms, quantum error-correction, micro-architectures, compilers, and programming languages for quantum processors, and protocols for the quantum internet. In this course we will demonstrate how a large-scale quantum processor could be built using these qubits. Among the topics that we will discuss are micro-architectures, compilers, and programming languages.

Self Paced
Self-Paced
Software Architecture (Coursera) Coursera
University of Alberta

Software Architecture (Coursera)

The way that software components — subroutines, classes, functions, etc. — are arranged, and the interactions between them, is called architecture. In this course you will study the ways these architectures are represented, both in UML and other visual tools. We will introduce the most common architectures, their qualities, and tradeoffs. We will talk about how architectures are evaluated, what makes a good architecture, and an architecture can be improved. We'll also talk about how the architecture touches on the process of software development.

Sep 21st 2026
4 Weeks
IBM z/OS Rexx Programming (Coursera) Coursera
IBM

IBM z/OS Rexx Programming (Coursera)

This course is designed to teach you the basic skills required to write programs using the REXX language in z/OS. The course covers the TSO extensions to REXX and interaction with other environments such as the MVS console, running REXX in batch jobs, and compiling REXX. A total of 11 hands-on labs on an IBM Z server (via remote Skytap access) are part of this course.

Oct 5th 2026
5-12 Weeks
Parallel programming (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Parallel programming (Scala 2 version) (Coursera)

With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library.

Oct 5th 2026
4 Weeks
Introducción a la programación en Python I: Aprendiendo a programar con Python (Coursera) Coursera
Pontificia Universidad Católica de Chile

Introducción a la programación en Python I: Aprendiendo a programar con Python (Coursera)

Decía Steve Jobs que “todo el mundo debería aprender a programar un ordenador porque esto te ayuda a pensar”. Hoy en día la programación es una herramienta fundamental para el desarrollo de la tecnología moderna. Este curso te introduce en el mundo de la programación en el lenguaje Python.

Oct 5th 2026
5-12 Weeks