|
587 | 587 | <div id="header"> |
588 | 588 | <h1>Functional Mock-up Interface Specification</h1> |
589 | 589 | <div class="details"> |
590 | | -<span id="revnumber">version 8df50aa,</span> |
591 | | -<span id="revdate">2024-11-04</span> |
| 590 | +<span id="revnumber">version ff6aff0,</span> |
| 591 | +<span id="revdate">2024-11-07</span> |
592 | 592 | </div> |
593 | 593 | <div id="toc" class="toc2"> |
594 | 594 | <div id="toctitle">Contents</div> |
@@ -7845,8 +7845,8 @@ <h6 id="section-terminals"><a class="link" href="#section-terminals">2.4.9.2.2. |
7845 | 7845 | <p>The normalized string attribute <code>matchingRule</code> describes the rules for variable matching in a connection of terminals. |
7846 | 7846 | As detailed in <a href="#table-predefined-matching-rules">Table 26</a>, there are four predefined matching rules: <code>plug</code>, <code>bus</code>, <code>sequence</code>, and <code>none</code>. |
7847 | 7847 | Other standards may define new matching rules. |
7848 | | -In order to avoid ambiguities and conflicts, rule names must follow the <a href="#reverse-dns">reverse domain name notation</a> of a domain that is controlled by the entity defining the semantics and content of the additional entries. |
7849 | | -Such rule definitions can be part of a <a href="#LS-reverse-DNS">[LS-reverse-DNS]</a>layered standard>>, for example.</p> |
| 7848 | +In order to avoid ambiguities and conflicts, rule names must follow the <a href="#reverse-DNS">reverse domain name notation</a> of a domain that is controlled by the entity defining the semantics and content of the additional entries. |
| 7849 | +Such rule definitions can be part of a <a href="#LS-reverse-DNS">layered standard</a>, for example.</p> |
7850 | 7850 | </div> |
7851 | 7851 | <table id="table-predefined-matching-rules" class="tableblock frame-all grid-all stretch"> |
7852 | 7852 | <caption class="title">Table 26. Predefined matching rules.</caption> |
@@ -7891,7 +7891,7 @@ <h6 id="section-terminals"><a class="link" href="#section-terminals">2.4.9.2.2. |
7891 | 7891 | <div id="terminalKind" class="paragraph"> |
7892 | 7892 | <p>The normalized string <code>terminalKind</code> is an optional attribute. |
7893 | 7893 | Other standards may define terminal kinds. |
7894 | | -It is strongly recommended to use <a id="reverse-DNS"></a> to define a <code>terminalKind</code>. |
| 7894 | +It is strongly recommended to use <a href="#reverse-DNS">reverse domain name notation</a> to define a <code>terminalKind</code>. |
7895 | 7895 | It is intended that the <code>terminalKind</code> is used to define domain specific member variable sequences, member names and order, or high level restrictions for connections.</p> |
7896 | 7896 | </div> |
7897 | 7897 | <div class="paragraph"> |
@@ -7939,7 +7939,7 @@ <h6 id="section-terminalvars"><a class="link" href="#section-terminalvars">2.4.9 |
7939 | 7939 | </div> |
7940 | 7940 | <div class="paragraph"> |
7941 | 7941 | <p>The normalized string <code>variableKind</code> is used to provide general information about the variable. |
7942 | | -It is strongly recommended to use <a id="reverse-DNS"></a> to define a <code>variableKind</code>. |
| 7942 | +It is strongly recommended to use <a href="#reverse-DNS">reverse domain name notation</a> to define a <code>variableKind</code>. |
7943 | 7943 | This information defines how the connection of this variable has to be implemented (e.g. Kirchhoff’s current law or common signal flow).</p> |
7944 | 7944 | </div> |
7945 | 7945 | <div class="paragraph"> |
@@ -8871,7 +8871,7 @@ <h5 id="extra-directory"><a class="link" href="#extra-directory">2.5.1.6. Direct |
8871 | 8871 | <p>The ZIP archive may contain additional subdirectories within <code>extra/</code> that can be used to store additional data, e.g. for the implementation of <a href="#VersioningLayered">layered standards</a>.</p> |
8872 | 8872 | </div> |
8873 | 8873 | <div class="paragraph"> |
8874 | | -<p>In order to avoid ambiguities and conflicts, the names of these subdirectories should use the <a href="#reverse-dns">reverse domain name notation</a> of a domain that is controlled by the entity defining the semantics and content of the additional entries <em>[(for example <code>extra/com.example/SimTool/meta.xml</code> or <code>extra/org.example.stdname/data.asd</code>)]</em>. |
| 8874 | +<p>In order to avoid ambiguities and conflicts, the names of these subdirectories should use the <a href="#reverse-DNS">reverse domain name notation</a> of a domain that is controlled by the entity defining the semantics and content of the additional entries <em>[(for example <code>extra/com.example/SimTool/meta.xml</code> or <code>extra/org.example.stdname/data.asd</code>)]</em>. |
8875 | 8875 | It is explicitly allowed for tools and users other than the original creator of an FMU to modify, add or delete entries in the <code>extra/</code> directory without affecting the validity of the FMU in all other aspects. |
8876 | 8876 | Specifically all validation or digital signature schemes used to protect the content of the FMU should take the variability of extra file content into account <em>[(for example by having separate checksums or signatures for FMU core content and extra content, or not having signatures at all for extra content)]</em>.</p> |
8877 | 8877 | </div> |
@@ -9233,7 +9233,7 @@ <h3 id="VersioningLayered"><a class="link" href="#VersioningLayered">2.6. Versio |
9233 | 9233 | </div> |
9234 | 9234 | </div> |
9235 | 9235 | <div class="paragraph"> |
9236 | | -<p><a id="LS-reverse-DNS"></a>Layered standards use the <a href="#reverse-dns">reverse domain name notation</a> of a domain under the control of the organizations that releases the layered standard to reserve namespaces. |
| 9236 | +<p><a id="LS-reverse-DNS"></a>Layered standards use the <a href="#reverse-DNS">reverse domain name notation</a> of a domain under the control of the organizations that releases the layered standard to reserve namespaces. |
9237 | 9237 | All namespaces under both the <code>org.modelica</code> and <code>org.fmi-standard</code> domains are reserved for use in future layered standards.</p> |
9238 | 9238 | </div> |
9239 | 9239 | <div class="paragraph"> |
@@ -12236,102 +12236,105 @@ <h2 id="glossary"><a class="link" href="#glossary">Appendix A: Glossary</a></h2> |
12236 | 12236 | These parameters are different from <a href="#calculatedParameter">calculated parameters</a>, because they can be changed independently (according to their <a href="#variability"><code>variability</code></a>).</p></td> |
12237 | 12237 | </tr> |
12238 | 12238 | <tr> |
12239 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><a id="reverse-DNS"></a><em>revers domain name notation</em> |
12240 | | -A naming convention based on registered domain names, with the order of the components reversed for grouping purposes.</p></td> |
12241 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><a id="reinitialization"></a><em>reinitialization</em></p></td> |
| 12239 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><a id="reverse-DNS"></a><em>reverse domain name notation</em></p></td> |
| 12240 | +<td class="tableblock halign-left valign-top"><p class="tableblock">A naming convention based on registered domain names, with the order of the components reversed for grouping purposes.</p></td> |
12242 | 12241 | </tr> |
12243 | 12242 | <tr> |
| 12243 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><a id="reinitialization"></a><em>reinitialization</em></p></td> |
12244 | 12244 | <td class="tableblock halign-left valign-top"><p class="tableblock">Recalculation of <a href="#state">continuous-time states</a> by the model.</p></td> |
12245 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><em>runtime environment</em></p></td> |
12246 | 12245 | </tr> |
12247 | 12246 | <tr> |
| 12247 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><em>runtime environment</em></p></td> |
12248 | 12248 | <td class="tableblock halign-left valign-top"><p class="tableblock">See co-simulation environment</p></td> |
12249 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><em>simulation</em></p></td> |
12250 | 12249 | </tr> |
12251 | 12250 | <tr> |
| 12251 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><em>simulation</em></p></td> |
12252 | 12252 | <td class="tableblock halign-left valign-top"><p class="tableblock">Compute the behavior of one or several <em>models</em> under specified conditions.<br> |
12253 | 12253 | (see also <em>co-simulation</em>)</p></td> |
12254 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><em>simulation model</em></p></td> |
12255 | 12254 | </tr> |
12256 | 12255 | <tr> |
| 12256 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><em>simulation model</em></p></td> |
12257 | 12257 | <td class="tableblock halign-left valign-top"><p class="tableblock">see <em>model</em></p></td> |
12258 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><em>simulation program</em></p></td> |
12259 | 12258 | </tr> |
12260 | 12259 | <tr> |
| 12260 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><em>simulation program</em></p></td> |
12261 | 12261 | <td class="tableblock halign-left valign-top"><p class="tableblock">Software to develop and/or solve simulation <em>models</em>. |
12262 | 12262 | The software includes a <em>solver</em>, may include a user interface and methods for post processing (see also: <em>simulation tool</em>, <em>simulation environment</em>).<br></p></td> |
12263 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><em>simulation tool</em></p></td> |
12264 | 12263 | </tr> |
12265 | 12264 | <tr> |
| 12265 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><em>simulation tool</em></p></td> |
12266 | 12266 | <td class="tableblock halign-left valign-top"><p class="tableblock">see <em>simulation program</em></p></td> |
12267 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><em>simulator</em></p></td> |
12268 | 12267 | </tr> |
12269 | 12268 | <tr> |
| 12269 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><em>simulator</em></p></td> |
12270 | 12270 | <td class="tableblock halign-left valign-top"><p class="tableblock">A simulator can include one or more <em>simulation programs</em>.</p></td> |
12271 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><em>simulator coupling</em></p></td> |
12272 | 12271 | </tr> |
12273 | 12272 | <tr> |
| 12273 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><em>simulator coupling</em></p></td> |
12274 | 12274 | <td class="tableblock halign-left valign-top"><p class="tableblock">See <em>tool coupling</em>.</p></td> |
12275 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><em>solver</em></p></td> |
12276 | 12275 | </tr> |
12277 | 12276 | <tr> |
| 12277 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><em>solver</em></p></td> |
12278 | 12278 | <td class="tableblock halign-left valign-top"><p class="tableblock"><em>Software component,</em> which includes algorithms to solve <em>models</em>, for example, <em>integration algorithms</em> and <em>event handling</em> methods.</p></td> |
12279 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><em>state</em></p></td> |
12280 | 12279 | </tr> |
12281 | 12280 | <tr> |
| 12281 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><em>state</em></p></td> |
12282 | 12282 | <td class="tableblock halign-left valign-top"><p class="tableblock">The continuous <a href="#state">states</a> of a model are all variables that appear differentiated in the model and are independent from each other.<br> |
12283 | 12283 | The discrete-time states of a model are time-discrete variables that have two values in a model: The value of the variable from the previous <em>event</em> instant, and the value of the variable at the actual event instant.</p></td> |
12284 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><em>state event</em></p></td> |
12285 | 12284 | </tr> |
12286 | 12285 | <tr> |
| 12286 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><em>state event</em></p></td> |
12287 | 12287 | <td class="tableblock halign-left valign-top"><p class="tableblock">The time of <a href="#state-event">state <em>events</em></a> is not known apriori. |
12288 | 12288 | <a href="#fmi3GetEventIndicators">Event indicators</a> are used to allow the importer finding the time of these state events precisely.</p></td> |
12289 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><a id="step-event"></a><em>step event</em></p></td> |
12290 | 12289 | </tr> |
12291 | 12290 | <tr> |
| 12291 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><a id="step-event"></a><em>step event</em></p></td> |
12292 | 12292 | <td class="tableblock halign-left valign-top"><p class="tableblock"><em>Event</em> that might occur at a completed integrator step signaled by calling <a href="#fmi3CompletedIntegratorStep"><code>fmi3CompletedIntegratorStep</code></a>. |
12293 | 12293 | Step events are, for example, used to change the mapping of the continuous states to variables (<a href="#dynamic-state-selection">dynamic state selection</a>).</p></td> |
12294 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><em>structural parameter</em></p></td> |
12295 | 12294 | </tr> |
12296 | 12295 | <tr> |
| 12296 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><em>structural parameter</em></p></td> |
12297 | 12297 | <td class="tableblock halign-left valign-top"><p class="tableblock">A parameter that can be changed in <a href="#ConfigurationMode"><strong>Configuration Mode</strong></a>, i.e. prior to <a href="#InitializationMode"><strong>Initialization Mode</strong></a>, and, if tuneable, also in <a href="#ReconfigurationMode"><strong>Reconfiguration Mode</strong></a>. |
12298 | 12298 | Structural parameters can be used to influence the size and/or dimensionality of array variables of an FMU, for example.</p></td> |
12299 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><a id="super-dense-time"></a><em>super-dense time</em></p></td> |
12300 | 12299 | </tr> |
12301 | 12300 | <tr> |
| 12301 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><a id="super-dense-time"></a><em>super-dense time</em></p></td> |
12302 | 12302 | <td class="tableblock halign-left valign-top"><p class="tableblock">A precise definition of time taking into account iterations at an event. |
12303 | 12303 | For an <em>FMU</em>, the <a href="#independent"><code>independent</code></a> variable time \(t \in \mathbb{T}\) is a tuple \(t = (t_R, t_I)\) where \(t_R \in \mathbb{R}, t_I \in \mathbb{N} = \{0,1,2,\ldots\}\). |
12304 | 12304 | The real part \(t_R\) of this tuple is the <a href="#independent"><code>independent</code></a> variable of the FMU for describing the continuous-time behavior of the model between events. |
12305 | 12305 | During continuous-time integration \(t_I = 0\). |
12306 | 12306 | The integer part \(t_I\) of this tuple is a counter to enumerate (and therefore distinguish) the events at the same continuous-time instant \(t_R\).</p></td> |
12307 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><em>super-dense time instant</em></p></td> |
12308 | 12307 | </tr> |
12309 | 12308 | <tr> |
| 12309 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><em>super-dense time instant</em></p></td> |
12310 | 12310 | <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#time-instant">time instant</a> and <a href="#super-dense-time">super-dense time</a>.</p></td> |
12311 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><a id="time-event"></a><em>time event</em></p></td> |
12312 | 12311 | </tr> |
12313 | 12312 | <tr> |
| 12313 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><a id="time-event"></a><em>time event</em></p></td> |
12314 | 12314 | <td class="tableblock halign-left valign-top"><p class="tableblock"><em>Event</em> that is defined by a predefined time instant. |
12315 | 12315 | Since the time instant is known in advance, the integrator can select its step size so that the event point is directly reached. |
12316 | 12316 | Therefore, this event can be handled efficiently.</p></td> |
12317 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><a id="time-instant"></a><em>time instant</em></p></td> |
12318 | 12317 | </tr> |
12319 | 12318 | <tr> |
| 12319 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><a id="time-instant"></a><em>time instant</em></p></td> |
12320 | 12320 | <td class="tableblock halign-left valign-top"><p class="tableblock">A moment in time, either a continuous-time instant \(t = t_R\), or a super-dense time instant \(t = (t_R, t_I)\), see also <a href="#super-dense-time">super-dense time</a>.</p></td> |
12321 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><a id="tlm"></a><em>TLM</em></p></td> |
12322 | 12321 | </tr> |
12323 | 12322 | <tr> |
| 12323 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><a id="tlm"></a><em>TLM</em></p></td> |
12324 | 12324 | <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#transmission-line-modeling">Transmission Line Modeling</a></p></td> |
12325 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><a id="transmission-line-modeling"></a><em>Transmission Line Modeling</em></p></td> |
12326 | 12325 | </tr> |
12327 | 12326 | <tr> |
| 12327 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><a id="transmission-line-modeling"></a><em>Transmission Line Modeling</em></p></td> |
12328 | 12328 | <td class="tableblock halign-left valign-top"><p class="tableblock">A mathematical method which uses physically motivated time delays to decouple an equation system into independent parts during a specified time frame without compromising numerical stability. |
12329 | 12329 | Also known as the <em>bi-lateral delay line</em> method. For more details see <a href="#FBH18">[FBH18]</a>.</p></td> |
12330 | | -<td class="tableblock halign-left valign-top"><p class="tableblock"><em>user interface</em></p></td> |
12331 | 12330 | </tr> |
12332 | 12331 | <tr> |
| 12332 | +<td class="tableblock halign-left valign-top"><p class="tableblock"><em>user interface</em></p></td> |
12333 | 12333 | <td class="tableblock halign-left valign-top"><p class="tableblock">The part of the simulation program that gives the user control over the simulation and allows watching results.</p></td> |
| 12334 | +</tr> |
| 12335 | +<tr> |
12334 | 12336 | <td class="tableblock halign-left valign-top"><p class="tableblock"><em>XML</em></p></td> |
| 12337 | +<td class="tableblock halign-left valign-top"><p class="tableblock">eXtensible Markup Language (<a href="https://www.w3.org/XML/">www.w3.org/XML</a>, <a href="https://en.wikipedia.org/wiki/Xml">en.wikipedia.org/wiki/XML</a>) - An open standard to store information in text files in a structured form.</p></td> |
12335 | 12338 | </tr> |
12336 | 12339 | </tbody> |
12337 | 12340 | </table> |
|
0 commit comments