%T Types, Orthogonality and Genericity: Some Tools for Communicating Process Architectures
%A Samson Abramsky
%E Peter H. Welch, S. Stepney, F.A.C Polack, Frederick R. M. Barnes, Alistair A. McEwan, G. S. Stiles, Jan F. Broenink, Adam T. Sampson
%B Communicating Process Architectures 2008
%X We shall develop a simple and natural formalization of the
idea
of client\-server architectures, and, based on
this, define
a notion of orthogonality between
clients and servers,
which embodies strong correctness
properties, and exposes the rich
logical structure inherent
in such systems. Then we generalize
from pure clients and
servers to components, which provide
some services to
the environment, and require others from it.
We identify the
key notion of composition of such components,
in
which some of the services required by one component are
supplied
by another. This allows complex systems to be built
from ultimately
simple components. We show that this has the
logical form of the
Cut rule, a fundamental principle
of logic, and that it
can be enriched with a suitable notion
of behavioural types
based on orthogonality, in such
a way that correctness properties
are preserved by
composition. We also develop the basic ideas of
how logical
constructions can be used to develop
structured
interfaces for systems, with operations
corresponding to
logical rules. Finally, we show how the
setting can be enhanced,
and made more robust and
expressive, by using names (as in
the π\-calculus)
to allow clients to bind dynamically to generic
instances of
services.