Verification and Synthesis of Autonomous Systems (Coursera)

Verification and Synthesis of Autonomous Systems (Coursera)

This course will provide different techniques on the verification of autonomous systems against stability, regular, or omega-regular properties. Such techniques include Lyapunov theories, reachability analysis, barrier certificates, and model checking. Finally, it will introduce several techniques on designing controllers enforcing properties of interest over the original autonomous systems.

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

This course is part of the Foundations of Autonomous Systems Specialization.

What you'll learn

  • Analyze stability properties of linear systems
  • Compute over-approximations of reachable sets for some classes of systems
  • Perform model checking for finite systems
  • Synthesize controllers for safety and reachability specifications for finite systems using fixed-point algorithms

Syllabus

Course Introduction
Welcome to the beginning of our exploration into formal verification and synthesis within the model-based design framework. In this introductory module, we will guide you through the key processes of specification, design, verification, and refinement of systems. We will delve into the vital role of formal methods in guaranteeing the correctness of systems. Through captivating examples, we will demonstrate the importance of formal verification, especially in safety-critical and life-critical applications. This module lays the foundation for the more advanced topics we will address throughout the course.

Verification of Finite Systems
In this module, we focus on the verification of finite systems, particularly emphasizing regular safety properties and ω-regular properties (including those expressed as linear temporal logic formulae). We will explore a variety of verification techniques and delve into the theoretical underpinnings essential for understanding how finite systems are verified. Through detailed examples and clear, comprehensive explanations, we aim to provide a deep understanding of how these properties are verified in the context of finite systems.

Synthesis for Finite Systems
In this module, we explore the synthesis of controllers for finite systems, focusing on enforcing certain linear temporal logic (LTL) formulas, including safety, reachability, persistence, and recurrence. We aim to understand how controllers can be designed to render specific LTL formulas for closed-loop systems. The module provides essential theoretical frameworks and practical algorithms necessary for synthesizing such controllers, with an emphasis on the roles of fixed-point operators and algorithms in the computation processes. Additionally, we will discuss various synthesis techniques that depend on the properties of the system and the involved LTL formulas.

Abstraction and Refinement
In this module, we will explore the concepts of abstraction and refinement within the context of control systems. We will delve into feedback refinement relations to understand how controllers can be modified or replaced to meet new specifications without altering the overall system behavior. The module also covers the computation of abstractions, demonstrating how we derive abstract models from complex systems to facilitate analysis and design. Additionally, we will discuss practical methods for abstracting different types of control systems, equipping us with the skills to apply theoretical concepts in real-world scenarios.

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

Related Courses

More C# Programming and Unity (Coursera) Coursera
University of Colorado System

More C# Programming and Unity (Coursera)

This course is the second course in the specialization about learning how to develop video games using the C# programming language and the Unity game engine on Windows or Mac. Why use C# and Unity instead of some other language and game engine? Well, C# is a really good language for learning how to program and then programming professionally. Also, the Unity game engine is very popular with indie game developers; Unity games were downloaded 16,000,000,000 times in 2016! Finally, C# is one of the programming languages you can use in the Unity environment.

Oct 26th 2026
4 Weeks
Software Design as an Abstraction (Coursera) Coursera
University of Colorado System

Software Design as an Abstraction (Coursera)

The design step in developing software has some unique characteristics. First of all, it’s the only step where drawing pictures of things is the norm. Why is that? What do pictures do that other representations cannot do? Pictures have varying levels of detail; pictures have context. Pictures…paint a picture. Why are these things important? In this course, too, we begin looking at other disciplines (building architecture is a favorite one) for lessons on design.

Oct 26th 2026
5-12 Weeks
Enhancing Catholic School Identity (edX) EdX
KU Leuven University,KULeuvenX

Enhancing Catholic School Identity (edX)

How to build a Catholic Dialogue School in a pluralising and secularising world. The Catholic identity of schools today is being challenged by processes of pluralisation and secularisation. While school communities used to be considered more or less homogeneous, nowadays schools are characterised by increasing diversity and a diminishing interest in the Catholic faith tradition, among students as well as teachers.

Self Paced
Self-Paced
Computational Thinking and Big Data (edX) EdX
University of Adelaide,AdelaideX

Computational Thinking and Big Data (edX)

Learn the core concepts of computational thinking and how to collect, clean and consolidate large-scale datasets. Computational thinking is an invaluable skill that can be used across every industry, as it allows you to formulate a problem and express a solution in such a way that a computer can effectively carry it out.

Self Paced
Self-Paced
Intelligent Systems: An Introduction to Deep Learning and Autonomous Systems (FutureLearn) FutureLearn
University of York

Intelligent Systems: An Introduction to Deep Learning and Autonomous Systems (FutureLearn)

Discover the benefits and risks of deep learning and its uses in systems such as assistive technology and facial recognition. Delve into the inner workings of deep learning. From Ada Lovelace until the first decade of this century, we have relied on expert computer programmers to design and write software.

Self Paced
3 Weeks
Building a Future with Robots (FutureLearn) FutureLearn
The University of Sheffield

Building a Future with Robots (FutureLearn)

Explore the role of robots and autonomous systems in the factories, homes, hospitals, schools and cars of our near future. In the near future, many of us will work alongside robots. Knowledge of robotics and autonomous systems will be a helpful skill for a surprising number of today’s careers. On this course, we’ll look at current and future developments in the field of robotics that could shape many different aspects of our daily lives.

Available now
3 Weeks
Modeling of Autonomous Systems (Coursera) Coursera
University of Colorado Boulder

Modeling of Autonomous Systems (Coursera)

This course will explain the core structure in any autonomous system which includes sensors, actuators, and potentially communication networks. Then, it will cover different formal modeling frameworks used for autonomous systems including state-space representations (difference or differential equations), timed automata, hybrid automata, and in general transition systems. It will describe solutions and behaviors of systems and different interconnections between systems.

Oct 19th 2026
4 Weeks
Requirement Specifications for Autonomous Systems (Coursera) Coursera
University of Colorado Boulder

Requirement Specifications for Autonomous Systems (Coursera)

This course will discuss different ways of formally modeling requirements of interest for autonomous systems. Examples of such requirements include stability, invariance, reachability, regular languages, omega-regular languages, and linear temporal logic properties. In addition, it will introduce non-deterministic finite and büchi automata for recognizing, respectively, regular languages and omega-regular languages.

Oct 19th 2026
5-12 Weeks