17-811 Self-Healing Systems: Class Discussion Summary

David Garlan
Spring Semester 2003

Summary of Class Discussion for March 17 by Vahe Poladian

David: let's understand the distinction between open loop and closed loop.

        Open loop: input values from env. are not considered when making on / off decisions,
        E.g., temperature control in a car (most cars),

        Closed loop:  monitor the environment (inputs) to make an on / off decision,

What about feedback and feedforward?

        Feedback - reactive,

        Feedforward - pro-active,

Distinction is to monitor the input vs. the output variables,

In one case, look at the control variables to control the switch (feedback), while the feedforward type looks at the input variables to make a decision.

E.g., thermostat example, feedback -> the temperature in the room, feedforward -> the temperature outside, which is not controllable,

Bradley's example -> look at the loads and see how to do adaptation,

Argument -> that is more predictive, rather than feedforward,

Joao -> Not quite. consider the modern databases, monitor the incoming queries, and modify the index structure to adapt to the nature of incoming queries,

Jung Soo -> Discussion on the boundary between open loop and closed loop systems.  If the system overall is looked at a black box, then it is an open loop system.  Thus, in order to make a distinction, we need to open the box and look into it.

David -> According to Mary, use this when designing the internals of the system,

Idea -> make the control component much simpler than the system that it controls,

        Theoretical CS community thinks that self-adaptive systems can be too hard.  Idea is that "ordinary" systems are hard enough, and we can't even understand these.

        However, think of the control component in much simpler terms, which only knows about the control model.  Contrast this with the actual system, which can be quite complicated,

        Q -> is this a black-box argument?

        David -> not necessarily.  We don't say anything about the translucency or opacity between the two systems,

        Bradley -> there is some translucency, e.g. the thermostat control knows whether the pilot light is on or not.

David -> control system literature rich.  However, the idea of fidelity has not appeared in control systems,

        Jung Soo -> missing from closed loop is some form of user goal.  The only user input is "set point",

        Joao -> that is not a closed loop problem.  You need a richer model to express your on / off criteria.  For example, you might want to specify a range of values, that you are comfortable with, given the cost of producing those values.  E.g., if fule is expensive, then I am ok with 65 degrees.  As price of fuel goes down, I would like a higher set point, etc,

David -> is closed loop consistent with homeostasis?

        Owen -> yes, but set point is not clear,

        Joao -> what definition are we using for open vs. closed loop,

        Owen -> are we basing our throttle control decision on feedback from wheel pulses or not -- this is the distinction,

        Bradley -> the distinction is whether or not we are monitoring,

Open or closed has to be considered with respect to a certain property.  For example, a system can be closed loop with respect to performance, but open loop with respect to availability,

David -> introduction to the translucency model.  Compare to black-box, information hiding model as proposed by Parnas,

        Layers are aware of some of the internals of the neighboring layers, i.e. translucent,

        This suggests that as you go further from a layer, at any particular level you have less information about things tha are far from you.  Introduce the inverted pyramids,

        User's pyramid -> at the highest level, we know a lot about the user, and little about the physical resources,

David -> we can take the traditional system layers: User / Apps / OS+Network / Devices, and consider from the translucency model view.  Each layer has some knowledge of the previous layer,

        -> additional argument: task layer needed between User and Apps.

Question -> how do Rajesh's model and the process control model compare?

        Joao -> the terms "control" and "feedback" are not to be interpreted the same way as in process control literature.  These are more inputs and outputs to the APIs,
 

Service         Service                 Control         Observed
Requests       Responses                                 Behavior
   |                      ^                         |                      ^
   |                      |                          |                       |
  V                     |                         V                      |
 -------------------------------------------------------
|                                     |                                            |
|                                     |                                            |
|                                     |                                            |
 -------------------------------------------------------
 

David -> how does the process control system and cell-programming compare and contrast?

        Vahe -> reading closely, seems like a closed loop, feedforward control system,

        Discussion on layering.  What is a layer?  If control is done using a higher layer, is this closed loop?

        Owen -> think of the communication mechanism in the body is a single bus, where entities subscribe to messages that they care about.  So hormone release in response to some event is basically messages broadcast on the bus, and received by interested entities,

        David -> but then the same argument applies to computing.  Everything is 0 and 1 bits, and all the layering is conceptual,

        Brain controls muscle movement.  But also, brain gets notified about activity already happened.  Lower level adaptation?

David -> what role do redundancy and decentralization play in this?