A method is disclosed for adaptively coupling processing components in a
distributed system. In one aspect, a second component requests an
interaction with a first component by sending a service access request to
access a first service of the first component. The service access request
specifies parameters relating to a proposed level of coupling between the
first component and the second component. The second component receives a
service response from the first component; the service response specifies
counter-proposed parameters relating to a proposed level of coupling
between the first component and the second component. The second
component determines whether the service response indicates that the
first service may be provided. If so, then an agreed-upon level of
coupling is established between the first component and second component,
and the components interact to receive the service. The level of coupling
among the components may be re-negotiated at any time by exchanging
values in a coupling context. As a result, a component can selectively
and with fine granularity allow other components to access its data or
services.