11.01.2017 Views

A Technical History of the SEI

ihQTwP

ihQTwP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

also known as using simplicity to control complexity. A key factor in applying this principle is to<br />

have a simple computation <strong>of</strong> <strong>the</strong> bounds to be expected from <strong>the</strong> more complex component. In<br />

<strong>the</strong> case <strong>of</strong> <strong>the</strong> PCA example, <strong>the</strong> simple bounds might be based on known allowable quantities <strong>of</strong><br />

morphine over a specific period, factored by <strong>the</strong> patient’s weight. As long as <strong>the</strong> more complex<br />

system (<strong>the</strong> human) does not exceed those allowable bounds, <strong>the</strong> human can employ varying<br />

amounts <strong>of</strong> morphine to combat experienced pain, with each patient using his or her own pain tolerance<br />

as a guiding factor (<strong>the</strong> complex component).<br />

The Simplex architecture also ensures predictable and guaranteed timing behaviors in spite <strong>of</strong> failures<br />

<strong>of</strong> complex components and allows restarting or replacing complex components during operation.<br />

Simplex architecture also enables switching <strong>the</strong> control to alternative components safely.<br />

This can be done automatically so that if one complex controller fails, a second, alternative controller<br />

using different algorithms can be invoked. An important side effect <strong>of</strong> this feature is that<br />

developers can incrementally compile a new complex controller and switch control to that controller<br />

while <strong>the</strong> system is running.<br />

The Consequence: Increased Reliability <strong>of</strong> Safety-Critical Systems<br />

The architecture principles have been applied successfully to many defense programs as well as<br />

commercial systems. Notable applications <strong>of</strong> Simplex architecture principles include <strong>the</strong> F-22 and<br />

F-35. In acknowledging support from <strong>the</strong> <strong>SEI</strong> and <strong>the</strong> University <strong>of</strong> Illinois at Urbana-Champaign<br />

support during <strong>the</strong> implementation <strong>of</strong> those systems, DoD leadership clearly shows that <strong>the</strong> technology<br />

has been highly regarded.<br />

The <strong>SEI</strong> Contribution<br />

The Simplex architecture is a s<strong>of</strong>tware-fault-tolerant architecture. Prior to its development, <strong>the</strong><br />

dominant s<strong>of</strong>tware-fault-tolerant approach was N-version programming [Lyu 1995]. It was shown<br />

that <strong>the</strong> Simplex architecture significantly outperforms N-version programming under a wide<br />

range <strong>of</strong> conditions [Sha 2001].<br />

The Simplex architecture grew out <strong>of</strong> research at <strong>the</strong> <strong>SEI</strong>, and three prototype systems were developed<br />

to demonstrate application <strong>of</strong> <strong>the</strong> concept. They include an inverted pendulum for experimental<br />

purposes, a diving control system funded by <strong>the</strong> Navy, and an F-16 advanced maneuvering<br />

control study using Lockheed Martin’s simulator and funded by <strong>the</strong> Air Force. Important applications<br />

and extensions include <strong>the</strong> support <strong>of</strong> safety engineering in networked medical device interoperability<br />

(sponsored by <strong>the</strong> National Institutes <strong>of</strong> Health and led by Massachusetts General<br />

Hospital) and its applications to enhance <strong>the</strong> security <strong>of</strong> electric power networks (led by <strong>the</strong> <strong>SEI</strong>).<br />

Recent extensions and development <strong>of</strong> technological advances include <strong>the</strong> System Simplex architecture,<br />

in which <strong>the</strong> safe controller is implemented in field programmable gate arrays (FPGA)<br />

[Bak 2009]. System Simplex is robust against operating system failures and security attacks on<br />

<strong>the</strong> application processor. A more economical variant <strong>of</strong> System Simplex architecture is to implement<br />

<strong>the</strong> safety controller on a secured core in a multicore chip. Currently, <strong>the</strong> <strong>SEI</strong> and <strong>the</strong> University<br />

<strong>of</strong> Illinois Urbana-Champaign are collaborating on <strong>the</strong> extension <strong>of</strong> <strong>the</strong> System Simplex<br />

architecture to secure a power generation and distribution network. Ano<strong>the</strong>r extension is <strong>the</strong> support<br />

<strong>of</strong> networked control systems, in which <strong>the</strong> stability enveloped accounts for <strong>the</strong> implications<br />

<strong>of</strong> distributed control challenges [Yao 2013]. An ongoing research project in extending Simplex is<br />

CMU/<strong>SEI</strong>-2016-SR-027 | SOFTWARE ENGINEERING INSTITUTE | CARNEGIE MELLON UNIVERSITY 41<br />

Distribution Statement A: Approved for Public Release; Distribution is Unlimited

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!