skip to main content
research-article

Mapping problem-space to solution-space features: a feature interaction approach

Authors Info & Claims
Published:04 October 2009Publication History
Skip Abstract Section

Abstract

Mapping problem-space features into solution-space features is a fundamental configuration problem in software product line engineering. A configuration problem is defined as generating the most optimal combination of software features given a requirements specification and given a set of configuration rules. Current approaches however provide little support for expressing complex configuration rules between problem and solution space that support incomplete requirements specifications. In this paper, we propose an approach to model complex configuration rules based on a generalization of the concept of problem-solution feature interactions. These are interactions between solution-space features that only arise in specific problem contexts. The use of an existing tool to support our approach is also discussed: we use the DLV answer set solver to express a particular configuration problem as a logic program whose answer set corresponds to the optimal combinations of solution-space features. We motivate and illustrate our approach with a case study in the field of managing dynamic adaptations in distributed software, where the goal is to generate an optimal protocol for accommodating a given adaptation.

References

  1. The dlv tutorial. http://www.dbai.tuwien.ac.at/proj/dlv/tutorial/.Google ScholarGoogle Scholar
  2. Lattix. http://www.lattix.com.Google ScholarGoogle Scholar
  3. Sonarj. http://www.hello2morrow.com/products/sonarj.Google ScholarGoogle Scholar
  4. M. Antkiewicz and K. Czarnecki. Featureplugin: feature modeling plug-in for eclipse. In M. G. Burke, editor, ETX, pages 67--72, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. G. Antoniou. A tutorial on default logics. ACM Comput. Surv., 31(4):337--359, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. F. Bachmann, M. Goedicke, J. C. S. do Prado Leite, R. L. Nord, K. Pohl, B. Ramesh, and A. Vilbig. A meta-model for representing variability in product family development. In F. van der Linden, editor, PFE, volume 3014 of LNCS, pages 66--80. Springer, 2003.Google ScholarGoogle Scholar
  7. D. Batory. Feature models, grammars, and propositional formulas. In SPLC 2005, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Batory, D. Benavides, and A. Ruiz-Cortes. Automated analysis of feature models: challenges ahead. ACM, 49(12):45--47, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. L. Baum, M. Becker, L. Geyer, and G. Molter. Mapping requirements to reusable components using design spaces. In RE 2000, page 159, Washington, DC, USA, 2000. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P. Besnard. Introduction to Default Logic. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. D. Beuche. Composition and Construction of Embedded Software Families. PhD thesis, 2003.Google ScholarGoogle Scholar
  12. M. Calder, M. Kolberg, E. H. Magill, and S. Reiff-Marganiec. Feature interaction: a critical review and considered forecast. Computer Networks, 41(1):115 -- 141, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. L. Chung, B. A. Nixon, E. Yu, and J. Mylopoulos. Non-Functional Requirements in Software Engineering. Springer, October 1999.Google ScholarGoogle Scholar
  14. K. Czarnecki and M. Antkiewicz. Mapping features to models: A template approach based on superimposed variants. In GPCE, volume 3676 of LNCS, pages 422--437. Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. K. Czarnecki, U. Eisenecker, and K. Czarnecki. Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional, June 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. Deelstra, M. Sinnema, and J. Bosch. Product derivation in software product families: a case study. Journal of Systems and Software, 74(2):173--194, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. F. M. Donini, M. lenzerini, D. Nardi, and A. Schaerf. Reasoning in description logics. pages 191--236, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. L. Ginsberg, editor. Readings in nonmonotonic reasoning. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. A. Günter and C. Kühn. Knowledge-based configuration: Survey and future directions. In XPS, pages 47--66, London, UK, 1999. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. Hillman and I. Warren. An open framework for dynamic reconfiguration. pages 594--603, 2004.Google ScholarGoogle Scholar
  21. N. Janssens. Dynamic Software Reconfiguration in Programmable Networks. PhD thesis, Department of Computer Science, K. U. Leuven, Leuven, Belgium, 2006.Google ScholarGoogle Scholar
  22. J.-M. Jézéquel. Model driven design and aspect weaving. Software and System Modeling, 7(2):209--218, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  23. K. Kang, S. Cohen, J. Hess, W. Nowak, and S. Peterson. Feature-Oriented Domain Analysis (FODA) Feasibility Study. 1990.Google ScholarGoogle Scholar
  24. K. Kang, J. Lee, and P. Donohoe. Feature-oriented product line engineering. Software, IEEE, 19(4):58--65, Jul/Aug 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. C. Kastner, T. Thüm, G. Saake, J. Feigenspan, T. Leich, F. Wielgorz, and S. Apel. Featureide: A tool framework for feature-oriented software development. In ICSE, pages 611--614. IEEE, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. D. Keck and P. Kuehn. The feature and service interaction problem in telecommunications systems: a survey. Software Engineering, IEEE Transactions on, 24(10):779--796, Oct 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J.-M. L., and J. Irwin. Aspect-Oriented Programming. In ECOOP, volume 1241 of LNCS, 1997.Google ScholarGoogle Scholar
  28. T. Krebs, L. Hotz, and A. Günter. Knowledge-based configuration for configuring combined hardware/software systems. In in Proc. of 16. Workshop, Planen, Scheduling und Konfigurieren, Entwerfen (PuK2002, pages 10--11, 2002.Google ScholarGoogle Scholar
  29. K. Lee, K. C. Kang, M. Kim, and S. Park. Combining feature-oriented analysis and aspect-oriented programming for product line asset development. SPLC, 0:103--112, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. N. Leone, G. Pfeifer, W. Faber, T. Eiter, G. Gottlob, S. Perri, and F. Scarcello. The dlv system for knowledge representation and reasoning. ACM Trans. Comput. Logic, 7(3):499--562, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. V. Lifschitz. Answer set programming and plan generation. Artificial Intelligence, 138:2002, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. A. Metzger, P. Heymans, K. Pohl, P.-Y. Schobbens, and G. Saval. Disambiguating the documentation of variability in software product lines: A separation of concerns, formalization and automated analysis. RE 2007, pages 243--253, Oct. 2007.Google ScholarGoogle ScholarCross RefCross Ref
  33. K. Moazami-Goudarzi. Consistency preserving dynamic reconfiguration of distributed systems. PhD thesis, 1999.Google ScholarGoogle Scholar
  34. V. Myllarniemi, M. Raatikainen, and T. Mannisto. Using a configurator for predictable component composition. pages 47--58, Aug. 2007.Google ScholarGoogle Scholar
  35. I. Niemela and P. Simons. Smodels - an implementation of the stable model and well-founded semantics for normal lp. In LPNMR, pages 421--430, London, UK, 1997. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. K. Pohl, G. Böckle, and F. J. van der Linden. Software Product Line Engineering : Foundations, Principles and Techniques. Springer, September 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. C. Prehofer. Feature-oriented programming: A fresh look at objects. In ECOOP, pages 419--443, 1997.Google ScholarGoogle Scholar
  38. R. P. D. Redondo and others. Supporting software variability by reusing generic incomplete models at the requirements specification stage. In ICSR, volume 3107 of LNCS, pages 1---10. Springer, 2004.Google ScholarGoogle Scholar
  39. R. Reiter. A logic for default reasoning. Artificial Intelligence, 13(1-2):81---132, 1980.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. F. Sanen, E. Truyen, and W. Joosen. Managing concern interactions in middleware. In Distributed Applications and Interoperable Systems, volume LNCS 4531, pages 267--283, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. F. Sanen, E. Truyen, and W. Joosen. Modeling context-dependent aspect interference using default logics. In Fifth workshop on Reflection, AOP and Meta-data for Software Evolution, July 2008.Google ScholarGoogle Scholar
  42. F. Sanen, E. Truyen, and W. Joosen. Problem-solution feature interactions as configuration knowledge in distributed runtime adaptations. In 10th International Conference on Feature Interactions in Telecommunications and Software Systems. IOS Press, 2009.Google ScholarGoogle Scholar
  43. M. Schlick and A. Hein. Knowledge engineering in software product lines. In ECAI 2000 - Workshop on Knowledge-Based Systems for Model-Based Engineering, 2000.Google ScholarGoogle Scholar
  44. P.-Y. Schobbens, P. Heymans, and J.-C. Trigaux. Feature diagrams: A survey and a formal semantics. pages 139--148, Sept. 2006.Google ScholarGoogle Scholar
  45. M. Sinnema, S. Deelstra, J. Nijhuis, and J. Bosch. Covamof: A framework for modeling variability in software product families. In SPLC, volume 3154 of LNCS, pages 197--213. Springer, 2004.Google ScholarGoogle Scholar
  46. T. Soininen, I. Niemela, J. Tiihonen, and R. Sulonen. Representing configuration knowledge with weight constraint rules. In Proceedings of the AAAI Spring 2001 Symposium on Answer Set Programming, pages 195--201, Stanford, USA, March 2001. AAAI Press.Google ScholarGoogle Scholar
  47. M. Svahnberg, J. van Gurp, and J. Bosch. A taxonomy of variability realization techniques: Research articles. Softw. Pract. Exper., 35(8):705--754, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. C. Szyperski. Component Software. Addison-Wesley, 2002.Google ScholarGoogle Scholar
  49. P. Tarr, H. Ossher, W. Harrison, and Jr. N degrees of separation: multi-dimensional separation of concerns. In ICSE, pages 107--119, New York, NY, USA, 1999. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. S. Thiel and A. Hein. Systematic integration of variability into product line architecture design. In G. J. Chastek, editor, SPLC, volume 2379 of Lecture Notes in Computer Science, pages 130--153. Springer, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. E. Truyen, N. Janssens, F. Sanen, and W. Joosen. Support for distributed adaptations in aspect-oriented middleware. In Proceedings of the 7th International Conference on Aspect-Oriented Software Development, pages 120--131. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. T. T. Tun, Q. Boucher, A. Classen, A. Hubaux, and P. Heymans. Relating requirements and feature configurations: A systematic approach. In SPLC, 2009.Google ScholarGoogle Scholar
  53. T. van der Storm. Generic feature-based software composition. In Software Composition, LNCS 4829, pages 66--80. Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. M. Völter and I. Groher. Product line implementation using aspect-oriented and model-driven software development. In SPLC, pages 233--242. IEEE Computer Society, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. P. Zave. An experiment in feature engineering. In Programming methodology, pages 353--377. Springer-Verlag NY, Inc., 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Mapping problem-space to solution-space features: a feature interaction approach

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!