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.

The basic features <strong>of</strong> Serpent were simple enough for use during <strong>the</strong> prototyping phase, yet sophisticated<br />

enough for use in developing <strong>the</strong> prototype into an operational system. Serpent was<br />

designed to be extensible in <strong>the</strong> user interface toolkits that can be supported. Hence, a system developed<br />

using Serpent could be migrated to new technologies without time-consuming and expensive<br />

reengineering <strong>of</strong> <strong>the</strong> application portion. Serpent consisted <strong>of</strong> a language designed for <strong>the</strong><br />

specification <strong>of</strong> user interfaces, language to define <strong>the</strong> interface between <strong>the</strong> application and Serpent,<br />

a transaction processing library, an interactive editor for <strong>the</strong> specification <strong>of</strong> dialogues and<br />

for <strong>the</strong> construction and previewing <strong>of</strong> displays, and a variety <strong>of</strong> input/output (I/O) technologies.<br />

Serpent provided many features to address <strong>the</strong> requirements, development, and maintenance<br />

phases <strong>of</strong> a project. For <strong>the</strong> requirements phase, Serpent provided a language and an editor to define<br />

<strong>the</strong> user interface. For <strong>the</strong> development phase, Serpent provided a set <strong>of</strong> tools that simplify<br />

<strong>the</strong> development <strong>of</strong> <strong>the</strong> user interface. For <strong>the</strong> maintenance phase, Serpent allowed integration <strong>of</strong><br />

new technologies as well as <strong>the</strong> ability to modify <strong>the</strong> user interface. Specifically, Serpent did <strong>the</strong><br />

following:<br />

<br />

<br />

<br />

<br />

<br />

<br />

It provided generality in supporting a wide range <strong>of</strong> both applications and I/O toolkits through<br />

its use <strong>of</strong> database-like schemas.<br />

It provided a set <strong>of</strong> tools that simplified <strong>the</strong> user interface implementation process.<br />

It encouraged <strong>the</strong> separation <strong>of</strong> s<strong>of</strong>tware systems into user interface and “core” application<br />

portions, a separation that would decrease <strong>the</strong> cost <strong>of</strong> subsequent modifications to <strong>the</strong> system.<br />

It supported rapid prototyping and incremental development <strong>of</strong> user interfaces.<br />

It facilitated <strong>the</strong> integration <strong>of</strong> new user interface toolkits into <strong>the</strong> user interface portion <strong>of</strong> a<br />

system.<br />

It supported both synchronous and asynchronous communication, allowing real-time applications<br />

to satisfy timing constraints without waiting for user input.<br />

The Consequence: Understanding <strong>the</strong> Relationship Between <strong>the</strong> User<br />

Interface and S<strong>of</strong>tware Architecture<br />

The prototypes developed during this line <strong>of</strong> worldwide research into UIMS were not used directly<br />

for <strong>the</strong> development <strong>of</strong> s<strong>of</strong>tware. Ra<strong>the</strong>r, <strong>the</strong> effort sensitized a generation <strong>of</strong> user interface<br />

researchers to <strong>the</strong> impact <strong>of</strong> s<strong>of</strong>tware engineering architectural decisions on <strong>the</strong> ease <strong>of</strong> modifying<br />

<strong>the</strong> user interface, and it contributed an important concept to <strong>the</strong> discipline <strong>of</strong> s<strong>of</strong>tware architecture<br />

that emerged in <strong>the</strong> 1990s.<br />

Current DoD systems, such as <strong>the</strong> Command Post <strong>of</strong> <strong>the</strong> Future, now follow this separation <strong>of</strong><br />

user interface. DoD Program Offices, such as Force XXI Battle Command, Brigade-and-Below<br />

(FBCB2), <strong>of</strong>ten require such separation.<br />

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

Much <strong>of</strong> <strong>the</strong> work on <strong>the</strong> development <strong>of</strong> different s<strong>of</strong>tware architecture models for user interface<br />

construction was done by <strong>the</strong> International Federation <strong>of</strong> Information Processing Working Group<br />

on User Interface Engineering (IFIP WG2.7/13.4) as well as by ad hoc groups <strong>of</strong> user interface<br />

s<strong>of</strong>tware developers. Because <strong>of</strong> Serpent, <strong>the</strong> <strong>SEI</strong> was able to make significant contributions both<br />

in <strong>the</strong> work <strong>of</strong> IFIP WG2.7 as its members developed Presentation-Abstraction-Control (PAC)<br />

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