Patent ID: 7149734

Claim:
A computer-implemented system comprising: a plurality of repositories to store software artifacts; an asset source executing on the computer-implemented system to monitor the one or more of the repositories for addition of one or more new software artifacts, wherein upon detecting the new software artifacts the asset source automatically generates a reusable software asset to include references to the new artifacts within the one or more repositories; a capture module executing on the computer-implemented system to retrieve the reusable software asset from the asset source in response to receiving an indication from the asset source that the reusable software asset has been generated from the detected artifacts, wherein upon retrieving the reusable software asset from the asset source, the capture module to maps data types and resource functions of the reusable software assets extracted from one or more enterprise repositories to elements of one or more domain models; a database to store the reusable software asset and data representative of the mapping, wherein database stores the data and the reusable software asset in a searchable form and provides access to the reusable software asset for retrieval of the new software artifacts within the one or more repositories; and a search engine to perform a model-driven search for selecting one or more of the software assets for reuse by accessing the mapping stored by the database based on user-supplied criteria describing elements for one of the domain models.