10.18130/V3FZ00
Sullivan, Kevin
Kevin
Sullivan
University of Virginia
Marchukov, Mark
Mark
Marchukov
University of Virginia
Interface Negotiation and Efficient Reuse: A Relaxed Theory of the Component Object Model
University of Virginia, Department of Computer Science
1997
Report
1997
All rights reserved (no additional license for public reuse)
Reconciling requirements for (1) the efficient integration of independently developed and evolving components and (2) the evolution of systems built from such components requires novel architectural styles, standards and idioms. Traditional object-oriented approaches have proven inadequate. Two important new mechanisms supporting integration and evolution are dynamic interface negotiation and aggregation, an approach to efficient composition. Both feature prominently in the Component Object Model (COM), a de facto standard providing the architectural foundation for many important systems. Because these are important mechanisms in general, and because they are central to COM in particular, it is essential that engineers be able to reason effectively about them. In earlier work (Sullivan et al. 1997), we showed that reasoning about them is hard and that formal mathematical theories of such mechanisms can provide a foundation for effective reasoning. In this paper we present a new theory of interface negotiation and aggregation in COM. Our new theory is based on a relaxed interpretation of the COM specification. Our earlier theory reflected an interpretation of the specification in which components had to be designed to follow COM-specified rules for interface negotiation and aggregation under any possible usage. Our new, strictly weaker theory requires only that actual system executions not manifest any violations of the rules. Architectural styles using mediators that we showed to be untenable under the earlier theory are tenable under this one provided the designers follow certain rules. We derive these necessary and sufficient conditions for legal use of interface negotiation in the presence of aggregation. Our results provide a basis for documenting what engineers must not do to use aggregation and interface negotiation properly.