The doctoral dissertations of the former Helsinki University of Technology (TKK) and Aalto University Schools of Technology (CHEM, ELEC, ENG, SCI) published in electronic format are available in the electronic publications archive of Aalto University - Aaltodoc.

A Conceptual Modelling Approach to Software Variability

Timo Asikainen

Dissertation for the degree of Doctor of Science in Technology to be presented with due permission of the Faculty of Information and Natural Sciences for public examination and debate in Auditorium AS1 at Helsinki University of Technology (Espoo, Finland) on the 1st of August, 2008, at 12 noon.

Overview in PDF format (ISBN 978-951-22-9485-5)   [737 KB]
Dissertation is also available in print (ISBN 978-951-22-9484-8)


Variability is the ability of a system to be efficiently extended, changed, customised or configured for use in a particular context. Increasing amounts of variability are required of software systems. The number of possible variants of a software system may become very large, essentially infinite. Efficient methods for modelling and reasoning about software variability are needed and numerous such languages have been developed. Most of these languages either lack a solid conceptual foundation or a rigorous formal semantics, or both.

In this dissertation, three novel software variability modelling languages, KOALISH, FORFAMEL and KUMBANG, which synthesises KOALISH and FORFAMEL, are developed. The languages are based on concepts found relevant to modelling software variability in scientific literature and practice, namely features and software architecture. They synthesise and clarify the concepts defined in a number of previous languages. Ideas first developed in product configuration research for modelling variability in non-software products are elaborated and integrated into the languages. A formal semantics is given for the languages by translation to weight constraint rule language (WCRL).

One of the goals of this dissertation is to enable the representation of software variability knowledge at different levels of abstraction in a uniform manner, preferably using an existing conceptual modelling language with a formal semantics. Unfortunately, it turns out that no existing language meets these requirements. Consequently, a novel conceptual modelling language, NIVEL, with the necessary capabilities is developed in this dissertation. The modelling concepts of NIVEL are not based on software variability. Consequently, NIVEL can be applied in domains other than software variability and is hence generic and contributes to the theory of conceptual modelling. A formal semantics enabling automated, decidable reasoning is given for NIVEL by translation to WCRL.

NIVEL is used to give an alternative definition of KUMBANG. The alternative definition is more compact and easily understandable than the original one. Major parts of the semantics of KUMBANG are captured by the semantics of NIVEL. The definition of KUMBANG in terms of a generic modelling language also brings software variability modelling closer to other forms of modelling, thus making software variability modelling less of an isolated discipline.

This thesis consists of an overview and of the following 4 publications:

  1. Timo Asikainen, Timo Soininen, and Tomi Männistö. 2003. A Koala-based approach for modelling and deploying configurable software product families. In: Frank van der Linden (editor). Proceedings of the 5th International Workshop on Software Product-Family Engineering (PFE 2003). Siena, Italy. 4-6 November 2003. Springer. Lecture Notes in Computer Science, volume 3014, pages 225-249.
  2. Timo Asikainen, Tomi Männistö, and Timo Soininen. 2006. A unified conceptual foundation for feature modelling. In: Liam O'Brien (editor). Proceedings of the 10th International Software Product Line Conference (SPLC 2006). Baltimore, Maryland, USA. 21-24 August 2006. IEEE Computer Society, pages 31-40. © 2006 IEEE. By permission.
  3. Timo Asikainen, Tomi Männistö, and Timo Soininen. 2007. Kumbang: A domain ontology for modelling variability in software product families. Advanced Engineering Informatics, volume 21, number 1, pages 23-40. © 2007 Elsevier Science. By permission.
  4. Timo Asikainen and Tomi Männistö. 2009. Nivel: a metamodelling language with a formal semantics. Software and Systems Modeling, volume 8, number 4, pages 521-549. © 2008 by authors and © 2008 Springer Science+Business Media. By permission.

Keywords: conceptual modelling, variability, feature modelling, software architecture, metamodelling

This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.

© 2008 Helsinki University of Technology

Last update 2011-05-26