Acapulco is a tool to support Product Line configuration using genetic algorithms and consistency-preserving configuration operators.
Requirements
- Java JDK 13+
- Eclipse 2020 (4.18.0)+
In your eclipse installation, install
- FeatureIDE framework for feature-oriented software development. Tested with version 3.8.1.
- Eclipse Henshin 1.7.0. The required plugin is
org.eclipse.emf.henshin.model
.
Import the acapulco plugins (plugins
folder of this repository) in the Eclipse workspace. Then right click the plugin and select Run As
-> Eclipse Application
- Right click a feature model and click on
Acapulco prepare
. A set of resources will be generated with a message about how to perform theAcapulco launch
. When launching, a window to configure the parameters for the optimization will appear. The pareto front configurations and a CSV file with their objectives' values will be generated at the end of the process.
The video below shows a demo of Acapulco.
Acapulco.Video.mp4
- Objectives for the optimization can be contributed through the
acapulco.objective
extension point. - Predefined generic objectives already included are: Total sum of numeric feature attributes in a CSV file, Number of features in the configuration, or Number of generated files after deriving the configuration through the Product Line.
- A comparison of a version of Acapulco with other two tools is available in a replication package. The first version of Acapulco is a refactoring of this other repository.