Registering the Variables to Increment

  1. Reading input arguments for the increment value and the number of iteration
  2. Registering the variables to increment
  3. Registering the targets to have in the report
  4. Implementing the incrementation of the variables
  5. Implementing the reception of the new measures
  6. Implementing the check to finish the iteration loop
  7. Outputting a report file

Then, you need to receive the variables you care about:

Note: The parameterId is an unique string that identify the parameter, it has no other purpose.
Note: The min and max parameters are not used in the sample, but they represent the values displayed in the definition panel, if you need them in your implementation.
// dictionary containing a map from a parameter unique id and its display name, for readability in a report 
private IDictionarystring<string, string> _variableNames = new Dictionarystring<string, string>();
// dictionary containing a map from a parameter unique id and its current value, to send to Speos
private IDictionarystring<string, double> _variableValues = new Dictionary<string, double>();

//.... it is recommended for cleaner reading to leave the declaration of fields at the top of the file

/// <summary>
///     Called to register a new variable as input
/// </summary>
public void AddVariable(string parameterId, string parameterUserName, double startingValue, double min, double max)
{
    // add the parameter id to the two dictionaries
    _variableNames.Add(parameterId, parameterUserName);
    _variableValues.Add(parameterId, startingValue);
}