Javascript Menu by Deluxe-Menu.com

 


"continued investment in software engineering is required …" "This should involve work on new methodologies for development of software, testing and quality assurance." - Forfás Baseline Assessment of the Public Research System – April 2003

Software Product Lines (Lero @ UL)

What is Software Product Line Engineering?

A Software Product Line is a set of software products that share a common, managed set of features that are developed from a common set of core assets in a prescribed way. An example of such a product line would be a set of engine management systems. Each system would be able to monitor and control the ignition and fuelling requirements of an internal combustion engine, but one variant would be created for four cylinder engines, another for six cylinders and yet another for eight cylinders. The product line can then be extended to cope with ten or twelve cylinders in future.

Software Product Line Engineering involves two concerted development processes: Domain Engineering and Application Engineering. In Domain Engineering the scope of the product line is defined and aligned to the business goals of the organisation. Common development artefacts that can be shared among the products are identified and points of variation are analysed. This information is used to design a reference architecture and implement it based on suitable and tested components. In Application Engineering the reference architecture and the pre-developed components together with their variation points are exploited to derive and compose customer-specific products. Domain and Application Engineering are supported and coordinated by Technical and Organisational Management.

 

Why are Software Product Lines Important?

Software Product Line Engineering is particularly beneficial in circumstances where several related software products are being developed - a family of products as it were. It comprises activities to identify all areas that are common to every product and areas where there are variations between the family members. These activities provide a capability for strategic reuse and mass customisation.

Software Product Lines are extensively used in the automotive, telecommunications, aerospace and other industry sectors, where the number of product variants can run into thousands. Being able to derive and customise a particular product of the product line in a straightforward and efficient manner allows the achievement of major production economies.

What are the Problem Areas?

The size of commercial software product lines is usually large and could easily incorporate thousands of variation points and configuration parameters. This makes systematic product derivation extremely difficult. At present much of the work on product derivation is carried out mostly manually, leading to an error prone and time consuming process. Further, current research in product derivation is limited to problems in small-sized product lines.

It is also important that the architecture derived for a product, the product architecture, conforms to the product line architecture and that the architecture of the implemented product conforms to the product architecture and to the product line architecture as violations of the architecture may have a major impact on the product not meeting its functional or non-functional (quality) requirements.

Where can Lero Help?

Lero's research in Software Product Line Engineering includes the following topics:

  • Variability Visualisation (VARVIS). This project deals with high-variability Software Product Lines. The goal is to improve the derivation efficiency by developing and applying software visualisation and interaction techniques and tools that support the understanding, management, and effective use of product line development artefacts, their built-in variability, and the dependencies among them.
  • Architecture Development and Conformance Analysis (ADECA). This project aims at developing an integrated framework to systematically design and evaluate Software Product Line architectures with respect to essential quality attributes such as safety, reliability, performance, and portability.
  • Model-based Product Derivation (MBPD). The goal of this project is to combine formal and model-based development approaches to support the automated derivation of verifiable products within a Software Product Line.
  • Evidential Assessment of Software Technologies (EAST). The project aims at improving Software Product Line Engineering by developing and empirically assessing various development support mechanisms such as methods, techniques, and tools.

 

Contact:

Professor Mike Hinchey
Research Area Leader
Software Product Lines

Tel: +353 61 233607
Fax: +353 61 213036
Email: mike.hinchey@lero.ie

Lero @ UL
International Science Centre
University of Limerick
Ireland

Email: info@lero.ie
Website: www.lero.ie

 

RSS icon
View a printer-friendly version of this page
Page last updated: 16/01/2009