This site is deprecated! DeltaJ will be re-developed. On this page, details will be available in future

DeltaJ: Delta-orientiertes Programmieren mit Java Delta-Oriented Programming with Java

Introduction

Einführung

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:

 

Einstieg

Getting Started

Der Einstieg ist nur in Englisch verfügbar.
Installation details - Schritt für Schritt Anleitung für die Plug-in Installation. This site guides you through the plug-in installation.
SimpleTextEditor example - Diese Seite zeigt die wichtigsten Features von DeltaJ 1.5 und des Plug-ins. Sie dient als Einstieg. This site shows the most important features of DeltaJ 1.5 and the plug-in. It is like a "Getting startet".
Creating a new DeltaJ project - Diese Seite zeigt, wie ein neues DeltaJ-Projekt erstellt wird. This site guides you throug the process of creating your own new DeltaJ project.

 

Downloads

 

Contact

Kontakt

 

Publications

Veröffentlichungen

2010

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.

2011

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.

2012

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.

2013

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.

2014

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