Abstract
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.
Similar content being viewed by others
References
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
Kang K, Kim S, Lee J, Kim K, Shin E, Huh M. FORM: a feature-oriented reuse method with domain-specific reference architectures. Annals of Software Engineering, 1998, 5(1): 143–168
Czarnecki K, Helsen S, Eisenecker UW. Formalizing cardinality-based feature models and their specialization. Software Process: Improvement and Practice, 2005, 10(1): 7–29
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
Loesch F, Ploedereder E. Optimization of variability in software product lines. In: Proceedings of the 11th International Software Product Line Conference. 2007, 151–162
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
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
Berger T, She S, Lotufo R, Wąsowski A, Czarnecki K. Variability modeling in the real: a perspective from the operating systems domain. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering. 2010, 73–82
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
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
Zhang W, Mei H, Zhao H. Feature-driven requirement dependency analysis and high-level software design. Requirements Engineering, 2006, 11(3): 205–220
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
Weiser M. Program slicing. In: Proceedings of the 5th International Conference on Software Engineering. 1981, 439–449
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
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
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
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, August 2011
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
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 EDBT Workshop on Software Engineering for Tailor-made Data Management. 2008, 1–6
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
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
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
Nakajima S. Semi-automated diagnosis of FODA feature diagram. In: Proceedings of the 2010 ACM Symposium on Applied Computing. 2010, 2191–2197
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
Hubaux A, Heymans P, Schobbens P, Deridder D. Towards multi-view feature-based configuration. Requirements Engineering: Foundation for Software Quality, 2010, 106–112
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
Storey M, Müller H. Graph layout adjustment strategies. In: Proceedings of the Symposium on Graph Drawing. 1995, 487–499
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
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
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
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
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
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
Bancilhon F, Spyratos N. Update semantics of relational views. ACM Transactions on Database Systems, 1981, 6(4): 557–575
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
Gottlob G, Paolini P, Zicari R. Properties and update semantics of consistent views. ACM Transactions on Database Systems, 1988, 13(4): 486–524
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
Lechtenbörger J, Vossen G. On the computation of relational view complements. ACM Transactions on Database Systems, 2003, 28(2): 175–208
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
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
Lämmel R. Coupled software transformations. In: Proceedings of the 1st International Workshop on Software Evolution Transformations. 2004, 31–35
Author information
Authors and Affiliations
Corresponding author
Additional information
Bo Wang received his BS in Computer Science from University of Electronic Science and Technology of China in 2007, and his PhD from Peking University. His research interests are requirements engineering, domain engineering, and variability model configuration.
Zhenjiang Hu received BS and MS from Department of Computer Science and Engineering of Shanghai Jiao Tong University in 1988 and 1991 respectively, and PhD from Department of Information Engineering of University of Tokyo in 1996. He became a lecturer (assistant professor) in 1997 and an associate professor in 2000 in University of Tokyo. He joined National Institute of Informatics as a full professor in 2008. His research interests are programming languages and software construction, functional programming, program transformation, and model driven software development.
Qiang Sun is a PhD student in the Department of Computer Science and Engineering of Shanghai Jiao Tong Unviersity. His research interests are program comprehension and program testing.
Haiyan Zhao received both BS and MS in Computer Science from Peking University, China, and PhD in Information Engineering from the University of Tokyo, Japan. She is currently an associate professor of Computer Science at the Peking University, China. Her research interests include software reuse, domain engineering, domain specific language, and grogram transformation and model transformation.
Yingfei Xiong received BS from University of Electronic Science and Technology of China in 2004, and PhD from Department of Information Engineering of University of Tokyo in 2009. He worked as a post-doc in the University of Waterloo from 2009 to 2011. Now he is an assistant professor (Young talents Plan) at Peking University. His research interest is consistency management.
Wei Zhang received his PhD in computer science from Peking University in 2006. He is currently an associate professor at the School of Electronics Engineering and Computer Science of the Peking University, China. His research interests include feature-oriented requirements modeling, feature-driven software architecture design, and feature-oriented software reuse.
Hong Mei received PhD in Computer Science from the Shanghai Jiao Tong University in 1992. He is currently a professor of Computer Science at the Peking University, China. He is also an Academician of the Chinese Academy of Sciences. His current research interests include software engineering and software engineering environment, software reuse and software component technology, distributed object technology, and programming language. He has published more than 100 technical papers.
Rights and permissions
About this article
Cite this article
Wang, B., Hu, Z., Sun, Q. et al. Supporting feature model refinement with updatable view. Front. Comput. Sci. 7, 257–271 (2013). https://doi.org/10.1007/s11704-013-2047-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11704-013-2047-0