Big Lever Software, Inc.

THE BIGLEVER NEWSLETTER: Special Series

The Software Product Line Lifecycle Framework: Overview of the Framework

Greetings from BigLever:

Welcome to the continuation of my special newsletter series on the Software Product Line (SPL) Lifecycle Framework. (To see the previous issue, visit BigLever's newsletter page.) The motivation for this technology framework is to ease the integration of tools, assets and processes across the full system and software development lifecycle. The goal is to provide product line engineers with a standard set of SPL concepts and constructs for all of their tools and assets, at every stage of the lifecycle.

Furthermore, the goal is to apply these concepts and constructs uniformly, so that traceability and development processes flow cleanly from one stage in the system and software lifecycle to another – for analysts, requirements engineers, architects, developers, build engineers, test engineers, project managers, and so forth.

Key Concepts of the SPL Lifecycle Framework

The SPL Lifecycle Framework is an integration framework for software development tools and assets. It is narrowly focused on the SPL issues of variation management in product space, across the lifecycle.

The SPL framework provides product line engineering organizations the following:

  • A single feature model to uniformly express product diversity for all assets in all stages of the system and software development lifecycle, including requirements, architecture, models, design, source code, test cases and documentation.
  • A single variation point mechanism that can be uniformly applied to all tools and their associated assets in all stages of the system and software development lifecycle, including tools for requirements management, model-driven development, source code development, test case development, configuration management, build automation, change management and document development.
  • A single, automated product configurator that uniformly assembles and configures assets from each stage of the development lifecycle to automatically produce all the products in a product line.

An example SPL engineering environment using the SPL Lifecycle Framework is illustrated below (click image to enlarge).

The core of the framework is shown as the blue shaded box in the center of the diagram. It contains:

  • feature model and feature profiles (instantiations of the feature model with feature options selected)
  • product configurator that automatically configures all the assets for a product instance based on the feature selections in a feature profile
  • production line development environment for developing feature models and feature profiles, running the product configurator to instantiate products, developing and managing variation points in the SPL reusable assets, check semantic consistency and correctness, perform variation impact analysis, provide product line statistics and reports, and other SPL-specific engineering tasks.

The In's and Out's: Tools, Assets and Products

Shown to the left of the framework is an example set of development tools that have been “plugged in” to the framework. Each organization using the SPL framework will have its own preferred set of development tools, so the framework has a tool integration interface and many off-the-shelf integration “bridges” available.

On the far left of the diagram is the example collection of SPL core assets for the full SPL engineering lifecycle – requirements, design models, source code, user documentation and test cases. The SPL variations within the reusable core assets are all implemented using common variation point concepts and constructs provided by the SPL framework. The variation points, illustrated as gear icons within the assets, are automatically configured by the framework’s product configurator, based on the feature selections in a feature profile.

On the far right of the diagram is the full set of product instances that can be produced by the product configurator in the framework. There is a one-to-one correspondence to the feature profiles and the product instances – each feature profile is used by the product configurator to automatically configure the corresponding product instance. Note that all the assets from the full development lifecycle are automatically produced for each of the products in the product line.

Conclusion

The SPL framework provides the critical lifecycle dimension needed for a complete SPL solution: (1) the standard set of SPL concepts and constructs for tools and assets at every stage of the lifecycle, so that (2) traceability and processes flow cleanly from one lifecycle stage to another.

Stay tuned for the next installment in this newsletter series to learn more about the standard concepts and constructs behind the SPL Lifecycle Framework, plus how the framework is providing an SPL solution for software tool vendor IBM Rational and their clients.

Best Regards,

Charles W. Krueger
BigLever Software CEO
SoftwareProductLines.com Moderator
ckrueger@biglever.com

 

Don't miss your Newsletter!

Please help us make sure that you continue to receive the BigLever Newsletter by confirming your subscription with us. This ensures that future newsletters will be successfully delivered to your Inbox and not misplaced into your junk mail or spam folder.

To confirm, simply click the "confirm" link in the white bar below. After confirming, you can unsubscribe from our newsletter distribution at any time.