DSL Element model{}
The model element defines the model or component to be used in the simulation or test. Models can be designed in more than one way, therefore the model definition can vary. For example, the CSMLite model build with OMS could contain a Main module, which would contain an @Execute annotation, an entry point for model execution. The model definition could look something like this:
model(classname:"csm.csmliteMain") {
// Zero to many sub-element definitions
}
A model does not have to contain a Main model control component to work with OMS, as control can be managed by OMS system components. Therefore the entry point for model execution could be an OMS system component, for example:
model(iter:"weathr.moredata")
//Zero to many sub-element definitions
}
In this example, the OMS system iteration component iter provides the entry point for execution through its interaction with the weathr component.
Element model{}
Specification
Name |
model - specifies a model for a simulation |
Properties | Description | Type | Required |
classname | the classname of the model | String | No |
iter | the method and data to be iterated | String | No |
while | the method and data to iterate while a condition is true | String | No |
until | the method and data to iterate until a condition is true | String | No |
if | the method and data to run if a condition is true | String | No |
Note
- The classpath of the simulation must include all required classes for the model.
Sub-Elements | Description | Type | Default | Occurrences |
components{} | The components in the model | - | - | Zero to many |
connect{} | Component output to input connections | - | - | Zero to many |
feedback{} | Component output to input connections across time steps | - | - | Zero to many |
logging{} | Component log levels | - | - | Zero to many |
parameter{} | The model parameter set | - | - | Zero to many |
Note
- The class as specified in classname and every other class has to be found in the classpath of a simulation. Setting the classpath can be done using command line arguments on simulation execution, using environment variables, or other methods.