11.01.2017 Views

A Technical History of the SEI

ihQTwP

ihQTwP

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

design with some variation built in and did an implementation for <strong>the</strong> Army, building a system<br />

that could operate on Army equipment.<br />

The Consequence: Application to Reuse and a Product Lines Approach<br />

Because <strong>of</strong> <strong>the</strong> resistance <strong>of</strong> contractors and <strong>the</strong> inability <strong>of</strong> program managers to justify <strong>the</strong> effort<br />

with ongoing programs, <strong>the</strong> results <strong>of</strong> this work were not transitioned to an operational Army system.<br />

However, <strong>the</strong> concepts developed were picked up in <strong>the</strong> reuse and eventually <strong>the</strong> product<br />

lines communities. The key insight was that effective reuse requires an understanding <strong>of</strong> <strong>the</strong> commonalities<br />

across all systems in a particular mission area, such as command and control, and<br />

where <strong>the</strong>y vary, this information is captured in a model representation. In FODA, <strong>the</strong> information<br />

was captured in tree fashion with a hierarchy <strong>of</strong> mandatory features, optional features, and alternative<br />

ways <strong>of</strong> describing how <strong>the</strong> features would be used.<br />

The <strong>SEI</strong> began to hold product line workshops around 1996, and <strong>the</strong> work that had begun with<br />

FODA evolved into a concentration on product lines. At this time, <strong>the</strong> <strong>SEI</strong> began working <strong>of</strong> <strong>the</strong>se<br />

issues with industry customers, including Motorola, HP, Avaya (Lucent at <strong>the</strong> time), and o<strong>the</strong>r<br />

early adopters.<br />

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

Compared to o<strong>the</strong>r approaches to domain analysis, <strong>the</strong> <strong>SEI</strong>’s FODA was a lightweight approach<br />

that could be applied in two to three weeks. The DARPA STARS program also developed a domain<br />

analysis approach, but it required more effort and was more time consuming. The <strong>SEI</strong> advocated<br />

moving quickly from FODA on to requirements, architecture, and implementation, preferring<br />

that domain analysis feed downstream activities. This methodology evolved into what is now<br />

known as commonality/variation design, and <strong>the</strong>n architecture-component variation points, in current<br />

product line practice.<br />

O<strong>the</strong>rs at <strong>the</strong> time were working on object-oriented design, building a set <strong>of</strong> classes and a class<br />

hierarchy once and <strong>the</strong>n having everyone in <strong>the</strong> s<strong>of</strong>tware development organization use <strong>the</strong>se classes<br />

for all <strong>the</strong> systems <strong>the</strong>y built. Object-oriented design, <strong>the</strong> principal mechanism at <strong>the</strong> time for<br />

achieving reuse, was undermined by variation and an inability by organizations to control <strong>the</strong> proliferation<br />

<strong>of</strong> subclasses, which effectively prevented widespread reuse. As <strong>the</strong> product line concept<br />

began to mature, <strong>the</strong> s<strong>of</strong>tware community began to recognize <strong>the</strong> need for domain analysis.<br />

Many o<strong>the</strong>r systems and methods have been built around <strong>the</strong> FODA model. David Weiss and Chi<br />

Tau Robert Lai wrote a textbook in 1999 called S<strong>of</strong>tware Product Line Engineering: A Family-<br />

Based S<strong>of</strong>tware Development Process [Weiss 1999]. The methodology described <strong>the</strong>rein, known<br />

as commonality variability analysis, examined, for example, organizational commonality in provisioning,<br />

configuration management, and billing operations. It was broader than domain analysis,<br />

but similar, and <strong>the</strong>re were cross-influences between Weiss and <strong>the</strong> <strong>SEI</strong>.<br />

In 2000, Krzyszt<strong>of</strong> Czarnecki [Czarnecki 2000] worked on automatic s<strong>of</strong>tware generation that<br />

was built on FODA models or variation models. Around <strong>the</strong> same time, in early 2002, a company<br />

in Germany called Pure Systems developed a tool to manage variation and feature modeling. Pure<br />

Systems had been working in configuration management and moved into feature modeling. Also<br />

around that time, Charles Kreuger <strong>of</strong> Big Lever developed Gears, which had built into it <strong>the</strong> feature<br />

concept. Gears also applied to configuration management and mass customization—a lot <strong>of</strong><br />

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