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.


















Similar content being viewed by others
References
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)
Maga, C., Jazdi, N.: An approach for modeling variants of industrial automation systems. In: AQTR, IEEE, pp. 1–6 (2010)
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)
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)
Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional, Reading (2000)
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Berlin (2005)
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley Longman, Reading (2001)
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, S.A.: Feature Oriented Domain Analysis (FODA). Technical report, CMU (1990)
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)
Benavides, D., Trinidad, P., Ruiz-Cortés, A.: Automated reasoning on feature models. In: CAiSE. Springer, pp. 491–503 (2005)
Hubaux, A., Classen, A., Heymans, P.: Formal modelling of feature configuration workflows. In: SPLC, ACM, pp. 221–230 (2009)
Mendonça, M., Wasowski, A., Czarnecki, K.: SAT-based analysis of feature models is easy. In: SPLC, ACM, pp. 231–240 (2009)
Hallsteinsen, S., Hinchey, M., Park, S., Schmid, K.: Dynamic software product lines. Computer 41, 93–95 (2008)
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)
Bencomo, N., Hallsteinsen, S., Santana de Almeida, E.: A view of the dynamic software product line landscape. Computer 45, 36–41 (2012)
Czarnecki, K., Helsen, S., Ulrich, E.: Staged configuration using feature models. In: SPLC. Springer, pp. 266–283 (2004)
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)
Saller, K., Lochau, M., Reimund, I.: Context-aware DSPLs: model-based runtime adaptation for resource-constrained systems. In: SPLC, ACM pp. 106–113 (2013)
Heidelberg University Hospital: Heidelberg Ion-Beam Therapy Center. http://www.klinikum.uni-heidelberg.de/Welcome.113005.0.html?&L=1 (2013)
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)
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)
Rosenmüller, M., Siegmund, N., Apel, S., Saake, G.: Flexible feature binding in software product lines. Autom. Softw. Eng. 18, 163–197 (2011)
Batory, D.: Feature models, grammars, and propositional formulas. In: SPLC, ACM, pp. 7–20 (2005)
Schobbens, P.Y., Heymans, P., Trigaux, J.C.: Feature diagrams: a survey and a formal semantics. In: RE, IEEE pp. 139–148 (2006)
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)
Schroeter, J., Lochau, M., Winkelmann, T.: Multi-perspectives on feature models. In: MODELS. Springer, pp. 252–268 (2012)
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)
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)
Classen, A., Hubaux, A., Heymans, P.: A formal semantics for multi-level staged configuration. In: VaMoS, pp. 51–60 (2009)
Classen, A., Hubaux, A., Heymans, P.: Analysis of feature configuration workflows. In: RE, IEEE, pp. 381–382 (2009)
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)
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)
Post, H., Sinz, C.: Configuration lifting: verification meets software configuration. In: ASE, pp. 347–350 (2008)
Helvensteijn, M.: Dynamic delta modeling. In: SPLC, ACM, pp. 127–134 (2012)
Damiani, F., Schaefer, I.: Dynamic delta-oriented programming. In: SPLC, ACM, pp. 34:1–34:8 (2011)
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)
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)
Runeson, P., Hst, M.: Guidelines for conducting and reporting case study research in software engineering. Empir. Softw. Eng. 14, 131–164 (2009)
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)
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)
Acher, M., Collet, P., Lahire, P., France, R.: Separation of concerns in feature modeling: support and applications. In: AOSD, ACM, pp. 1–12 (2012)
Schroeter, J., Mucha, P., Muth, M., Jugel, K., Lochau, M.: Dynamic configuration management of cloud-based applications. In: SPLC, ACM, pp. 171–178 (2012)
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)
Hubaux, A., Heymans, P., Schobbens, P.Y., Deridder, D.: Towards multi-view feature-based configuration. In: REFSQ. Springer, pp. 106–112 (2010)
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)
Abbasi, E.K., Hubaux, A., Heymans, P.: A toolset for feature-based configuration workflows. In: SPLC, IEEE, pp. 65–69 (2011)
Botterweck, G., Nestor, D.: Towards supporting feature configuration by interactive visualisation. In: ViSPLE (2007)
Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques: research articles. Softw. Pract. Exp. 35, 705–754 (2005)
Hinchey, M., Park, S., Schmid, K.: Building dynamic software product lines. Computer 45, 22–26 (2012)
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)
Acknowledgments
This work was partially supported by the DFG (German Research Foundation) under the Priority Programme SPP 1593: Design For Future—Managed Software Evolution.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Andrzej Wąsowski and Thorsten Weyer.
Rights and permissions
About this article
Cite this article
Lochau, M., Bürdek, J., Hölzle, S. et al. Specification and automated validation of staged reconfiguration processes for dynamic software product lines. Softw Syst Model 16, 125–152 (2017). https://doi.org/10.1007/s10270-015-0470-4
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-015-0470-4