Skip to main content
Log in

Supporting feature model refinement with updatable view

  • Research Article
  • Published:
Frontiers of Computer Science Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  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, November 1990

    Google Scholar 

  2. 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

    Article  Google Scholar 

  3. Czarnecki K, Helsen S, Eisenecker UW. Formalizing cardinality-based feature models and their specialization. Software Process: Improvement and Practice, 2005, 10(1): 7–29

    Article  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

    Article  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

    Google Scholar 

  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

    Chapter  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

    Google Scholar 

  8. 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

    Chapter  Google Scholar 

  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

    Chapter  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

    Google Scholar 

  11. Zhang W, Mei H, Zhao H. Feature-driven requirement dependency analysis and high-level software design. Requirements Engineering, 2006, 11(3): 205–220

    Article  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

    Google Scholar 

  13. Weiser M. Program slicing. In: Proceedings of the 5th International Conference on Software Engineering. 1981, 439–449

    Google Scholar 

  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

    Chapter  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

    Google Scholar 

  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

    Article  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, August 2011

    Google Scholar 

  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

    Google Scholar 

  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 EDBT Workshop on Software Engineering for Tailor-made Data Management. 2008, 1–6

    Chapter  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

    Google Scholar 

  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

    Google Scholar 

  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

    Google Scholar 

  23. Nakajima S. Semi-automated diagnosis of FODA feature diagram. In: Proceedings of the 2010 ACM Symposium on Applied Computing. 2010, 2191–2197

    Chapter  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

    Article  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

    Chapter  Google Scholar 

  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

    Google Scholar 

  27. Storey M, Müller H. Graph layout adjustment strategies. In: Proceedings of the Symposium on Graph Drawing. 1995, 487–499

    Google Scholar 

  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

    Google Scholar 

  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

    Chapter  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

    Google Scholar 

  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

    Chapter  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

    Chapter  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

    Google Scholar 

  34. Bancilhon F, Spyratos N. Update semantics of relational views. ACM Transactions on Database Systems, 1981, 6(4): 557–575

    Article  MATH  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

    Article  MathSciNet  MATH  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

    Article  MathSciNet  MATH  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

    Google Scholar 

  38. Lechtenbörger J, Vossen G. On the computation of relational view complements. ACM Transactions on Database Systems, 2003, 28(2): 175–208

    Article  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

    Google Scholar 

  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

    Article  MATH  Google Scholar 

  41. Lämmel R. Coupled software transformations. In: Proceedings of the 1st International Workshop on Software Evolution Transformations. 2004, 31–35

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Haiyan Zhao.

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

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11704-013-2047-0

Keywords

Navigation