Project Summary
The problem
Continuous evolution towards very large, heterogeneous,
highly dynamic computing systems requires innovative approaches
to master their complexity. Services are not only re-shaping the
Web from a document-centered to a live infrastructure, but also
challenging our understanding of how applications develop, and
even of the nature of software itself (regarded more as a service
to be contracted than as a product to acquire). The impact
of such a move, both in the world's economy and everyday life, is
just beginning to loom.
Complex software systems are built by plugging services together which interact
by exchanging data, performing computation, and modifying their environment.
Services are dynamic entities, running on different platforms often owned by
different organisations, interacting through public interfaces, and typically
remaining loosely coupled, if not utterly unaware of each other.
Designing such systems right is very difficult, because their
complexity is beyond the current practical reach of formal methods.
Additional difficulties arise with third-party services, often
under-specified or failing to meet their specifications.
Moreover, change being the norm rather than the exception, dynamic
reconfiguration and self-adaptability, ie, the capability of a
system to adjust itself at runtime in response to its perception of
context, will become a major issue in the near future.
The project
In this context, this project aims at developing new calculi,
techniques and tools to address three main hot, cross-cutting
questions in the foundations of service-oriented computing:
(1) How to specify and certify service behavioural
requirements (to guarantee compliance
with interface specifications and provide support
to fast-evolving requirements at both functional and non-functional levels)?
(2) How to certify and reason about service-oriented architectural
patterns and systems emergent behaviour?
(3) How to design, analyse and transform evolving networks of dynamically
reconfigurable components and self-adaptable architectures?
These themes are relevant to a wide range of systems, from e-commerce
to mobile embedded systems operated with minimal human oversight in
the context of which the classical distinction between between `development',
`deployment' and `maintenance' tends to blur. Although a technological reality,
runtime service reconfiguration is hard to model, analyse and predict. Although
less common, architectures able to monitor and adapt themselves to faults
(eg lost connections or service failures), to variable resources (eg bandwidth
availability) and to unpredictable context changes, will grow in relevance
in the near future.
The approach
The envisaged approach to meet such targets considers eagerly both extremes of
the research spectrum: foundational and experimental.
At a
foundational level, the project will introduce a new calculus and
semantic framework for services and dynamic, self-adaptable architectural
patterns, at the triple level of logic, (minimal logic systems), model theory
(dialgebras and behavioural satisfaction) and proof dynamics (non-confluent rewriting).
Behavioural reasoning is particularly relevant because service certification often relies
on partial information. The project explores the possibility of different families
of services being endowed with particular notions of behaviour to meet specific
problem constraints.
At the
experimental level, on the other side of the spectrum,
the project aims at characterising useful architectural patterns for services.
Rather than postulated, their identification and classification
will proceed by inspection of real case studies. For this we will extend tools,
previously developed within the team, to recover coordination specifications
from running code.
MONDRIAN aims at harnessing the combined
expertise of a mixed team of Mathematicians and Computer Scientists to make a sharp,
focused contribution to a main goal: the consolidation of service-oriented computing as
a mature branch of software engineering.
--
LuisSoaresBarbosa - 28 Oct 2009