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