Requirement Specifications for Autonomous Systems (Coursera)

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.

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

What you'll learn

  • Utilize formal methods to specify and verify requirements for autonomous systems.
  • Model system behaviors and verify stability using various analytical methods.
  • Apply reachable set computation and robustness analysis in system design.

Syllabus

Course Introduction
In this course, we delve into both low-level and high-level specifications, fundamental to the development of safe autonomous systems. This module is specifically designed to equip students with an in-depth understanding of expressing system behaviors through formal methods, including linear temporal logic and automata on both finite and infinite strings. Through a collection of detailed examples and practical applications, participants will acquire the skills needed to define and analyze key properties of autonomous systems, such as safety and reachability.

Low-Level Specifications
This module offers a concise introduction to normed vector spaces and stability concepts in autonomous systems, encompassing both asymptotic stability and global asymptotic stability. It emphasizes the application of Lyapunov's Stability Theorem for the formal verification of these properties in complex systems, including its application to various simple systems, such as linear ones. Through illustrative examples, we will demonstrate the significance of these concepts in analyzing and ensuring the stability of systems.

High-Level Specifications: Reachability, Safety, Regular and ω-Regular Properties
Delve into the topic of reachable sets and uncover their critical role in guaranteeing system safety. This module introduces frameworks for exploring computational techniques to over-approximate reachable sets across diverse system classes. You will have the chance to apply your knowledge in real-world contexts, investigate the use of zonotopes, and recognize their beneficial properties in the computation of reachable sets. Moreover, we delve into fundamental concepts of formal languages, and regular and omega-regular expressions, offering succinct and formal methods to express regular and omega-regular languages, respectively.

Nondeterministic Finite and Büchi Automata (NFA and NBA)
This module immerses you in the essential principles of regular and ω-regular properties and how they are represented via non-deterministic finite automata (NFA) and Büchi automata (NBA), respectively. You will study the notation and architecture of NFAs and NBAs, master the construction of regular and ω-regular expressions, and grasp their correlation with these automata. The course will navigate you through the conversion of NFAs to regular expressions and NBAs to ω-regular expressions and the inverse, elucidating the significance of these concepts in the verification of finite and infinite behaviors of systems.

Linear Temporal Logic Formulae
This module provides an in-depth exploration of Linear Temporal Logic (LTL) formulas, a mathematical formalism for describing languages containing infinite words. It presents a framework for articulating the temporal dimensions of system behaviors, offering a syntax that closely mirrors natural language. By melding propositional logic with temporal operators, LTL furnishes a powerful toolkit for specifying the rich behaviors of systems.

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

Related Courses

Introduction to FPGA Design for Embedded Systems (Coursera) Coursera
University of Colorado Boulder

Introduction to FPGA Design for Embedded Systems (Coursera)

Programmable Logic has become more and more common as a core technology used to build electronic systems. By integrating soft-core or hardcore processors, these devices have become complete systems on a chip, steadily displacing general purpose processors and ASICs. In particular, high performance systems are now almost always implemented with FPGAs. This course will give you the foundation for FPGA design in Embedded Systems along with practical design skills.

Sep 7th 2026
4 Weeks
Introduction to the Internet of Things and Embedded Systems (Coursera) Coursera
University of California, Irvine

Introduction to the Internet of Things and Embedded Systems (Coursera)

The explosive growth of the “Internet of Things” is changing our world and the rapid drop in price for typical IoT components is allowing people to innovate new designs and products at home. In this first class in the specialization you will learn the importance of IoT in society, the current components of typical IoT devices and trends for the future. IoT design considerations, constraints and interfacing between the physical world and your device will also be covered. You will also learn how to make design trade-offs between hardware and software. We'll also cover key components of networking to ensure that students understand how to connect their device to the Internet.

Aug 31st 2026
4 Weeks
Embedded Systems Essentials with Arm: Get Practical with Hardware (edX) EdX
Arm Education,ArmEducationX

Embedded Systems Essentials with Arm: Get Practical with Hardware (edX)

Spark your creativity with Arm. Level up your Embedded Systems skills by developing working embedded prototypes using the Mbed API and an Arm-based development board, and unlock the boundless opportunities of the Internet of Things. Embedded systems are the fundamental building blocks of our connected world, and Arm-based devices are the industry standard. This course will provide you with the practical skills and confidence to build your own embedded system using the popular and affordable ST Nucleo F401RE development board.

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

Sep 14th 2026
4 Weeks
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.

Sep 7th 2026
3 Weeks
Linux System Programming and Introduction to Buildroot (Coursera) Coursera
University of Colorado Boulder

Linux System Programming and Introduction to Buildroot (Coursera)

This course provides an overview of System Programming for the Linux operating system, or software which is interfacing directly with the Linux Kernel and C library. The basic components of a Linux Embedded System, including kernel and root filesystem details are discussed. The Buildroot build system is introduced, which students use to build their own custom Embedded Linux system through programming assignments.

Sep 7th 2026
4 Weeks
Renewable Energy: Resources and Technologies (Coursera) Coursera
Peter the Great St. Petersburg Polytechnic University

Renewable Energy: Resources and Technologies (Coursera)

In our course, you will become familiar with the basic concepts of renewable energy. Get an idea about the basics of determining the potential of renewable energy resources, including its territorial, temporal and climatic variability. We paid great attention to the study of modern technologies for converting solar, wind and hydropower, as well as to operating modes of power plants based on renewables in power supply systems for autonomous and grid consumers.

Aug 1st 2022
5-12 Weeks
Real-Time Embedded Systems Theory and Analysis (Coursera) Coursera
University of Colorado Boulder

Real-Time Embedded Systems Theory and Analysis (Coursera)

This course provides an in-depth and full mathematical derivation and review of models for scheduling policies and feasibility determination by hand and with rate monotonic tools along with comparison to actual performance for real-time scheduled threads running on a native Linux system.

Aug 31st 2026
4 Weeks
Electrónica Digital Bit a Bit: Aprendiendo fundamentos (Coursera) Coursera
Pontificia Universidad Católica de Chile

Electrónica Digital Bit a Bit: Aprendiendo fundamentos (Coursera)

Es desafiante y hasta atemorizante entender un circuito digital cuando observamos la cantidad de transistores que puede contener, y aún más difícil diseñarlo eficientemente para su implementación en un circuito integrado o una FPGA. Sin embargo, saber diseñar circuitos digitales simples nos abre las puertas para diseñar sistemas digitales más complejos a partir de estos.

Jun 22nd 2026
5-12 Weeks