1. A method comprising: modeling a building block component, the building block component having a behavior definition; creating an information gatherer for the building block component to gather relatedness information of the building block component to components of a composite application modeled with the building block component, the relatedness based, at least in part, on an observed runtime behavior of the building block component in the composite application, where the observed runtime behavior is compared with previously observed behavior of the building block component to determine relatedness to the components; storing the building block component in a repository of building block components with which to generate the composite application, including storing the relatedness information; modeling the composite application with the building block component from the repository; and modifying the behavior definition of the building block component in accordance with the observed behavior of the relatedness information of the building block component.