Page 271 - Artificial Intelligence for the Internet of Everything
P. 271
Compositional Models for Complex Systems 249
Though the methods are rather sophisticated, we note that temporal con-
siderations like these can be built directly into the type theory governing
the state variables (see Schultz & Spivak, 2017).
Definition 13.1 The input data to a recursive problem in engineering
design consists of a set of typed state variables describing the boundaries of
the desired system (the interface) and a set of logical statements (require-
ments) written in these variables (the contract).
The engineer or team assigned to such a problem has one of three
options: to implement directly, to reject, or to decompose.
To implement directly, the engineer must provide a specific design that
implements the given interface together with testing indicating that the
design fulfills the assigned contract. A formal representation for either tests
or designs is beyond the scope of this chapter, and will necessarily be quite
complex. However, in the section on operads we will identify some affor-
dances that are needed to support the composition of design representations.
Alternatively the engineer might reject the contract as infeasible. We can
imagine different levels for rejection. Local infeasibility is an admission by the
engineer that he or she cannot provide a design meeting the contract spec-
ification; in that case the component design may be reassigned to someone
with more or different expertise. This stands in contrast to global infeasibil-
ity, where the engineer produces models or reasoning indicating that the
contract cannot be satisfied, in which case the contract must be redesigned.
Regardless, in the recursive structure of engineering it is up to the customer
or a higher-level engineer to deal with rejection.
Finally, and most relevant here, the engineer may recursively decom-
pose the problem. One first identifies a collection of subcomponents, along
with interfaces, their types, and state spaces. Next, he/she must design a
system architecture that specifies how these component interfaces line
up with one another and the exterior boundaries. Finally, he/she should
provide a contract on each component interface, as well as one or more
models that indicate that the component contracts and the architecture
together ensure that the system meets its own external contract. The engi-
neer then passes the component interfaces and contracts to the next level of
the recursion.
With either direct implementation or rejection, the recursive step is
closed, but in decomposition we must wait for the recursive processes to
return. There are a number of possibilities. First, one or more of the subde-
sign processes may reject the contract as infeasible. If the infeasibility is local,