Advertisement

Software & Systems Modeling

, Volume 16, Issue 1, pp 125–152 | Cite as

Specification and automated validation of staged reconfiguration processes for dynamic software product lines

  • Malte Lochau
  • Johannes Bürdek
  • Stefan Hölzle
  • Andy Schürr
Theme Section Paper

Abstract

Dynamic software product lines (DSPLs) propose elaborated design and implementation principles for engineering highly configurable runtime-adaptive systems in a sustainable and feature-oriented way. For this, DSPLs add to classical software product lines (SPL) the notions of (1) staged (pre-)configurations with dedicated binding times for each individual feature, and (2) continuous runtime reconfigurations of dynamic features throughout the entire product life cycle. Especially in the context of safety- and mission-critical systems, the design of reliable DSPLs requires capabilities for accurately specifying and validating arbitrary complex constraints among configuration parameters and/or respective reconfiguration options. Compared to classical SPL domain analysis which is usually based on Boolean constraint solving, DSPL validation, therefore, further requires capabilities for checking temporal properties of reconfiguration processes. In this article, we present a comprehensive approach for modeling and automatically verifying essential validity properties of staged reconfiguration processes with complex binding time constraints during DSPL domain engineering. The novel modeling concepts introduced are motivated by (re-)configuration constraints apparent in a real-world industrial case study from the automation engineering domain, which are not properly expressible and analyzable using state-of-the-art SPL domain modeling approaches. We present a prototypical tool implementation based on the model checker SPIN and present evaluation results obtained from our industrial case study, demonstrating the applicability of the approach.

Keywords

Dynamic software product lines  Staged configuration  Model-based domain engineering and validation Model checking 

Notes

Acknowledgments

This work was partially supported by the DFG (German Research Foundation) under the Priority Programme SPP 1593: Design For Future—Managed Software Evolution.

References

  1. 1.
    Froschauer, R., Dhungana, D., Grünbacher, P.: Managing the life-cycle of industrial automation systems with product line variability models. In: 34th EUROMICRO Conference on Software Engineering and Advanced Applications, IEEE, pp. 35–42 (2008)Google Scholar
  2. 2.
    Maga, C., Jazdi, N.: An approach for modeling variants of industrial automation systems. In: AQTR, IEEE, pp. 1–6 (2010)Google Scholar
  3. 3.
    Feldmann, S., Fuchs, J., Vogel-Heuser, B.: Modularity, variant and version management in plant automation—future challenges and state of the art. In: International Design Conference (DESIGN). Springer, pp. 1689–1698 (2012)Google Scholar
  4. 4.
    Lochau, M., Bürdek, J., Lity, S., Hagner, M., Legat, C., Goltz, U., Schürr, A.: Applying model-based software product line testing approaches to the automation engineering domain. Automatisierungstechnik 62, 771–780 (2014)CrossRefGoogle Scholar
  5. 5.
    Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional, Reading (2000)Google Scholar
  6. 6.
    Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Berlin (2005)CrossRefMATHGoogle Scholar
  7. 7.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley Longman, Reading (2001)Google Scholar
  8. 8.
    Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, S.A.: Feature Oriented Domain Analysis (FODA). Technical report, CMU (1990)Google Scholar
  9. 9.
    Benavides, D., Segura, S., Ruiz-Cortés, A.: Automated analysis of feature models 20 years later: a literature review. Inf. Syst. 35, 615–636 (2010)CrossRefGoogle Scholar
  10. 10.
    Benavides, D., Trinidad, P., Ruiz-Cortés, A.: Automated reasoning on feature models. In: CAiSE. Springer, pp. 491–503 (2005)Google Scholar
  11. 11.
    Hubaux, A., Classen, A., Heymans, P.: Formal modelling of feature configuration workflows. In: SPLC, ACM, pp. 221–230 (2009)Google Scholar
  12. 12.
    Mendonça, M., Wasowski, A., Czarnecki, K.: SAT-based analysis of feature models is easy. In: SPLC, ACM, pp. 231–240 (2009)Google Scholar
  13. 13.
    Hallsteinsen, S., Hinchey, M., Park, S., Schmid, K.: Dynamic software product lines. Computer 41, 93–95 (2008)CrossRefGoogle Scholar
  14. 14.
    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: SPLC, ACM, pp. 23–32 (2008)Google Scholar
  15. 15.
    Bencomo, N., Hallsteinsen, S., Santana de Almeida, E.: A view of the dynamic software product line landscape. Computer 45, 36–41 (2012)CrossRefGoogle Scholar
  16. 16.
    Czarnecki, K., Helsen, S., Ulrich, E.: Staged configuration using feature models. In: SPLC. Springer, pp. 266–283 (2004)Google Scholar
  17. 17.
    Bürdek, J., Lity, S., Lochau, M., Berens, M., Goltz, U., Schürr, A.: Staged configuration of dynamic software product lines with complex binding time constraints. In: Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems. VaMoS, ACM, pp. 16:1–16:8 (2013)Google Scholar
  18. 18.
    Saller, K., Lochau, M., Reimund, I.: Context-aware DSPLs: model-based runtime adaptation for resource-constrained systems. In: SPLC, ACM pp. 106–113 (2013)Google Scholar
  19. 19.
    Heidelberg University Hospital: Heidelberg Ion-Beam Therapy Center. http://www.klinikum.uni-heidelberg.de/Welcome.113005.0.html?&L=1 (2013)
  20. 20.
    Rosenmüller, M., Siegmund, N., Pukall, M., Apel, S.: Combining Runtime Adaptation and Static Binding in Dynamic Software Product Lines. Technical Report 02, University of Magdeburg (2011)Google Scholar
  21. 21.
    Rosenmüller, M., Siegmund, N., Saake, G., Apel, S.: Code generation to support static and dynamic composition of software product lines. In: GPCE, ACM, pp. 3–12 (2008)Google Scholar
  22. 22.
    Rosenmüller, M., Siegmund, N., Apel, S., Saake, G.: Flexible feature binding in software product lines. Autom. Softw. Eng. 18, 163–197 (2011)CrossRefGoogle Scholar
  23. 23.
    Batory, D.: Feature models, grammars, and propositional formulas. In: SPLC, ACM, pp. 7–20 (2005)Google Scholar
  24. 24.
    Schobbens, P.Y., Heymans, P., Trigaux, J.C.: Feature diagrams: a survey and a formal semantics. In: RE, IEEE pp. 139–148 (2006)Google Scholar
  25. 25.
    Heymans, P., Schobbens, P.Y., Trigaux, J.C., Bontemps, Y., Matulevicius, R., Classen, A.: Evaluating formal properties of feature diagram languages. IET Softw. 2, 281–302 (2008)CrossRefGoogle Scholar
  26. 26.
    Schroeter, J., Lochau, M., Winkelmann, T.: Multi-perspectives on feature models. In: MODELS. Springer, pp. 252–268 (2012)Google Scholar
  27. 27.
    Karataş, A.S., Oğuztüzün, H., Doğru, A.: From extended feature models to constraint logic programming. Sci. Comput. Program. 78, 2295–2312 (2013)CrossRefGoogle Scholar
  28. 28.
    Passos, L.T., Berger, T., Novakovic, M., Czarnecki, K., Xiong, Y., Wasowski, A.: A study of non-boolean constraints in variability models of an embedded operating system. In: SPLC, pp. 21–28 (2011)Google Scholar
  29. 29.
    Classen, A., Hubaux, A., Heymans, P.: A formal semantics for multi-level staged configuration. In: VaMoS, pp. 51–60 (2009)Google Scholar
  30. 30.
    Classen, A., Hubaux, A., Heymans, P.: Analysis of feature configuration workflows. In: RE, IEEE, pp. 381–382 (2009)Google Scholar
  31. 31.
    White, J., Dougherty, B., Schmidt, D.C., Benavides, D.: Automated reasoning for multi-step feature model configuration problems. In: SPLC, CMU, pp. 11–20 (2009)Google Scholar
  32. 32.
    Mennicke, S., Lochau, M., Schroeter, J., Winkelmann, T.: Automated verification of feature model configuration processes based on workflow petri nets. In: SPLC, ACM, pp. 62–71 (2014)Google Scholar
  33. 33.
    Post, H., Sinz, C.: Configuration lifting: verification meets software configuration. In: ASE, pp. 347–350 (2008)Google Scholar
  34. 34.
    Helvensteijn, M.: Dynamic delta modeling. In: SPLC, ACM, pp. 127–134 (2012)Google Scholar
  35. 35.
    Damiani, F., Schaefer, I.: Dynamic delta-oriented programming. In: SPLC, ACM, pp. 34:1–34:8 (2011)Google Scholar
  36. 36.
    Benavides, D., Segura, S., Martín-Arroyo, P.T., Cortés, A.R.: Using Java CSP solvers in the automated analyses of feature models. In: GTTSE. Springer, pp. 399–408 (2006)Google Scholar
  37. 37.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  38. 38.
    Runeson, P., Hst, M.: Guidelines for conducting and reporting case study research in software engineering. Empir. Softw. Eng. 14, 131–164 (2009)Google Scholar
  39. 39.
    Czarnecki, K., Helsen, S., Eisenecker, U.: Staged configuration through specialization and multi-level configuration of feature models. Softw. Process Improv. Pract. 10, 143–169 (2005)CrossRefGoogle Scholar
  40. 40.
    Mei, H., Zhang, W., Gu, F.: A feature oriented approach to modeling and reusing requirements of software product lines. In: COMPSAC, IEEE, pp. 250–256 (2003)Google Scholar
  41. 41.
    Acher, M., Collet, P., Lahire, P., France, R.: Separation of concerns in feature modeling: support and applications. In: AOSD, ACM, pp. 1–12 (2012)Google Scholar
  42. 42.
    Schroeter, J., Mucha, P., Muth, M., Jugel, K., Lochau, M.: Dynamic configuration management of cloud-based applications. In: SPLC, ACM, pp. 171–178 (2012)Google Scholar
  43. 43.
    Hubaux, A., Heymans, P., Schobbens, P.Y.: Supporting Multiple Perspectives in Feature-based Configuration: Foundations. Technical Report P-CS-TR MPFD-000001, PReCISE Research Centre, Univ. of Namur (2010)Google Scholar
  44. 44.
    Hubaux, A., Heymans, P., Schobbens, P.Y., Deridder, D.: Towards multi-view feature-based configuration. In: REFSQ. Springer, pp. 106–112 (2010)Google Scholar
  45. 45.
    Mendonça, M., Cowan, D.D., de Oliveira, T.C.: A process-centric approach for coordinating product configuration decisions. In: HICSS, IEEE, p. 283 (2007)Google Scholar
  46. 46.
    Abbasi, E.K., Hubaux, A., Heymans, P.: A toolset for feature-based configuration workflows. In: SPLC, IEEE, pp. 65–69 (2011)Google Scholar
  47. 47.
    Botterweck, G., Nestor, D.: Towards supporting feature configuration by interactive visualisation. In: ViSPLE (2007)Google Scholar
  48. 48.
    Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques: research articles. Softw. Pract. Exp. 35, 705–754 (2005)CrossRefGoogle Scholar
  49. 49.
    Hinchey, M., Park, S., Schmid, K.: Building dynamic software product lines. Computer 45, 22–26 (2012)CrossRefGoogle Scholar
  50. 50.
    Saller, K., Oster, S., Schürr, A., Schroeter, J., Lochau, M.: Reducing feature models to improve runtime adaptivity on resource limited devices. In: SPLC, ACM, pp. 135–142 (2012)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Malte Lochau
    • 1
  • Johannes Bürdek
    • 1
  • Stefan Hölzle
    • 1
  • Andy Schürr
    • 1
  1. 1.Real-Time Systems LabTU DarmstadtDarmstadtGermany

Personalised recommendations