Frontiers of Computer Science

, Volume 7, Issue 2, pp 257–271 | Cite as

Supporting feature model refinement with updatable view

  • Bo Wang
  • Zhenjiang Hu
  • Qiang Sun
  • Haiyan Zhao
  • Yingfei Xiong
  • Wei Zhang
  • Hong Mei
Research Article

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.

Keywords

feature model refinement slicing bidrectional transformation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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 1990Google Scholar
  2. 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–168CrossRefGoogle Scholar
  3. 3.
    Czarnecki K, Helsen S, Eisenecker UW. Formalizing cardinality-based feature models and their specialization. Software Process: Improvement and Practice, 2005, 10(1): 7–29CrossRefGoogle Scholar
  4. 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–47CrossRefGoogle Scholar
  5. 5.
    Loesch F, Ploedereder E. Optimization of variability in software product lines. In: Proceedings of the 11th International Software Product Line Conference. 2007, 151–162Google Scholar
  6. 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–50CrossRefGoogle Scholar
  7. 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–51Google Scholar
  8. 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–82CrossRefGoogle Scholar
  9. 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–283CrossRefGoogle Scholar
  10. 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 2010Google Scholar
  11. 11.
    Zhang W, Mei H, Zhao H. Feature-driven requirement dependency analysis and high-level software design. Requirements Engineering, 2006, 11(3): 205–220CrossRefGoogle Scholar
  12. 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, 2006Google Scholar
  13. 13.
    Weiser M. Program slicing. In: Proceedings of the 5th International Conference on Software Engineering. 1981, 439–449Google Scholar
  14. 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–475CrossRefGoogle Scholar
  15. 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–238Google Scholar
  16. 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–110CrossRefGoogle Scholar
  17. 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 2011Google Scholar
  18. 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–264Google Scholar
  19. 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–6CrossRefGoogle Scholar
  20. 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–614Google Scholar
  21. 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–140Google Scholar
  22. 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–427Google Scholar
  23. 23.
    Nakajima S. Semi-automated diagnosis of FODA feature diagram. In: Proceedings of the 2010 ACM Symposium on Applied Computing. 2010, 2191–2197CrossRefGoogle Scholar
  24. 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–1122CrossRefGoogle Scholar
  25. 25.
    Hubaux A, Heymans P, Schobbens P, Deridder D. Towards multi-view feature-based configuration. Requirements Engineering: Foundation for Software Quality, 2010, 106–112CrossRefGoogle Scholar
  26. 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–228Google Scholar
  27. 27.
    Storey M, Müller H. Graph layout adjustment strategies. In: Proceedings of the Symposium on Graph Drawing. 1995, 487–499Google Scholar
  28. 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–826Google Scholar
  29. 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–638CrossRefGoogle Scholar
  30. 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–505Google Scholar
  31. 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–40CrossRefGoogle Scholar
  32. 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–81CrossRefGoogle Scholar
  33. 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–220Google Scholar
  34. 34.
    Bancilhon F, Spyratos N. Update semantics of relational views. ACM Transactions on Database Systems, 1981, 6(4): 557–575CrossRefMATHGoogle Scholar
  35. 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–416MathSciNetCrossRefMATHGoogle Scholar
  36. 36.
    Gottlob G, Paolini P, Zicari R. Properties and update semantics of consistent views. ACM Transactions on Database Systems, 1988, 13(4): 486–524MathSciNetCrossRefMATHGoogle Scholar
  37. 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–436Google Scholar
  38. 38.
    Lechtenbörger J, Vossen G. On the computation of relational view complements. ACM Transactions on Database Systems, 2003, 28(2): 175–208CrossRefGoogle Scholar
  39. 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–246Google Scholar
  40. 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–118CrossRefMATHGoogle Scholar
  41. 41.
    Lämmel R. Coupled software transformations. In: Proceedings of the 1st International Workshop on Software Evolution Transformations. 2004, 31–35Google Scholar

Copyright information

© Higher Education Press and Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Bo Wang
    • 1
  • Zhenjiang Hu
    • 2
  • Qiang Sun
    • 3
  • Haiyan Zhao
    • 1
  • Yingfei Xiong
    • 1
  • Wei Zhang
    • 1
  • Hong Mei
    • 1
  1. 1.Key Laboratory of High Confidence Software TechnologiesPeking UniversityBeijingChina
  2. 2.GRACE CenterNational Institute of InformaticsTokyoJapan
  3. 3.Department of Computer ScienceShanghai Jiao Tong UniversityShanghaiChina

Personalised recommendations