Abstractions and Implementations for Architectural Connections
Date of Original Version
Abstract or Description
The architecture of a software system shows how the system is constructed from components. The properties of the system depend critically on the character of the interactions among the components. Although software designers have good informal abstractions for these interactions, the abstractions are poorly supported by the available languages and tools. UniCon provides a rich selection of abstractions for the connectors that mediate interactions among components. To create systems using the connector abstractions, you need to produce and integrate not only the object code for components, but also a variety of other run-time products. To extend the set of connectors supported by UniCon, you need to identify and isolate many kinds of information in the compiler, graphical editor, and associated tools. 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.