• DocumentCode
    1258724
  • Title

    Analysis of a conflict between aggregation and interface negotiation in Microsoft´s Component Object Model

  • Author

    Sullivan, Kevin J. ; Marchukov, Mark ; Socha, John

  • Author_Institution
    Dept. of Comput. Sci., Virginia Univ., Charlottesville, VA, USA
  • Volume
    25
  • Issue
    4
  • fYear
    1999
  • Firstpage
    584
  • Lastpage
    599
  • Abstract
    Many software projects today are based on the integration of independently designed software components that are acquired on the market, rather than developed within the projects themselves. A component standard, or integration architecture, is a set of design rules meant to ensure that such components can be integrated in defined ways without undue effort. The rules of a component standard define, among other things, component interoperability and composition mechanisms. Understanding the properties of such mechanisms and interactions between them is important for the successful development and integration of software components, as well as for the evolution of component standards. The paper presents a rigorous analysis of two such mechanisms: component aggregation and dynamic interface negotiation, which were first introduced in Microsoft´s Component Object Model (COM). We show that interface negotiation does not function properly within COM aggregation boundaries. In particular, interface negotiation generally cannot be used to determine the identity and set of interfaces of aggregated components. This complicates integration within aggregates. We provide a mediator-based example, and show that the problem is in the sharing of interfaces inherent in COM aggregation
  • Keywords
    application program interfaces; distributed object management; open systems; project management; COM aggregation; COM aggregation boundaries; Microsoft Component Object Model; component aggregation; component interoperability; component standard; component standards; composition mechanisms; design rules; dynamic interface negotiation; independently designed software components; integration architecture; interface negotiation; mediator-based example; rigorous analysis; software projects; Aggregates; Computer architecture; Costs; Independent component analysis; Interference; Java; Mechanical factors; Software design; Software standards; Standards development;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/32.799960
  • Filename
    799960