Skip to main content

Dealing with Non-Functional Requirements for Adaptive Systems via Dynamic Software Product-Lines

  • Chapter
Software Engineering for Self-Adaptive Systems II

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7475))

Abstract

This paper focuses on the development of adaptive software, i.e., software that can automatically adapt its behavior at run-time in response to changes in the surrounding context in which it is situated. Furthermore, we focus on adaptation that is required to ensure continuous satisfaction of non-functional requirements. We propose that the implementation should be architected as a dynamic software product line (DSPL), whose target configurations can be generated dynamically. We discuss how the DSPL can be verified against non-functional requirements at design time through model checking. We also discuss how at run time the appropriate instance of the DSPL can be selected and dynamically installed and enacted as context changes are detected that can be handled correctly by such instance.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Baier, C., Katoen, J.-P.: Principles of Model Checking (Representation and Mind Series). The MIT Press (2008)

    Google Scholar 

  2. Baresi, L., Ghezzi, C.: The disappearing boundary between development-time and run-time. In: Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research, FoSER 2010, pp. 17–22. ACM, New York (2010)

    Chapter  Google Scholar 

  3. Bencomo, N., Sawyer, P., Blair, G.S., Grace, P.: Dynamically adaptive systems are product lines too: Using model-driven techniques to capture dynamic variability of adaptive systems. In: Workshop on Dynamic Software Product Lines, pp. 23–32 (2008)

    Google Scholar 

  4. Calinescu, R., Kwiatkowska, M.: Using quantitative analysis to implement autonomic it systems. In: Proceedings of the 31st International Conference on Software Engineering, pp. 100–110 (2009)

    Google Scholar 

  5. Cetina, C., Giner, P., Fons, J., Pelechano, V.: Designing and Prototyping Dynamic Software Product Lines: Techniques and Guidelines. In: Bosch, J., Lee, J. (eds.) SPLC 2010. LNCS, vol. 6287, pp. 331–345. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  6. Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.): Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525. Springer, Heidelberg (2009)

    Google Scholar 

  7. Cheng, S.-W., Huang, A.-C., Garlan, D., Schmerl, B.R., Steenkiste, P.: Rainbow: Architecture-based self-adaptation with reusable infrastructure. Computer, 276–277 (2004)

    Google Scholar 

  8. Classen, A., Heymans, P., Schobbens, P.-Y., Legay, A., Raskin, J.-F.: Model checking lots of systems: efficient verification of temporal properties in software product lines. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, ICSE 2010, vol. 1, pp. 335–344. ACM, New York (2010)

    Chapter  Google Scholar 

  9. Clements, P., Northrop, L.: Software product lines: practices and patterns. Addison-Wesley Longman Publishing Co., Inc., Boston (2001)

    Google Scholar 

  10. Daws, C.: Symbolic and parametric model checking of discrete-time markov chains. In: International Colloquium on Theoretical Aspects of Computing, pp. 280–294 (2004)

    Google Scholar 

  11. Elkhodary, A., Esfahani, N., Malek, S.: Fusion: a framework for engineering self-tuning self-adaptive software systems. In: Proceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2010, pp. 7–16 (2010)

    Google Scholar 

  12. Epifani, I., Ghezzi, C., Mirandola, R., Tamburrelli, G.: Model evolution by run-time parameter adaptation. In: Proceedings of the 31st International Conference on Software Engineering, ICSE 2009, pp. 111–121. IEEE Computer Society, Washington, DC (2009)

    Chapter  Google Scholar 

  13. Filieri, A., Ghezzi, C., Tamburrelli, G.: Run-time efficient probabilistic model checking. In: Proceeding of the 33rd International Conference on Software Engineering, ICSE 2011, pp. 341–350. ACM, New York (2011)

    Google Scholar 

  14. Ghezzi, C., Sharifloo, A.M.: Quantitative Verification of Non-functional Requirements with Uncertainty. In: Zamojski, W., Kacprzyk, J., Mazurkiewicz, J., Sugier, J., Walkowiak, T. (eds.) Dependable Computer Systems. AISC, vol. 97, pp. 47–62. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  15. Ghezzi, C., Sharifloo, A.M.: Verifying non-functional properties of software product lines: Towards an efficient approach using parametric model checking. In: Software Product Line Conference, pp. 170–174 (2011)

    Google Scholar 

  16. Ghezzi, C., Tamburrelli, G.: Reasoning on non-functional requirements for integrated services. In: IEEE International Conference on Requirements Engineering, pp. 69–78 (2009)

    Google Scholar 

  17. Hahn, E.M., Hermanns, H., Wachter, B., Zhang, L.: PARAM: A Model Checker for Parametric Markov Models. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 660–664. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  18. Hallsteinsen, S., Hinchey, M., Park, S., Schmid, K.: Dynamic software product lines. Computer 41, 93–95 (2008)

    Article  Google Scholar 

  19. Hallsteinsen, S., Stav, E., Solberg, A., Floch, J.: Using product line techniques to build adaptive systems. In: Proceedings of the 10th International on Software Product Line Conference, pp. 141–150. IEEE Computer Society, Washington, DC (2006)

    Google Scholar 

  20. Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36, 41–50 (2003)

    Article  Google Scholar 

  21. Kim, D., Park, S.: Reinforcement learning-based dynamic adaptation planning method for architecture-based self-managed software. In: International Workshop on Software Engineering for Adaptive and Self-Managing Systems, pp. 76–85 (2009)

    Google Scholar 

  22. Kwiatkowska, M., Norman, G., Parker, D.: Prism: Probabilistic model checking for performance and reliability analysis. ACM Performance Evaluation Review 36(4), 40–45 (2009)

    Article  Google Scholar 

  23. Lee, J., Kang, K.C.: A feature-oriented approach to developing dynamically reconfigurable products in product line engineering. In: International Software Product Line Conference, pp. 131–140 (2006)

    Google Scholar 

  24. Lundesgaard, S.A., Solberg, A., Oldevik, J., France, R., Aagedal, J., Eliassen, F.: Construction and Execution of Adaptable Applications Using an Aspect-Oriented and Model Driven Approach. In: Indulska, J., Raymond, K. (eds.) DAIS 2007. LNCS, vol. 4531, pp. 76–89. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  25. Ma, X., Baresi, L., Ghezzi, C., Panzica La Manna, V. Luy, J.: Version-consistent dynamic reconfiguration of component-based distributed systems. In: Proceedings of ESEC/FSE 2011, pp. 245–255. ACM (2011)

    Google Scholar 

  26. McKinley, P.K., Sadjadi, S.M., Kasten, E.P., Cheng, B.H.C.: Composing adaptive software. Computer 37, 56–64 (2004)

    Article  Google Scholar 

  27. Morin, B., Barais, O., Jezequel, J.-M., Fleurey, F., Solberg, A.: Models@ runtime to support dynamic adaptation. Computer 42, 44–51 (2009)

    Article  Google Scholar 

  28. Parra, C., Blanc, X., Cleve, A., Duchien, L.: Unifying design and runtime software adaptation using aspect models. Sci. Comput. Program. 76, 1247–1260 (2011)

    Article  Google Scholar 

  29. Pohl, K., Bckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Heidelberg (2005)

    Book  MATH  Google Scholar 

  30. Trinidad, P., Cortes, A.R., Pena, J., Benavides, D.: Mapping feature models onto component models to build dynamic software product lines. In: Workshop on Dynamic Software Product Lines, pp. 51–56 (2007)

    Google Scholar 

  31. Van Lamsweerde, A.: Requirements engineering: from system goals to UML models to software specifications. Wiley, Chichester (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Ghezzi, C., Molzam Sharifloo, A. (2013). Dealing with Non-Functional Requirements for Adaptive Systems via Dynamic Software Product-Lines. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds) Software Engineering for Self-Adaptive Systems II. Lecture Notes in Computer Science, vol 7475. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35813-5_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-35813-5_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-35812-8

  • Online ISBN: 978-3-642-35813-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics