Xception

  • Increase font size
  • Default font size
  • Decrease font size

Xception - SWIFI

OVERVIEW

Xception is an innovative software-implemented fault injection technology that enables advanced and effective validation, evaluation and testing of mission and business critical systems. Xception relies on advanced debugging and performance monitoring features, available in common processors, to inject faults and monitor the activation of errors and their impact on the target system.

Xception architecture resembles the Client/Server model. It comprises a front-end application (Xception EME), which runs in a host computer and is responsible for experiment management and control, and a lightweight injection core, which runs in the system being evaluated (Target System) and is responsible for the insertion of faults.

Xception Architecture

Connection between the host and the target is done by means of a high level protocol, which stacks on top of TCP-IP (or any other link with reliable message delivery). Experiment and fault configuration data flows from the host to the target while fault injection raw data results flow in the opposite direction.

HOST: XCEPTION EME

The Xception Experiment Manager Environment (EME) runs in the host computer and is responsible for fault definition, experiment execution and control, outcome collection and statistical result analysis. Xception uses a SQL relational database, enabling extensive outcome analysis. The Xception database holds all the information relevant to the fault injection process, including fault definition, experiment execution and result analysis. Using an open-standard such as SQL allows the user to make the most of the immense volumes of data that may be collected by Xception. The user may, for instance, execute SQL queries, crossing fault parameters, detected errors and even target processor contexts before and after each injection, in order to track the most challenging fault/error impacts.

Xception EME

Xception EME is 100% Java and may therefore run in the most suitable platform or operating system: Solaris, Windows, and Linux are just some of the options. It uses the JDBC standard to communicate with most of SQL relational databases products.

Xception EME product licensing is independent from the target system being used. Its design is based on a plug-in architecture, enabling hassle-free support for new targets, simplifying maintenance and being totally transparent to the end user. EME is commercialized based on the number of licenses required.

TARGET SYSTEM: XCEPTION IRC

On the target side, the Xception Injection Run Controller (IRC) is an ingenious piece of software that comprises the algorithms that enable Xception to emulate hardware faults, all through software-only manipulations. The lightweight IRC core is installed in the target system at the low exception handling level, performing fault injection in the most non-intrusive possible way.

OS PROCESSOR
Parix PowerPC 601
LynxOS PowerPC 750
SMX Pentium
Windows ® 2000 Pentium
Linux * Pentium/PowerPC7450

Xception flexibility and low implementation overhead enables its use in a wide range of processors. It has been implemented across different COTS platforms.
* To be released soon.

Besides the injection core itself, there is a Communication Handler, which wraps all communications with the host, collecting fault parameters at start-up and routing the fault-injection results back to the host, at the end.

Xception deployment for a specific target requires developing/porting the following modules:

  • The target plug-in for EME
  • The target specific Xception IRC
  • The target communication handler

LYNX/PPC750

Lynx PPC750 is the Xception deployment for Motorola PowerPC 750 processor and the LynxOS real time operating system. It supports a wide set of fault models, resulting from the combination of multiple fault location, fault triggers and fault types.

FAULT LOCATION FAULT TRIGGERS FAULT TYPES
Data Bus Temporal Stuck-at-0
Address Bus Spacial Stuck-at-1
Floating Point Unit Code Fetch Bit Flip
Integer Unit Data Load
Memory Management Unit Data Load and Store
General Purpose Registers Data Store
Memory


The Lynx PPC750 IRC module is made of two components - the fault-injection core and the host connection stub. The injection core is a small (30 Kbytes) memory footprint module, provided as a kernel plug-in for the modular version of LynxOS. It consists on the modified kernel exception handlers and the fault injection routines. The Xception Lynx PPC750 host stub is a daemon service thread running at user level.

WIN IA32 P6

The Xception WinIA32 P6 plug-in is currently at an advanced development stage. A pre-release version has been officially presented at the DSN 2001 event in Götenborg, Sweden (July, 2001). This version is targeted to the Pentium Pro and above processors (Intel P6 family) and the Microsoft Windows™ 2000 operating system; fault models currently supported include the General Purpose Registers. Implementation of other fault models is underway. The WinIA32 P6 plug-in is fully compliant with the Xception™ product family look and feel.

LINUX IA32 P6

The Linux IA32 P6 plug-in will be available soon. It shares many common features with the Xception Win IA32 P6 and is also available in a demo format.

LINUX PPC7450

Linux PPC7450 brings the first deployment of the Xception technology for the PowerPC G4 architecture. It shares a significant part of its functionality with the existing Lynx PPC750 product. To be released on the 3rd quarter 2001.

OTHER TARGET PLUG-INS

Xception has already been implemented in other environments besides the ones described above. In some cases, the implementation was related to academic research: it has been the case for the Pentium architecture running the SMX real time operating system. In other cases, studies have been conducted to infer the viability of implementation, like the SPARC architecture.

Customized plug-ins may be developed to some target-specific systems. Previous experience demonstrated the accuracy and potential of the Xception technology in the evaluation of most systems based on modern processors. Furthermore, Xception architecture has been developed to guarantee the maximum flexibility and portability over different target systems.
For further information on customized plug-ins, please contact us.