Supporting feature model refinement with updatable view
Supporting feature model refinement with updatable view
Bo WANG1, Zhenjiang HU2, Qiang SUN3, Haiyan ZHAO1(), Yingfei XIONG1, Wei ZHANG1, Hong MEI1
1. Key Laboratory of High Confidence Software Technologies, Peking University, Beijing 100871, China; 2. GRACE Center, National Institute of Informatics, Tokyo 101843, Japan; 3. Department of Computer Science, Shanghai Jiao Tong University, Shanghai 200240, China
In the research of software reuse, feature models have been widely adopted to capture, organize and reuse the requirements of a set of similar applications in a software domain. However, the construction, especially the refinement, of feature models is a labor-intensive process, and there lacks an effective way to aid domain engineers in refining feature models. In this paper, we propose a new approach to support interactive refinement of feature models based on the view updating technique. The basic idea of our approach is to first extract features and relationships of interest from a possibly large and complicated feature model, then organize them into a comprehensible view, and finally refine the feature model through modifications on the view. The main characteristics of this approach are twofold: a set of powerful rules (as the slicing criterion) to slice the feature model into a view automatically, and a novel use of a bidirectional transformation language to make the view updatable. We have successfully developed a tool, and a nontrivial case study shows the feasibility of this approach.
Kang K C, Cohen S G, Hess J A, Novak W E, Peterson A S. Featureoriented domain analysis (FODA) feasibility study. Technical Report, Carnegie-Mellon University Software Engineering Institute, November 1990
2
Kang K, Kim S, Lee J, Kim K, Shin E, Huh M. FORM: a featureoriented reuse method with domain-specific reference architectures. Annals of Software Engineering , 1998, 5(1): 143-168 doi: 10.1023/A:1018980625587
3
Czarnecki K, Helsen S, Eisenecker U W. Formalizing cardinality-based feature models and their specialization. Software Process: Improvement and Practice , 2005, 10(1): 7-29 doi: 10.1002/spip.213
4
Batory D S, Benavides D, Cortés A R. Automated analysis of feature models: challenges ahead. Communications of the ACM , 2006, 49(12): 45-47 doi: 10.1145/1183236.1183264
5
Loesch F, Ploedereder E. Optimization of variability in software product lines. In: Proceedings of the 11th International Software Product Line Conference . 2007, 151-162
6
Steger M, Tischer C, Boss B, Mi?ller A, Pertler O, Stolz W, Ferber S. Introducing PLA at bosch gasoline systems: experiences and practices. In: Nord R, ed, Software Product Lines . Springer, 2004, 34-50 doi: 10.1007/978-3-540-28630-1_3
7
She S, Lotufo R, Berger T, Wasowski A, Czarnecki K. The variability model of the linux kernel. In: Proceedings of the 4th International Workshop on Variability Modelling of Software-intensive Systems . 2010, 45-51
8
Berger T, She S, Lotufo R,W, asowski A, Czarnecki K. Variability modeling in the real: a perspective from the operating systems domain. In: Proceedings of the IEEE/ACMInternational Conference on Automated Software Engineering . 2010, 73-82
9
Czarnecki K, Foster J, Hu Z, L?mmel R, Schürr A, Terwilliger J. Bidirectional transformations: a cross-discipline perspective. In: Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations . 2009, 260-283 doi: 10.1007/978-3-642-02408-5_19
10
Wang B, Hu Z, Sun Q, Zhao H, Xiong Y, Mei H. Supporting feature model refinement with updatable view. Technical Report, GRACE-TR- 2010-05, GRACE Center, National Instisute of Informatics , May 2010
11
Zhang W, Mei H, Zhao H. Feature-driven requirement dependency analysis and high-level software design. Requirements Engineering , 2006, 11(3): 205-220 doi: 10.1007/s00766-006-0033-x
12
Lau S Q. Domain analysis of e-commerce systems using feature-based model template. MS in Applied Science, University of Waterloo, Department of Electrical and Computer Enginerring , 2006
13
Weiser M. Program slicing. In: Proceedings of the 5th International Conference on Software Engineering . 1981, 439-449
14
Hidaka S, Hu Z, Kato H, Nakano K. Towards a compositional approach to model transformation for software development. In: Proceedings of the 2009 ACM Symposium on Applied Computing . 2009, 468-475 doi: 10.1145/1529282.1529383
15
Hidaka S, Hu Z, Kato H, Nakano K. A compositional approach to bidirectional model transformation. In: Proceedings the 31st International Conference on Software Engineering-Companion . 2009, 235-238
16
Buneman P, Fernandez M, Suciu D. UnQL: a query language and algebra for semistructured data based on structural recursion. The VLDB Journal , 2000, 9(1): 76-110 doi: 10.1007/s007780050084
17
Sun Q, Wang B, Hu Z. Applying bidirectional transformation to feature model refinement. Technical report, GRACE-TR-2011-04, GRACE Center, National Instisute of Informatics , August2011
18
Thum T, Batory D, Kastner C. Reasoning about edits to feature models. In: Proceedings the 31st IEEE International Conference on Software Engineering . 2009, 254-264
19
Rosenmüller M, Siegmund N, Schirmeier H, Sincero J, Apel S, Leich T, Spinczyk O, Saake G. FAME-DBMS: tailor-made data management solutions for embedded systems. In: Proceedings of the 2008 EDBTWorkshop on Software Engineering for Tailor-made Data Management . 2008, 1-6 doi: 10.1145/1385486.1385488
20
Kastner C, Thum T, Saake G, Feigenspan J, Leich T, Wielgorz F, Apel S. FeatureIDE: A tool framework for feature-oriented software development. In: Proceedings of the 31st IEEE International Conference on Software Engineering . 2009, 611-614
21
Bagheri E, Ensan F, Ga?evic D, Bo?kovic M. Modular feature models: Representation and configuration. Journal of Research and Practice in Information Technology , 2011, 43(2): 109-140
22
Acher M, Collet P, Lahire P, France R. Slicing feature models. In: Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering . 2011, 424-427
23
Nakajima S. Semi-automated diagnosis of FODA feature diagram. In: Proceedings of the 2010 ACM Symposium on Applied Computing . 2010, 2191-2197 doi: 10.1145/1774088.1774550
24
Dhungana D, Grünbacher P, Rabiser R, Neumayer T. Structuring the modeling space and supporting evolution in software product line engineering. The Journal of Systems and Software , 2010, 83(7): 1108-1122 doi: 10.1016/j.jss.2010.02.018
25
Hubaux A, Heymans P, Schobbens P, Deridder D. Towards multi-view feature-based configuration. Requirements Engineering: Foundation for Software Quality , 2010, 106-112
26
Berner S, Joos S, Glinz M, Arnold M. A visualization concept for hierarchical object models. In: Proceedings of the 13th IEEE International Conference on Automated Software Engineering . 1998, 225-228
27
Storey M, Müller H. Graph layout adjustment strategies. In: Proceedings of the Symposium on Graph Drawing . 1995, 487-499
28
Reinhard T, Meier S, Stoiber R, Cramer C, Glinz M. Tool support for the navigation in graphical models. In: Proceedings of the 30th International Conference on Software engineering . 2008, 823-826
29
Kagdi H, Maletic J, Sutton A. Context-free slicing of UML class models. In: Proceedings of the 21st IEEE International Conference on Software Maintenance . 2005, 635-638 doi: 10.1109/ICSM.2005.34
30
Segura S, Benavides D, Ruiz-Cortés A, Trinidad P. Automated merging of feature models using graph transformations. In: Generative and Transformational Techniques in Software Engineering II . 2007, 489-505
31
Chen K, Zhang W, Zhao H, Mei H. An approach to constructing feature models based on requirements clustering. In: Proceedings of the 13th IEEE International Conference on Requirements Engineering . 2005, 31-40 doi: 10.1109/RE.2005.9
32
Acher M, Collet P, Lahire P, France R. Composing feature models. In: Brand M, Gasevic D, Gray J, eds, Software Language Engineering . Springer, 2010, 62-81 doi: 10.1007/978-3-642-12107-4_6
33
Weston N, Chitchyan R, Rashid A. A framework for constructing semantically composable feature models from natural language requirements. In: Proceedings of the 13th International Software Product Line Conference . 2009, 211-220
34
Bancilhon F, Spyratos N. Update semantics of relational views. ACM Transactions on Database Systems , 1981, 6(4): 557-575 doi: 10.1145/319628.319634
35
Dayal U, Bernstein P A. On the correct translation of update operations on relational views. ACM Transactions on Database Systems , 1982, 7(3): 381-416 doi: 10.1145/319732.319740
36
Gottlob G, Paolini P, Zicari R. Properties and update semantics of consistent views. ACM Transactions on Database Systems , 1988, 13(4): 486-524 doi: 10.1145/49346.50068
37
Hegner S J. Foundations of canonical update support for closed database views. In: Proceedings of the 3rd International Conference on Database Theory . 1990, 422-436
38
Lechtenb?rger J, Vossen G. On the computation of relational view complements. ACM Transactions on Database Systems , 2003, 28(2): 175-208 doi: 10.1145/777943.777946
39
Foster J N, Greenwald M B, Moore J T, Pierce B C, Schmitt A. Combinators for bi-directional tree transformations: a linguistic approach to the view update problem. In: ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages . 2005, 233-246
40
Hu Z, Mu S C, Takeichi M. A programmable editor for developing structured documents based on bidirectional transformations. Higher-Order and Symbolic Computation , 2008, 21(1): 89-118 doi: 10.1007/s10990-008-9025-5
41
L?mmel R. Coupled software transformations. In: Proceedings of the 1st International Workshop on Software Evolution Transformations . 2004, 31-35