Abstract
Software is increasingly individualized to the needs of customers and may have to be adapted to changing contexts and environments after deployment. Therefore, individualized software adaptations may have to be performed. As a large number of variants for affected systems and domains may exist, the creation and deployment of the individualized software should be performed automatically based on the software’s configuration and context. In this paper, we present a toolchain to develop and deploy individualized software adaptations based on Software Product Line (SPL) engineering. In particular, we contribute a description and technical realization of a toolchain ranging from variability modeling over variability realization to variant derivation for the automated deployment of individualized software adaptations. To capture the variability within realization artifacts, we employ delta modeling, a transformational SPL implementation approach. As we aim to fulfill requirements of industrial practice, we employ model-driven engineering using statecharts as realization artifacts. Particular statechart variants are further processed by generating C/C++ code, linking to external code artifacts, compiling and deploying to the target device. To allow for flexible and parallel execution the toolchain is provided within a cloud environment. This way, required variants can automatically be created and deployed to target devices. We show the feasibility of our toolchain by developing the industry-related case of emergency response systems.
The authors of this paper are listed in alphabetical order.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
Magneti Marelli http://www.magnetimarelli.com.
- 7.
- 8.
- 9.
References
Antkiewicz, M., Bąk, K., Murashkin, A., Olaechea, R., Liang, J., Czarnecki, K.: Clafer tools for product line engineering. In: Software Product Line Conference, Tokyo, Japan (2013). Accepted for publication
Apel, S., Kästner, C., Lengauer, C.: FeatureHouse: language-independent, automated software composition. In: Proceedings of the 31st International Conference on Software Engineering, ICSE 2009, pp. 221–231. IEEE Computer Society, Washington, DC (2009)
Apel, S., Leich, T., Rosenmüller, M., Saake, G.: FeatureC++: on the symbiosis of feature-oriented and aspect-oriented programming. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 125–140. Springer, Heidelberg (2005). doi:10.1007/11561347_10
Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. In: Proceedings of ICSE, pp. 187–197. IEEE (2003)
Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. IEEE Trans. Softw. Eng. 30, 355–371 (2004)
Clarke, D., Helvensteijn, M., Schaefer, I.: Abstract delta modeling. ACM SIGPLAN Not. 46(2), 13 (2011)
Greenfield, J., Short, K.: Software factories: assembling applications with patterns, models, frameworks and tools. In: Companion of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2003, pp. 16–27. ACM, New York (2003)
ISO/IEC 9899:1990 - Programming Languages–C. Standard, International Organization for Standardization (1999)
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical report, Carnegie Mellon Software Engineering Institute (1990)
Kang, K.C., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: Form: A feature-oriented reuse method with domain-specific reference architectures. Ann. Softw. Eng. 5(1), 143–168 (1998)
Koscielny, J., Holthusen, S., Schaefer, I., Schulze, S., Bettini, L., Damiani, F.: Deltaj 1.5: delta-oriented programming for java 1.5. In: Proceedings of PPPJ, pp. 63–74. ACM (2014)
Mauro, J., Nieke, M., Seidl, C., Yu, I.C.: Context aware reconfiguration in software product lines. In: Proceedings of the Tenth International Workshop on Variability Modelling of Software-Intensive Systems, VaMoS 2016 (2016)
Nieke, M., Mauro, J., Seidl, C., Yu, I.C.: User profiles for context-aware reconfiguration in software product lines. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016, Part II. LNCS, vol. 9953, pp. 563–578. Springer, Cham (2016)
Nieke, M., Seidl, C., Schuster, S.: Guaranteeing configuration validity in evolving software product lines. In: Proceedings of the Tenth International Workshop on Variability Modelling of Software-intensive Systems, VaMoS 2016, pp. 73–80. ACM, New York (2016)
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering-Foundations, Principles, and Techniques. Springer, Heidelberg (2005)
Prehofer, C.: Feature-oriented programming: a fresh look at objects. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 419–443. Springer, Heidelberg (1997). doi:10.1007/BFb0053389
Schaefer, I., Bettini, L., Bono, V., Damiani, F., Tanzarella, N.: Delta-oriented programming of software product lines. In: Bosch, J., Lee, J. (eds.) SPLC 2010. LNCS, vol. 6287, pp. 77–91. Springer, Heidelberg (2010). doi:10.1007/978-3-642-15579-6_6
Schaefer, I., Rabiser, R., Clarke, D., Bettini, L., Benavides, D., Botterweck, G., Pathak, A., Trujillo, S., Villela, K.: Software diversity: state of the art and perspectives. Int. J. Softw. Tools Technol. Transf. 14(5), 477–495 (2012)
Seidl, C., Schaefer, I., Aßmann, U.: Capturing variability in space, time with hyper feature models. In: Collet, P., Wasowski, A., Weyer, T. (eds.) The Eighth International Workshop on Variability Modelling of oftware-intensive Systems, VaMoS 2014, Sophia Antipolis, France, 22–24 January 2014, pp. 6:1–6:8. ACM (2014)
Seidl, C., Schaefer, I., Aßmann, U.: Deltaecore - A model-based delta language generation framework. In: Modellierung, Wien, Österreich, 19–21 März, pp. 81–96 (2014)
Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., Leich, T.: Featureide: an extensible framework for feature-oriented software development. Sci. Comput. Program. 79, 70–85 (2014)
Acknowledgments
This work was partially supported by the European Commission within the project HyVar (grant agreement H2020-644298), by ICT COST Action IC1402 ARVI (www.cost-arvi.eu), by the DFG (German Research Foundation) under grant SCHA1635/2-2, and by the Ateneo/CSP D16D15000360005 project RunVar. We thank Christoph Seidl from Technische Universität Braunschweig for sharing with us his useful comments and knowledge on DeltaEcore in particular and also the helpful comments of the anonymous reviewers.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Chesta, C. et al. (2016). A Toolchain for Delta-Oriented Modeling of Software Product Lines. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications. ISoLA 2016. Lecture Notes in Computer Science(), vol 9953. Springer, Cham. https://doi.org/10.1007/978-3-319-47169-3_40
Download citation
DOI: https://doi.org/10.1007/978-3-319-47169-3_40
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-47168-6
Online ISBN: 978-3-319-47169-3
eBook Packages: Computer ScienceComputer Science (R0)