Skip to Main Content
In this paper, we propose an incremental software development process that addresses reliability concerns, from early to late stages of software development. Contrary to existing techniques, in our proposal we merge two dependability means: fault prevention and fault forecasting techniques in order to build reliable distributed software systems. The design stage is focused on obtaining coherent specification of each individual component using an incremental refinement technique. After obtaining a consistent specification of each component, we deal with generating its code safely. In addition, we define consistent component assemblies by checking their compatibility at the integration level. The runtime testing stage is based on the fault forecasting technique which allows an emprirical estimation of the overall system reliability. Such process is used to get confidence that the obtained system behaves correctly according to its specification and fulfils all requirements and expectations. As an example, this paper introduces B formal method and Fractal component model to build reliable and trustworthy Fractal based applications.