Kumbang Configurator - A Tool for Configuring Software Product Families

No Thumbnail Available

URL

Journal Title

Journal ISSN

Volume Title

Helsinki University of Technology | Diplomityö
Checking the digitized thesis and permission for publishing
Instructions for the author

Date

2005

Major/Subject

Tietojenkäsittelyoppi

Mcode

T-76

Degree programme

Language

en

Pages

1+134

Series

Abstract

Software product families are an emerging trend that tries to cope with increasing variability and challenges of reuse. Software products are derived from the family in a prescribed way utilising common family assets. The derived product often includes some amount of integrating glue code or even product-specific tailoring. In the domain of traditional, mechanical products, configurable products have been developed. Individual products are configured according to a predefined model, with no need for adaptive or innovative design. When comparing these two approaches, remarkable similarities are found. In a configurable software product family, software products are configured based on a predefined configuration model. Building the product usually requires no product-specific programming. The purpose of this thesis was to develop a tool for deriving product individuals from configurable software product families. This tool, called Kumbang Configurator, utilises existing modelling language Kumbang, which combines both feature-based and architecture-based modelling methods. Kumbang Configurator prevents configuration errors by checking whether the configuration is consistent and complete. This configuration reasoning employs inference engine smodels. The implementation was validated with two example cases.

Ohjelmistotuoteperheet ovat saavuttaneet suosiota tapana vastata kasvaneeseen varioituvuuteen ja uudelleenkäytön haasteisiin. Yksittäiset perheen ohjelmistotuotteet johdetaan etukäteen määritellyllä tavalla, käyttäen hyväksi yhteisiä varantoja. Usein derivoinnissa tarvitaan integroivaa koodia tai jopa tuotekohtaista räätälöintiä. Tavallisista, mekaanisista tuotteista on kehitetty konfiguroitavia tuotteita. Yksittäiset tuotteet konfiguroidaan käyttäen hyväksi ennalta suunniteltua mallia, lisäämättä jälkikäteen muokkaavaa tai innovatiivista suunnittelua. Näiden lähestymistapojen välillä on huomattavia yhteyksiä. Konfiguroitavassa ohjelmistotuoteperheessä tuoteyksilöt konfiguroidaan ennalta suunnitellun konfiguraatiomallin pohjalta. Varsinainen tuotteen rakentaminen ei vaadi ollenkaan tuotekohtaista ohjelmointia. Tämän diplomityön tarkoituksena oli kehittää työkalu tuoteyksilöiden johtamiseen konfiguroitavasta ohjelmistuoteperheestä. Tämä työkalu, nimeltään Kumbangkonfiguraattori, perustuu Kumbang-kieleen. Kumbang-kielessä yhdistyvät sekä ominaisuuslähtöiset että arkkitehtuurilähtöiset mallitustavat. Kumbang-konfiguraattori tarkastaa konfiguraation oikeellisuutta ja valmiutta, ja täten ehkäisee konfiguraatiossa syntyviä virheitä. Konfiguraatiopäättely käyttää hyväkseen smodels-päättelykonetta. Toteutettu työkalu validoitiin kahdella esimerkkitapauksella.

Description

Supervisor

Männistö, Tomi

Thesis advisor

Männistö, Tomi

Keywords

software product family, ohjelmistotuoteperhe, configuration, konfiguraatio, tool support, työkalutuki,

Other note

Citation