Page 265 - Artificial Intelligence for the Internet of Everything
P. 265

Compositional Models for Complex Systems  243


              approach, where a component at one level is a system in its own right
              regarded at a lower level of abstraction.
                 The organization or architecture of a system describes the interaction of
              these components along channels of energy, mass, and information. In a
              compositional system there is no escape from the issue of interdependence,
              where system behavior depends on both component specifications and the
              architecture that links them together. Although this may seem obvious, for
              example, if we hook the gas tank to the exhaust system in a car we won’t go
              anywhere, it is still worth making explicit. After all, the whole point is that
              by arranging our system meaningfully we can achieve some benefit that
              couldn’t be realized by the components in isolation!
                 Interdependence is neither good nor bad, it is merely adds to the com-
              plexity, though that complexity may obscure failure modes that were easier
              to discover in simpler systems. When those failures concern cardiology or
              search and rescue, that is bad. Better formal representations can help to clar-
              ify our thinking and identify problems before they arise. To borrow a phrase
              from programming, we prefer to catch errors at “compile time” (i.e., in
              design) rather than at “run time” (during operation).
                 Recursiveness in the engineering of complex systems is very well
              known, as most systems are transformed into nearly decomposable subsys-
              tems. Problem decomposition is used extensively in the design of engineered
              systems and in design support systems (Gorti, Gupta, Kim, Sriram, & Wong,
              1998; Sangiovanni-Vincentelli, Damm, & Passerone, 2012; Simon, 1991).
              Decomposition is used to make the problem tractable to address complexity
              and also to choose of appropriate technology and existing components to
              address the needs of the designed system (Erens, 1996). These methods were
              extensively used in the simulation of the design of engineered products for
              composition of decomposed systems and components. Decisions on choices
              of decomposition are made at different levels to those of the components at
              the level of the leaves of the structure to compose a potentially viable system
              satisfying the global requirements and constraints. However, during the pro-
              cess of composition of the choices, there may be conflicts and undefined
              behavior of the composed systems leading to revision of choices or the
              requirements associated with the component. Supporting the design of
              complex systems would require a foundational environment that supports
              formal information structures and methods for decomposition and
              composition.
                 This chapter will develop some small examples of how we might apply
              CT-based analyses developed in computer science to analyze broader classes
   260   261   262   263   264   265   266   267   268   269   270