System Validation (3): Requirements by modal formulas (Coursera)

Offered by EIT Digital,
System Validation (3): Requirements by modal formulas (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. This means that the systems are not only behaving correctly, but are also much easier to maintain and adapt.

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

’Requirements by modal formulas' is the third course that shows you how to specify requirements for the automata in order to establish the correct relation between the requirements and the behaviour of the system.
Reading material: J.F. Groote and M.R. Mousavi. Modeling and analysis of communicating systems. The MIT Press, 2014.

Syllabus

WEEK 1
Basic modal formulas
In this module you learn how to specify requirements on behaviour. First Hennessy-Milner logic is explained, which is subsequently extended with fixed-points. Using this logic you will be able to formally characterise virtually any behavioral property on the behavior of software. This varies from simple properties such as a system is free from deadlocks, to complex properties such as "in a warehouse the controllers will instruct all the robots such that my ordered item will appear for certain within finite time at the output".

WEEK 2
Advanced modal formulas
This module elaborates on modal formulas. It shows how to use data in the formulas which makes modelling of complex properties much easier. Furthermore, it shows how fairness properties can be modelled in the framework using nested fixed point operators. The last lectures introduce parameterised boolean equation systems and boolean equation systems as important technology to establish that a modal formula is valid for a particular specified behaviour.

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

Related Courses

Laboratório de Programação Orientada a Objetos - Parte 1 (Coursera) Coursera
Universidade de São Paulo, Brasil

Laboratório de Programação Orientada a Objetos - Parte 1 (Coursera)

Este curso apresenta os conceitos mais importantes em torno do paradigma de desenvolvimento mais comum da indústria de software hoje: a Programação Orientação a Objetos (POO). Oferecido pelo Departamento de Ciência da Computação do Instituto de Matemática e Estatística da USP, o curso é voltado para quem já conhece os conceitos básicos de POO e quer se aprofundar no assunto, tornando-se um excelente programador. Ele funciona bem como uma sequência natural aos 2 cursos anteriores do Prof. Fabio Kon do IME-USP no coursera: Introdução à Ciência da Computação com Python.

Sep 21st 2026
5-12 Weeks
Developing Android Apps with App Inventor (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Developing Android Apps with App Inventor (Coursera)

The course will give students hands-on experience in developing interesting Android applications. No previous experience in programming is needed, and the course is suitable for students with any level of computing experience. MIT App Inventor will be used in the course. It is a blocks-based programming tool that allows everyone, even novices, to start programming and build fully functional apps for Android devices. Students are encouraged to use their own Android devices for hands-on testing and exploitation.

Sep 21st 2026
5-12 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
VLSI CAD Part I: Logic (Coursera) Coursera
University of Illinois at Urbana-Champaign

VLSI CAD Part I: Logic (Coursera)

A modern VLSI chip has a zillion parts -- logic, control, memory, interconnect, etc. How do we design these complex chips? Answer: CAD software tools. Learn how to build thesA modern VLSI chip is a remarkably complex beast: billions of transistors, millions of logic gates deployed for computation and control, big blocks of memory, embedded blocks of pre-designed functions designed by third parties (called “intellectual property” or IP blocks). How do people manage to design these complicated chips? Answer: a sequence of computer aided design (CAD) tools takes an abstract description of the chip, and refines it step-wise to a final design.

Sep 21st 2026
5-12 Weeks
AJAX for Web Developers (Coursera) Coursera
Coursera Instructor Network

AJAX for Web Developers (Coursera)

The "AJAX for Web Developers" course explores how modern websites update parts of a web page without the need to reload the entire page, providing a fluid and fast user experience. This course covers the relationship between client apps or websites and servers, the distinction between full page loads and AJAX, and the best use-cases for each.

Sep 21st 2026
3 Weeks
System Validation (4): Modelling Software, Protocols, and other behaviour (Coursera) Coursera
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.

Sep 21st 2026
2 Weeks
Introduction to Agile Development and Scrum (Coursera) Coursera
IBM

Introduction to Agile Development and Scrum (Coursera)

After successfully completing this course, you will be able to embrace the Agile concepts of adaptive planning, iterative development, and continuous improvement - resulting in early deliveries and value to customers. This course will benefit anyone who wants to get started with working the Agile way. It is particularly suitable for IT practitioners such as software developers, development managers, project managers, product managers, and executives.

Sep 21st 2026
4 Weeks
Audio Signal Processing for Music Applications (Coursera) Coursera
Stanford University,Universitat Pompeu Fabra

Audio Signal Processing for Music Applications (Coursera)

In this course you will learn about audio signal processing methodologies that are specific for music and of use in real applications. We focus on the spectral processing techniques of relevance for the description and transformation of sounds, developing the basic theoretical and practical knowledge with which to analyze, synthesize, transform and describe audio signals in the context of music applications.

Sep 14th 2026
5-12 Weeks
Algorithms, Part I (Coursera) Coursera
Princeton University

Algorithms, Part I (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Sep 21st 2026
5-12 Weeks
计算机辅助翻译原理与实践 Principles and Practice of Computer-Aided Translation (Coursera) Coursera
Peking University

计算机辅助翻译原理与实践 Principles and Practice of Computer-Aided Translation (Coursera)

讲授计算机辅助翻译技术的基本概念,及多种辅助翻译工具的原理和使用方法,锻炼学生在技术环境下从事翻译工作等其他各类语言服务工作的能力,并帮助学生理解信息化时代的语言服务工作。 This course introduces the basic concepts of computer-aided translation technology and helps students learn to use computer-aided translation tools.

Sep 14th 2026
13-24 Weeks
Videojuegos: ¿de qué hablamos? (Coursera) Coursera
Universitat Autònoma de Barcelona

Videojuegos: ¿de qué hablamos? (Coursera)

Probablemente, todos hemos jugado a algún videojuego, pero ¿qué hay detrás de él? Podemos decir que - con independencia del videojuego - hay un árduo trabajo multidisciplinar que incluye desde aspectos de diseño hasta la programación como tal del videojuego. Este curso pretende ser un curso introductorio que muestre qué aspectos hay que considerar en el videojuego, y que permita con posterioridad abordar individualmente los temas que se consideran nucleares: diseño, arte, motor del videojuego y 'game play'.

Sep 21st 2026
5-12 Weeks
面向对象技术高级课程 (The Advanced Object-Oriented Technology) (Coursera) Coursera
Peking University

面向对象技术高级课程 (The Advanced Object-Oriented Technology) (Coursera)

如果将软件开发人员看作行走江湖的武侠,那么各种软件开发技术就是武侠赖以傍身的武术秘籍。有的秘籍以易学灵巧见长,练习者很快掌握,并有立竿见影的功效,但失之厚重持久;有的秘籍初学乍练顿显困难,虽冥思苦解仍不得要领,需坚持不断的内功修炼方成正果,却是成为武林大侠必备的至宝。本课程有些类似于后者。

Sep 14th 2026
13-24 Weeks