Software product lines engineering is an emerging software engineering paradigm. It institutionalises reuse, which is achieved through the development of a set of reusable core assets shared among all members of the product line. Requirements for a software product line are thus expressed in terms of features shared by all members of the product line and distinct features of individual members. The so-called variability of the software product line is generally expressed at a high level of abstraction with feature diagrams. When examining the different feature diagram notations suggested in the literature, one can observe that there is no consensus as to what features in a feature diagram actually represent. Furthermore, feature diagrams generally abstract the underlying complexity of a feature to a label. Given the ubiquity of today’s computing, however, the complexity that stems from a system’s integration into its physical context needs to be made explicit. Motivated by the lack of physical context and the uncertainty of what a feature represents, we suggest to use the problem frames approach as an approach for analysing requirements in product line development. Firstly, the problem frames approach is based on a well established requirements engineering framework, enforcing the distinction between requirements, domain assumptions and specifications, and hence clarifying the meaning of features. Secondly, it emphasises and provides appropriate means for modelling the physical context of features. We first illustrate these ideas on a sea buoy control system example. We show how feature diagrams and problem frames can be used as complementary techniques and how feature diagrams are indeed enriched by problem frames. We then go on to develop an approach for automated detection of feature interactions in the environment, which is based on environment models expressed with problem diagrams. Descriptions are furthermore expressed formally with the event calculus, allowing for automated reasoning. Based on this approach, a proof-of-concept tool implementation is presented, demonstrating its automatable aspects. The approach is finally illustrated on a smart home control system case.
Problem-oriented modelling and verification of software product lines
Classen, A. (Auteur). 2007
Student thesis: Master types › Master en sciences informatiques