Automated Formal Synthesis of Digital Controllers for State-Space Physical Plants

Alessandro Abate, Iury Bessa, Dario Cattaruzza, Lucas Cordeiro, Cristina David, Pascal Kesseli, Daniel Kroening, Elizabeth Polgreen

Research output: Chapter in Book/Report/Conference proceedingConference contribution


We present a sound and automated approach to synthesize safe digital feedback controllers for physical plants represented as linear, time-invariant models. Models are given as dynamical equations with inputs, evolving over a continuous state space and accounting for errors due to the digitization of signals by the controller. Our counterexample guided inductive synthesis (CEGIS) approach has two phases: We synthesize a static feedback controller that stabilizes the system but that may not be safe for all initial conditions. Safety is then verified either via BMC or abstract acceleration; if the verification step fails, a counterexample is provided to the synthesis engine and the process iterates until a safe controller is obtained. We demonstrate the practical value of this approach by automatically synthesizing safe controllers for intricate physical plant models from the digital control literature.
Original languageEnglish
Title of host publicationComputer Aided Verification
EditorsRupak Majumdar, Viktor Kunčak
Place of PublicationCham
PublisherSpringer International Publishing
Number of pages21
ISBN (Electronic)978-3-319-63387-9
ISBN (Print)978-3-319-63386-2
Publication statusPublished - 13 Jul 2017
Event29th International Conference on Computer Aided Verification - Heidelberg, Germany
Duration: 24 Jul 201728 Jul 2017

Publication series

Name Lecture Notes in Computer Science
PublisherSpringer, Cham
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Conference29th International Conference on Computer Aided Verification
Abbreviated titleCAV 2017
Internet address


Dive into the research topics of 'Automated Formal Synthesis of Digital Controllers for State-Space Physical Plants'. Together they form a unique fingerprint.

Cite this