Page 270 - Artificial Intelligence for the Internet of Everything
P. 270
248 Artificial Intelligence for the Internet of Everything
a system when we open it up. Our reconstruction will also take seriously the
sorts of graphical models that engineers like to draw.
A boundary is a context of interaction. Every boundary is characterized by
one or more typed state variables that describe (the relevant aspects of ) inter-
actions at the boundary. The type system describing the state variables can be
as complicated as we would like to make it. Here we will distinguish between
physical and logical (digital) boundaries, indicated graphically by solid and
dashedlines,respectively.Physicalboundariesaretypedbyphysicalquantities
such as the temperature and humidity of the air; logical boundaries are asso-
ciated with datatypes such as integers, enumerations, lists, and matrices.
Every component or system is associated with an interface, which is just a
collection of boundaries. For example, we can think of the thermometer as a
component with two boundaries, one to measure the air temperature and a
second to convey that information to the controller. The first is a physical
quantity (T air : Temp) while the second is a data element (T meas : Float).
In natural language we rarely mention boundaries and interfaces
explicitly—we simply intuit that the controller takes information from
the thermometer and uses it to direct the AC and heating units—but they
are more likely to appear explicitly in graphical models like the one in
Fig. 13.1B.
An interface defines a state space of all possible behaviors correlated
across several boundaries; a contract for a component or system describes
2
the subspace of desired or acceptable behaviors. The thermometer’s con-
1 °
tract might stipulate that it is accurate to C:
2
1
jT meas T air j < ° C
2
More generally, we should recognize that most or all of these parameters
may vary over time, so that constraints may be written in various temporal
logics. The steady-state behavior requirement for the system (assuming no
change in settings) could be rendered as:
°
8t 0 9t 1 8t 2 t 2 > t 1 )jT @t 2 T set j 1 C
air
2
The use of contracts as defining interactions between components and actors has been
explored in the context of agent task interactions through protocols (Smith, 1980) and
more recently in the characterization of cyber-physical system design as contracts of
behavior (Sangiovanni-Vincentelli et al., 2012). In our example we use a simplified version
of contract for illustrative purposes.