A Compositional Semantic Theory For Service Composition