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.

Assurance Cases<br />

The Challenge: Confidence in <strong>the</strong> Behavior <strong>of</strong> Performance-Critical<br />

Systems<br />

A concern surrounding DoD systems was <strong>the</strong> need to shorten <strong>the</strong> certification process for safety,<br />

system reliability, or security. Traditional s<strong>of</strong>tware and systems engineering techniques, including<br />

conventional test and evaluation approaches, were unable to provide <strong>the</strong> justified confidence<br />

needed. Consequently, a methodology to augment testing and evaluation was needed. The DoD<br />

needed to identify which parts are most important and which are less important, <strong>the</strong>reby enabling<br />

a more economically justified allocation <strong>of</strong> resources to <strong>the</strong> important points and issues. When a<br />

system had to be recertified because <strong>of</strong> a change to <strong>the</strong> system, <strong>the</strong> DoD needed to determine what<br />

must be changed, saving costly rework.<br />

A Solution: Assurance Cases<br />

The <strong>SEI</strong> had long experience in areas related to <strong>the</strong> DoD certification needs. <strong>SEI</strong> work in rate<br />

monotonic analysis (RMA) and in Simplex led to a more general interest in performance-critical<br />

systems, which became an area <strong>of</strong> concentration for <strong>the</strong> <strong>SEI</strong> in <strong>the</strong> mid-1990s. The <strong>SEI</strong>’s investigation<br />

<strong>of</strong> performance-critical systems broadened <strong>the</strong> focus beyond real time, which had been <strong>the</strong><br />

focus <strong>of</strong> RMA. The Simplex architecture allowed for improvements in performance without sacrificing<br />

<strong>the</strong> need to assure safety. Simplex provided a highly reliable core with higher performance<br />

code around this core area. If <strong>the</strong> higher performance code began to misbehave in some way, <strong>the</strong><br />

system would automatically revert to <strong>the</strong> core, <strong>the</strong>reby providing higher performance when possible<br />

along with <strong>the</strong> assurance <strong>of</strong> safety in all situations. <strong>SEI</strong> work in dependable systems upgrades<br />

[Gluch 1997, 1998] was intended to extend this basic Simplex idea to a formal analysis <strong>of</strong> requirements<br />

and an effort to guarantee particular quality attributes.<br />

Around <strong>the</strong> same time, <strong>the</strong> <strong>SEI</strong> became interested in fault-tolerant computing as it applied to s<strong>of</strong>tware.<br />

<strong>SEI</strong> staff members developed a conceptual framework [Heimerdinger 1992], organized and<br />

hosted a series <strong>of</strong> dependable-s<strong>of</strong>tware technology exchanges [Weinstock1993], and worked with<br />

<strong>the</strong> National Institute <strong>of</strong> Standards and Technology (NIST) to establish a Center for High Integrity<br />

System S<strong>of</strong>tware Assurance. As <strong>the</strong> <strong>SEI</strong> investigated performance-critical systems, and as systems<br />

<strong>of</strong> systems became more prevalent, <strong>the</strong> difficulty <strong>of</strong> assuring <strong>the</strong> safety, security, or reliability <strong>of</strong><br />

net-centric systems <strong>of</strong> systems became clear—because <strong>of</strong> <strong>the</strong>ir size, complexity, and continuing<br />

evolution, and because <strong>the</strong>y can exhibit undesired and unanticipated emergent behavior (actions<br />

<strong>of</strong> a system as a whole that are not simple combinations <strong>of</strong> <strong>the</strong> actions <strong>of</strong> <strong>the</strong> individual constituents<br />

<strong>of</strong> <strong>the</strong> system).<br />

In considering <strong>the</strong> DoD certification problem, <strong>SEI</strong> experts focused on assurance cases. An assurance<br />

case provides a means to structure <strong>the</strong> reasoning that engineers use implicitly to gain confidence<br />

that systems will work as expected. It also becomes a key element in <strong>the</strong> documentation <strong>of</strong><br />

<strong>the</strong> system and provides a map to more detailed information.<br />

The concept <strong>of</strong> an assurance case was derived from <strong>the</strong> safety case, a construct that had been used<br />

successfully in Europe for more than a decade to document safety for nuclear power plants, transportation<br />

systems, automotive systems, and avionics systems. Much like a legal case presented in<br />

a courtroom, an assurance case requires arguments linking evidence with claims <strong>of</strong> conformance<br />

to <strong>the</strong> requirements <strong>of</strong> interest. It includes (1) a claim embodying what we want to show (e.g., <strong>the</strong><br />

CMU/<strong>SEI</strong>-2016-SR-027 | SOFTWARE ENGINEERING INSTITUTE | CARNEGIE MELLON UNIVERSITY 226<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!