Analysis of a conflict between aggregation and interface negotiation in microsoft's component object model

Citation
Kj. Sullivan et al., Analysis of a conflict between aggregation and interface negotiation in microsoft's component object model, IEEE SOFT E, 25(4), 1999, pp. 584-599
Citations number
26
Categorie Soggetti
Computer Science & Engineering
Journal title
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
ISSN journal
00985589 → ACNP
Volume
25
Issue
4
Year of publication
1999
Pages
584 - 599
Database
ISI
SICI code
0098-5589(199907/08)25:4<584:AOACBA>2.0.ZU;2-F
Abstract
Many software projects today are based on the integration of independently designed software components that are acquired on the market, rather than d eveloped within the projects themselves. A component standard, or integrati on architecture, is a set of design rules meant to ensure that such compone nts can be integrated in defined ways without undue effort. The rules of a component standard define, among other things, component interoperability a nd composition mechanisms. Understanding the properties of such mechanisms and interactions between them is important for the successful development a nd integration of software components, as well as for the evolution of comp onent standards. This paper presents a rigorous analysis of two such mechan isms: component aggregation and dynamic interface negotiation, which were f irst introduced in Microsoft's Component Object Model (COM). We show that i nterface negotiation does not function properly within COM aggregation boun daries. In particular, interface negotiation generally cannot be used to de termine the identity and set of interfaces of aggregated components. This c omplicates integration within aggregates. We provide a mediator-based examp le, and show that the problem is in the sharing of interfaces inherent in C OM aggregation.