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 2012 Publication 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.
[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.
[3]
I. Aracic, V. Gasiunas, M. Mezini, and K. Ostermann. An overview of CaesarJ. Transactions on Aspect-Oriented Software Development, 3880: 135--173, 2006.
[4]
D. Batory. Feature Models, Grammars, and Propositional Formulas. In SPLC, LNCS 3714, pages 7--20. Springer, 2005.
[5]
D. Batory, J. Sarvela, and A. Rauschmayer. Scaling Step-Wise Refinement. IEEE Trans. Software Eng., 30(6): 355--371, 2004.
[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.
[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.
[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.
[9]
F. Damiani and I. Schaefer. Dynamic delta-oriented programming. In DSPL (Proc. of SPLC, Vol. 2). ACM, 2011.
[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/.
[11]
S. Hallsteinsen, M. Hinchey, S. Park, and K. Schmid. Dynamic software product lines. IEEE Computer, 41: 93--95, 2008.
[12]
S. Herrmann. A precise model for contextual roles: The programming language ObjectTeams/Java. Applied Ontology, 2(2): 181--207, 2007.
[13]
R. Hirschfeld, P. Costanza, and O. Nierstrasz. Context-oriented programming. Journal of Object Technology, 7(3): 125--151, 2008.
[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.
[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.
[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.
[17]
C. Krueger. Eliminating the Adoption Barrier. IEEE Software, 19(4): 29--31, 2002.
[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.
[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.
[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.
[21]
I. Schaefer, L. Bettini, and F. Damiani. Compositional Type-Checking for Delta-Oriented Programming. In AOSD. ACM, 2011.
[22]
I. Schaefer and F. Damiani. Pure Delta-oriented Programming. In FOSD. ACM, 2010.
[23]
M. Torgersen. The Expression Problem Revisited. In ECOOP, LNCS 3086, pages 123--146. Springer, 2004.

Cited By

View all
  • (2023)A Self-Adaptation Mechanism for Variability Management in Dynamic Software Product LinesProceedings of the 17th Brazilian Symposium on Software Components, Architectures, and Reuse10.1145/3622748.3622754(51-60)Online publication date: 25-Sep-2023
  • (2020)On Slicing Software Product Line SignaturesLeveraging Applications of Formal Methods, Verification and Validation: Verification Principles10.1007/978-3-030-61362-4_5(81-102)Online publication date: 20-Oct-2020
  • (2019)Semantic Evolution Analysis of Feature ModelsProceedings of the 23rd International Systems and Software Product Line Conference - Volume A10.1145/3336294.3336300(245-255)Online publication date: 9-Sep-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 September 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. dynamic software product lines
  2. evolution
  3. featherweight Java
  4. programming languages
  5. runtime reconfiguration
  6. type soundness

Qualifiers

  • Research-article

Funding Sources

Conference

GPCE'12
Sponsor:
GPCE'12: Generative Programming and Component Engineering
September 26 - 27, 2012
Dresden, Germany

Acceptance Rates

Overall Acceptance Rate 56 of 180 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)1
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)A Self-Adaptation Mechanism for Variability Management in Dynamic Software Product LinesProceedings of the 17th Brazilian Symposium on Software Components, Architectures, and Reuse10.1145/3622748.3622754(51-60)Online publication date: 25-Sep-2023
  • (2020)On Slicing Software Product Line SignaturesLeveraging Applications of Formal Methods, Verification and Validation: Verification Principles10.1007/978-3-030-61362-4_5(81-102)Online publication date: 20-Oct-2020
  • (2019)Semantic Evolution Analysis of Feature ModelsProceedings of the 23rd International Systems and Software Product Line Conference - Volume A10.1145/3336294.3336300(245-255)Online publication date: 9-Sep-2019
  • (2018)A Context-Oriented Programming Approach to Dependency HellProceedings of the 10th ACM International Workshop on Context-Oriented Programming: Advanced Modularity for Run-time Composition10.1145/3242921.3242923(8-14)Online publication date: 16-Jul-2018
  • (2018)On the implementation of dynamic software product linesJournal of Systems and Software10.1016/j.jss.2017.11.004136:C(74-100)Online publication date: 1-Feb-2018
  • (2018)A core calculus for dynamic delta-oriented programmingActa Informatica10.1007/s00236-017-0293-655:4(269-307)Online publication date: 1-Jun-2018
  • (2017)A novel model-based testing approach for software product linesSoftware and Systems Modeling (SoSyM)10.1007/s10270-016-0516-216:4(1223-1251)Online publication date: 1-Oct-2017
  • (2015)Assessing Idioms for a Flexible Feature Binding TimeThe Computer Journal10.1093/comjnl/bxv054(bxv054)Online publication date: 31-Jul-2015
  • (2014)DeltaCCSPart I of the Proceedings of the 6th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change - Volume 880210.1007/978-3-662-45234-9_23(320-335)Online publication date: 8-Oct-2014
  • (2013)Executable modelling of dynamic software product lines in the ABS languageProceedings of the 5th International Workshop on Feature-Oriented Software Development10.1145/2528265.2528266(17-24)Online publication date: 26-Oct-2013
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media