A Conceptual Modelling Approach to Software Variability
Loading...
Journal Title
Journal ISSN
Volume Title
Doctoral thesis (article-based)
Checking the digitized thesis and permission for publishing
Instructions for the author
Instructions for the author
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Author
Date
2008
Department
Major/Subject
Mcode
Degree programme
Language
en
Pages
Verkkokirja (737 KB, 84 s.)
Series
TKK dissertations,
132
Abstract
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.Description
Keywords
conceptual modelling, variability, feature modelling, software architecture, metamodelling
Other note
Parts
- [Publication 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.
- [Publication 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.
- [Publication 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.
- [Publication 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.