Skip to content

RAFIA

RAFIA is a process model for critical software projects. It is a specific application of the Eclipse Trustable Software Framework (TSF), focussing on two of the Trustable tenets: TT-EXPECTATIONS and TT-RESULTS.

The name RAFIA is an acronym for Risk Analysis, Fault Induction and Automation, which are the key activities that differentiate it from other software engineering process models.

The following diagram shows how these activities fit into an iterative software development and maintenance workflow, and how they all relate to the TSF concept of Misbehaviours.

Refer to the sections linked above for more information.

RAFIA process overview

The rounded boxes represent the high-level stages in a development workflow, while the coloured rectangles represent specific activities within these stages that are involved in RAFIA, with colours indicating different types of activity.

Solid curved lines show the main flow of information and artifacts. Dotted lines show how the outputs of one activity may provide inputs for another. Dashed lines with open arrowheads indicate feedback from one stage to another, such as bug reports identifying a problem or a gap in an existing artifact.

As a result, RAFIA processes can be used with TSF to demonstrate how desired complex system behaviours and misbehaviours are addressed, supporting Validation and complying with safety-related, cybersecurity-related, and other key requirements like high availability. This approach relies on the stochastic nature of modern software systems, which run on multiple multi-processor hardware platforms, to collect the rich data required.