Categories in control systems software: toward a unified theory of programming & control

Date
2023-12-01
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Category theory is applied to the design and modeling of control systems application software with emphasis on feedback control. The language of application is iso standard C++17, though the design is abstract and can be gainfully applied in any language expressive enough to embed domain specific languages for event stream processing with sufficient structure. The design is derived in a category, Cpp, of a subset of C++ programs where types are modelled as sets and programs/routines are modelled as functions. This gives a forgetful functor from Cpp to ๐•Š๐—ฒ๐˜, the category of sets which, in theory, facilitates broader compatibility with theories of dynamical systems in concrete categories. A library of abstract datatypes (struct templates) and natural transformations (parametrically polymorphic function templates) is developed to demonstrate that (1) Cpp carries a bicartesian closed structure and (2) this structure has representation as standard compliant code. The axioms of this structure are encoded as unit-tests. And from this structure we specialize โ€œmachinesโ€ in the sense of Goguen (or more generally, Arbib & Manes), which actualise in Cpp as Moore machines. These Moore machines are then used as a basic model for the I/S/O structure of a control program. Categorical Moore machines can be cast in terms of algebra and coalgebra which give natural mechanism to the input-driven evolution of internal state of the control programs, and infinite records of behaviour. The internal language of that model is consonant with sufficiently structured domain specific event-stream processing languages. The core examples and a case study use Rx, but FRP is a stated ideal and avenue for future work for modeling of interconnected and hybrid systems with computer controlled components. The architecture is applied in two examples: (1) a simulated spring-mass- damper system with PID-force control, where comparison is made to analytical results, and (2) NMPC path tracking of a mobile robot with obstacle avoidance through soft constraint.
Description
Keywords
Category theory, Control systems software, Functional programming, Software engineering, Coalgebra
Citation