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

C# Class Development (Coursera) Coursera
University of Colorado System

C# Class Development (Coursera)

This course is the third 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.

Jul 6th 2026
4 Weeks
Autonomous Aerospace Systems (Coursera) Coursera
University of Naples Federico II

Autonomous Aerospace Systems (Coursera)

The course aims to provide the knowledge needed to design and develop efficient driving and navigation solutions for autonomous vehicles. Driving can be strategic or tactical while navigation is the function that provides information about the position, speed and orientation of the vehicle. It is made by integrating measurement from different sources, such as sensors and receivers.

Aug 31st 2026
5-12 Weeks
Multi-Object Tracking for Automotive Systems (edX) EdX
Chalmers University of Technology,ChalmersX

Multi-Object Tracking for Automotive Systems (edX)

Learn how to localize and track dynamic objects with a range of applications including autonomous vehicles. Autonomous vehicles, such as self-driving cars, rely critically on an accurate perception of their environment. In this course, we will teach you the fundamentals of multi-object tracking for automotive systems.

Self Paced
Self-Paced
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
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
Problem Solving Using Computational Thinking (Coursera) Coursera
University of Michigan

Problem Solving Using Computational Thinking (Coursera)

Have you ever heard that computers "think"? Believe it or not, computers really do not think. Instead, they do exactly what we tell them to do. Programming is, "telling the computer what to do and how to do it." Before you can think about programming a computer, you need to work out exactly what it is you want to tell the computer to do. Thinking through problems this way is Computational Thinking. Computational Thinking allows us to take complex problems, understand what the problem is, and develop solutions. We can present these solutions in a way that both computers and people can understand.

Sep 14th 2026
5-12 Weeks
Abstraction, Problem Decomposition, and Functions (Coursera) Coursera
University of Colorado System

Abstraction, Problem Decomposition, and Functions (Coursera)

This course is the third course in the specialization exploring both computational thinking and beginning C programming. Rather than trying to define computational thinking, we’ll just say it’s a problem-solving process that includes lots of different components. Most people have a better understanding of what beginning C programming means!

Sep 7th 2026
4 Weeks
Design Principles: an Introduction (Coursera) Coursera
University of California, San Diego

Design Principles: an Introduction (Coursera)

What makes an interface intuitive? How can I tell whether one design works better than another? This course will teach you fundamental principles of design and how to effectively evaluate your work with users. You'll learn fundamental principles of visual design so that you can effectively organize and present information with your interfaces. You'll learn principles of perception and cognition that inform effective interaction design. And you'll learn how to perform and analyze controlled experiments online. In many cases, we'll use Web design as the anchoring domain.

Sep 21st 2026
3 Weeks