Skip to content

Commit eae7aaf

Browse files
NikolaiFaNikolaiFa
authored andcommitted
Clarify glossary entries for "simulator"
1 parent 5180a79 commit eae7aaf

8 files changed

+24
-33
lines changed

docs/1___overview.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ Clarifications and fixes of all FMI 3.0 patch releases (FMI 3.0.x) are listed in
6363
=== Overview
6464

6565
The Functional Mock-up Interface (FMI) defines a ZIP archive and an application programming interface (API) to exchange dynamic models using a combination of XML files, binaries and C code: the Functional Mock-up Unit (FMU).
66-
The API is used by a simulation environment, the importer, to create one or more instances of an FMU and to simulate them, typically together with other models.
66+
The API is used by a simulator, the importer, to create one or more instances of an FMU and to simulate them, typically together with other models.
6767
The FMI defines three interface types:
6868

6969
* <<fmi-for-co-simulation,Co-Simulation (CS)>> where the FMU typically contains its own solver or scheduler,
@@ -107,7 +107,7 @@ image::images/model-exchange-data-flow.svg[width=40%, align="center"]
107107

108108
==== FMI for Co-Simulation (CS)
109109

110-
The Co-Simulation interface is designed both for the coupling of simulation tools, and the coupling of subsystem models, exported by a modeling environment together with their solvers as runnable code.
110+
The Co-Simulation interface is designed both for the coupling of _simulators_, and the coupling of subsystem models, exported by a modeling environment together with their solvers as runnable code.
111111
(See <<fmi-for-co-simulation>>.)
112112

113113
.Schematic view of data flow between user, the co-simulation algorithm of the importer and the FMU for Co-Simulation
@@ -197,7 +197,7 @@ Expressivity::
197197
The FMI provides the necessary features to package models of different domains, such as multi-body and virtual ECUs, into an FMU.
198198

199199
Stability::
200-
The FMI is expected to be supported by many simulation tools worldwide.
200+
The FMI is expected to be supported by many _simulators_ worldwide.
201201
Implementing such support is a major investment for tool vendors.
202202
Stability and backwards compatibility of the FMI has therefore high priority.
203203

docs/2_2_common_mechanisms.adoc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The following general requirements for implementations of FMUs and importers mus
66

77
* FMI functions of one instance are not required to be thread-safe. +
88
_[For example, if the functions of one instance of an FMU are accessed from more than one thread;
9-
the multi-threaded simulation environment that uses the FMU must guarantee that there are no race conditions while invoking the FMI functions.
9+
the multi-threaded simulator that uses the FMU must guarantee that there are no race conditions while invoking the FMI functions.
1010
The FMU itself does not implement any services to support this.]_
1111

1212
* The following FMI callback functions must not call back into the FMU:
@@ -66,7 +66,7 @@ include::../headers/fmi3FunctionTypes.h[tags=SetTime]
6666
_]_
6767

6868
`fmi3Functions.h`::
69-
contains the function prototypes of an FMU that may be accessed in simulation environments.
69+
contains the function prototypes of an FMU that may be accessed in simulator.
7070
+
7171
This header file includes `fmi3PlatformTypes.h` and `fmi3FunctionTypes.h`.
7272
The header file version number for which the model was compiled, may be inquired by the importer with <<fmi3GetVersion>>. +
@@ -109,14 +109,14 @@ A function that is defined as `fmi3GetFloat64` is changed by the macros to a fun
109109
- If the FMU is shipped with C source code or with static link library: +
110110
The constructed function name is `MyModel_fmi3GetFloat64`.
111111
In other words, the function name is prefixed with the model name and an `pass:[_]`.
112-
A simulation environment may therefore construct the relevant function names by generating code for the actual function call.
112+
A simulator may therefore construct the relevant function names by generating code for the actual function call.
113113
In case of a static link library, the name of the library must be `MyModel.lib` on Windows and `libMyModel.a` on Linux; in other words the <<modelIdentifier>> attribute is used to create the library name.
114114

115115
- If the FMU is shipped with DLL/SharedObject: +
116116
The constructed function name is `fmi3GetFloat64`, in other words, it is not changed.
117117
_[This can be realized in the case of a source code FMU with a target-specific version of `fmi3Functions.h` that does not use FMI3_FUNCTION_PREFIX to construct the function names._
118118
_Using the standard-supplied version of `fmi3Functions.h`, the same effect can be achieved by defining the `FMI3_OVERRIDE_FUNCTION_PREFIX` precompiler macro prior to the inclusion of the `fmi3Functions.h` header, for example using precompiler command-line flags.]_
119-
A simulation environment dynamically loads this library and explicitly imports the function pointers by providing the FMI function names as strings.
119+
A simulator dynamically loads this library and explicitly imports the function pointers by providing the FMI function names as strings.
120120
The name of the library must be `MyModel.dll` on Windows or `MyModel.so` on Linux; in other words the <<modelIdentifier>> attribute is used as library name.
121121

122122
Since <<modelIdentifier>> may be used as prefix of a C-function name it must fulfill the restrictions on C-function

docs/2_3_common_states.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ For FMUs that have clocks, `eventModeUsed = fmi3True` is required.
9292
* [[earlyReturnAllowed,`earlyReturnAllowed`]]If `earlyReturnAllowed = fmi3True` the importer can handle <<early-return,early return>>.
9393
Only in this case, <<fmi3DoStep>> may return with <<earlyReturn,`earlyReturn = fmi3True`>>.
9494

95-
* `instanceEnvironment` is a pointer that must be passed to <<fmi3IntermediateUpdateCallback>>, <<fmi3ClockUpdateCallback>>, and <<logMessage,`fmi3LogMessageCallback`>> to allow the simulation environment an efficient way to identify the calling FMU.
95+
* `instanceEnvironment` is a pointer that must be passed to <<fmi3IntermediateUpdateCallback>>, <<fmi3ClockUpdateCallback>>, and <<logMessage,`fmi3LogMessageCallback`>> to allow the simulator an efficient way to identify the calling FMU.
9696

9797
* [[requiredIntermediateVariables,`requiredIntermediateVariables`]] `requiredIntermediateVariables` is an array of the value references of all <<input>> variables that the simulation algorithm intends to set and all <<output>> variables it intends to get during intermediate updates.
9898
This set may be empty (<<nRequiredIntermediateVariables>> = 0) when the simulation algorithm does not intend to use intermediate update.
@@ -122,7 +122,7 @@ If the FMU does not define any log categories, `category` must be `NULL`.
122122

123123
+
124124
All string-valued arguments passed by the FMU to the <<logMessage>> may be deallocated by the FMU directly after function <<logMessage>> returns.
125-
_[The simulation environment must therefore create copies of these strings if it needs to access these strings later.]_ +
125+
_[The simulator must therefore create copies of these strings if it needs to access these strings later.]_ +
126126
Variables can be referenced in a message with `pass:[#]<ValueReference>pass:[#]`.
127127
If the character `pass:[#]` shall be included in the message, it has to be prefixed with `pass:[#]`, so `pass:[#]` is an escape character. +
128128
_[Example: The message `\#1365# must be larger than zero (used in IO channel ##4)` might be changed by the <<logMessage>> function to `body.m must be larger than zero (used in IO channel #4)` if `body.m` is the name of the variable with value reference 1365.]_
@@ -137,7 +137,7 @@ See <<fmi3ClockUpdateCallback>> for details.
137137
See <<preemption-support>> for details.
138138

139139
+
140-
The arguments <<logMessage>>, <<fmi3IntermediateUpdateCallback,`intermediateUpdate`>>, <<fmi3ClockUpdateCallback,`clockUpdate`>>, <<preemption-support,`lockPreemption`>>, and <<preemption-support,`unlockPreemption`>>, are function pointers provided by the simulation environment to be used by the FMU.
140+
The arguments <<logMessage>>, <<fmi3IntermediateUpdateCallback,`intermediateUpdate`>>, <<fmi3ClockUpdateCallback,`clockUpdate`>>, <<preemption-support,`lockPreemption`>>, and <<preemption-support,`unlockPreemption`>>, are function pointers provided by the simulator to be used by the FMU.
141141
Each of these pointers can be NULL to indicate missing support for the respective functionality.
142142
If such functionality is used anyway, undefined behavior results.
143143
_[For example, if <<logMessage,`logMessage = NULL`>>, calls to <<fmi3SetDebugLogging>> result in undefined behavior of the FMU._

docs/2_4_common_schema.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2340,7 +2340,7 @@ _This header file is not included in the `binaries` directory, because it is imp
23402340
_pass:[]`fmi3FunctionTypes.h` / `fmi3Functions.h` are not needed in the `sources` directory, because they are implicitly defined by attribute `fmiVersion` in file <<modelDescription.xml>>._
23412341
_Furthermore, in order that the C compiler can check for consistent function arguments, the header file from the importer should be used when compiling the C sources._
23422342
_It would therefore be counter-productive (unsafe) if this header file was present._ +
2343-
_These header files are not included in the `binaries` directory, since they are already utilized to build the executable of the simulation environment._
2343+
_These header files are not included in the `binaries` directory, since they are already utilized to build the executable of the simulator._
23442344
_The version number of the header file used to construct the FMU can be deduced via attribute `fmiVersion` in file <<modelDescription.xml>> or via function call <<fmi3GetVersion>>.]_
23452345

23462346
===== Library

docs/3_3_model_exchange_example.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
=== Code Example
22

3-
In the following example, the usage of the `fmi3XXX` functions is sketched in order to clarify the typical calling sequence of the functions in a simulation environment.
4-
Furthermore, it is assumed that one FMU is directly integrated in a simulation environment.
3+
In the following example, the usage of the `fmi3XXX` functions is sketched in order to clarify the typical calling sequence of the functions in a simulator.
4+
Furthermore, it is assumed that one FMU is directly integrated in a simulator.
55
If the FMU would be used inside another model, additional code is needed, especially initialization and event iteration have to be adapted.
66

77
[source, c]

docs/4_3_co-simulation_example.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ image::images/cs_intermediate_update.svg[width=100%]
5050

5151
==== Connected FMUs
5252

53-
In the following example, the usage of the FMI functions is sketched in order to clarify the typical calling sequence of the functions in a simulation environment.
53+
In the following example, the usage of the FMI functions is sketched in order to clarify the typical calling sequence of the functions in a simulator.
5454
We consider two FMUs, where both have one <<continuous>> floating point <<input>> and one <<continuous>> floating point <<output>> which are connected in the following way:
5555

5656
.Connection graph of FMUs.

docs/4___co-simulation.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
== FMI for Co-Simulation [[fmi-for-co-simulation]]
22

3-
FMI for Co-Simulation provides a standardized interface for execution of simulation models or tools in a co-simulation environment.
3+
FMI for Co-Simulation provides a standardized interface for execution of simulation models or _simulators_ in a co-simulation environment.
44
In contrast to FMI for Model Exchange, a Co-Simulation FMU implements not only the model algorithm, but also the required solution method.
55
The data exchange between FMUs is restricted to discrete communication points latexmath:[t_i] (unless <<IntermediateUpdateMode>> is used).
66
In the time between two communication points (or between entering <<IntermediateUpdateMode>>), the subsystem inside an FMU is solved independently by internal means.

docs/7___appendix.adoc

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ A <<Clock>> tick causes a <<Clock>> activation at that time instant, except for
3232
|See <<time-instant>>.
3333

3434
|_co-simulation_
35-
|Coupling of several _simulation programs_ in order to compute the global behavior of a system that consists of several subsystems.
35+
|Coupling of several _simulators_ in order to compute the global behavior of a system that consists of several subsystems.
3636
The subsystems are coupled in the sense that the behavior of each subsystem depends on the behavior of the remaining subsystems, so that the co-simulation must be computed in a step-by-step fashion.
37-
Each simulation program is responsible for computing the behavior of a subsystem, using the outputs produced by the other simulation programs.
38-
Synonyms: dynamic mutual-exchange, simulator coupling, and coupled simulation.
37+
Each simulator is responsible for computing the behavior of a subsystem, using the outputs produced by the other simulators.
38+
Synonyms: dynamic mutual-exchange, and coupled simulation.
3939

4040
|_direct feedthrough_
4141
|Direct feedthrough describes that values of output variables depend directly on values of input variables.
@@ -113,7 +113,7 @@ It may contain multiple FMI types, see <<multipleInterfaceTypes>>.
113113

114114
|[[importer, importer]]_importer_
115115
|The tool that imports or loads one or more FMUs.
116-
Also called simulation environment, environment, calling environment, (co-)simulation algorithm, target platform, target environment, integrator (in ME).
116+
Also called simulator, (co-)simulation algorithm, target platform, target environment, integrator (in ME).
117117

118118
|_independent variable_
119119
|All variables are a function of this <<independent>> variable, typically time.
@@ -153,7 +153,7 @@ It can be used to compute its expected behavior under specified conditions.
153153
|The model description file is an XML file named <<modelDescription.xml>>, which supplies a description of all properties of a _model_ (for example, <<input>> / <<output>> variables).
154154

155155
|_Model Description Schema_
156-
|An _XML_ schema that defines how all relevant, non-executable, information about a "model class" (_FMU)_ is stored in a text file in _XML_ format.
156+
|An _XML_ schema that defines how all relevant, non-executable, information about a "model class" (_FMU_) is stored in a text file in _XML_ format.
157157
Most important, data for every variable is defined (variable name, handle, data type, variability, unit, etc.), see <<modelDescription.xml>>.
158158

159159
|[[model-partition,model partition]]_model partition_
@@ -185,7 +185,7 @@ These parameters are different from <<calculatedParameter,calculated parameters>
185185
|Recalculation of <<state,continuous-time states>> by the model.
186186

187187
|_runtime environment_
188-
|See co-simulation environment
188+
|See _simulator_
189189

190190
|_simulation_
191191
|Compute the behavior of one or several _models_ under specified conditions. +
@@ -194,18 +194,9 @@ These parameters are different from <<calculatedParameter,calculated parameters>
194194
|_simulation model_
195195
|see _model_
196196

197-
|_simulation program_
198-
|Software to develop and/or solve simulation _models_.
199-
The software includes a _solver_, may include a user interface and methods for post processing (see also: _simulation tool_, _simulation environment_). +
200-
201-
|_simulation tool_
202-
|see _simulation program_
203-
204197
|_simulator_
205-
|A simulator can include one or more _simulation programs_.
206-
207-
|_simulator coupling_
208-
|See _tool coupling_.
198+
|Software to develop and/or solve simulation _models_.
199+
The software includes a _solver_, may include a user interface and methods for post processing.
209200

210201
|_solver_
211202
|_Software component,_ which includes algorithms to solve _models_, for example, _integration algorithms_ and _event handling_ methods.
@@ -252,7 +243,7 @@ Therefore, this event can be handled efficiently.
252243
Also known as the _bi-lateral delay line_ method. For more details see <<FBH18>>.
253244

254245
|_user interface_
255-
|The part of the simulation program that gives the user control over the simulation and allows watching results.
246+
|The part of a _simulator_ that gives the user control over the simulation and allows watching results.
256247

257248
|_XML_
258249
|eXtensible Markup Language (https://www.w3.org/XML/[www.w3.org/XML], https://en.wikipedia.org/wiki/Xml[en.wikipedia.org/wiki/XML]) - An open standard to store information in text files in a structured form.

0 commit comments

Comments
 (0)