Reliability and scheduling analysis is used to determine if all tasks of a real time system meet their timing requirements. This is crucial in the development of hard real time safety-critical applications, where timing errors could have serious consequences. As part of the ANTI-CRASH project, which is focused particularly on complex embedded safety-critical systems, a systematic and automated reliability analysis methodology (RAM) has been developed. Based on a set of algorithms which provide rigorous analysis of timing (recently developed in real time scheduling theory), RAM provides feasibility analyses of hard real time applications. It helps real time systems' developers to gain an early, accurate view of application timing requirements from the first phases of design, minimizing errors in subsequent system development and integration phases.
RAM supports design-oriented reliability/scheduling. It incorporates an extensive set of analytical algorithms for computing real time related performance metrics, such as worst case response times, and is independent of the specific implementation of the application. The methodology consists of specific phases which implement the algorithms, as well as priority-driven scheduling strategies and real time synchronization protocols. During the input phase, the user specifies the basic characteristics of an application in an Implementation Table, which can contain timing estimations or actual data derived from a monitoring tool. In the pre-processing phase, this table is transformed to a Techniques Table. This presents the data in a form that can be used by a specific scheduling method, with non-regular events and constraints arising from precedence considered from a worst-case perspective. Finally, the scheduling analysis phase checks the feasibility of deadlines and provides alternative solutions and suggestions, so that all deadlines can be met. RAM is presented via an intuitive graphical user interface (GUI) module.