Page 273 - Artificial Intelligence for the Internet of Everything
P. 273
Compositional Models for Complex Systems 251
implemented at different levels of abstraction; the design process has many
implementation vertices, and these occur at different levels of the decompo-
sition tree. Finally, the V structure is also too linear in time, suppressing the
back-and-forth interaction between layers resulting from contract rejection
and redesign; a W might be better.
We have just given a generic, step-wise description of the engineering
design process based prior characterizations (Gorti et al., 1998). In the next
few sections we will show how the mathematics of CT provides a unified
framework for describing (de)composable systems, supporting the complex
representations needed to support this view of engineering.
13.4 INDUCTIVE DATATYPES AND ALGEBRAIC
STRUCTURES
We have just given a semiformal model of system design as a recursive pro-
cess. In order to make this account more precise, the next few sections will
introduce some formal language and tools from CT. Here we discuss the
theory of functorial algebras and inductive datatypes, which provides a uni-
form framework for analyzing compositional (algebraic) systems. These will
provide the language that we need in order to structure our intuitive analysis
from the previous section.
Generally speaking, algebra concerns mathematical structures with spec-
ified operations for combining or transforming their elements. In arithmetic,
the operations are “plus” (+) and “times” ( ); in Boolean algebra the oper-
ations are “and” (^) and “or” (_). An algebraic signature is a list of operations
(and constants), and a term in the signature is any string that can be built up by
applying these operations to constants, variables, and other terms. This
allows us to iteratively build up more and more complicated terms:
3 3+ x )
x 3 x ð 3 xÞ + y +7Þ
)
ð
)
y y +7 ð 3 xÞ y +7Þ
ð
7 ) y 7
Any signature defines two important mathematical structures. First, there
is the class of algebraic structures that implement the signature. In the case
of arithmetic, this would be set X together with two binary functions +, :
X X ! X (and probably elements 0, 1 2 X). These include the usual num-
ber systems (, , etc.) as well as more complex structures like polynomials
and matrices.