  Technologies for composition of loosely-coupled web services in a modular and
flexible way are in high demand today. On the one hand, the services must be
flexible enough to be reused in a variety of contexts. On the other hand, they
must be specific enough so that their composition may be provably consistent.
The existing technologies (WS-CDL, WSCI and session types) require a
behavioural contract associated with each service, which is impossible to
derive automatically. Furthermore, neither technology supports flow
inheritance: a mechanism that automatically and transparently propagates data
through service pipelines. This paper presents a novel mechanism for automatic
interface configuration of such services. Instead of checking consistency of
the behavioural contracts, our approach focuses solely on that of data formats
in the presence of subtyping, polymorphism and flow inheritance. The paper
presents a toolchain that automatically derives service interfaces from the
code and performs interface configuration taking non-local constraints into
account. Although the configuration mechanism is global, the services are
compiled separately. As a result, the mechanism does not raise source security
issues despite global service availability in adaptable form.

Software Engineering;Logic in Computer Science