Abstract
Software product lines (SPLs) and adaptive systems aim at variability to cope with changing requirements. Variability can be described in terms of features, which are central for development and configuration of SPLs. In traditional SPLs, features are bound statically before runtime. By contrast, adaptive systems support feature binding at runtime and are sometimes called dynamic SPLs (DSPLs). DSPLs are usually built from coarse-grained components, which reduces the number of possible application scenarios. To overcome this limitation, we closely integrate static binding of traditional SPLs and runtime adaptation of DSPLs. We achieve this integration by statically generating a tailor-made DSPL from a highly customizable SPL. The generated DSPL provides only the runtime variability required by a particular application scenario and the execution environment. The DSPL supports self-configuration based on coarse-grained modules. We provide a feature-based adaptation mechanism that reduces the effort of computing an optimal configuration at runtime. In a case study, we demonstrate the practicability of our approach and show that a seamless integration of static binding and runtime adaptation reduces the complexity of the adaptation process.
- V. Alves, D. Schneider, M. Becker, N. Bencomo, and P. Grace. Comparitive Study of Variability Management in Software Product Lines and Runtime Adaptable Systems. In Proc. Workshop on Variability Modelling of Software-intensive Systems (VaMoS), pages 9--17. University of Duisburg-Essen, 2009.Google Scholar
- S. Apel and C. Kästner. An Overview of Feature-Oriented Software Development. Journal of Object Technology (JOT), 8(5):49--84, 2009.Google Scholar
Cross Ref
- S. Apel, C. Kästner, A. Größlinger, and C. Lengauer. Type Safety for Feature-oriented Product Lines. Automated Software Engineering, 17(3):251--300, 2010. Google Scholar
Digital Library
- S. Apel, T. Leich, M. Rosenmüller, and G. Saake. FeatureC++: On the Symbiosis of Feature-Oriented and Aspect-Oriented Programming. In Proc. Int'l. Conf. Generative Programming and Component Eng. (GPCE), volume 3676 of LNCS, pages 125--140. Springer, 2005. Google Scholar
Digital Library
- D. Batory. Feature Models, Grammars, and Propositional Formulas. In Proc. Int'l. Software Product Line Conf. (SPLC), volume 3714 of LNCS, pages 7--20. Springer, 2005. Google Scholar
Digital Library
- D. Batory, J. N. Sarvela, and A. Rauschmayer. Scaling Step-Wise Refinement. IEEE Trans. Softw. Eng. (TSE), 30(6):355--371, 2004. Google Scholar
Digital Library
- D. Benavides, A. Ruiz-Cortés, and P. Trinidad. Automated Reasoning on Feature Models. In Proc. Int'l. Conf. Advanced Information Systems Engineering (CAiSE), volume 3520 of LNCS, pages 491--503. Springer, 2005. Google Scholar
Digital Library
- N. Bencomo, P. Sawyer, G. S. Blair, and P. Grace. Dynamically Adaptive Systems are Product Lines too: Using Model-Driven Techniques to Capture Dynamic Variability of Adaptive Systems. In Proc. Int'l. Software Product Line Conf. (SPLC), pages 23--32. IEEE CS, 2008.Google Scholar
- T. J. Biggerstaff. A Perspective of Generative Reuse. Annals of Software Engineering, 5(1):169--226, 1998. Google Scholar
Digital Library
- C. Cetina, P. Giner, J. Fons, and V. Pelechano. Using Feature Models for Developing Self-Configuring Smart Homes. In Proc. of Int'l. Conf. Autonomic and Autonomous Systems (ICAS), pages 179--188. IEEE CS, 2009. Google Scholar
Digital Library
- B. D. Claas Wilke, Jens Dietrich. Event-Driven Verification in Dynamic Component Models. In Proc. Int'l. Workshop on Component-Oriented Programming (WCOP), pages 79--86. Karlsruher Institut für Technologie (KIT), 2010.Google Scholar
- K. Czarnecki and U. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, 2000. Google Scholar
Digital Library
- K. Czarnecki, S. Helsen, and U. Eisenecker. Staged Configuration Using Feature Models. In Proc. Int'l. Software Product Line Conf. (SPLC), volume 3154 of LNCS, pages 266--283. Springer, 2004.Google Scholar
Cross Ref
- J. Floch, S. Hallsteinsen, E. Stav, F. Eliassen, K. Lund, and E. Gjorven. Using Architecture Models for Runtime Adaptability. IEEE Software, 23(2):62--70, 2006. Google Scholar
Digital Library
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995. Google Scholar
Digital Library
- D. Garlan, S.-W. Cheng, A.-C. Huang, B. Schmerl, and P. Steenkiste. Rainbow: Architecture-Based Self Adaptation with Reusable Infrastructure. Computer, 37(10):46--54, 2004. Google Scholar
Digital Library
- M. L. Griss. Implementing Product-Line Features with Component Reuse. In Proc. Int'l. Conf. Software Reuse (ICSR), volume 1844 of LNCS, pages 137--152. Springer, 2000. Google Scholar
Digital Library
- S. Hallsteinsen, M. Hinchey, S. Park, and K. Schmid. Dynamic Software Product Lines. Computer, 41(4):93--95, 2008. Google Scholar
Digital Library
- S. Hallsteinsen, E. Stav, A. Solberg, and J. Floch. Using Product Line Techniques to Build Adaptive Systems. In Proc. Int'l. Software Product Line Conf. (SPLC), pages 141--150. IEEE CS, 2006. Google Scholar
Digital Library
- H. Härtig, S. Zschaler, M. Pohlack, R. Aigner, S. Göbel, C. Pohl, and S. Röttger. Enforceable Component-based Realtime Contracts. Real-Time Systems, 35(1):1--31, 2007. Google Scholar
Digital Library
- J. Lee and K. C. Kang. A Feature-Oriented Approach to Developing Dynamically Reconfigurable Products in Product Line Engineering. In Proc. Int'l. Software Product Line Conf. (SPLC), pages 131--140. IEEE CS, 2006. Google Scholar
Digital Library
- J. Liu, D. Batory, and C. Lengauer. Feature-Oriented Refactoring of Legacy Applications. In Proc. Int'l. Conf. Software Engineering (ICSE), pages 112--121. ACM Press, 2006. Google Scholar
Digital Library
- I. Mahgoub and M. Ilyas. Smart Dust: Sensor Network Applications, Architecture, and Design. CRC Press, 2006. Google Scholar
Digital Library
- M. Mendonca, A. Wasowski, and K. Czarnecki. SAT-based Analysis of Feature Models is Easy. In Proc. Int'l. Software Product Line Conf. (SPLC), pages 231--240. Software Engineering Institute, 2009. Google Scholar
Digital Library
- B. Morin, O. Barais, J.-M. Jezequel, F. Fleurey, and A. Solberg. Models at Runtime to Support Dynamic Adaptation. Computer, 42(10):44--51, 2009. Google Scholar
Digital Library
- I. Neamtiu, M. Hicks, G. Stoyle, and M. Oriol. Practical Dynamic Software Updating for C. In Proc. Int'l. Conf. Programming Language Design and Implementation (PLDI), pages 72--83. ACM Press, 2006. Google Scholar
Digital Library
- P. Oreizy, M. M. Gorlick, R. N. Taylor, D. Heimbigner, G. Johnson, N. Medvidovic, A. Quilici, D. S. Rosenblum, and A. L. Wolf. An Architecture-based Approach to Self-adaptive Software. IEEE Intelligent Systems, 14(3):54--62, 1999. Google Scholar
Digital Library
- K. Pohl, G. Böckle, and F. van der Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer, 2005. Google Scholar
Digital Library
- C. Prehofer. Feature-Oriented Programming: A Fresh Look at Objects. In Proc. Europ. Conf. Object-Oriented Programming (ECOOP), volume 1241 of LNCS, pages 419--443. Springer, 1997.Google Scholar
Cross Ref
- M. Rosenmüller, N. Siegmund, S. Apel, and G. Saake. Flexible Feature Binding in Software Product Lines. Automated Software Engineering, 18(2):163--197, 2011. Google Scholar
Digital Library
- M. Rosenmüller, N. Siegmund, T. Thüm, and G. Saake. Multi-Dimensional Variability Modeling. In Proc. Workshop on Variability Modelling of Software-intensive Systems (VaMoS), pages 11--20. ACM Press, 2011. Google Scholar
Digital Library
- K. Schmid and H. Eichelberger. From Static to Dynamic Software Product Lines. In Int'l. Workshop on Dynamic Software Product Lines (DSPL), pages 33--38. IEEE CS, 2008.Google Scholar
- N. Siegmund, M. Rosenmüller, C. Kästner, P. Giarrusso, S. Apel, and S. Kolesnikov. Scalable Prediction of Non-functional Properties in Software Product Lines. In Proc. of Int'l. Software Product Lines Conf. (SPLC), 2011. to appear. Google Scholar
Digital Library
- N. Siegmund, M. Rosenmüller, M. Kuhlemann, C. Kästner, S. Apel, and G. Saake. SPL Conqueror: Toward Optimization of Non-functional Properties in Software Product Lines. Software Quality Journal, to appear, 2011. Google Scholar
Digital Library
- A. Tešanović, K. Sheng, and J. Hansson. Application-Tailored Database Systems: A Case of Aspects in an Embedded Database. In Proc. of Int'l. Database Engineering and Applications Symposium (IDEAS), pages 291--301. IEEE CS, 2004. Google Scholar
Digital Library
- T. Thüm, D. Batory, and C. Kästner. Reasoning about Edits to Feature Models. In Proc. Int'l. Conf. Software Engineering (ICSE), pages 254--264. IEEE CS, 2009. Google Scholar
Digital Library
- P. Trinidad, A. Ruiz-Cortés, and J. Peña. Mapping Feature Models onto Component Models to Build Dynamic Software Product Lines. In Int'l. Workshop on Dynamic Software Product Lines (DSPL), pages 51--56. Kindai Kagaku Sha Co. Ltd., 2007.Google Scholar
- J. White, B. Dougherty, and D. C. Schmidt. Selecting Highly Optimal Architectural Feature Sets with Filtered Cartesian Flattening. Journal of Systems and Software, 82(8):1268--1284, 2009. Google Scholar
Digital Library
Index Terms
Tailoring dynamic software product lines
Recommendations
Tailoring dynamic software product lines
GPCE '11: Proceedings of the 10th ACM international conference on Generative programming and component engineeringSoftware product lines (SPLs) and adaptive systems aim at variability to cope with changing requirements. Variability can be described in terms of features, which are central for development and configuration of SPLs. In traditional SPLs, features are ...
Flexible feature binding in software product lines
A software product line (SPL) is a family of programs that share assets from a common code base. The programs of an SPL can be distinguished in terms of features, which represent units of program functionality that satisfy stakeholders' requirements. ...
Variant-preserving refactoring in feature-oriented software product lines
VaMoS '12: Proceedings of the 6th International Workshop on Variability Modeling of Software-Intensive SystemsA software product line (SPL) is an advanced concept to manage a family of programs under one umbrella. As with stand-alone programs, maintenance is an important challenge within SPL engineering. One pivotal activity during software maintenance is ...







Comments