Algorithm 1 updateParameter (Parameter: p, String: newValue)

/*p: parameter that needs to be updated; newValue: new value of the parameter */

1: p.getGroup().setLastValue(Value (newValue));

/* creating a new value and adding it in the list of parameter’s group values */

/* Updating all parameters in the same groupwith p; p.getGroupedParameters() returning at least {p}*/

2: for all par ∈ p.getGroupedParameters()do

3: Template template = par.getTemplate();

/* reading the template file containing the parameter */

4: String file = template.filepath;/*reading file effectively containing the parameter */

5: String templateCopy = readFile (template.name);/* reading template file content */

6: for all param ∈ template.getParameters() do

7: templateCopy = templateCopy.replace(param.identifier, param.getGroup().getLastValue());

/* setting values of parameters in the template*/

8: end for

9: wrieteFile (file, templateCopy) ;/*updating the target file of the template */

10: end for