The Component Retrieval Language: Simplifying Complex Software Assembly