14. A system for accessing software, comprising: a library of existing software profiles and associated existing software components, each existing software profile including a set of attributes associated with an existing software component, and each existing software profile created from a semantic analysis of the corresponding existing software component, the semantic analysis based at least in part on a software classification system, and wherein the set of attributes included in each of the existing software profiles is according to at least a first software taxonomy; at least one processor; a search engine executable on the at least one processor to: create a profile for desired software, the desired software profile defining a conceptualized software component and comprising a set of search criteria associated with the library of existing software profiles, wherein the search criteria include attributes according to a second software taxonomy different from the at least first software taxonomy; search the existing software profiles of said library to identify one or more existing software profiles similar to the desired software profile; and identify one or more existing software profiles as a result of said search, each of the one or more identified existing software profiles associated with a corresponding existing software component; and an interface to accept the desired software profile and to output one or more existing software components associated with the one or more identified existing software profiles.
14. A system for accessing software, comprising: a library of existing software profiles and associated existing software components, each existing software profile including a set of attributes associated with an existing software component, and each existing software profile created from a semantic analysis of the corresponding existing software component, the semantic analysis based at least in part on a software classification system, and wherein the set of attributes included in each of the existing software profiles is according to at least a first software taxonomy; at least one processor; a search engine executable on the at least one processor to: create a profile for desired software, the desired software profile defining a conceptualized software component and comprising a set of search criteria associated with the library of existing software profiles, wherein the search criteria include attributes according to a second software taxonomy different from the at least first software taxonomy; search the existing software profiles of said library to identify one or more existing software profiles similar to the desired software profile; and identify one or more existing software profiles as a result of said search, each of the one or more identified existing software profiles associated with a corresponding existing software component; and an interface to accept the desired software profile and to output one or more existing software components associated with the one or more identified existing software profiles. 17. The system of claim 14 , where the search engine is configured to assign a positive matching weight when a given attribute's values in the existing and desired software profiles match and a negative matching weight when the given attribute's values in the existing and desired software profiles do not match.