- Simon Urli : urli [at] i3s [dot] unice [dot] fr
SpineFM is a tooled approach which aims to describe a software product line with a domain model related to multiple interrelated feature models. It uses a propagation algorithm of configuration actions in order to provide a free-order process for product derivation. Reading our SPLC'14 paper is a good first step before starting use this tool.
- Maven version 3
- Java 1.7 or up
- Eclipse Modeling Tool with maven integration
How to use it?
! Work in progress
- In a console, go to the spinefm root directory and type the following command:
cd spinefm-p2 && mvn clean install
- Open eclipse modeling tool in a new workspace project and install maven integration if it's not done yet ![Install maven integration](https://raw.githubusercontent.com/surli/spinefm/master/documentation/images/1-install-maven-integration.png =250x)
- Import maven project in eclipse and select directory spinefm (the root of this repository)
- Open spinefm-root project and open file target.target inside it
- Click on "Set as target platform" (link in the top right of target definition view) and wait for eclipse to resolve dependencies
- Test the setup by launching spinefm-core tests: all tests must pass (be careful that you must use java 1.7 to launch tests)
Create your own domain model
Creation of the domain model
- Create a new project in eclipse and create a directory "model"
- Open the file "MetamodelSpineFM.ecore" contained in directory "model" of project spinefm-core
- Open the hierarchy spinefm/MSPLModel, select "MultipleSoftwareProductLine" right click, select "Create dynamic instance" and create the instance inside your new project under directory "model"
- Open your newly created model with the Ecore editor view and display property view
- Give an ID to the MultipleSoftwareProductLine concept
Definition of concepts
Define the ID of the newly created domain element
The current implementation of SpineFM only support the following multiplicities :