New Fault Tolerance and Performance Evaluator (NFTAPE)

Control Host

Residing on Control Host node, are a set of tools for authoring and executing injection campaigns, and for collecting and analyzing error-detection and performance data. The principle tool is the ControlHost application. The ControlHost has two versions: a GUI front-end, and a command-line utility. The GUI defines an IDE (integrated developers environment) for writing, editing, and executing campaign scripts, and for observing, collecting, and analyzing results data. The command-line utility allows for batch-mode processing: the user uses her/his favorite editor for editing the campaign script and launches the command-line utility in a shell.

A fault injection "campaign" specifies the behavior for a single injection experiment. A campaign defines a single experiment as a state machine. Each state in the machine declares a Jython function to be executed upon transition to that state. Changes in the the targeted system can trigger state transitions. Each state transition constitutes a phase in the experiment. Campaigns can have state machines of arbitrary complexity and number of iterations (loops).

A campaign is defined as a script written the Jython programming language, a subset of the Python language. Jython campaign scripts are interpreted and executed by the ControlHost during runtime. The ControlHost maintains updates the state transitions, and executes the state functions, defined within a particular campaign. The campaign scripting language offers numerous benefits:

  • Ease-of-use: campaign scripting language is based on a standard language;
  • Language features such as control structures (loops, etc.), functions, classes;
  • Library features such as file I/O, IPC, networking, threads, processes, etc;
  • Ability to import commonly used modules, also written in Jython;
  • Scalability: the language and library features built into Jython become available to the campaign-script writer

2006 Armored Computing Inc.: 60 Hazelwood Drive, Champaign, IL 61820 | (630) 347-7235
The Armored Computing Logo is the trademark of Armored Computing Inc.