Abstractions and Implementations forArchitectural Connections

  • Authors:
  • Mary Shaw;Robert DeLine;Gregory Zelesnik

  • Affiliations:
  • -;-;-

  • Venue:
  • ICCDS '96 Proceedings of the 3rd International Conference on Configurable Distributed Systems
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

The architecture of a software system shows how the system is realized by a collection of components together with the interactions among these components. Conventional design focuses on the components, but the properties of the system depend critically on the character of the interactions. Although software designers have good informal abstractions for these interactions, these abstractions are poorly supported by the available languages and tools. As a result, the choice of interaction is often defaulted or made implicitly rather than deliberately chosen. Further, interactions are usually programmed in terms of underlying mechanisms rather than the designers' natural abstractions. UniCon supports a rich selection of abstractions for the connectors that mediate interactions among components. Connector implementation presents special challenges. The "compiler" must produce and integrate not only the object code for components, but also a variety of other run-time products. The definition of a connector requires many connector-specific kinds of information in the compiler, graphical editor, and associated tools. Extending the set of connectors supported by Unicon requires this information to be provided by the connector designer and automatically integrated in the compiler. This paper describes the role of connector abstractions in software design, the connector abstractions currently supported by UniCon, and implementation issues associated with supporting an open-ended collection of connectors.