skip to main content
10.1145/2371401.2371403acmconferencesArticle/Chapter ViewAbstractPublication PagesgpceConference Proceedingsconference-collections
research-article

A formal foundation for dynamic delta-oriented software product lines

Published:26 September 2012Publication History

ABSTRACT

Delta-oriented programming (DOP) is a flexible approach for implementing software product lines (SPLs). DOP SPLs are implemented by a code base (a set of delta modules encapsulating changes to object-oriented programs) and a product line declaration (providing the connection of the delta modules with the product features). In this paper, we extend DOP by the capability to switch the implemented product configuration at runtime and present a formal foundation for dynamic DOP. A dynamic DOP SPL is a DOP SPL with a dynamic reconfiguration graph that specifies how to switch between different feature configurations. Dynamic DOP supports (unanticipated) software evolution such that at runtime, the product line declaration, the code base and the dynamic reconfiguration graph can be changed in any (unanticipated) way that preserves the currently running product. The type system of our dynamic DOP core calculus ensures that the dynamic reconfigurations lead to type safe products and do not cause runtime type errors.

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, LNCS 3714, 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. S. Cech Previtali and T. R. Gross. Aspect-based dynamic software updating: a model and its empirical evaluation. In AOSD, pages 105--116. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. R. Cytron, J. Ferrante, B. K. Rosen, M. N. Wegman, and F. K. Zadeck. Efficiently computing static single assignment form and the control dependence graph. ACM Trans. Program. Lang. Syst., 13(4): 451--490, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. F. Damiani, L. Padovani, and I. Schaefer. A Formal Foundation for Dynamic Delta-Oriented Software Product Lines. Technical Report 2/2012, Università di Torino, Dipartimento di Informatica, 2012. Url: http://www.di.unito.it/~damiani/papers/tr-2-2012.pdf.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. F. Damiani and I. Schaefer. Dynamic delta-oriented programming. In DSPL (Proc. of SPLC, Vol. 2). ACM, 2011. doi: 10.1145/2019136.2019175. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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. Url: http://www.daimi.au.dk/~eernst/gbeta/.Google ScholarGoogle Scholar
  11. S. Hallsteinsen, M. Hinchey, S. Park, and K. Schmid. Dynamic software product lines. IEEE Computer, 41: 93--95, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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
  13. R. Hirschfeld, P. Costanza, and O. Nierstrasz. Context-oriented programming. Journal of Object Technology, 7(3): 125--151, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  14. A. Igarashi, B. Pierce, and P. Wadler. Featherweight Java: A minimal core calculus for Java and GJ. ACM TOPLAS, 23(3): 396--450, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. E. B. Johnsen, M. Kyas, and I. C. Yu. Dynamic classes: Modular asynchronous evolution of distributed concurrent objects. In FM, LNCS 5850, pages 596--611. Springer, 2009. 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, LNCS 2072, 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. R. Lopez-Herrejon, D. Batory, and W. Cook. Evaluating Support for Features in Advanced Modularization Technologies. In ECOOP, LNCS 3586, pages 169--194. 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, LNCS 6287, 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. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. I. Schaefer and F. Damiani. Pure Delta-oriented Programming. In FOSD. ACM, 2010. doi: 10.1145/1868688.1868696. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. M. Torgersen. The Expression Problem Revisited. In ECOOP, LNCS 3086, pages 123--146. Springer, 2004.Google ScholarGoogle Scholar

Index Terms

  1. A formal foundation for dynamic 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
          GPCE '12: Proceedings of the 11th International Conference on Generative Programming and Component Engineering
          September 2012
          148 pages
          ISBN:9781450311298
          DOI:10.1145/2371401
          • cover image ACM SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 48, Issue 3
            GPCE '12
            March 2013
            140 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/2480361
            Issue’s Table of Contents

          Copyright © 2012 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: 26 September 2012

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate56of180submissions,31%

          Upcoming Conference

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader