Automated Software and Service Composition