We may earn an affiliate commission when you visit our partners.
Course image
Course image
Coursera logo

Verification and Synthesis of Autonomous Systems

Majid Zamani

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.

Read more

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.

This course can be taken for academic credit as part of CU Boulder’s Masters of Science in Computer Science (MS-CS) degrees offered on the Coursera platform. This fully accredited graduate degree offer targeted courses, short 8-week sessions, and pay-as-you-go tuition. Admission is based on performance in three preliminary courses, not academic history. CU degrees on Coursera are ideal for recent graduates or working professionals. Learn more:

MS in Computer Science: https://coursera.org/degrees/ms-computer-science-boulder

Enroll now

What's inside

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.
Read more
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.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides techniques for verifying and designing autonomous systems, which are increasingly used in various industries, research, and applications
Covers advanced techniques such as Lyapunov theories, reachability analysis, barrier certificates, model checking, and controller design, which are essential for ensuring the safety and correctness of autonomous systems
Taught by Majid Zamani, a renowned researcher in the field of formal verification, with extensive experience in developing techniques for autonomous systems
Part of CU Boulder's Master of Science in Computer Science degree program, indicating its academic rigor and relevance to industry standards
Requires no specific academic background or history, making it accessible to a wide range of learners interested in formal verification and autonomous systems
May require students to purchase additional materials or software, which could be a financial consideration

Save this course

Save Verification and Synthesis of Autonomous Systems to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Verification and Synthesis of Autonomous Systems with these activities:
Lyapunov theory for stability
Understand the theoretical foundations of stability analysis using Lyapunov theory and prepare for future modules on verification and synthesis.
Browse courses on Stability analysis
Show steps
  • Review the basics of Lyapunov theory and stability
  • Practice applying Lyapunov functions to analyze the stability of nonlinear systems
  • Solve problems involving the construction and validation of Lyapunov functions
Compile Resources on Verification and Synthesis
Stay organized and enhance your learning experience by assembling a compilation of valuable resources, including articles, videos, and tools related to verification and synthesis.
Browse courses on Verification
Show steps
  • Conduct research to gather relevant resources.
  • Organize the resources logically for easy access and reference.
Attend a Verification and Synthesis Workshop
Immerse yourself in the field by attending a workshop dedicated to verification and synthesis, gaining valuable insights and broadening your knowledge.
Browse courses on Verification
Show steps
  • Research and identify relevant workshops.
  • Attend the workshop and actively participate.
11 other activities
Expand to see all activities and additional details
Show all 14 activities
Reachability analysis tutorial
Enhance your understanding of reachability analysis techniques to prepare for the verification of finite systems.
Browse courses on Reachability Analysis
Show steps
  • Find and follow an online tutorial on reachability analysis
  • Work through examples of reachability analysis on simple systems
  • Apply reachability analysis to a small-scale system of your own design
Review Lyapunov Theory and Its Applications
Review key principles of Lyapunov theory to strengthen your theoretical understanding of stability analysis.
Show steps
  • Read Introduction and Chapter 2 of the book.
  • Summarize the main principles and theorems of Lyapunov theory.
Discussion on model checking
Engage in discussions with peers to clarify concepts and deepen your understanding of model checking.
Browse courses on Model Checking
Show steps
  • Join an online discussion forum or study group
  • Participate in discussions on model checking topics
  • Ask questions and share your insights
Practice Reachability Analysis
Engage in regular practice of reachability analysis techniques to enhance your proficiency in formal verification.
Browse courses on Reachability Analysis
Show steps
  • Solve reachability problems on finite automata.
  • Use model checking tools to verify reachability properties.
Robotics workshop
Gain hands-on experience with robotics by attending a workshop that covers design, building, and programming.
Browse courses on Robotics
Show steps
  • Find a robotics workshop that aligns with your interests
  • Register for the workshop
  • Attend the workshop and actively participate in the activities
Design an Omega-Regular Property
Develop an understanding of omega-regular properties by designing your own, strengthening your grasp of formal specification techniques.
Browse courses on Formal Specification
Show steps
  • Identify a system behavior to be specified.
  • Use LTL or Buchi automata to represent the omega-regular property.
Simulate a controller for an autonomous system
Reinforce your understanding of the design and implementation of controllers for autonomous systems by creating a simulation.
Browse courses on Controller design
Show steps
  • Choose an autonomous system model to work with
  • Design a controller for the system
  • Create a simulation environment to test the controller
  • Run simulations to evaluate the controller's performance
  • Analyze the results and refine the controller as needed
Apply Barrier Certificates
Reinforce your understanding of barrier certificates through dedicated practice, solidifying your ability to apply them in formal verification.
Show steps
  • Construct barrier certificates for simple dynamical systems.
  • Verify safety properties using barrier certificates.
Autonomous systems design competition
Put your skills to the test by participating in a design competition that challenges you to create innovative autonomous systems.
Browse courses on Autonomous Systems
Show steps
  • Find a suitable competition to participate in
  • Gather a team and brainstorm ideas
  • Design and build an autonomous system that meets the competition requirements
  • Test and refine your system
  • Submit your system to the competition
Design a Controller for Verification
Apply the principles of controller design to develop a controller that meets specific properties, deepening your understanding of formal verification techniques.
Browse courses on Controller design
Show steps
  • Define a control system and the desired properties.
  • Use formal methods to design a controller.
Contribute to an Open-Source Verification Tool
Gain practical experience and contribute to the community by participating in the development of an open-source verification tool, deepening your understanding of the field.
Browse courses on Open Source
Show steps
  • Identify a suitable open-source verification tool.
  • Make contributions to the tool's codebase or documentation.

Career center

Learners who complete Verification and Synthesis of Autonomous Systems will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Verification and Synthesis of Autonomous Systems.
Requirement Specifications for Autonomous Systems
Most relevant
Modeling of Autonomous Systems
Most relevant
Ethical Issues in Computing Applications
Most relevant
Data Mining Methods
Most relevant
Dynamic Programming, Greedy Algorithms
Most relevant
Basic Robotic Behaviors and Odometry
Most relevant
Advanced Data Structures, RSA and Quantum Algorithms
Most relevant
Data Mining Pipeline
Most relevant
When to Regulate? The Digital Divide and Net Neutrality
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser