We present an approach that eases the design and evolution of integrated environments by increasing independence among components. Our approach combines mediators, which localize relationships, and a general event mechanism, which increases the independence of components from relationships in which they participate. To clarify our notion of independence and its relationship to evolution, we analyze four designs for a simple environment. The first three show how common approaches compromise independence in various ways. The fourth design demonstrates how our approach overcomes these problems. Our event mechanism is specially designed to support integration and evolution. We discuss detailed aspects of mediators and events by presenting three environments we have built. Our approach has also given us significant insights into other related systems.
['Kevin J. Sullivan', 'David Notkin']
Reconciling environment integration and component independence