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.
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- I. Aracic, V. Gasiunas, M. Mezini, and K. Ostermann. An overview of CaesarJ. Transactions on Aspect-Oriented Software Development, 3880: 135--173, 2006. Google Scholar
Digital Library
- D. Batory. Feature Models, Grammars, and Propositional Formulas. In SPLC, LNCS 3714, pages 7--20. Springer, 2005. Google Scholar
Digital Library
- D. Batory, J. Sarvela, and A. Rauschmayer. Scaling Step-Wise Refinement. IEEE Trans. Software Eng., 30(6): 355--371, 2004. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- F. Damiani and I. Schaefer. Dynamic delta-oriented programming. In DSPL (Proc. of SPLC, Vol. 2). ACM, 2011. doi: 10.1145/2019136.2019175. Google Scholar
Digital Library
- 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 Scholar
- S. Hallsteinsen, M. Hinchey, S. Park, and K. Schmid. Dynamic software product lines. IEEE Computer, 41: 93--95, 2008. Google Scholar
Digital Library
- S. Herrmann. A precise model for contextual roles: The programming language ObjectTeams/Java. Applied Ontology, 2(2): 181--207, 2007. Google Scholar
Digital Library
- R. Hirschfeld, P. Costanza, and O. Nierstrasz. Context-oriented programming. Journal of Object Technology, 7(3): 125--151, 2008.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- C. Krueger. Eliminating the Adoption Barrier. IEEE Software, 19(4): 29--31, 2002. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- I. Schaefer, L. Bettini, and F. Damiani. Compositional Type-Checking for Delta-Oriented Programming. In AOSD. ACM, 2011. Google Scholar
Digital Library
- I. Schaefer and F. Damiani. Pure Delta-oriented Programming. In FOSD. ACM, 2010. doi: 10.1145/1868688.1868696. Google Scholar
Digital Library
- M. Torgersen. The Expression Problem Revisited. In ECOOP, LNCS 3086, pages 123--146. Springer, 2004.Google Scholar
Index Terms
A formal foundation for dynamic delta-oriented software product lines
Recommendations
A formal foundation for dynamic delta-oriented software product lines
GPCE '12: Proceedings of the 11th International Conference on Generative Programming and Component EngineeringDelta-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 (...
Dynamic delta-oriented programming
SPLC '11: Proceedings of the 15th International Software Product Line Conference, Volume 2Modern 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 ...
Delta-oriented multi software product lines
SPLC '14: Proceedings of the 18th International Software Product Line Conference - Volume 1Modern software systems outgrow the scope of traditional software product lines (SPLs) resulting in multi software product lines (MSPLs) with many interconnected subsystem versions and variants. Delta-oriented programming (DOP) is a flexible, modular ...






Comments