skip to main content
10.1145/3442391.3442401acmotherconferencesArticle/Chapter ViewAbstractPublication PagesvamosConference Proceedingsconference-collections
research-article

An Architectural Pattern to Realize Multi Software Product Lines in Java

Published:09 February 2021Publication History

ABSTRACT

We present a realization of multi software product lines in the Java programming language that permits full interoperability and hierarchical dependencies among multiple product variants. This concept, called variability modules (VM), is implemented in terms of an architectural pattern in Java and does not require any pre-processing or language extension. It can be used with any Java development environment. The VM architectural pattern comes with a dedicated UML profile, which makes it possible to present variability to non-technical stakeholders. We evaluate our approach with the help of a real-world case study.

References

  1. Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2013. Feature-Oriented Software Product Lines. Springer-Verlag, Berlin. https://doi.org/10.1007/978-3-642-37521-7Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Jan Bosch. 2010. Toward Compositional Software Product Lines. IEEE Software 27, 3 (May 2010), 29–34.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Ferruccio Damiani, Reiner Hähnle, Eduard Kamburjan, and Michael Lienhardt. 2018. Interoperability of Software Product Line Variants. In Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 1 (Gothenburg, Sweden) (SPLC ’18). ACM, New York, NY, USA, 264–268.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Ferruccio Damiani, Reiner Hähnle, Eduard Kamburjan, and Michael Lienhardt. 2018. Same Same But Different: Interoperability of Software Product Line Variants. In Principled Software Development: Essays Dedicated to Arnd Poetzsch-Heffter on the Occasion of his 60th Birthday, Peter Müller and Ina Schaefer (Eds.). Springer, Cham, 99–117.Google ScholarGoogle Scholar
  5. Ferruccio Damiani, Reiner Hähnle, Eduard Kamburjan, Michael Lienhardt, and Luca Paolini. 2020. Variable Modules. Submitted, available at https://formbar.raillab.de/vm/.Google ScholarGoogle Scholar
  6. Ferruccio Damiani, Michael Lienhardt, and Luca Paolini. 2019. A formal model for Multi Software Product Lines. Science of Computer Programming 172 (2019), 203–231.Google ScholarGoogle ScholarCross RefCross Ref
  7. Erich Gamma, Richard Helm, Ralph Johnson, and John M. Vlissides. 1994. Design Patterns: ”Elements of Reusable Object-Oriented Software”. Addison-Wesley, Boston, USA.Google ScholarGoogle Scholar
  8. Iris Groher and Markus Voelter. 2009. Aspect-Oriented Model-Driven Software Product Line Engineering. In Transactions on Aspect-Oriented Software Development VI: Special Issue on Aspects and Model-Driven Engineering, Shmuel Katz, Harold Ossher, Robert France, and Jean-Marc Jézéquel (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 111–152. https://doi.org/10.1007/978-3-642-03764-1_4Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Reiner Hähnle. 2013. The Abstract Behavioral Specification Language: A Tutorial Introduction. In Formal Methods for Components and Objects: 11th Intl. Symp., FMCO 2012, Bertinoro, Italy, September 24-28, 2012, Revised Lectures, Elena Giachino, Reiner Hähnle, Frank S. de Boer, and Marcello M. Bonsangue (Eds.). Springer, Berlin, Heidelberg, 1–37. https://doi.org/10.1007/978-3-642-40615-7_1Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Gerald Holl, Paul Grünbacher, and Rick Rabiser. 2012. A systematic review and an expert survey on capabilities supporting multi product lines. Information and Software Technology 54, 8 (2012), 828 – 852. Special Issue: Voice of the Editorial Board.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Einar Broch Johnsen, Reiner Hähnle, Jan Schäfer, Rudolf Schlatte, and Martin Steffen. 2012. ABS: A Core Language for Abstract Behavioral Specification. In Formal Methods for Components and Objects, Bernhard K. Aichernig, Frank S. de Boer, and Marcello M. Bonsangue (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 142–164.Google ScholarGoogle Scholar
  12. Christian Kästner, Klaus Ostermann, and Sebastian Erdweg. 2012. A Variability-aware Module System. In Proc. ACM Intl. Conf. on Object Oriented Programming Systems Languages and Applications (Tucson, Arizona, USA) (OOPSLA). ACM, New York, NY, USA, 773–792. https://doi.org/10.1145/2384616.2384673Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William G. Griswold. 2001. An Overview of AspectJ. In Proceedings of the 15th European Conference on Object-Oriented Programming(ECOOP ’01). Springer-Verlag, Berlin, Heidelberg, 327–353.Google ScholarGoogle ScholarCross RefCross Ref
  14. Jonathan Koscielny, Sönke Holthusen, Ina Schaefer, Sandro Schulze, Lorenzo Bettini, and Ferruccio Damiani. 2014. DeltaJ 1.5: Delta-oriented Programming for Java 1.5. In Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools (Cracow, Poland) (PPPJ ’14). ACM, New York, NY, USA, 63–74.Google ScholarGoogle ScholarCross RefCross Ref
  15. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, and Gunter Saake. 2017. . Springer International Publishing, Cham, 227–234.Google ScholarGoogle Scholar
  16. Rizki Muhammad and Maya R.A. Setyautami. 2016. Automatic model translation to UML from software product lines model using UML profile. In Intl. Conf. on Advanced Computer Science and Information Systems (ICACSIS). IEEE, Los Alamitos, 605–610. https://doi.org/10.1109/ICACSIS.2016.7872758Google ScholarGoogle ScholarCross RefCross Ref
  17. Object Management Group 2011. OMG Unified Modeling LanguageTM (OMG UML), Infrastructure. Object Management Group. https://www.omg.org/spec/UML/2.4.1/Infrastructure/PDFGoogle ScholarGoogle Scholar
  18. Klaus Pohl, Gunter Bockle, and Frank van der Linden. 2005. Software Product Line Engineering: Foundations, Principles, and Techniques. Springer-Verlag, Berlin.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Ina Schaefer, Lorenzo Bettini, Viviana Bono, Ferruccio Damiani, and Nico Tanzarella. 2010. Delta-Oriented Programming of Software Product Lines. In Software Product Lines: Going Beyond, Jan Bosch and Jaejoon Lee (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 77–91.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Reimar Schröter, Norbert Siegmund, Thomas Thüm, and Gunter Saake. 2014. Feature-context Interfaces: Tailored Programming Interfaces for SPLs. In Proc. 18th Intl. Software Product Line Conference (Florence, Italy), Vol. 1. ACM, New York, NY, USA, 102–111. https://doi.org/10.1145/2648511.2648522Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Maya R. A. Setyautami, Daya Adianto, and Ade Azurat. 2018. Modeling Multi Software Product Lines Using UML. In Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 1 (Gothenburg, Sweden) (SPLC ’18). ACM, New York, NY, USA, 274–278.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Maya R. A. Setyautami, Reiner Hähnle, Radu Muschevici, and Ade Azurat. 2016. A UML Profile for Delta-oriented Programming to Support Software Product Line Engineering. In Proceedings of the 20th International Systems and Software Product Line Conference (Beijing, China) (SPLC ’16). ACM, New York, NY, USA, 45–49.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Maya R. A. Setyautami and Reiner Hähnle. 2020. Source Code: Variability Modules for Java (VMJ). https://doi.org/10.5281/zenodo.4352769Google ScholarGoogle Scholar
  24. Maya R. A. Setyautami, Rafiano R. Rubiantoro, and Ade Azurat. 2019. Model-Driven Engineering for Delta-Oriented Software Product Lines. In 2019 26th Asia-Pacific Software Engineering Conference (APSEC). IEEE, Los Alamitos, 371–377.Google ScholarGoogle Scholar
  25. Thomas Thüm, Christian Kästner, Fabian Benduhn, Jens Meinicke, Gunter Saake, and Thomas Leich. 2014. FeatureIDE: An extensible framework for feature-oriented software development. Science of Computer Programming 79 (2014), 70 – 85. https://doi.org/10.1016/j.scico.2012.06.002 Experimental Software and Toolkits (EST 4): A special issue of the Workshop on Academic Software Development Tools and Techniques (WASDeTT-3 2010).Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Tim Winkelmann, Jonathan Koscielny, Christoph Seidl, Sven Schuster, Ferruccio Damiani, and Ina Schaefer. 2016. Parametric DeltaJ 1.5: Propagating Feature Attributes into Implementation Artifacts. In Gemeinsamer Tagungsband der Workshops der Tagung Software Engineering 2016 (SE), Wien(CEUR Workshop Proceedings, Vol. 1559). CEUR-WS.org, Aachen, 40–54.Google ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Other conferences
    VaMoS '21: Proceedings of the 15th International Working Conference on Variability Modelling of Software-Intensive Systems
    February 2021
    150 pages
    ISBN:9781450388245
    DOI:10.1145/3442391

    Copyright © 2021 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 9 February 2021

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed limited

    Acceptance Rates

    Overall Acceptance Rate66of147submissions,45%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format .

View HTML Format