Supporting feature model refinement with updatable view
Bo WANG, Zhenjiang HU, Qiang SUN, Haiyan ZHAO, Yingfei XIONG, Wei ZHANG, Hong MEI
Supporting feature model refinement with updatable view
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.
feature model refinement / slicing / bidrectional transformation
[1] |
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, November1990
|
[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
CrossRef
Google scholar
|
[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
CrossRef
Google scholar
|
[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
CrossRef
Google scholar
|
[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
CrossRef
Google scholar
|
[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
CrossRef
Google scholar
|
[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
CrossRef
Google scholar
|
[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
CrossRef
Google scholar
|
[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
CrossRef
Google scholar
|
[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, <month>August</month>2011
|
[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
CrossRef
Google scholar
|
[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
CrossRef
Google scholar
|
[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
CrossRef
Google scholar
|
[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
CrossRef
Google scholar
|
[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
CrossRef
Google scholar
|
[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
CrossRef
Google scholar
|
[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
CrossRef
Google scholar
|
[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
CrossRef
Google scholar
|
[36] |
Gottlob G, Paolini P, Zicari R. Properties and update semantics of consistent views. ACM Transactions on Database Systems, 1988, 13(4): 486-524
CrossRef
Google scholar
|
[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
CrossRef
Google scholar
|
[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
CrossRef
Google scholar
|
[41] |
Lämmel R. Coupled software transformations. In: Proceedings of the 1st International Workshop on Software Evolution Transformations. 2004, 31-35
|
/
〈 | 〉 |