Application of Simplex Architecture to Physical Test-bed - A case study with Inverted Pendulum

The past few decades have witnessed increasing demands in employing unverified (but potentially high performance) controllers, such as artificial-intelligence-based (a.k.a. AI-based) controllers and black-box controllers from third parties, in cyber-physical systems (CPS) for complex control missions. Nevertheless, ensuring the overall safety of the CPS equipped with these controllers is currently very challenging [1]. Meanwhile, safety guarantees are crucial for safety-critical CPS, such as autonomous cars, in which system failures (e.g., collision) may have catastrophic results. Hence, the difficulties in providing safety guarantees motivated researchers to investigate correct-by-construction techniques using which formal safety guarantees can be offered.


Simplex architecture, first introduced in [2], is a correct-by-construction architecture that allows the application of unverified controllers while providing formal safety guarantees. Simplex architecture contains a decision logic (DL) and a high-assurance-control subsystem (HAC). At runtime, the DL observes the behavior of the unverified high-performance-control subsystem (HPC) and rejects the HPC whenever it endangers the overall safety of the system. Meanwhile, the (HAC), which is a controller with simple construction, is responsible for providing fallback control inputs to guarantee safety whenever the HPC is rejected.


In this thesis, the student is supposed to apply Simplex architecture to the physical test-bed of an inverted pendulum in our lab. Concretely, the student has the following tasks:

1. Identifying the model of the physical inverted pendulum in our lab

2. Developing Python code for controlling the physical inverted pendulum with Simplex architecture



[1] M. Z. Kwiatkowska, “Safety verification for deep neural networks with provable guarantees (invited paper),” in Proceedings of 30th International Conference on Concurrency Theory, vol. 140, 2019, pp. 1–5.

[2] L. Sha, “Using simplicity to control complexity,” IEEE Software, pp. 20–28, 2001.


Mandatory: Programming experience with Python

Optional: Knowledge of designing controllers for linear systems

Thesis Type



Bingzhuo Zhong

Gebäude 5501 Raum 2.106

+49 (89) 289 - 55176