
FUNDP - PRECISE University of Namur Faculte´ d’Informatique Rue Grandgagnage, 21 B - 5000 NAMUR (Belgique) Quality of Feature Diagram Languages: Formal Evaluation and Comparison Jean-Christophe Trigaux These` present´ ee´ en vue de l’obtention du titre de Docteur en Sciences September 2008 Jury: Prof. Dr. Jean-Marie Jacquet (President),´ University of Namur, Prof. Dr. Patrick Heymans (Promoteur), University of Namur, Prof. Dr. Pierre-Yves Schobbens (co-Promoteur), University of Namur, Prof. Dr. Thierry Massart, Universite´ Libre de Bruxelles, Prof. Dr. David Benavides, University of Sevilla, Prof. Dr. Wim Vanhoof, University of Namur. Abstract n software engineering, software reuse has been a popular topic since 1968. Nowa- days, Software Product Line (SPL) engineering promotes systematic reuse throughout Ithe whole software development process. Within SPL, reusability strongly depends on variability. In this context, variability modelling and management are crucial activities that cross- cuts all development stages. Different techniques are used to model variability and one of them is Feature Diagrams (FDs). FD languages are a family of popular modelling languages used to model, and reason on, variability. Since the seminal proposal of a FD language, namely FODA, many extensions have been proposed to improve it. However, the pros and cons of these languages are difficult to evaluate for two main reasons: (1) most of them are informally defined and (2) no well defined criteria were used to justify the extensions made to FODA. As a consequence, variability modelling and management techniques proposed in the literature or used by practitioners may be suboptimal. Globally, this work underlines that the current research on FDs is fragmented and provides principles to remedy this situation. A formal approach is proposed to introduce more rigour in the motivation, definition and comparison of FD languages. Thereby, examining their qualities should be more focused and productive. A formal approach guarantees unambiguity and is a prerequisite to define formal quality criteria and to produce efficient and safe tool automation. A quality analysis is necessary to avoid the proliferation of languages and constructs that are an additional source of misinterpretations and interoperability problems. The creation or selection of a FD language should be driven and motivated by rigourous criteria. Translations from one FD language to another should be defined and carefully studied to avoid interoperability problems. The main contributions of this work are: (1) to use a quality framework to serve as a roadmap to improve the quality of FD languages, (2) to formally evaluate and compare FD language qualities according to well-defined criteria and following a clear method, (3) to formally define and motivate a new FD language that obtains the best scoring according to the quality criteria and (4) to develop tool support for this language. Keywords Software Product Line, Requirements Engineering, Formal Methods, Formal Semantics, Variability Management, Feature Diagrams, Feature Modelling, Automated Reasoning, Language Evaluation, Language Quality. I II Acknowledgement First of all, I express my gratitude to all members of the Jury for their helpful and constructive comments. I would like to thank, Prof. Klaus Pohl and all the SSE research lab for their hospitality during my stay in Essen. Special thanks go to Prof. Patrick Heymans and Prof. Pierre-Yves Schobbens for their in- valuable supervision, their time, their communicative enthusiasm for research and their personal involvement in both my PhD thesis and research project. Furthermore, I would like to thank the members of the PReCISE research centre and especially, Michael, Yves, Raimundas, Germain, Andreas and Arnaud. It was a pleasure to share the same office and to work in a stimulating and friendly atmosphere. I have enjoyed our fruitful discussions on various topics going from research to leisure. You are a continuous source of motivation, inspiration and amusement. Thank you also to all other past and present colleagues. I would also like to thank my family and friends for their generosity and support. Finally, my sincere thank goes to Laurence for supporting me all the way through, for her con- tinuous love, encouragement and comprehension. Jean-Christophe Trigaux The work presented in this thesis was partially financed by Walloon Region and FSE in the FIRST Europe project PLENTY. III IV Contents Introduction 1 Motivation . 4 Thesis . 5 Research Problem and Questions . 6 Claimed Contributions . 7 Structure . 8 I Research Domain 11 1 Software Product Lines 13 1.1 Software Product Lines . 13 1.1.1 Introduction . 13 1.1.2 Software Product Line Engineering . 15 1.1.2.1 Domain Engineering . 16 1.1.2.2 Application Engineering . 17 1.1.3 Software Product Line Adoption and Evolution . 17 1.1.4 Software Product Line Benefits . 18 1.1.5 Software Product Line Challenges . 19 1.1.6 Software Product Line Applications . 20 1.1.6.1 Car Periphery Supervision (CPS) . 21 1.1.6.2 Celsius Tech: Ship System 2000 . 21 1.1.6.3 Nokia: Mobile phones . 21 1.1.6.4 Smart Homes . 21 1.1.6.5 Weather Stations . 22 1.2 Variability . 22 1.2.1 Definition of Variability . 22 1.2.2 Variability Activities . 23 1.2.3 Categories of Variability . 23 1.2.4 Levels of Variability . 25 1.2.5 Variability Mechanisms . 26 1.2.6 Variability Modelling . 27 1.2.6.1 Extended Single Product Languages . 27 V 1.2.6.2 Variability Modelling Languages . 28 1.3 Chapter Summary . 29 2 Feature Modelling: The Basic Concepts 31 2.1 On the Notion of Feature Diagrams . 31 2.1.1 Feature Diagrams’ Purposes . 32 2.1.2 Feature Diagram Example . 32 2.1.3 Feature Diagram Constructs, Symbols & Meanings . 34 2.1.3.1 FODA FD Constructs, Symbols & Informal Meanings . 34 2.1.3.2 FD: More Constructs, Symbols & Meanings . 36 2.1.4 The Distinction between Languages, Models and Diagrams . 37 2.1.4.1 Languages . 37 2.1.4.2 Models . 39 2.1.4.3 Diagrams . 40 2.2 On the Notion of Feature . 40 2.2.1 Feature Types . 41 2.2.2 Feature Attributes . 42 2.3 Chapter Summary . 43 II Quality of Models and Languages 45 3 A Quality Framework 47 3.1 SEQUAL Framework . 48 3.1.1 Framework Concepts . 48 3.1.2 Quality of Models (M)............................ 49 3.1.3 Quality of Languages (L)........................... 50 3.2 Refining SEQUAL with Formal Language Properties . 51 3.2.1 Formal Criteria & Quality of Languages . 52 3.2.2 Formal Criteria & Quality of Models . 55 3.2.3 Quality of Languages & Quality of Models . 55 3.3 Other Frameworks and Criteria . 56 3.3.1 Prasse’s Framework . 56 3.3.2 Djebbi’s Framework . 56 3.4 Chapter Summary . 59 4 Languages: Formal Definition 61 4.1 Formal Definition of Language . 61 4.1.1 Syntax Definition . 63 4.1.2 Semantic Definition . 64 4.1.2.1 Semantic Domain . 64 4.1.2.2 Semantic Function . 64 4.2 Languages: Formal Definition and Misconceptions . 65 4.3 Chapter Summary . 66 VI 5 Languages: Formal Criteria and Quality 67 5.1 Complexity . 67 5.2 Expressiveness . 70 5.3 Embeddability . 72 5.3.1 Textual Languages . 73 5.3.2 Visual Languages . 74 5.4 Succinctness . 82 5.5 Chapter Summary . 82 III Quality of Feature Diagram Languages 85 6 FD Languages: State of the Art 87 6.1 Survey Method . 88 6.2 Survey Illustration . 89 6.3 Informally Defined FD Languages . 90 6.3.1 FODA (OFT) . 90 6.3.2 FORM (OFD) . 91 6.3.3 FeatuRSEB (RFD) . 92 6.3.4 Van Gurp, Bosch and Svahnberg (VBFD) . 94 6.3.5 Generative Programming (GPFT) . 95 6.3.6 FORE (EFD) . 96 6.3.7 PLUSS (PFT) . 96 6.3.8 General Overview . 97 6.4 Formally Defined FD Languages . 101 6.4.1 Van Deursen and klint . 101 6.4.2 Mannion . 101 6.4.3 Bontemps et al. ................................ 101 6.4.4 Cechticky et al. ................................ 102 6.4.5 Czarnecki et al. ............................... 103 6.4.6 Benavides et al. ............................... 103 6.4.7 Batory . 103 6.4.8 Sun et al. ................................... 103 6.4.9 Wang et al. .................................. 103 6.4.10 Asikainen et al. ................................ 104 6.4.11 Janota and Kiniry . 104 6.4.12 General Overview . 104 6.5 Chapter Summary . 105 7 FD Languages: A Comparison Method 107 7.1 Computational Complexity . ..
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages320 Page
-
File Size-