We introduce a new way of specifying rich behaviors for discrete-time dynamical systems called control programs. Essentially, a control program consists of a set of elementary control tasks with a scheduler. A control task is described by a discrete-time hybrid automaton and a termination semantics, specifying if the task must terminate in finite time or if it is allowed to run forever. The scheduler provides a set of rules that is used to sequence the control tasks. Control programs also have external inputs, which makes it possible to specify how a system must react to instructions provided by a human user or by another system. We define the set of executions that are accepted by the control program. Then, we consider the problem of synthesizing a controller for a dynamical system such that the closed-loop behavior is an execution of the control program. Building on our recent work on formal synthesis from specifications given by hybrid automata, we propose two algorithms for computing controllers based on contracting and expanding fixed-point computations. The first algorithm computes the maximal controllable set but needs to reach the fixed-point to provide a valid controller. The second algorithm may not converge to the maximal controllable set but provides a valid controller at each iteration. We illustrate our methodology with an autonomous vehicle control example.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.