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

dc.contributor.advisorEklund, J. Mikael
dc.contributor.advisorMilman, Ruth
dc.contributor.authorTeatro, Timothy A.V.
dc.date.accessioned2024-02-27T20:07:09Z
dc.date.available2024-02-27T20:07:09Z
dc.date.issued2023-12-01
dc.degree.disciplineElectrical and Computer Engineeringen
dc.degree.levelDoctor of Philosophy (PhD)en
dc.description.abstractCategory 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.en
dc.description.sponsorshipUniversity of Ontario Institute of Technologyen
dc.identifier.urihttps://hdl.handle.net/10155/1754
dc.language.isoenen
dc.subjectCategory theoryen
dc.subjectControl systems softwareen
dc.subjectFunctional programmingen
dc.subjectSoftware engineeringen
dc.subjectCoalgebraen
dc.titleCategories in control systems software: toward a unified theory of programming & controlen
dc.typeDissertationen
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Teatro_Timothy_A._V.pdf
Size:
2.68 MB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.68 KB
Format:
Item-specific license agreed upon to submission
Description: