Developing Expanders
Now you have arrived to the heart of the matter, where we will give you the opportunity to gain a clear understanding of the tools. This will enable you to contribute to our NS Tools and to take part in improving them. For an in-depth look at the theory behind normalized systems, take a look at the book:
Mannaert, H., Verelst, J. & Bruyn, P. (2016). Normalized systems theory from foundations for evolvable software toward a general theory for evolvable design. Kermt: NSI-Press.
Usage
Expansion is typically run by using the expanders-maven-plugin.
You can use the expand
goal:
mvn expanders:expand
The plugin works by reading an expansionSettings.xml, which should be placed in conf/expansionSettings.xml
.
It is also possible to use other expansionSettings.xml
files in case you need to have multiple files:
mvn expanders:expand -Dexpansion.settings=conf/expansionSettings-alternative.xml
Development
This tutorial will guide you through the steps to create your own expanders.
How to create and implement new Expanders, which generate artifacts based on the model:
How to implement new Features, which inserts code in feature anchors in other Expanders:
How to define models for tests:
How to set up an expansion-resource project:
How to add data to an expansion-resource: