Skip to main content

Abstract delta modelling


Delta modelling is an approach to facilitate the automated product derivation for software product lines. It is based on a set of deltas specifying modifications that are incrementally applied to a core product. The applicability of deltas depends on application conditions over features. This paper presents abstract delta modelling, which explores delta modelling from an abstract, algebraic perspective. Compared to the previous work, we take a more flexible approach to conflicts between modifications by introducing the notion of conflict-resolving deltas. Furthermore, we extend our approach to allow the nesting of delta models for increased modularity. We also present conditions on the structure of deltas to ensure unambiguous product generation.

Hide All
Apel, S., Janda, F., Trujillo, S. and Kästner, C. (2009a) Model superimposition in software product lines. In: International Conference on Model Transformation (ICMT) 4–19.
Apel, S., Kästner, C. and Batory, D.S. (2008a) Program refactoring using functional aspects. In: GPCE 161–170.
Apel, S., Kästner, C. and Lengauer, C. (2009b) FeatureHouse: Language-independent, automated software composition. In: ICSE 221–231.
Apel, S., Leich, T. and Saake, G. (2008b) Aspectual feature modules. IEEE Transactions on Software Engineering 34 (2)162180.
Apel, S., Lengauer, C., Möller, B. and Kästner, C. (2010) An algebraic foundation for automatic feature-based program synthesis. Science of Computer Programming (SCP) 75 (11)10221047.
Batory, D. and O'Malley, S. (1992) The design and implementation of hierarchical software systems with reusable components. ACM Transactions on Software Engineering and Methodology 1 (4)355398.
Batory, D., Sarvela, J. and Rauschmayer, A. (2004) Scaling step-wise refinement. IEEE Transactions on Software Engineering 30 (6)355371.
Batory, D. and Smith, D. (2007) Finite map spaces and quarks: algebras of program structure. Technical Report TR-07-66, University of Texas at Austin, Department of Computer Sciences.
Bettini, L., Damiani, F. and Schaefer, I. (2010) Implementing software product lines using traits. In: Proceedings of Object-Oriented Programming Languages and Systems (OOPS), Track of ACM SAC 2096–2102.
Bracha, G. (2007) Executable grammars in Newspeak. Electronic Notes in Theoretical Computer Science 193 318.
Clarke, D., Helvensteijn, M. and Schaefer, I. (2010) Abstract delta modelling. In: Proceedings of GPCE, ACM 1322.
Clements, P. and Northrop, L. (2001) Software Product Lines: Practices and Patterns, Addison Wesley Longman.
Costanza, P. and Hirschfeld, R. (2005) Language constructs for context-oriented programming: an overview of ContextL. In: DLS, ACM Press 110.
Czarnecki, K., Helson, S. and Eisenecker, U. (2004) Staged configuration using feature models. In: Nord, R. (ed.) Proceedings of 3rd International Software Product Line Conference (SPLC 2004). Lecture Notes in Computer Science 3154 266283.
Czarnecki, K. and Kim, C. (2005) Cardinality-based feature modelling and constraints: a progress report. In: International Workshop on Software Factories at OOPSLA'05, San Diego, USA: ACM Press 19.
Ducasse, S., Nierstrasz, O., Schärli, N., Wuyts, R. and Black, A. (2006) Traits: A mechanism for fine-grained reuse. ACM Transactions on Programming Languages and Systems 28 (2)331388.
Hähnle, R. (2010) HATS: highly adaptable and trustworthy software using formal methods. In: ISoLA (2) 3–8.
Haugen, Ø., Møller-Pedersen, B., Oldevik, J., Olsen, G. and Svendsen, A. (2008) Adding standardized variability to domain specific languages. In: SPLC 139–148.
Heidenreich, F. and Wende, C. (2007) Bridging the gap between features and models. In: Aspect-Oriented Product Line Engineering (AOPLE'07).
Heymans, P., Schobbens, P., Trigaux, J., Bontemps, Y., Matulevicius, R. and Classen, A. (2008) Evaluating formal properties of feature diagram languages. Software, IET 2 (3)281302.
Jacobson, J. (2009) A formalization of Darcs patch theory using inverse semigroups. Technical Report CAM report 09-83, UCLA.
Kang, K. C., Cohen, S., Hess, J., Nowak, W. and Peterson, S. (1990) Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-021, Carnegie Mellon University Software Engineering Institute.
Kästner, C. and Apel, S. (2008) Type-checking software product lines - A formal approach. In: ASE, IEEE 258267.
Kästner, C., Apel, S. and Batory, D. (2007) A case study implementing features using Aspect J. In: SPLC, IEEE 223232.
Kästner, C., Apel, S. and Kuhlemann, M. (2008) Granularity in software product lines. In: ICSE 311–320.
Kästner, C., Apel, S., ur Rahman, S., Rosenmüller, M., Batory, D. and Saake, G. (2009) On the impact of the optional feature problem: Analysis and case studies. In: Proceedings of International Software Product Line Conference (SPLC). 181–190.
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C. V., Loingtier, J.-M. and Irwin, J. (1997) Aspect-oriented programming. In: ECOOP. Springer Lecture Notes in Computer Science 1241 220242.
Krueger, C. (2002) Eliminating the adoption barrier. IEEE Software 19 (4)2931.
Liu, J., Batory, D. S. and Lengauer, C. (2006) Feature oriented refactoring of legacy applications. In: ICSE 112–121.
Lopez-Herrejon, R., Batory, D. and Cook, W. (2005) Evaluating support for features in advanced modularization technologies. In: ECOOP. Springer Lecture Notes in Computer Science 3586 169194.
Loughran, N. and Rashid, A. (2004) Framed aspects: supporting variability and configurability for AOP. In: ICSR. Springer Lecture Notes in Computer Science 3107 127140.
Mens, T., Taentzer, G. and Runge, O. (2005) Detecting structural refactoring conflicts using critical pair analysis. Electronic Notes in Theoretical Computer Science 127 (3)113128.
Mezini, M. and Ostermann, K. (2004) Variability management with feature-oriented programming and aspects. In: SIGSOFT FSE, ACM 127136.
Noda, N. and Kishi, T. (2008) Aspect-oriented modeling for variability management. In: SPLC 213–222.
Odersky, M. (2007) The Scala Language Specification, version 2.4. Technical Report, Programming Methods Laboratory, EPFL.
Oldevik, J., Haugen, Ø. and Møller-Pedersen, B. (2009) Confluence in domain-independent product line transformations. In: FASE 34–48.
Perrouin, G., Klein, J., Guelfi, N. and Jézéquel, J.-M. (2008) Reconciling automation and flexibility in product derivation. In: SPLC 339–348.
Pohl, K., Böckle, G. and van der Linden, F. (2005) Software Product Line Engineering: Foundations, Principles, and Techniques, Springer, Heidelberg.
Prehofer, C. (1997) Feature-oriented programming: A fresh look at objects. In: ECOOP, Springer Lecture Notes in Computer Science 1241 419443.
Schaefer, I. (2010) Variability modelling for model-driven development of software product lines. In: International Workshop on Variability Modelling of Software-intensive Systems (VaMoS 2010) 85–92.
Schaefer, I., Bettini, L., Bono, V., Damiani, F. and Tanzarella, N. (2010) Delta-oriented programming of software product lines. In: SPLC. Springer Lecture Notes in Computer Science 6287 7791.
Schaefer, I., Bettini, L. and Damiani, F. (2011) Compositional type-checking for delta-oriented programming. In: International Conference on Aspect-oriented Software Development (AOSD'11) 43–56.
Schaefer, I. and Damiani, F. (2010) Pure delta-oriented programming. In: FOSD (2010) 49–56.
Schaefer, I., Worret, A. and Poetzsch-Heffter, A. (2009) A model-based framework for automated product derivation. In: Proceedings of workshop in Model-based Approaches for Product Line Engineering (MAPLE 2009) 14–21.
Smaragdakis, Y. and Batory, D. (2002) Mixin layers: an object-oriented implementation technique for refinements and collaboration-based designs. ACM Transactions on Software Engineering and Methodology 11 (2)215255.
Tarr, P., Ossher, H., Harrison, W. and Sutton, S. Jr (1999) N degrees of separation: multi-dimensional separation of concerns. In: ICSE 107–119.
van Deursen, A. and Klint, P. (2002) Domain-specific language design requires feature descriptions. Journal of Computing and Information Technology 10 (1)118.
Völter, M. and Groher, I. (2007) Product line implementation using aspect-oriented and model-driven software development. In: SPLC 233–242.
Zhang, H. and Jarzabek, S. (2003) An XVCL-based approach to software product line development. In: Software Engineering and Knowledge Engineering 267–275.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Mathematical Structures in Computer Science
  • ISSN: 0960-1295
  • EISSN: 1469-8072
  • URL: /core/journals/mathematical-structures-in-computer-science
Please enter your name
Please enter a valid email address
Who would you like to send this to? *


Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed