skip to main content
research-article

Tailoring dynamic software product lines

Published:22 October 2011Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle Scholar
  2. S. Apel and C. Kästner. An Overview of Feature-Oriented Software Development. Journal of Object Technology (JOT), 8(5):49--84, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Batory, J. N. Sarvela, and A. Rauschmayer. Scaling Step-Wise Refinement. IEEE Trans. Softw. Eng. (TSE), 30(6):355--371, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle Scholar
  9. T. J. Biggerstaff. A Perspective of Generative Reuse. Annals of Software Engineering, 5(1):169--226, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle Scholar
  12. K. Czarnecki and U. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarCross RefCross Ref
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. Hallsteinsen, M. Hinchey, S. Park, and K. Schmid. Dynamic Software Product Lines. Computer, 41(4):93--95, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. I. Mahgoub and M. Ilyas. Smart Dust: Sensor Network Applications, Architecture, and Design. CRC Press, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. K. Pohl, G. Böckle, and F. van der Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarCross RefCross Ref
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle Scholar
  33. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle Scholar
  38. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Tailoring dynamic software product lines

      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

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 47, Issue 3
        GCPE '11
        March 2012
        179 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2189751
        Issue’s Table of Contents
        • cover image ACM Conferences
          GPCE '11: Proceedings of the 10th ACM international conference on Generative programming and component engineering
          October 2011
          194 pages
          ISBN:9781450306898
          DOI:10.1145/2047862

        Copyright © 2011 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 22 October 2011

        Check for updates

        Qualifiers

        • research-article

      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!