The design and implementation of hierarchical software systems with reusable components
ACM Transactions on Software Engineering and Methodology (TOSEM)
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Software product lines: practices and patterns
Software product lines: practices and patterns
ACM Transactions on Software Engineering and Methodology (TOSEM)
A Standard Problem for Evaluating Product-Line Methodologies
GCSE '01 Proceedings of the Third International Conference on Generative and Component-Based Software Engineering
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
IEEE Transactions on Software Engineering
Variability management with feature-oriented programming and aspects
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Software Product Line Engineering: Foundations, Principles and Techniques
Software Product Line Engineering: Foundations, Principles and Techniques
Traits: A mechanism for fine-grained reuse
ACM Transactions on Programming Languages and Systems (TOPLAS)
Feature oriented refactoring of legacy applications
Proceedings of the 28th international conference on Software engineering
Safe composition of product lines
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
A Case Study Implementing Features Using AspectJ
SPLC '07 Proceedings of the 11th International Software Product Line Conference
Executable Grammars in Newspeak
Electronic Notes in Theoretical Computer Science (ENTCS)
Granularity in software product lines
Proceedings of the 30th international conference on Software engineering
Using modern mathematics as an FOSD modeling language
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Feature featherweight java: a calculus for feature-oriented programming and stepwise refinement
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
A machine-checked model of safe composition
Proceedings of the 2009 workshop on Foundations of aspect-oriented languages
Safe composition of non-monotonic features
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Type-Checking Software Product Lines - A Formal Approach
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
On the impact of the optional feature problem: analysis and case studies
Proceedings of the 13th International Software Product Line Conference
Implementing software product lines using traits
Proceedings of the 2010 ACM Symposium on Applied Computing
Superimposition: a language-independent approach to software composition
SC'08 Proceedings of the 7th international conference on Software composition
Type safety for feature-oriented product lines
Automated Software Engineering
Evaluating support for features in advanced modularization technologies
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
FeatureC++: on the symbiosis of feature-oriented and aspect-oriented programming
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Feature models, grammars, and propositional formulas
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
A tutorial on feature oriented programming and the AHEAD tool suite
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
Pure delta-oriented programming
FOSD '10 Proceedings of the 2nd International Workshop on Feature-Oriented Software Development
Verification of software product lines with delta-oriented slicing
FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
Compositional type-checking for delta-oriented programming
Proceedings of the tenth international conference on Aspect-oriented software development
ContextFJ: a minimal core calculus for context-oriented programming
Proceedings of the 10th international workshop on Foundations of aspect-oriented languages
On-demand integration of product lines: a study of reuse and stability
Proceedings of the 2nd International Workshop on Product Line Approaches in Software Engineering
Dynamic delta-oriented programming
Proceedings of the 15th International Software Product Line Conference, Volume 2
Delta-oriented architectural variability using MontiCore
Proceedings of the 5th European Conference on Software Architecture: Companion Volume
Feature interactions, products, and composition
Proceedings of the 10th ACM international conference on Generative programming and component engineering
A DSL for writing type systems for Xtext languages
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
Row types for delta-oriented programming
Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems
Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems
Delta modeling in practice: a Fredhopper case study
Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems
Variability modelling in the ABS language
FMCO'10 Proceedings of the 9th international conference on Formal Methods for Components and Objects
A robust approach for variability extraction from the Linux build system
Proceedings of the 16th International Software Product Line Conference - Volume 1
Managing forked product variants
Proceedings of the 16th International Software Product Line Conference - Volume 1
FoVeOOS'11 Proceedings of the 2011 international conference on Formal Verification of Object-Oriented Software
A modal logic for abstract delta modeling
Proceedings of the 16th International Software Product Line Conference - Volume 2
A transformational proof system for delta-oriented programming
Proceedings of the 16th International Software Product Line Conference - Volume 2
Proceedings of the 16th International Software Product Line Conference - Volume 2
Abstract delta modeling: my research plan
Proceedings of the 16th International Software Product Line Conference - Volume 2
Using coordinated actors to model families of distributed systems
COORDINATION'12 Proceedings of the 14th international conference on Coordination Models and Languages
A formal foundation for dynamic delta-oriented software product lines
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
Conditioned model slicing of feature-annotated state machines
FOSD '12 Proceedings of the 4th International Workshop on Feature-Oriented Software Development
Challenges in the evolution of model-based software product lines in the automotive domain
FOSD '12 Proceedings of the 4th International Workshop on Feature-Oriented Software Development
A generic approach simplifying model-to-model transformation chains
MODELS'12 Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems
A liskov principle for delta-oriented programming
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Conflict detection in delta-oriented programming
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Family-Based analysis of type safety for delta-oriented software product lines
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Tracking behavioral constraints during object-oriented software evolution
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Customizing the common variability language semantics for your domain models
Proceedings of the VARiability for You Workshop: Variability Modeling Made Useful for Everyone
Evolving delta-oriented software product line architectures
Proceedings of the 17th Monterey conference on Large-Scale Complex IT Systems: development, operation and management
First-class variability modeling in Matlab/Simulink
Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems
Safe composition of configuration knowledge-based software product lines
Journal of Systems and Software
Enhancing design models with composition properties: a software maintenance study
Proceedings of the 12th annual international conference on Aspect-oriented software development
Refactoring delta-oriented software product lines
Proceedings of the 12th annual international conference on Aspect-oriented software development
Implementing Java-like languages in Xtext with Xsemantics
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Engineering delta modeling languages
Proceedings of the 17th International Software Product Line Conference
Generating counterexamples of model-based software product lines: an exploratory study
Proceedings of the 17th International Software Product Line Conference
aPET: a test case generation tool for concurrent objects
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Variability-aware safety analysis using delta component fault diagrams
Proceedings of the 17th International Software Product Line Conference co-located workshops
Refinement-based testing of delta-oriented product lines
Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools
Using document-oriented GUIs in dynamic software product lines
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Reuse in software verification by abstract method calls
CADE'13 Proceedings of the 24th international conference on Automated Deduction
Executable modelling of dynamic software product lines in the ABS language
Proceedings of the 5th International Workshop on Feature-Oriented Software Development
Features, modularity, and variation points
Proceedings of the 5th International Workshop on Feature-Oriented Software Development
FeatureIDE: An extensible framework for feature-oriented software development
Science of Computer Programming
Capturing variability in space and time with hyper feature models
Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems
A classification of modeling variability in simulink
Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems
Structural feature interaction patterns: case studies and guidelines
Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems
A taxonomy of software product line reengineering
Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems
Hi-index | 0.01 |
Feature-oriented programming (FOP) implements software product lines by composition of feature modules. It relies on the principles of stepwise development. Feature modules are intended to refer to exactly one product feature and can only extend existing implementations. To provide more flexibility for implementing software product lines, we propose delta-oriented programming (DOP) as a novel programming language approach. A product line is represented by a core module and a set of delta modules. The core module provides an implementation of a valid product that can be developed with well-established single application engineering techniques. Delta modules specify changes to be applied to the core module to implement further products by adding, modifying and removing code. Application conditions attached to delta modules allow handling combinations of features explicitly. A product implementation for a particular feature configuration is generated by applying incrementally all delta modules with valid application condition to the core module. In order to evaluate the potential of DOP, we compare it to FOP, both conceptually and empirically.