Archive | 2019
An Algebra of Modular Systems: Static and Dynamic Perspectives
Abstract
We introduce static and dynamic algebras for specifying combinations of modules communicating among them via shared second-order variables. In the static algebra, atomic modules are classes of structures. They are composed using operations of extended Codd’s relational algebra, or, equivalently, first-order logic with least fixed point. The dynamic algebra has essentially the same syntax, but with a specification of inputs and outputs in addition. In the dynamic setting, atomic modules are formalized in any framework that allows for the specification of their input-output behaviour by means of model expansion. Algebraic expressions are interpreted by binary relations on structures. We demonstrate connections of the dynamic algebra with a modal temporal logic and deterministic while programs.