In one aspect of the invention, there is provided a system, method and computer program product for controlling interactions between software components, including means for associating at least one constraint with the interaction; means for associating at least one attribute with each software component; means for binding the attribute and interaction parameters to the constraint; and means for r