Funding: EC IST FP6 framework
Our overall objective is the creation of a methodology and supporting open tool platform for the cost effective rigorous development of dependable complex software systems and services.
We focus on tackling complexity
• caused by the environment in which the software is to operate
• which comes from poorly conceived architectural structure.
Mastering complexity requires design techniques that support clear thinking and rigorous validation and verification. Formal design methods (FM) do so. Coping with complexity also requires architectures that are tolerant of faults and unpredictable changes in environment. This is addressed by fault tolerance (FT) design techniques.
We will develop a unified methodology combining FM with FT design principles by using a systems of systems approach, where both software and environment are modelled together.
We will tackle complex architectures: our systems approach will support the construction of appropriate abstractions and provide techniques for their structured refinement and decomposition.
We will ensure cost effectiveness, the methods and platform will support reuse of existing software. We will thus extend existing FM with generic mechanisms to support component reuse and composition.
Tool support for construction, manipulation and analysis of models is crucial and we will concentrate on a comprehensive tool platform which is openly available and openly extendable and has the potential to set a European standard for industrial FM tools.
The methods and platform will be validated and assessed through industrial case studies.
The novel aspects of this proposal are the pursuit of a systems approach, the combination of FM with FT techniques, the development of FM support for component reuse and composition and the provision of an open and extensible tools platform for formal development. In particular, we believe that the open tools platform will have a significant impact on future research in FM tools and will encourage greater industrial uptake.