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.
- The dlv tutorial. http://www.dbai.tuwien.ac.at/proj/dlv/tutorial/.Google Scholar
- Lattix. http://www.lattix.com.Google Scholar
- Sonarj. http://www.hello2morrow.com/products/sonarj.Google Scholar
- M. Antkiewicz and K. Czarnecki. Featureplugin: feature modeling plug-in for eclipse. In M. G. Burke, editor, ETX, pages 67--72, 2004. Google Scholar
Digital Library
- G. Antoniou. A tutorial on default logics. ACM Comput. Surv., 31(4):337--359, 1999. Google Scholar
Digital Library
- 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 Scholar
- D. Batory. Feature models, grammars, and propositional formulas. In SPLC 2005, 2005. Google Scholar
Digital Library
- D. Batory, D. Benavides, and A. Ruiz-Cortes. Automated analysis of feature models: challenges ahead. ACM, 49(12):45--47, 2006. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- P. Besnard. Introduction to Default Logic. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 1989. Google Scholar
Digital Library
- D. Beuche. Composition and Construction of Embedded Software Families. PhD thesis, 2003.Google Scholar
- 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 Scholar
Digital Library
- L. Chung, B. A. Nixon, E. Yu, and J. Mylopoulos. Non-Functional Requirements in Software Engineering. Springer, October 1999.Google Scholar
- 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 Scholar
Digital Library
- K. Czarnecki, U. Eisenecker, and K. Czarnecki. Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional, June 2000. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- F. M. Donini, M. lenzerini, D. Nardi, and A. Schaerf. Reasoning in description logics. pages 191--236, 1996. Google Scholar
Digital Library
- M. L. Ginsberg, editor. Readings in nonmonotonic reasoning. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1987. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- J. Hillman and I. Warren. An open framework for dynamic reconfiguration. pages 594--603, 2004.Google Scholar
- N. Janssens. Dynamic Software Reconfiguration in Programmable Networks. PhD thesis, Department of Computer Science, K. U. Leuven, Leuven, Belgium, 2006.Google Scholar
- J.-M. Jézéquel. Model driven design and aspect weaving. Software and System Modeling, 7(2):209--218, 2008.Google Scholar
Cross Ref
- K. Kang, S. Cohen, J. Hess, W. Nowak, and S. Peterson. Feature-Oriented Domain Analysis (FODA) Feasibility Study. 1990.Google Scholar
- K. Kang, J. Lee, and P. Donohoe. Feature-oriented product line engineering. Software, IEEE, 19(4):58--65, Jul/Aug 2002. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- V. Lifschitz. Answer set programming and plan generation. Artificial Intelligence, 138:2002, 2002. Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- K. Moazami-Goudarzi. Consistency preserving dynamic reconfiguration of distributed systems. PhD thesis, 1999.Google Scholar
- V. Myllarniemi, M. Raatikainen, and T. Mannisto. Using a configurator for predictable component composition. pages 47--58, Aug. 2007.Google Scholar
- 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 Scholar
Digital Library
- K. Pohl, G. Böckle, and F. J. van der Linden. Software Product Line Engineering : Foundations, Principles and Techniques. Springer, September 2005. Google Scholar
Digital Library
- C. Prehofer. Feature-oriented programming: A fresh look at objects. In ECOOP, pages 419--443, 1997.Google Scholar
- 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 Scholar
- R. Reiter. A logic for default reasoning. Artificial Intelligence, 13(1-2):81---132, 1980.Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- P.-Y. Schobbens, P. Heymans, and J.-C. Trigaux. Feature diagrams: A survey and a formal semantics. pages 139--148, Sept. 2006.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- C. Szyperski. Component Software. Addison-Wesley, 2002.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- T. T. Tun, Q. Boucher, A. Classen, A. Hubaux, and P. Heymans. Relating requirements and feature configurations: A systematic approach. In SPLC, 2009.Google Scholar
- T. van der Storm. Generic feature-based software composition. In Software Composition, LNCS 4829, pages 66--80. Springer, 2007. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- P. Zave. An experiment in feature engineering. In Programming methodology, pages 353--377. Springer-Verlag NY, Inc., 2003. Google Scholar
Digital Library
Index Terms
Mapping problem-space to solution-space features: a feature interaction approach
Recommendations
Mapping problem-space to solution-space features: a feature interaction approach
GPCE '09: Proceedings of the eighth international conference on Generative programming and component engineeringMapping 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 ...
Quantifying the variability mismatch between problem and solution space
MODELS '22: Proceedings of the 25th International Conference on Model Driven Engineering Languages and SystemsA software product line allows to derive individual software products based on a configuration. As the number of configurations is an indicator for the general complexity of a software product line, automatic #SAT analyses have been proposed to provide ...
Modeling Requirements of Multiple Single Products to Feature Model
AbstractThis work investigates how the requirements of multiple single products can be modeled into a feature model as part of domain engineering process in software product line engineering (SPLE) methodology. It adopts an extractive strategy in devising ...







Comments