A Toolchain for Delta-Oriented Modeling of Software Product Lines

  • Cristina Chesta
  • Ferruccio Damiani
  • Liudmila Dobriakova
  • Marco Guernieri
  • Simone Martini
  • Michael Nieke
  • Vítor Rodrigues
  • Sven Schuster
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9953)

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.

Keywords

Software Product Lines Delta modeling Model-driven engineering Statecharts 

References

  1. 1.
    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 publicationGoogle Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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 CrossRefGoogle Scholar
  4. 4.
    Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. In: Proceedings of ICSE, pp. 187–197. IEEE (2003)Google Scholar
  5. 5.
    Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. IEEE Trans. Softw. Eng. 30, 355–371 (2004)CrossRefGoogle Scholar
  6. 6.
    Clarke, D., Helvensteijn, M., Schaefer, I.: Abstract delta modeling. ACM SIGPLAN Not. 46(2), 13 (2011)CrossRefMATHGoogle Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    ISO/IEC 9899:1990 - Programming Languages–C. Standard, International Organization for Standardization (1999)Google Scholar
  9. 9.
    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)Google Scholar
  10. 10.
    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)CrossRefGoogle Scholar
  11. 11.
    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)Google Scholar
  12. 12.
    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)Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering-Foundations, Principles, and Techniques. Springer, Heidelberg (2005)Google Scholar
  16. 16.
    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 Google Scholar
  17. 17.
    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 CrossRefGoogle Scholar
  18. 18.
    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)CrossRefGoogle Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    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)Google Scholar
  21. 21.
    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)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Cristina Chesta
    • 1
  • Ferruccio Damiani
    • 2
  • Liudmila Dobriakova
    • 1
  • Marco Guernieri
    • 1
  • Simone Martini
    • 3
  • Michael Nieke
    • 4
  • Vítor Rodrigues
    • 2
  • Sven Schuster
    • 4
  1. 1.Santer Reply S.p.A.TurinItaly
  2. 2.Universitá degli Studi di TorinoTurinItaly
  3. 3.Magneti Marelli S.p.A.TurinItaly
  4. 4.Technische Universität BraunschweigBraunschweigGermany

Personalised recommendations