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.

Introduction to Real-Time Embedded and Cyber-Physical<br />

Systems<br />

Most mission-critical defense systems use embedded processors with hard real-time components<br />

in which <strong>the</strong> s<strong>of</strong>tware must process inputs from sensors and execute instructions to control devices.<br />

Sensor data can arrive synchronously or asynchronously. Each data point is available only<br />

for a short period (nano to micro seconds), and <strong>the</strong> output must be produced fast enough to provide<br />

timely control. A terrain-following avionics system is an example: it must process <strong>the</strong> altimeter,<br />

airspeed, and radar inputs in sufficient time to issue altitude controls to follow <strong>the</strong> terrain. The<br />

processor may be performing o<strong>the</strong>r lower priority tasks, such as monitoring fuel.<br />

Real-time constraints affect almost all Department <strong>of</strong> Defense (DoD) systems applications, such<br />

as avionics, fire control, vehicle management, missile guidance, radar tracking, and unmanned air<br />

vehicle (UAV) control. Indeed, <strong>the</strong> requirement to manage real-time constraints is one <strong>of</strong> <strong>the</strong> factors<br />

that distinguishes DoD s<strong>of</strong>tware from many civilian applications. While civilian applications<br />

also exhibit real-time components, <strong>the</strong> DoD requirements are generally coupled with o<strong>the</strong>r factors,<br />

including sheer size <strong>of</strong> <strong>the</strong> s<strong>of</strong>tware, security, weapon system safety, and life dependence, that<br />

make <strong>the</strong> real-time component critical [NRC 2010]. As <strong>the</strong> integration <strong>of</strong> <strong>the</strong> processor with <strong>the</strong><br />

physical system <strong>of</strong> sensors and controls has become ever tighter, <strong>the</strong> term cyber-physical has been<br />

adopted to describe <strong>the</strong>se systems.<br />

The <strong>SEI</strong> Contributed to Early DoD Ada Adoption Effort for Real-Time<br />

Embedded Systems<br />

Prior to establishing <strong>the</strong> <strong>SEI</strong>, <strong>the</strong> DoD developed a new programming language called Ada. One<br />

<strong>of</strong> <strong>the</strong> factors driving development <strong>of</strong> Ada was <strong>the</strong> desire to develop real-time s<strong>of</strong>tware in a higher<br />

level language supported by tools to manage <strong>the</strong> complexity. When <strong>the</strong> <strong>SEI</strong> began operating, <strong>the</strong><br />

DoD had mandated <strong>the</strong> use <strong>of</strong> Ada for all mission-critical systems, and DoD program managers<br />

had serious concerns regarding early use <strong>of</strong> <strong>the</strong> language. Since this was clearly <strong>of</strong> strategic importance<br />

to <strong>the</strong> DoD and future s<strong>of</strong>tware-intensive systems, <strong>the</strong> <strong>SEI</strong> launched several efforts<br />

aimed at addressing <strong>the</strong> technical and managerial questions about Ada adoption.<br />

A number <strong>of</strong> commercial Ada compilers were coming to market. While each was required to pass<br />

validation by <strong>the</strong> Ada compiler test suite, <strong>the</strong> supporting tools making up <strong>the</strong> s<strong>of</strong>tware development<br />

environment were largely disparate. This was <strong>the</strong> source <strong>of</strong> considerable confusion among<br />

DoD program managers. The <strong>SEI</strong> set out to assess <strong>the</strong> maturity <strong>of</strong> various compilers and supporting<br />

tools to determine <strong>the</strong>ir suitability to support DoD programs. For a variety <strong>of</strong> reasons, DoD<br />

programs chose different embedded processors with different instruction set architectures for <strong>the</strong>ir<br />

systems. Each <strong>of</strong> those instruction set architectures required different code generators, so that<br />

while each could use <strong>the</strong> same validated compiler and each validated code generator would produce<br />

code that correctly executed <strong>the</strong> Ada instructions, different code generators would have different<br />

runtime characteristics.<br />

The <strong>SEI</strong> established <strong>the</strong> Ada/Real-Time Embedded Systems Testbed to build <strong>the</strong> necessary infrastructure<br />

to test <strong>the</strong> runtime performance <strong>of</strong> code generators. In addition to having <strong>the</strong> necessary<br />

hardware to support testing <strong>the</strong> suitability <strong>of</strong> <strong>the</strong>se processors for a given application, <strong>the</strong> <strong>SEI</strong><br />

testbed team had <strong>the</strong> expertise to conduct <strong>the</strong> testing so that DoD programs did not need to undergo<br />

<strong>the</strong> expense <strong>of</strong> duplicating that capability. DoD programs that did not choose Ada as <strong>the</strong>ir<br />

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