skip to main content
research-article

A formal foundation for dynamic delta-oriented software product lines

Published:26 September 2012Publication History
Skip Abstract Section

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

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!