A Technical History of the SEI
ihQTwP
ihQTwP
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.