The Transformer Element
An element representing the executable objects in a Package.
Attributes and Elements
Attributes
Attribute | Description | Required |
---|---|---|
name | The name of the Transformer. | Yes |
displayName | An description for the Transformer. | No |
className | An .Net class name for the Transformer. | No |
classAssembly | An .Net class assembly for the Transformer. | No |
programName | An external program name for the Transformer. | No |
programArguments | A set of arguments for the Transformer's external program. | No |
isPrimary | Whether or not the Transformer is primary (i.e. can create a new Library). | No |
configurationSheet | To support multi-processing, a Transformer must use this attribute to specify a single-row Datasheet that contains the columns "MinimumIteration" and "MaximumIteration". Both columns must have a dataType of "Integer". | No |
isPipelineBased | Indicates that a Library supports Pipelines. Applicable to the Primary Transformer only. | No |
isRunnable | Indicates that a Transformer is runnable. Applicable to Pipeline based Libraries only. | No |
isDateTimeBased | Indicates that the "Timesteps" for a Stochastic Time Library are to be interpreted as DateTime objects. Applicable to the Primary Transformer only. Note that AddOn Packages must have the same "isDateTimeBased" attribute value as their corresponding Base Package. | No |
condaEnv | Name of the conda environment YAML file if the package is capable of using conda environments. | No |
displayNameSource | The display name for certain SyncroSim objects (specifically transformers and datafeeds) can come from an external single-row datasheet (e.g. "Terminology" in ST-Sim.) To use an external display name, set the "displayNameSource" to the external datasheet name and set the "displayNameColumn" to the column in that datasheet which contains the object name. | No |
displayNameColumn | The display name for certain SyncroSim objects (specifically transformers and datafeeds) can come from an external single-row datasheet (e.g. "Terminology" in ST-Sim.) To use an external display name, set the "displayNameSource" to the external datasheet name and set the "displayNameColumn" to the column in that datasheet which contains the object name. | No |
forceAllDatafeedsForPipeline | Forces all of the transformer's datafeeds to be included in the Pipeline when doing a model run. | No |
runContext | Can be "AllowRemote" or "LocalOnly." If "AllowRemote" then the transformer can participate in a multi-processing run. If "LocalOnly" it will never be run in multi-processing mode, even if other transformers are "AllowRemote". | No |
transformerSpecificOuput | Indicates whether a transformer will produce transformer specific output. If a transformer creates transformer specific output, it should have at least one datasheet with a "TransformerID" column and populate this column at runtime with its Transformer ID. This output is used for charting and mapping results. | No |
extendsTransformer | For addon transformers only; Indicates the name of the base package transformer that an addon package transformer extends. | No |
runOrder | For addon transformers only; Can be "Before" or "After" to indicate when an addon transformer should be run relative to the base transformer that it "extends". | No |
column | Used for export transformers only; Specifies the column to retrieve the export data from. | No |
dataSheet | Used for Export transformers only; Specifies the datasheet to retrieve the export data from. | No |
isFolderExport | Used for export transformers only; Indicates that the export should be done to a folder instead of to a single file. | No |
Important
The value for the name attribute must contain only alpha-numeric characters.
Child Elements
Element |
---|
datafeed |
pipeline |
Parent Elements
Element |
---|
transformers |
include |
Remarks
If you specify a className then instances of that .Net class will be created as necessary. In this case, the classAssembly must also be specified and the class must derive from SyncroSim.Core.Transformer.
Alternatively, you can specify a programName (and optionally its programArguments). In this case, SyncroSim will attempt to execute that program at model run time.
If you don't specify a className or a programName then the Transformer cannot be run. However, any Transformer can contain child Transformers in its <runtime> section. In this case, the child Transformers will be run even if the parent Transformer is not runnable.