skip to main content
10.1145/2019136.2019175acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article

Dynamic delta-oriented programming

Published:21 August 2011Publication History

ABSTRACT

Modern software systems should be designed to dynamically adapt to changing user requirements or resource constraints. Delta-oriented programming (DOP) is a compositional approach to flexibly implement software product lines. In DOP, a product line is represented by a code base and a product line declaration. The code base consists of a set of delta modules specifying modifications to object-oriented programs. The product line declaration provides the connection of the delta modules with the product features and describes how the product for a particular feature configuration is generated. DOP has so far only been used for static variability. In this paper, we present dynamic DOP, an extension of DOP that supports changing the feature configuration of a product at runtime. A dynamic DOP product line is a standard DOP product line with a reconfiguration automaton that specifies how to switch between different feature configurations. The type system of our dynamic DOP language ensures that any reconfiguration leads to a type safe product. Dynamic DOP is an approach for realizing dynamic product lines which also supports (unanticipated) software evolution.

References

  1. S. Apel, C. Kästner, A. Grösslinger, and C. Lengauer. Type safety for feature-oriented product lines. Automated Software Engineering, 17(3):251--300, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. S. Apel, T. Leich, M. Rosenmüller, and G. Saake. Featurec++: On the symbiosis of feature-oriented and aspect-oriented programming. In GPCE, pages 125--140, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. I. Aracic, V. Gasiunas, M. Mezini, and K. Ostermann. An overview of CaesarJ. Transactions on Aspect-Oriented Software Development, 3880:135--173, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. Batory. Feature Models, Grammars, and Propositional Formulas. In SPLC, volume 3714 of LNCS, pages 7--20. Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. Batory, J. Sarvela, and A. Rauschmayer. Scaling Step-Wise Refinement. IEEE Trans. Software Eng., 30(6):355--371, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. L. Bettini, V. Bono, and E. Turin. I-Java: An Extension of Java with Incomplete Objects and Object Composition. In Software Composition, pages 27--44, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Clarke, M. Helvensteijn, and I. Schaefer. Abstract delta modeling. In GPCE. ACM Press, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. E. Ernst. gbeta -- a Language with Virtual Attributes, Block Structure, and Propagating, Dynamic Inheritance. PhD thesis, Department of Computer Science, University of Århus, Denmark, 1999.Google ScholarGoogle Scholar
  9. S. Hallsteinsen, M. Hinchey, S. Park, and K. Schmid. Dynamic software product lines. IEEE Computer, 41:93--95, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. S. Herrmann. A precise model for contextual roles: The programming language ObjectTeams/Java. Applied Ontology, 2(2):181--207, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. R. Hirschfeld, P. Costanza, and O. Nierstrasz. Context-oriented programming. Journal of Object Technology, 7(3):125--151, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  12. A. Igarashi, B. Pierce, and P. Wadler. Featherweight Java: a minimal core calculus for Java and GJ. ACM Transactions on Programming Languages and Systems, 23(3):396--450, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. E. B. Johnsen, M. Kyas, and I. C. Yu. Dynamic classes: Modular asynchronous evolution of distributed concurrent objects. In FM, volume 5850 of LNCS, pages 596--611. Springer, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical report, Carnegie Mellon Software Engineering Institute, 1990.Google ScholarGoogle Scholar
  15. C. Kästner, S. Apel, and M. Kuhlemann. Granularity in Software Product Lines. In ICSE, pages 311--320. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An Overview of AspectJ. In ECOOP, volume 2072 of LNCS, pages 327--353. Springer, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. C. Krueger. Eliminating the Adoption Barrier. IEEE Software, 19(4):29--31, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. K. Pohl, G. Böckle, and F. van der Linden. Software Product Line Engineering - Foundations, Principles, and Techniques. Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. M. Rosenmüller, N. Siegmund, S. Apel, and G. Saake. Flexible feature binding in software product lines. Autom. Softw. Eng., 18(2):163--197, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. I. Schaefer, L. Bettini, V. Bono, F. Damiani, and N. Tanzarella. Delta-oriented Programming of Software Product Lines. In SPLC, volume 6287 of LNCS, pages 77--91. Springer, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. I. Schaefer, L. Bettini, and F. Damiani. Compositional Type-Checking for Delta-Oriented Programming. In AOSD 2011. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. I. Schaefer and F. Damiani. Pure Delta-oriented Programming. In FOSD 2010, 2010. Available from http://www.fosd.de/2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. White, B. Dougherty, D. C. Schmidt, and D. Benavides. Automated reasoning for multi-step feature model configuration problems. In SPLC, pages 11--20, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Dynamic delta-oriented programming

      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
        SPLC '11: Proceedings of the 15th International Software Product Line Conference, Volume 2
        August 2011
        306 pages
        ISBN:9781450307895
        DOI:10.1145/2019136

        Copyright © 2011 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: 21 August 2011

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate167of463submissions,36%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader