  This work is an introduction to the author's contributions to the SOC area,
resulting from his PhD research activity. It focuses on the problem of
automatically composing a desired service, given a set of available ones and a
target specification. As for description, services are represented as
finite-state transition systems, so to provide an abstract account of their
behavior, seen as the set of possible conversations with external clients. In
addition, the presence of a finite shared memory is considered, that services
can interact with and which provides a basic form of communication. Rather than
describing technical details, we offer an informal overview of the whole work,
and refer the reader to the original papers, referenced throughout this work,
for all details.
