Advertisement

Same Same But Different: Interoperability of Software Product Line Variants

  • Ferruccio Damiani
  • Reiner HähnleEmail author
  • Eduard Kamburjan
  • Michael Lienhardt
Chapter

Abstract

Software Product Lines (SPLs) are an established area of research providing approaches to describe multiple variants of a software product by representing them as a highly variable system. Multi-SPLs (MPLs) are an emerging area of research addressing approaches to describe sets of interdependent, highly variable systems, that are typically managed and developed in a decentralized fashion. Current approaches do not offer a mechanism to manage and orchestrate multiple variants from one product line within the same application. We experienced the need for such a mechanism in an industry project with Deutsche Bahn, where we do not merely model a highly variable system, but a system with highly variable subsystems. Based on MPL concepts and delta-oriented oriented programming, we present a novel solution to the design challenges arising from having to manage and interoperate multiple subsystems with multiple variants: how to reference variants, how to avoid name or type clashes, and how to keep variants interoperable.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Notes

Acknowledgements

This work is supported by FormbaR, part of AG Signalling/DB Raillab (formbar.raillab.de); EU Horizon 2020 project HyVar (www.hyvar-project.eu), GA No. 644298; and ICT COST Action IC1402 ARVI (www.cost-arvi.eu).

References

  1. 1.
    Mathieu Acher et al. “Slicing feature models”. In: 26th IEEE/ACM International Conference on Automated Software Engineering, (ASE), 2011. 2011, pp. 424–427.  https://doi.org/10.1109/ASE.2011.6100089.
  2. 2.
    Sven Apel et al. Feature-Oriented Software Product Lines: Concepts and Implementation. Springer, 2013, pp. I–XVI, 1–315. ISBN: 978-3-642-37520-0.Google Scholar
  3. 3.
    Don Batory, Jacob Neal Sarvela, and Axel Rauschmayer. “Scaling Step-Wise Refinement”. In: IEEE Transactions on Software Engineering 30 (2004), pp. 355–371. ISSN: 0098-5589.  https://doi.org/10.1109/TSE.2004.23.CrossRefGoogle Scholar
  4. 4.
    Lorenzo Bettini, Ferruccio Damiani, and Ina Schaefer. “Compositional type checking of delta-oriented software product lines”. In: Acta Informatica 50.2 (2013), pp. 77–122. ISSN: 1432-0525. https://doi.org/10.1007/s00236-012-0173-z.MathSciNetCrossRefGoogle Scholar
  5. 5.
    P. Clements and L. Northrop. Software Product Lines: Practices & Patterns. Addison Wesley Longman, 2001.Google Scholar
  6. 6.
    Ferruccio Damiani and Michael Lienhardt. “On Type Checking Delta-Oriented Product Lines”. In: Integrated Formal Methods - 12th International Conference, IFM 2016, Reykjavik, Iceland, June 1–5, 2016, Proceedings Vol. 9681. Lecture Notes in Computer Science. Springer, 2016, pp. 47–62. ISBN: 978-3-319-33692-3. https://doi.org/10.1007/978-3-319-33693-0_4.Google Scholar
  7. 7.
    Ferruccio Damiani, Michael Lienhardt, and Luca Paolini. “A Formal Model for Multi SPLs”. In: FSEN. Vol. 10522. Lecture Notes in Computer Science. Springer, 2017, pp. 67–83.Google Scholar
  8. 8.
    Ferruccio Damiani and Ina Schaefer. “Family-Based Analysis of Type Safety for Delta Oriented Software Product Lines”. English. In: Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change. Ed. by Tiziana Margaria and Bernhard Steffen. Vol. 7609. Lecture Notes in Computer Science. Springer Berlin Heidelberg, 2012, pp. 193–207. ISBN: 978-3-642-34025-3. https://doi.org/10.1007/978-3-642-34026-0_15.CrossRefGoogle Scholar
  9. 9.
    Ferruccio Damiani, Ina Schaefer, and Tim Winkelmann. “Delta-oriented Multi Software Product Lines”. In: Proceedings of the 18th International Software Product Line Conference Volume 1. SPLC ’14. Florence, Italy: ACM, 2014, pp. 232–236. ISBN: 978-1-4503-2740-4. https://doi.org/10.1145/2648511.2648536.
  10. 10.
    Ferruccio Damiani et al. “A Unified and Formal Programming Model for Deltas and Traits”. In: Fundamental Approaches to Software Engineering 20th International Conference FASE 2017, Held as Part of the European Joint Conferences on Theory and Practice of Software ETAPS 2017, Uppsala, Sweden, April 22–29, 2017, Proceedings. Vol. 10202. Lecture Notes in Computer Science. Springer, 2017, pp. 424–441. URL: https://doi.org/10.1007/978-3-662-54494-5_25.CrossRefGoogle Scholar
  11. 11.
    Ferruccio Damiani et al. “An Extension of the ABS Toolchain with a Mechanism for Type Checking SPLs”. In: Integrated Formal Methods - 13th International Conference IFM 2017, Turin, Italy, September 20–22, 2017, Proceedings. Vol. 10510. Lecture Notes in Computer Science. Springer, 2017, pp. 111–126. ISBN: 978-3-319-66844-4. https://doi.org/10.1007/978-3-319-66845-1_8. URL: https://doi.org/10.1007/978-3-319-66845-1_8
  12. 12.
    Ferruccio Damiani, Reiner Hähnle, Eduard Kamburjan, and Michael Lienhardt. “Interoperability of Software Product Line Variants”. In: Proc. 22nd Intl. Systems and Software Product Line Conference (SPLC). Gothenburg, Sweden: ACM, 2018.Google Scholar
  13. 13.
    Reiner Hähnle. “The Abstract Behavioral Specification Language: A Tutorial Introduction”. In: Intl. School on Formal Models for Components and Objects: Post Proceedings. Ed. by Marcello Bonsangue et al. Vol. 7866. LNCS. Springer, 2013, pp. 1–37.Google Scholar
  14. 14.
    Gerald Holl, Paul Grünbacher, and Rick Rabiser. “A systematic review and an expert survey on capabilities supporting multi product lines”. In: Information & Software Technology 54.8 (2012), pp. 828–852. https://doi.org/10.1016/j.infsof.2012.02.002 URL: http://dx.doi.org/10.1016/j.infsof.2012.02.002 CrossRefGoogle Scholar
  15. 15.
    A. Igarashi, B. Pierce, and P. Wadler. “Featherweight Java: A Minimal Core Calculus for Java and GJ”. In: ACM TOPLAS 23.3 (2001), pp. 396–450. https://doi.org/10.1145/503502.503505.CrossRefGoogle Scholar
  16. 16.
    Einar Broch Johnsen et al. “ABS: A Core Language for Abstract Behavioral Specification”. In: Formal Methods for Components and Objects - 9th International Symposium, FMCO 2010, Graz, Austria, November 29 - December 1, 2010. Revised Papers. 2010, pp. 142–164. https://doi.org/10.1007/978-3-642-25271-6_8. URL: https://doi.org/10.1007/978-3-642-25271-6_8.
  17. 17.
    Eduard Kamburjan and Reiner Hähnle. “Uniform Modeling of Railway Operations”. In: FTSCS. Vol. 694. Communications in Computer and Information Science. 2016, pp. 55–71.Google Scholar
  18. 18.
    Christian Kästner, Klaus Ostermann, and Sebastian Erdweg. “A Variability-aware Module System”. In: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications. OOPSLA ’12. Tucson, Arizona, USA: ACM, 2012, pp. 773–792. ISBN: 978-1-4503-1561-6. https://doi.org/10.1145/2384616.2384673.
  19. 19.
    K. Pohl, G. Böckle, and F. van der Linden. Software Product Line Engineering Foundations, Principles, and Techniques. Berlin, Germany: Springer, 2005.CrossRefGoogle Scholar
  20. 20.
    Ina Schaefer and Ferruccio Damiani. “Pure delta-oriented programming”. In: Proceedings of the 2nd International Workshop on Feature-Oriented Software Development. FOSD ’10. Eindhoven, The Netherlands: ACM, 2010, pp. 49–56. ISBN: 978-1-4503-0208-1. https://doi.org/10.1145/1868688.1868696.
  21. 21.
    Ina Schaefer et al. “Delta-Oriented Programming of Software Product Lines”. In: Software Product Lines: Going Beyond (SPLC 2010). Vol. 6287. LNCS. 2010, pp. 77–91. ISBN: 978-3-642-15578-9. https://doi.org/10.1007/978-3-642-15579-6_6 CrossRefGoogle Scholar
  22. 22.
    Ina Schaefer et al. “Software diversity”. English. In: International Journal on Software Tools for Technology Transfer 14.5 (2012), pp. 477–495. ISSN: 1433-2779. https://doi.org/10.1007/s10009-012-0253-y URL: http://dx.doi.org/10.1007/s10009-012-0253-y CrossRefGoogle Scholar
  23. 23.
    Reimar Schröter, Norbert Siegmund, and Thomas Thüm. “Towards Modular Analysis of Multi Product Lines”. In: Proceedings of the 17th International Software Product Line Conference Co-located Workshops. SPLC’13. Tokyo, Japan: ACM, 2013, pp. 96–99. ISBN: 978-1-4503-2325-3. https://doi.org/10.1145/2499777.2500719
  24. 24.
    Reimar Schröter et al. “Feature-context Interfaces: Tailored Programming Interfaces for SPLs”. In: Proceedings of the 18th International Software Product Line Conference Volume 1. SPLC’14. Florence, Italy: ACM, 2014, pp. 102–111. ISBN: 978-1-4503-2740-4. https://doi.org/10.1145/2648511.2648522.
  25. 25.
    Reimar Schröter et al. “Feature-model Interfaces: The Highway to Compositional Analyses of Highly-configurable Systems”. In: Proceedings of the 38th International Conference on Software Engineering. ICSE ’16. Austin, Texas: ACM, 2016, pp. 667–678. ISBN: 978-1- 4503-3900-1. https://doi.org/10.1145/2884781.2884823.
  26. 26.
    Thomas Thüm et al. “A Classification and Survey of Analysis Strategies for Software Product Lines”. In: ACM Comput. Surv. 47.1 (2014), 6:1–6:45. ISSN: 0360-0300. https://doi.org/10.1145/2580950.CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Ferruccio Damiani
    • 1
  • Reiner Hähnle
    • 2
    Email author
  • Eduard Kamburjan
    • 2
  • Michael Lienhardt
    • 1
  1. 1.University of TorinoTorinoItaly
  2. 2.Technische Universität DarmstadtDarmstadtGermany

Personalised recommendations