posted on 1998-03-01, 00:00authored byRobert Allen, David Garlan
Large software systems require decompositionalmechanisms in order tomake them tractable.
Traditionally, MILs and IDLs have played this role by providing notations based on definition/
use bindings. In this paper we argue that current MIL/IDLs based on definition/use have
some serious drawbacks. A significant problem is that they fail to distinguish between “implementation”
and “interaction” relationships between modules. We propose an alternative model
in which components interact along well-defined lines of communication – or connectors. Connectors
are defined as protocols that capture the expected patterns of communication between
modules. We show how this leads to a scheme that is much more expressive for architectural
relationships, that allows the formal definition of module interaction, and that supports its own
form of automated checks and formal reasoning.