Software Product Line Engineering with Feature Models

Blogged under Product Lines, Software by Mark Dalgarno on Thursday 21 December 2006 at 6:38 pm

The article on Software Product Line Engineering with Feature Models that I co-authored with Danilo Beuche of pure-systems has now been published in the Winter 2006 edition of Methods and Tools. A slightly longer version of the article (PDF 568kb, opens in new window) is now available on the Software Acumen website.

The article covers Domain Engineering - development of core, reusable assets to support the Software Product Line - and Application Engineering - selection and configuration of core assets to realise applications.

Also introduced are the concepts of Problem Space - the marketing or customer view of a Software Product Line as embodied in a Feature Model - and Solution Space -the engineering (or software architect’s) view of a Software Product Line as embodied in a Family Model.

The article explains these concepts using the example of a weather station product line and discusses a number of typical Software Product Line problems and solutions in this context.

The article gives such a nice overview of Software Product Line Engineering in an embedded system setting that I wish we’d written it before now…

Metrics for Model-Based Development in Simulink® / Stateflow®

Blogged under Code Generation, Embedded, Product Lines, Software by Mark Dalgarno on Thursday 21 December 2006 at 8:30 am

Arvind Hosagrahara and Paul Smith’s article on ‘Measuring Productivity and Quality in Model-Based Design’ got me thinking about metrics for model-based development and Software Product Lines in particular.

In the article they argue that LOC-based metrics aren’t all that relevant in a model-based development setting - because code is produced automatically - and so more emphasis must be placed on other metrics.

They also argue for automatic data collection in preference to manual data collection - in my experience the former are strongly preferred - it’s just plain hard work to get people to collect data manually and it’s rarely necessary given the wealth of data that can be collected automatically, and naturally, as part of everyday tool use.

The article describes a tool they’ve developed (the Modeling Metric Tool) for automatic measurement of Simulink® / Stateflow® models. This is a customizable tool that allows collection of data around time spent working on a model, resources used, model size, functional content of the model, automatic vs. hand-written code etc. The code for the application was freely available at the time of writing.

In a Software Product Line setting, additional metrics for model-reuse would be essential. These could show how effectively the product line architecture was supporting product variants. They could also pick up problems where a product variant was not making sufficient use of the product line’s reusable assets. Productivity metrics could also be used in validating the business case for the Software Product Line.

NB Simulink and Stateflow are registered trademarks of The Mathworks Inc.

Proudly powered by Wordpress - Theme Triplets Identification Band, the girlish style by neuro