Service-Oriented Systems and associated service-oriented architectures are systems constructed in a loosely coupled manner, such that the overall system may not know its actual parts until run-time. The main enabler for this promise is the ability to discover and inter-operate with autonomous services both in design and possibly ownership. Service Systems should be constructed for specific tasks requiring that the discovery process should only present a single service that may be atomic or composite. Predicate logic provides a formal description of services. It provides a simple and natural, but precise way of talking about the applicability of services, their computational capability and compositional behavior. This book provides a self-contained end-to-end design, discovery and construction of services based on techniques and analysis designed by the author.