COSA: Compiling Optimized Service Architectures (Finished)

Software Generation are quickly becoming the dominant trends in the area of application integration, having a very marked effect on how large systems will be designed, built and evolved in the future. Delivering software components as a service using standardized programming interfaces and open communication protocols is a first step in the right direction to solve the problem of application integration, where the access to the components to be assembled is simplified. Still, at this new level of abstraction, suitable tools for developing business application by composing and reusing existing services are rare. The Compiling Optimized Service Architectures (COSA) project intends to address this problem by providing a platform for automatically deriving distributed, service-oriented applications from high level, architectural specifications. The project will involve work in different areas: service oriented computing, model-driven architecture and design, automatic code generation, business process management, and autonomic computing. The main goal of the project is to reuse and extend modeling concepts and middleware technologies originating from business process management to provide abstractions and tools that should dramatically reduce the cost of dealing with the complexity of developing modern information and communication systems.

This project revolves around the notion of model driven architecture, i.e., automatic software generation from high level service composition specifications. The idea is to provide developers with a modeling environment where the architecture of a system can be designed by drawing control and data dependencies (a workflow process) between the services composing it. Such an architectural blueprint will then be automatically compiled into executable code and no additional programming and manual deployment and configuration will be required to have a complete, running integrated application.

The project distinguishes itself from existing work in the area in that it will emphasize the need for a usable development interface that augments the composition modeling language with a set of sophisticated tools for dealing with the complexity of building such integrated systems. A very important part of the project will be the development of the compiler, which shall generate efficient code from the architecture’s model. This, however, will have to be complemented by an optimizing run-time environment dealing with integration issues related to traditional middleware systems and that is able to support different interaction patterns with services. By doing so, the project will pioneer an important approach that takes advantage of recent developments in Web services and Service Oriented Architectures and takes these ideas to their ultimate logical consequences: the support for automating most of the software development process by means of software composition.

Start / End Dates

01.10.2007 - 30.09.2009


Prof. Gustavo Alonso, ETH Zürich


Research Topics