Back to results

University of Ontario Institute of Technology

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

Abstract

dc:description.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.

Degree

thesis:*
Name thesis:degree_name
Doctor of Philosophy (PhD)
Discipline thesis:degree_discipline
Electrical and Computer Engineering
Grantor
University of Ontario Institute of Technology
Year dc:date.issued
2023

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Teatro, Timothy A.V.
Advisors dc:contributor.advisor
  • Eklund, J. Mikael
  • Milman, Ruth

Subjects

dc:subject × 5

Rights

Language dc:language.iso
en

Identifiers

dc:identifier.*
Handle dc:identifier.uri
https://hdl.handle.net/10155/1754
OAI identifier oai:identifier
oai:ontariotechu.scholaris.ca:10155/1754

Chain of custody

source
Harvested from
Ontario Institute of Technology
Base URL
ontariotechu.scholaris.ca/server/oai/request
Last updated
2026-07-24
Source record
OAI-PMH GetRecord
citation

Teatro, Timothy A.V.. Categories in control systems software: toward a unified theory of programming & control. University of Ontario Institute of Technology, 2023. https://hdl.handle.net/10155/1754