AspectJ-based Idioms for Flexible Feature Binding
In this webpage, we provide all the source code we used. All the projects are hosted in
github, therefore it is necessary to use
git in order to obtain it. To reproduce our study, you should obtain our case studies, which contains the modularized features. Afterwards, it is just apply any of the idioms we provide in the paper.
We provide the sheet and graphs through this
link.
101Companies SPL
This is the 101Companies SPL project with Total and Cut features implemented with aspects.
101Companies SPL with Layered Aspects
This is the 101Companies SPL with flexible binding applied to Total and Cut features by means of Layered Aspects
101Companies SPL with First increment
This is the 101Companies SPL with flexible binding applied to Total and Cut features by means of First increment
101Companies SPL with Second increment
This is the 101Companies SPL with flexible binding applied to Total and Cut features by means of Second increment
101Companies SPL with AroundClosure
This is the 101Companies SPL with flexible binding applied to Total and Cut features by means of
AroundClosure
BerkeleyDB SPL
This is the
BerkeleyDB SPL project with its nine features implemented with aspects.
BerkeleyDB SPL with Layered Aspects
This is the
BerkeleyDB SPL with flexible binding applied to its nine features by means of Layered Aspects
BerkeleyDB SPL with First increment
This is the
BerkeleyDB SPL with flexible binding applied to its nine features by means of First increment
BerkeleyDB SPL with Second increment
This is the
BerkeleyDB SPL with flexible binding applied to its nine features by means of Second increment
BerkeleyDB SPL with AroundClosure
Freemind SPL
This is the Freemind SPL project with its two features implemented with aspects.
Freemind SPL with Layered Aspects
This is the Freemind SPL with flexible binding applied to its two features by means of Layered Aspects
Freemind SPL with First increment
This is the Freemind SPL with flexible binding applied to its two features by means of First increment
Freemind SPL with Second increment
This is the Freemind SPL with flexible binding applied to its two features by means of Second increment
Freemind SPL with AroundClosure
This is the Freemind SPL with flexible binding applied to its two features by means of
AroundClosure
In order to run the
ArgoUML, these three projects must be included in the workspace:
tools,
model, and
infra.
ArgoUML SPL
This is the
ArgoUML SPL project with its feature implemented with aspects.
ArgoUML SPL with Layered Aspects
This is the Freemind SPL with flexible binding applied to its feature by means of Layered Aspects
ArgoUML SPL with First increment
This is the Freemind SPL with flexible binding applied to its two features by means of First increment
ArgoUML SPL with Second increment
This is the Freemind SPL with flexible binding applied to its two features by means of Second increment
ArgoUML SPL with AroundClosure
This is the Freemind SPL with flexible binding applied to its two features by means of
AroundClosure
In the following links, we provide extra source code we used to test and develop our idioms. This consists of a simple project with the quote feature, which adds a quote to a string.
Toyexample SPL with Layered Aspects
This is the Toyexample SPL with flexible binding applied to quote feature by means of Layered Aspects
Toyexample SPL with Layered Aspects
Toyexample SPL with First increment
This is the Toyexample SPL with flexible binding applied to quote feature by means of First increment
Toyexample SPL with First increment
Toyexample SPL with Second increment
This is the Toyexample SPL with flexible binding applied to quote feature by means of Second increment
Toyexample SPL with Second increment
Toyexample SPL with AroundClosure
This is the Toyexample SPL with flexible binding applied to quote feature by means of
AroundClosure
Toyexample SPL with AroundClosure