Delta-orientiertes Programmieren (DOP) ist ein transformationaler, sehr flexibler Ansatz Softwarproduktlinien (SPL) zu entwickeln. Produktfeatures werden Produktdeltas, die den Quelltext enthalten, zugeordnet. Produkte werden durch Auswahl der Produktfeatures definiert und durch Anwendung der Deltamodule generiert. Für die Evaluation unserer Forschung entwickeln wir die die Programmiersprache DeltaJ, die DOP für Java einführt und als Eclipse Plug-in bereit steht. Das Plug-in basiert auf dem Xtext Framework und bietet eine gute Integration in Eclipse.
Delta-oriented programming (DOP) is a transfomational approach to implement Software Product Lines (SPL) which is very flexible. Product features are mapped to Delta modules which contain the source code. Products are defined by a selection of product features. A product will be generated by applying the Delta modules. For evaluation of our research we develop the programming language DeltaJ which introduces DOP to Java. DeltaJ is available as an Eclipse plug-in. It is based on the Xtext Framework therefore it provides good integration into Eclipse.
Derzeit gibt es diese Prototypen von DeltaJ:
Currently we provide this DeltaJ prototypes:
Ina Schaefer, Lorenzo Bettini, Viviana Bono, Ferruccio Damiani and Nico Tanzarella.
Delta-oriented Programming of Software Product Lines.
In Software Product Lines: Going Beyond,
Lecture Notes in Computer Science, pages 77–91. SPLC '10, Springer Berlin Heidelberg, 2010.
Ina Schaefer and Ferruccio Damiani.
Pure delta-oriented programming.
In Proc. of the 2nd International Workshop on Feature-Oriented Software Development,
FOSD '10, pages 49-56. ACM, 2010.
Ina Schaefer, Lorenzo Bettini, and Ferruccio Damiani.
Compositional type-checking of delta-oriented programming.
In Proc. of the Tenth International Conference on Aspect-oriented Software Development,
AOSD '11, pages 43-56. ACM, 2011.
Ferruccio Damiani and Ina Schaefer.
Family-based analysis of type safety for delta-oriented software product lines.
In Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change,
Lecture Notes in Computer Science, pages 193–207. Springer Berlin Heidelberg, 2012.
Sandro Schulze, Oliver Richers, and Ina Schaefer.
Refactoring delta-oriented software product lines.
In Proc. of the 12th Annual International Conference on Aspect-oriented Software Development,
AOSD '13, pages 73-84. 2013.
Lorenzo Bettini, Ferruccio Damiani, and Ina Schaefer.
Compositional type checking of delta-oriented software product lines.
Acta Informatica, 50(2):77–122, 2013.
Jonathan Koscielny.
Typsicherheit in delta-orientierten Softwareproduktlinien. (German)
Bachelor thesis, Technische Universität Braunschweig, Institut für Softwaretechnik und Fahrzeuginformatik, 2013.
Jonathan Koscielny, Sönke Holthusen, Ina Schaefer, Sandro Schulze, Lorenzo Bettini and Ferruccio Damiani.
DeltaJ 1.5: Delta-Oriented Programming for Java 1.5
In In Proc. of the 2014 International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools,
PPPJ'14, pages 63-74, ACM, 2014