Software Engineering Institute Carnegie Mellon

Software Product Lines
Latest Updates

TECHNOLOGIES

Acquisition Organizations
and Product Lines
Architectures for SPLs
Business Case
Diagnostic Instruments
Economic Model
Factory
Framework for SPL Practice
PLP Patterns
Product Line Analysis
Production Plan
Products and Services

LEARNING

Getting Started
Adopting Software
Product Lines
Bibliography
Curriculum
Glossary
Pedagogical Product Line
Presentations
Publications
(by type and date)
Publications
(by topic)
Success Stories

COMMUNITY

Conferences and Workshops
Hall of Fame
Related Web Sites
Upcoming Events
Software Architecture
Predictable Assembly from
Certifiable Components
Product Line Systems Program

Product Line Hall of Fame

* Requires Javascript enabled

A hall of fame serves as a way to recognize distinguished members of a community in a field of endeavor. Those elected to membership in a hall of fame represent the highest achievement in their field, serving as models of what can be achieved and how.

Each Software Product Line Conference (SPLC) culminates with a session in which members of the audience nominate systems for induction into the Software Product Line Hall of Fame. Those nominations fed discussions about what constitutes excellence and success in product lines. The goal is to improve software product line practice by identifying the best examples in the field. Nominations are voted on at the next SPLC by the majority of those present. For example, the Bosch Gasoline Systems: Engine Control Software Product Line and Philips Low-end Television Product Line were nominated at SPLC 2006. The Bosch Gasoline Systems: Engine Control Software Product Line was inducted at SPLC 2007.

Those nominated at SPLC 2007 for induction at SPLC 2008 include:

The following information provides Product Line Hall of Fame Inductees from


Hall of Fame Inductees from The 11th International Software Product Line Conference (SPLC 2007)

 

Gasoline Systems Engine Control Software

The Bosch Group is a leading global supplier of technology and services in the areas of automotive and industrial technology, consumer goods and building technology. Gasoline Systems (GS) is one of Bosch's largest automotive business units delivering a complete portfolio of products for gasoline engine controls to automotive industry and aftermarket. More than 1000 developers at GS design and apply the software of gasoline engine control units.

Engine controls are deeply embedded, highly complex real time systems controlling combustion engines in innumerable cars all around the world. Our software systems must deal with a set of outstanding requirements: extreme variability, permanently growing complexity, extreme pressure on cost, distributed development with car manufacturers and standardization initiatives. Automotive market dynamics require producing hundreds of program versions per year.

This challenge of mastering increasing complexity at low cost, with high quality and with shorter time to market was the main driver for starting improvement initiatives regarding process and product excellence in 2000. Concerning process improvement GS achieved CMM Level 3 in 2002. With respect to product excellence, GS management committed the introduction of the product line approach, major milestones being the definition of the product line scope, software architecture design and refactoring of core assets.

The initial product line scope "Standard Motronic" supported most of our market segments with a scaleable solution. In 2003, the separation of the product line "Value Motronic" explicitly addressed market segments that are very cost sensitive and that can be limited to the use of basic functional features. Value Motronic now has successfully entered emerging markets in Asia and Eastern Europe.

Software architecture was defined by end of 2002, additionally supporting the start of common software development with Diesel Systems (DS). The architecture separates three major classes of software: common basic software, common vehicle application software providing a context for the third class, specific functions to control Diesel and Gasoline engines. This basic, reuse-oriented structure is enhanced by a layer model to support hardware and device driver encapsulation. Component based development is supported by XML based exchange formats and a powerful tool chain.

Refactoring of the engine specific application software took over 3 years, using an evolutionary approach based on the existing asset base. Besides the adaptation to the defined scope and conformity with architecture, the most important results were the improvement of non functional requirements: reducing resource consumption by 20…30%, minimizing calibration effort and supporting increased reuse.

Today GS has established a strong market focus driving the product line development. Management is able to assess the status and quality of the product line development based on reuse and quality metrics. This has lead to better control of the product line development and especially supports business oriented product line evolution. GS has successfully entered new emerging markets with the Value Motronic and currently also regains market share in the standard segments. Applying product line methodology can be considered as the key that enabled GS to produce suitable software products facilitating this success.

References:

 


Hall of Fame Inductees from The 10th International Software Product Line Conference (SPLC 2006)

 

RAID controller firmware product line, LSI Logic - Engenio Storage Group

The Engenio Storage Group of LSI Logic produces high performance, high availability RAID storage systems. Engenio has established a reputation of providing high-value scalable systems, consistently releasing leading edge performance and being first to market with key technology transitions. Engenio sells products in an OEM business model through strategic partnerships with other companies who deliver complete end user solutions with unique combinations of hardware, software and services for applications including transaction processing, e-mail, data warehousing and scientific research.

Engenio transitioned to a software product line approach for its embedded RAID controller firmware in order to satisfy growing customer demand for product differentiation as well as to support an expanding set of controller hardware platforms. The product line was created with about 4 developer months of effort using an extractive approach by merging multiple existing code sets into a single set of code with engineered variation points. The product line was strategically deployed to the development staff such that no product delivery schedules were impacted. New products were added to the product line using a reactive approach, restructuring and re-architecting when necessary to meet development requirements. Two years after the initial deployment, the product line was capable of producing nearly 90 different controller firmware products, supporting multiple controller hardware platforms and multiple customer customizations.

 


Hall of Fame Inductees at the Third Software Product Line Conference (SPLC 2004)

 

General Motors Powertrain (GMPT)

General Motors Powertrain (GMPT) is a division of General Motors Corporation (GM), the world's largest producer of passenger cars and trucks. GMPT provides powertrains to GM, its subsidiaries, and its partners. Today's automotive powertrains consist of an engine, transmissions and the associated control system. In the control system, there are electrical components, an electronic control module, and the software that runs this system. The software that runs this system is called the General Motors Powertrain Software Product Line.

GMPT began its transition to a product line approach for its embedded powertrain control software in the late 1990's. Since the inception of the product line, GMPT has taken four iterations of its software product line to production. During its short product line history, GMPT has used the software product line to support multiple electronic architectures - 5 engine control modules, 4 transmission control modules and 3 powertrain control module supporting both an engine and transmission controls. The software product line is also capable of supporting multiple powertrain physical architectures (diesel engines vs. gas engines, clutch-to-clutch transmissions vs. freewheel transmissions). Finally, controller products built using the GMPT software product line cleanly interface with over 100 vehicle platforms.

The GMPT software product line is now the basis for nearly all new control modules being developed within GMPT. In the next three years, GMPT expects to take the number of software sets supporting gasoline engine programs from 17 down to 3. In this manner, the use of the GMPT software product line has enabled GMPT to support the demand for new control modules and new powertrain features with minimal additional resources.

More information about the GMPT software product line is available at www.eecs.umich.edu/courses/eecs486/win03/notes/GMVisit.pdf

 

Ericsson AXE Family of Telecommunications Switches

The Ericsson AXE family of telecommunications switches was created in the 1970's as a conscious effort to create a system structure that would be resilient to a wide variety of changes:

In terms of technology growth, AXE has survived a remarkable set of changes. This goes from the first switch deployment in 1976, which actually controlled relay devices, through the introduction of digital switching, ATM, and now moving on to a softswitch architecture. In the latter case, AXE takes on the server role, controlling gateway devices based on various technologies including IP transport, carrying the AXE architecture into the Voice-over-IP world.

The software design of the AXE family was built from the ground up based on what we now describe as an object oriented approach. Objects (blocks) interact using message passing; simple and clear rules regarding design time and runtime semantics minimize the risk of design deterioration. The prime example of the resilience of the architecture is Ericsson's implementation of mobile switching on top of the AXE platform and basic switching application structure. This includes a number of analog cellular systems, as well as every major digital cellular standard: GSM/GPRS/EDGE, WCDMA, D-AMPS, PDC, cdma2000, with others to follow.

During its 30+ year history, AXE has also evolved in terms of the computing platform, going through a number of performance enhancing technology changes. In the latest step, this has included successfully transferring the architecture onto a commercial hardware platform, while retaining software and interface compatibility with the wide range of line interfaces and switching devices available within the family.

Finally, AXE has been a considerable commercial success: several thousand switches are in operation all over the world, and 40% of all cellular phone calls are placed through Ericsson equipment.

 

Salion's Product Line of Revenue Acquisition Management Systems

In 2001, Salion was a startup preparing for its initial product launch. Even before completing its first product or getting its first customer, Salion knew it would have to solve the software product line problem – how to efficiently engineer a collection of nearly identical variations of their core product. The core product in this case was an enterprise software system to help optimize front-end processes for companies whose revenue stream starts by receiving and bidding on requests for quotes (RFQs).

Most of the product line methodologies being discussed at the time were proactive, requiring experience in a stable and well defined application domain. However, Salion expected some turbulence in their domain since they were inventing a new product in a new market and would be integrating the product into a wide variety of unknown customer settings.

At about the same time, BigLever Software was promoting the agile notion of reactive software product line engineering as well as lightweight and incremental adoption strategies using commercial off-the-shelf product line engineering and variation management technology. Salion decided to adopt this approach and in hindsight, this decision was a central part of their success in bringing their product line to market.

The unmodified architecture, design, and source modules from Salion's initial baseline product served as the core assets for the product line. By utilizing the existing baseline product for core assets and off-the-shelf technology for software product line engineering and variation management, Salion made the transition to a reactive software product line approach in only 2 person-months of effort, which is two orders-of-magnitude less than previously reported efforts with proactive software product line transition efforts. They have subsequently deployed 16 commercial products in their product line, each with an average 95% software reuse and 90% reduction in engineering effort compared to the initial baseline product.

By taking a reactive software product line approach and using off-the-shelf product line engineering technology, Salion has been able to reap the benefits of software product lines while remaining agile in the face of turbulence in their application domain.

 

Philips Product Line of Software for Television Sets

Philips is one of the world's largest consumer electronics companies, and a global leader in televisions and other consumer products. While initially solely consisting of hardware, TVs now contain fully equipped embedded computers to control the hardware and to implement extra features. These computers started small, with 1 kilobyte of code around 1980, but software size has grown according to Moore's Law, resulting in many million lines of code today. While this by itself makes complexity an important issue, the other important issue is diversity, since televisions are produced in many different variants. To efficiently manage complexity and diversity, we decided to set-up a software product line.

The first step was the definition of a software component model, Koala, designed to allow the creation of different products by making new combinations of selections of reusable components. For this, all context dependencies of components are made explicit in the form of provides and requires interfaces, while diversity interfaces allow for internal variation of components. An explicit architectural description language, one of the first to be used extensively in industry, helps to manage complexity and to automatically generate product specific binding code. While Koala was modeled after Darwin and Microsoft COM, it is specifically tuned to build software product lines of resource-constrained products.

The second step was the creation of a product line architecture, profiting as much as possible from (re-engineered) existing software. This architecture is not a generic architecture shared by all products, but rather a set of rules and principles that should be obeyed by individual products, allowing each product to have its own specific and optimized architecture. The architecture was split in three main layers to anticipate on the use of 2nd and 3rd party software in the future.

To effectively deploy the architecture, changes had to be made to the existing development processes, which were optimized for the creation of single products. Typical changes were the introduction of component and interface data sheets to replace the traditional requirement specifications, and the definition of 'infinitely' progressing asset development projects, as opposed to finite product development projects.

The fourth step was the adaptation of the development organization to accommodate product line development. While we do separate asset from product development, all asset teams are aware of all products and vice versa, to ensure that the right level of generality is achieved. Another important issue was the alignment of the organization with the architecture, making sure that each subsystem is being developed on a single site.

The component model was created in 1996. The architecture was defined in 1998. The first product came on the market in 2000. Since 2002, all Philips' mid-range and high-end televisions have software derived from this product line. Today, there are 20 different software releases per year, where each release serving 1-5 different product types. The product line supports three different hardware platforms. When we started, diversity was one of the top three issues on the agenda of architects. Now, diversity has disappeared as issue entirely.

Our product line approach is extensively documented in http://irs.ub.rug.nl/ppn/275169561.


Hall of Fame Inductees at the Second Software Product Line Conference (SPLC2)

 

Diesel engine software product line, Cummins, Inc.

Cummins, Inc., is the world’s largest manufacturer of large diesel engines. Modern engines can contain over 100KSLOC of software to micro-control ignition to produce an optimum mix of power, economy, and emissions. In 1993, faced with the need to produce almost 20 new systems but with staff and resources available only for six, Cummins changed the way they developed software and embraced the product line approach. Their product line is a story of extensive use of legacy software, strong processes, and a culture of intra-organizational cooperation.

Today the Cummins software product line covers 9 basic engine types ranging over 4-18 cylinders and 4-164 liters of displacement, with 12 kinds of electronic control modules, 5 kinds of processors, and 10 kinds of fuel systems. To date, 20 basic software builds have been parlayed into well over 1000 separate products. Cycle time has been reduced from around 250 person months to a few person months. Quality and customer satisfaction are both up, and 15 of 15 projects are on track. Cummins estimates a productivity improvement of 3.6, and an ROI of 10:1, from the product line approach. It has also enabled them to quickly enter and become successful in a related market area -- namely, industrial diesel engines that power a variety of applications from rock crushers to ski lifts.

 

Telecommunication Switching System, Philips

The PKI tss (Telecommunications Switching System) is a product family (product line) originating from the middle of the 1980s. PKI was a small player in the telecommunications world, and had to survive by addressing a niche market. In particular, the tss family had to serve a large variety of clients and regulations. The approach emphasized a component-based architecture; components were called "Building Blocks." The architecture consisted of a component based framework where plug-ins are available to tailor the system to the actual requirements. Moreover, aspects were defined for meeting quality requirements. For many aspects automatic code generation was available. For other aspects code guidelines were available, easing the burden of implementation.

The architecture of the system ensured that it could be built and tested incrementally. The family was very successful in having a fast time-to-market, and high reuse.

In 1994 PKI was sold to Lucent, which did not continue the tss family. The knowledge about the tss system stayed within Philips, however, and the majority of the present day product family developments within Philips are still influenced by the tss experiences.

 

5ESS telecommunications switch, Bell Labs / AT&T / Lucent

The 5ESStm product-line is a family of telephone switches that has an unparalleled reputation for reliability, quality, and performance. The switch was originally developed by AT&T Bell Labs and was first put into commercial use in 1982. It is currently made by Lucent Technologies. The majority of local telephone switches in the U.S. today are still 5ESS switches. If you live in the U.S. most likely when you pick up the handset on your telephone you are connected to a 5ESS switch.

Any particular switch in the product line is operated by approximately 10MLOC. The software architecture reflected in that code has remained relatively stable at the subsystem level over a period of 20 years, and was designed to accommodate a set of variabilities that can still be discerned by examining the architecture. In the early 1990s some of the first applications of domain engineering to a large, complex system were successfully accomplished in the 5ESS software and documented in the software engineering literature. Domains such as switch maintenance, signalling, and traffic management showed productivity improvements of factors of 3 to 5 as a result.

 

Bold Stroke avionics software family, Boeing

The Bold Stroke Software Product Line is comprised of a wide range of artifacts required to create Operational Flight Programs for a variety of Boeing military fighters, including a highly configurable architecture, application components, middleware framework, and development processes and tools. Operational Flight Programs are mission critical distributed real-time embedded applications supporting the avionics and cockpit functions for the pilot. A well-defined software architecture and carefully designed approaches to handle commonality and variability were crucial to the success of this product line. The architecture is heavily based on and expressed via object-oriented patterns. These patterns were leveraged to convey both the architecture and its rationale to a large community of software engineers previously experienced primarily with military standard assembly language systems. The product line exploits commercial standards, technologies, and products as much as possible, using an open source real-time Object Request Broker - The ACE ORB-developed in partnership with Washington University in St. Louis and a commercial real-time operating system. The Bold Stroke Software Product Line is the foundation for an increasing number of production and research programs including several funded by the Air Force Research Laboratory and the Defense Advanced Research Projects Agency.

 

The MERGER Software Product Line (MARKET MAKER Software AG)

MARKET MAKER Software AG, Kaiserslautern, Germany, provides Europe’s most popular stock market software. Since 1989, its products have allowed the stock market to be tracked and analyzed. In 1999, MARKET MAKER decided to launch an internet-based version of its product, using the functionality of their desktop products as the engine to power other companies’ financial web sites. This kind of system has to integrate with the customers’ databases and other content-producing software, run on who-knows-what kind of computing platforms and servers, satisfy human-user performance requirements, and be tailored to show exactly the kind of data, in exactly the kind of charts, in exactly the kind of form required by each particular customer’s web site. That is, the product must be flexible, widely tailorable, deliverable in a very short amount of time, and producible by a very small development staff.

For these reasons, MARKET MAKER decided to plan the internet versions right from the beginning as a software product line, which they called MERGER. The result is a 520 KSLOC system that meets all of those requirements and more. Six people (two of whom were part-time) worked for about a year to produce the core system, from which instantiated products are turned out. Each product in the family must be built to the client's specifications and installed and tested on the client's own platform. Because of their systematic product line approach, MARKET MAKER is able to set up such systems in a few days. In the early days of the product line, this short time-to-market was the major advantage of MARKET MAKER over its competitors. In the current bad economic times, MARKET MAKER can survive because of their small, efficient team required for maintaining the running systems.

 


Hall of Fame Inductees at the First Software Product Line Conference (SPLC1)

 

A-7E Operational Flight Program, U.S. Naval Research Laboratory

The A-7E operational flight program (OFP) is the software that assists the pilot of the Navy's A-7E aircraft to operate the airplane. The OFP was redesigned by the Software Cost Reduction project at the Naval Research Laboratory to show how to apply family-based software development principles in the development of a hard real-time system. Commonalities and variabilities were explicitly identified starting in the requirements specification for the family, and were a strong driving factor in the modular design of the OFP. The OFP design, including a modular structure, a process structure, and a uses relation, was explicitly created and documented to be an engineering model that others could follow. It has had a strong influence on the field of both software engineering and of product line engineering.

 

ShipSystem 2000, CelsiusTech Systems AB

ShipSystem 2000 is a family of naval shipboard comment and control systems produced by CelsiusTech Systems AB of Sweden since the late 1980s. Begun in 1985 as a business and technical response to two large contracts awarded simultaneously, ShipSystem 2000 is based upon a robust architecture that was designed to handle both of those initial systems as well as the more than fifty variants that followed. Family members include systems for ships from coastal corvettes to cruisers to submarines, for navies all over the world. These systems comprise 1-1.5 million SLOC of Ada code, are hard-real-time, embedded, and safety-critical. CelsiusTech has been able to slash production time, build more systems with fewer people, and increase quality. The story of ShipSystem 2000 was one of the first and most important case studies in successful software product line engineering.

 

Mobile phones, Nokia

Nokia Mobile Phones produces a wide range of mobile phones. Currently 32 different phones are manufactured covering six different protocol standards, a wide variety of functional features and capabilities, different user interface designs, and many platforms and environments. The initial software architecture for this product line addressed variations in hardware, communication standards, and user interfaces; the product line was selected "The Product of the Year" by Business Week and Connect magazines. The current architecture is component based in the client-server style. It allows separate service providers to be plugged in or taken out without restarting the system. This architecture supports both local and remote message passing and component management, task scheduling and event control. Nokia Mobile Phones is the world's largest mobile phone manufacturer, and they believe that software product line engineering has helped it to reach that position.

 

Owen Firmware Cooperative, Hewlett Packard

Owen is a community of firmware development teams from HP product divisions in two states in the USA; they produce firmware for a number of printers and printer/copier/scanner/fax devices. Participating teams contribute to the cooperative by producing assets conformant to the Owen architecture, and benefit from other teams' contributions. Owen is unique because of its strong cultural aspects. A steering team, firmware architect, firmware asset lead, and "cooperative steward" roles provide the overall direction. There are cooperative operating principles, and members (while first and foremost turning out their own products) have explicit responsibilities to the coop. Owen products have been produced using 1/4 of the staff, in 1/3 of the time, and with 1/25 the number of bugs of earlier products.

 


Criteria for Election To Software Product Line Hall of Fame

Members of the software product-line hall of fame should serve as models of what a software product-line should be, exhibiting most or all of the following characteristics.