skip to main content
10.1145/3141848.3141853acmconferencesArticle/Chapter ViewAbstractPublication PagesfosdConference Proceedingsconference-collections
research-article

Towards a development process for maturing Delta-oriented software product lines

Published:23 October 2017Publication History

ABSTRACT

A Software Product Line (SPL) exploits reuse-in-the-large to enable customization by explicitly modeling commonalities and variabilities of closely related software systems. Delta-Oriented Programming (DOP) is a flexible implementation approach to SPL engineering, which transforms an existing core product to another desired product by applying transformation operations. By capturing product alterations related to configurable functionality within delta modules, DOP closely resembles a natural process of software development, which proves beneficial in early stages of development. However, increasing complexity for a growing SPL in later development stages caused by the invasiveness of DOP drastically impairs maintenance and extensibility. Hence, a process utilizing the invasiveness of DOP in early development stages and restricting it in later stages would allow developers to mature growing delta-oriented SPLs. Moreover, ever-increasing complexity requires means to migrate into less invasive development approaches that are more suited for large-scale configurable applications. To this end, we propose a development process for delta-oriented SPLs including explicit variability points, metrics and refactorings as well as a semi-automatic reengineering of a delta-oriented SPL into a development approach based on blackbox-components. In this paper, we sketch this development process with its constituents and point out required research essential for successfully maturing a delta-oriented SPL.

References

  1. Jonathan Aldrich. 2005. Open Modules: Modular Reasoning About Advice. In Proceedings of the 19th European Conference on Object-Oriented Programming (ECOOP’05). Springer-Verlag, Berlin, Heidelberg, 144– 168. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2013. Feature-Oriented Software Product Lines. Springer. Google ScholarGoogle ScholarCross RefCross Ref
  3. Sven Apel, Christian Kästner, and Christian Lengauer. 2009. FeatureHouse: Language-independent, Automated Software Composition. In Proceedings of the 31st International Conference on Software Engineering (ICSE ’09). IEEE Computer Society, Washington, DC, USA, 221–231. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Sven Apel, Sergiy Kolesnikov, Jörg Liebig, Christian Kästner, Martin Kuhlemann, and Thomas Leich. 2012. Access Control in FeatureOriented Programming. SCP 77, 3 (2012), 174 – 187.Google ScholarGoogle Scholar
  5. Don Batory, Jacob Neal Sarvela, and Axel Rauschmayer. 2004. Scaling Step-Wise Refinement. Software Engineering, IEEE Transactions on 30, 6 (2004), 355–371.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Eric Bodden, Éric Tanter, and Milton Inostroza. 2014. Join Point Interfaces for Safe and Flexible Decoupling of Aspects. ACM Trans. Softw. Eng. Methodol. 23, 1, Article 7 (Feb. 2014), 41 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. P. Clements and L. Northrop. 2002. Software Product Lines: Practices and Patterns. Addison-Wesley.Google ScholarGoogle Scholar
  8. K. Czarnecki and U. Eisenecker. 2000. Generative Programming: Methods, Tools, and Applications. Addison-Wesley.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. F. Damiani and M. Lienhardt. 2016. Refactoring Delta-Oriented Product Lines to Achieve Monotonicity. ArXiv e-prints (April 2016). arXiv: cs.SE/1604.00346Google ScholarGoogle Scholar
  10. Ferruccio Damiani and Ina Schaefer. 2012. Family-Based Analysis of Type Safety for Delta-Oriented Software Product Lines. In Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change, Tiziana Margaria and Bernhard Steffen (Eds.). Lecture Notes in Computer Science, Vol. 7609. Springer Berlin Heidelberg, 193–207. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Martin Fowler. 1999. Refactoring - Improving the Design of Existing Code. Addison-Wesley Longman.Google ScholarGoogle Scholar
  12. Ralph E Johnson and Brian Foote. 1988. Designing reusable classes. Journal of object-oriented programming 1, 2 (1988), 22–35.Google ScholarGoogle Scholar
  13. K.C. Kang, S.G. Cohen, J.A. Hess, W.E. Novak, and A.S. Peterson. 1990. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report. DTIC Document. Google ScholarGoogle ScholarCross RefCross Ref
  14. Christian Kästner, Sven Apel, and Martin Kuhlemann. 2008. Granularity in Software Product Lines. In Proceedings of the 30th International Conference on Software Engineering. ACM, 311–320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Jonathan Koscielny, Sönke Holthusen, Ina Schaefer, Sandro Schulze, Lorenzo Bettini, and Ferruccio Damiani. 2014. DeltaJ 1.5: DeltaOriented 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 (PPPJ ’14). ACM, New York, NY, USA, 63–74. Google ScholarGoogle ScholarCross RefCross Ref
  16. Jia Liu, Don Batory, and Christian Lengauer. 2006. Feature Oriented Refactoring of Legacy Applications. In Proceedings of the 28th International Conference on Software Engineering (ICSE ’06). ACM, New York, NY, USA, 112–121.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Christopher Pietsch, Dennis Reuling, Udo Kelter, and Timo Kehrer. 2017. A Tool Environment for Quality Assurance of Delta-oriented Model-based SPLs. In Proceedings of the Eleventh International Workshop on Variability Modelling of Software-intensive Systems (VAMOS ’17). ACM, New York, NY, USA, 84–91. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Christian Prehofer. 1997. Feature-Oriented Programming: A Fresh Look at Objects. In ECOOP’97 — Object-Oriented Programming, Mehmet Akşit and Satoshi Matsuoka (Eds.). Lecture Notes in Computer Science, Vol. 1241. Springer Berlin Heidelberg, 419–443. Google ScholarGoogle ScholarCross RefCross Ref
  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. Springer, 77–91. Google ScholarGoogle ScholarCross RefCross Ref
  20. Ina Schaefer, Rick Rabiser, Dave Clarke, Lorenzo Bettini, David Benavides, Goetz Botterweck, Animesh Pathak, Salvador Trujillo, and Karina Villela. 2012. Software Diversity: State of the Art and Perspectives. International Journal on Software Tools for Technology Transfer 14, 5 (2012), 477–495. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Reimar Schröter, Sebastian Krieter, Thomas Thüm, Fabian Benduhn, and Gunter Saake. 2016. Feature-Model Interfaces: The Highway to Compositional Analyses of Highly-Configurable Systems. In Proceedings of the 38th International Conference on Software Engineering (ICSE ’16). ACM, New York, NY, USA, 667–678. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Reimar Schröter, Norbert Siegmund, Thomas Thüm, and Gunter Saake. 2014. Feature-Context Interfaces: Tailored Programming Interfaces for Software Product Lines. In Proceedings of the 18th International Software Product Line Conference - Volume 1 (SPLC ’14). ACM, New York, NY, USA, 102–111. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Sandro Schulze, Oliver Richers, and Ina Schaefer. 2013. Refactoring Delta-Oriented Software Product Lines. In Proceedings of the 12th Annual International Conference on Aspect-oriented Software Development (AOSD ’13). ACM, New York, NY, USA, 73–84. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Christoph Seidl, Ina Schaefer, and Uwe Aßmann. 2014. DeltaEcore – A Model-Based Delta Language Generation Framework. In Modellierung (Modellierung’14).Google ScholarGoogle Scholar
  25. Christoph Seidl, Sven Schuster, and Ina Schaefer. 2015. Generative Software Product Line Development Using Variability-aware Design Patterns. In Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE 2015). ACM, New York, NY, USA, 151–160. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Kevin Sullivan, William G. Griswold, Hridesh Rajan, Yuanyuan Song, Yuanfang Cai, Macneil Shonle, and Nishit Tewari. 2010. Modular Aspect-oriented Design with XPIs. ACM Trans. Softw. Eng. Methodol. 20, 2, Article 5 (Sept. 2010), 42 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Towards a development process for maturing Delta-oriented software product lines

      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 Conferences
        FOSD 2017: Proceedings of the 8th ACM SIGPLAN International Workshop on Feature-Oriented Software Development
        October 2017
        50 pages
        ISBN:9781450355186
        DOI:10.1145/3141848

        Copyright © 2017 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: 23 October 2017

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate17of28submissions,61%
      • Article Metrics

        • Downloads (Last 12 months)6
        • Downloads (Last 6 weeks)0

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader