CORRECT - Developing Fault-Tolerant Distributed Systems

by Alfredo Capozucca, Barbara Gallina, Nicolas Guelfi, Patrizio Pelliccione and Alexander Romanovsky

The CORRECT project - rigorous stepwise development of complex fault-tolerant distributed systems: from architectural description to Java implementation - is an international project that aims to provide methodological support for developing fault-tolerant distributed systems in a cost-effective way. The proposed architecture-based methodology covers all phases of system development, from requirement specification to implementation. It is built on a Model-Driven Architecture methodology that automatically generates Java code from a UML-based software architecture description by means of semi-formal refinements.

Software and hardware systems have become widely used in many sectors, including manufacturing, aerospace, transportation, communication, energy and healthcare. Failures due to software or hardware malfunctions or malicious intentions can have economic consequences, but can also endanger human life. There is clearly a growing need for these systems to meet the highest dependability requirements.

Software Architectures (SA) involved in Model-Driven Engineering (MDE) techniques help to develop a system blueprint that can be validated and can guide all phases of system development. There are still many challenging issues in this area, in particular the integration of a new methodology into the industrial software-development life cycle, and in relating the results obtained by SA-based analysis to requirements and coding.

CORRECT methodology.
CORRECT methodology.

This situation has motivated the investigation of a new architecture-centric method for developing families of complex fault-tolerant distributed systems. This effort is conducted by the Software Engineering Competence Center at the University of Luxembourg (SE2C) in collaboration with the University of Newcastle upon Tyne (UK), in the context of the CORRECT project. CORRECT is a three-year (2004-2006) project, entirely funded by the Luxembourg Ministry of Higher Education and Research. This architecture-based methodology covers all phases of system development, from requirements specification all the way to system implementation. As graphically summarized in the figure, it consists of four steps:


Please contact:
Nicolas Guelfi, University of Luxembourg