diff --git a/3rdParty b/3rdParty index 229b57228..0b3ca6f45 160000 --- a/3rdParty +++ b/3rdParty @@ -1 +1 @@ -Subproject commit 229b572289dfcca3e286b839a147fc25ba914499 +Subproject commit 0b3ca6f4576c6b1bde14bc44658960fc1d78de15 diff --git a/schema/fmi2/fmi2Annotation.xsd b/schema/fmi2/fmi2Annotation.xsd index 1787fcc9e..c48fac195 100644 --- a/schema/fmi2/fmi2Annotation.xsd +++ b/schema/fmi2/fmi2Annotation.xsd @@ -3,10 +3,10 @@ Copyright(c) 2008-2011 MODELISAR consortium, - 2012-2020 Modelica Association Project "FMI". + 2012-2024 Modelica Association Project "FMI". All rights reserved. -This schema file is part of the FMI 2.0.2 standard. +This schema file is part of the FMI 2.0.5 standard. This file is licensed by the copyright holders under the 2-Clause BSD License (https://opensource.org/licenses/BSD-2-Clause): diff --git a/schema/fmi2/fmi2AttributeGroups.xsd b/schema/fmi2/fmi2AttributeGroups.xsd index f4f50416d..f72d44a46 100644 --- a/schema/fmi2/fmi2AttributeGroups.xsd +++ b/schema/fmi2/fmi2AttributeGroups.xsd @@ -3,10 +3,10 @@ Copyright(c) 2008-2011 MODELISAR consortium, - 2012-2020 Modelica Association Project "FMI". + 2012-2024 Modelica Association Project "FMI". All rights reserved. -This schema file is part of the FMI 2.0.2 standard. +This schema file is part of the FMI 2.0.5 standard. This file is licensed by the copyright holders under the 2-Clause BSD License (https://opensource.org/licenses/BSD-2-Clause): diff --git a/schema/fmi2/fmi2ModelDescription.xsd b/schema/fmi2/fmi2ModelDescription.xsd index 72c738952..2652fc097 100644 --- a/schema/fmi2/fmi2ModelDescription.xsd +++ b/schema/fmi2/fmi2ModelDescription.xsd @@ -7,10 +7,10 @@ Copyright(c) 2008-2011 MODELISAR consortium, - 2012-2020 Modelica Association Project "FMI". + 2012-2024 Modelica Association Project "FMI". All rights reserved. -This schema file is part of the FMI 2.0.2 standard. +This schema file is part of the FMI 2.0.5 standard. This file is licensed by the copyright holders under the 2-Clause BSD License (https://opensource.org/licenses/BSD-2-Clause): diff --git a/schema/fmi2/fmi2ScalarVariable.xsd b/schema/fmi2/fmi2ScalarVariable.xsd index 5da8c3f9b..5aabd8b04 100644 --- a/schema/fmi2/fmi2ScalarVariable.xsd +++ b/schema/fmi2/fmi2ScalarVariable.xsd @@ -5,10 +5,10 @@ Copyright(c) 2008-2011 MODELISAR consortium, - 2012-2020 Modelica Association Project "FMI". + 2012-2024 Modelica Association Project "FMI". All rights reserved. -This schema file is part of the FMI 2.0.2 standard. +This schema file is part of the FMI 2.0.5 standard. This file is licensed by the copyright holders under the 2-Clause BSD License (https://opensource.org/licenses/BSD-2-Clause): diff --git a/schema/fmi2/fmi2Type.xsd b/schema/fmi2/fmi2Type.xsd index 8c1d079ff..4f0eb9579 100644 --- a/schema/fmi2/fmi2Type.xsd +++ b/schema/fmi2/fmi2Type.xsd @@ -4,10 +4,10 @@ Copyright(c) 2008-2011 MODELISAR consortium, - 2012-2020 Modelica Association Project "FMI". + 2012-2024 Modelica Association Project "FMI". All rights reserved. -This schema file is part of the FMI 2.0.2 standard. +This schema file is part of the FMI 2.0.5 standard. This file is licensed by the copyright holders under the 2-Clause BSD License (https://opensource.org/licenses/BSD-2-Clause): diff --git a/schema/fmi2/fmi2Unit.xsd b/schema/fmi2/fmi2Unit.xsd index eb27baa39..2986f85d1 100644 --- a/schema/fmi2/fmi2Unit.xsd +++ b/schema/fmi2/fmi2Unit.xsd @@ -3,10 +3,10 @@ Copyright(c) 2008-2011 MODELISAR consortium, - 2012-2020 Modelica Association Project "FMI". + 2012-2024 Modelica Association Project "FMI". All rights reserved. -This schema file is part of the FMI 2.0.2 standard. +This schema file is part of the FMI 2.0.5 standard. This file is licensed by the copyright holders under the 2-Clause BSD License (https://opensource.org/licenses/BSD-2-Clause): diff --git a/schema/fmi2/fmi2VariableDependency.xsd b/schema/fmi2/fmi2VariableDependency.xsd index d0628eb92..63dd1432c 100644 --- a/schema/fmi2/fmi2VariableDependency.xsd +++ b/schema/fmi2/fmi2VariableDependency.xsd @@ -3,10 +3,10 @@ Copyright(c) 2008-2011 MODELISAR consortium, - 2012-2020 Modelica Association Project "FMI". + 2012-2024 Modelica Association Project "FMI". All rights reserved. -This schema file is part of the FMI 2.0.2 standard. +This schema file is part of the FMI 2.0.5 standard. This file is licensed by the copyright holders under the 2-Clause BSD License (https://opensource.org/licenses/BSD-2-Clause): diff --git a/schema/fmi3/fmi3Annotation.xsd b/schema/fmi3/fmi3Annotation.xsd index d8135ff27..15c5d0b37 100644 --- a/schema/fmi3/fmi3Annotation.xsd +++ b/schema/fmi3/fmi3Annotation.xsd @@ -1,24 +1,24 @@ - - + + Copyright(c) 2008-2011 MODELISAR consortium, - 2012-2018 Modelica Association Project "FMI". + 2012-2024 Modelica Association Project "FMI". All rights reserved. -This file is licensed by the copyright holders under the BSD 2-Clause License -(http://www.opensource.org/licenses/bsd-license.html): + +This file is licensed by the copyright holders under the 2-Clause BSD License +(https://opensource.org/licenses/BSD-2-Clause): + ---------------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -32,32 +32,20 @@ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------------------------- - -with the extension: - -You may distribute or publicly perform any modification only under the -terms of this license. -(Note, this means that if you distribute a modified file, -the modified file must also be provided under this license). - - - - - - - Tool specific annotation (ignored by other tools). - - - - - - - - Name of tool that can interpret the annotation. "name" must be unique with respect to all other elements of the VendorAnnotation list. - - - - - - + + + + + + + + + + + + + + + + diff --git a/schema/fmi3/fmi3AttributeGroups.xsd b/schema/fmi3/fmi3AttributeGroups.xsd index 31b510199..3dfa55b39 100644 --- a/schema/fmi3/fmi3AttributeGroups.xsd +++ b/schema/fmi3/fmi3AttributeGroups.xsd @@ -1,24 +1,24 @@ - - + + Copyright(c) 2008-2011 MODELISAR consortium, - 2012-2018 Modelica Association Project "FMI". + 2012-2024 Modelica Association Project "FMI". All rights reserved. -This file is licensed by the copyright holders under the BSD 2-Clause License -(http://www.opensource.org/licenses/bsd-license.html): + +This file is licensed by the copyright holders under the 2-Clause BSD License +(https://opensource.org/licenses/BSD-2-Clause): + ---------------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. + this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -32,52 +32,88 @@ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------------------------- - -with the extension: - -You may distribute or publicly perform any modification only under the -terms of this license. -(Note, this means that if you distribute a modified file, -the modified file must also be provided under this license). - - - - - - - - Default display unit, provided the conversion of values in "unit" to values in "displayUnit" is defined in UnitDefinitions / Unit / DisplayUnit. - - - - - If relativeQuantity=true, offset for displayUnit must be ignored. - - - - - - max >= min required - - - - - nominal > 0.0 required - - - - - Set to true, e.g., for crank angle. If true and variable is a state, relative tolerance should be zero on this variable. - - - - - - - - - max >= min required - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schema/fmi3/fmi3BuildDescription.xsd b/schema/fmi3/fmi3BuildDescription.xsd new file mode 100644 index 000000000..d63477639 --- /dev/null +++ b/schema/fmi3/fmi3BuildDescription.xsd @@ -0,0 +1,117 @@ + + + + + +Copyright(c) 2008-2011 MODELISAR consortium, + 2012-2024 Modelica Association Project "FMI". + All rights reserved. + +This file is licensed by the copyright holders under the 2-Clause BSD License +(https://opensource.org/licenses/BSD-2-Clause): + +---------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +---------------------------------------------------------------------------- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schema/fmi3/fmi3InterfaceType.xsd b/schema/fmi3/fmi3InterfaceType.xsd new file mode 100644 index 000000000..157886673 --- /dev/null +++ b/schema/fmi3/fmi3InterfaceType.xsd @@ -0,0 +1,80 @@ + + + + +Copyright(c) 2008-2011 MODELISAR consortium, + 2012-2024 Modelica Association Project "FMI". + All rights reserved. + +This file is licensed by the copyright holders under the 2-Clause BSD License +(https://opensource.org/licenses/BSD-2-Clause): + +---------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +---------------------------------------------------------------------------- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schema/fmi3/fmi3LayeredStandardManifest.xsd b/schema/fmi3/fmi3LayeredStandardManifest.xsd new file mode 100644 index 000000000..74ae22981 --- /dev/null +++ b/schema/fmi3/fmi3LayeredStandardManifest.xsd @@ -0,0 +1,93 @@ + + + + +Copyright(c) 2024 Modelica Association Project "FMI". + All rights reserved. + +This file is licensed by the copyright holders under the 2-Clause BSD License +(https://opensource.org/licenses/BSD-2-Clause): + +---------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +---------------------------------------------------------------------------- + + + + + + + This attribute gives the name, in reverse domain name notation, + of the layered standard. + + + + + + + This attribute gives the version of the layered standard. The use + of semantic versioning is highly recommended. In case of semantic + versioning it is up to the layered standard to define whether only + major and minor version are included in the version attribute, + or the full version is to be included. + + + + + + + This attribute gives a string with a brief description of the + layered standard that is suitable for display to users. + + + + + + + + This attribute group specifies the required root element attributes + of the fmi-ls-manifest.xml file in the sub-directory of extra + mandated by a layered standard. + + + + + + + + + + + This is the default root element to use in a layered standard for the mandated + fmi-ls-manifest.xml file, if no other suitable root element definition is provided + in the layered standard. + + + + + + + diff --git a/schema/fmi3/fmi3ModelDescription.xsd b/schema/fmi3/fmi3ModelDescription.xsd index d8867d6c4..736246927 100644 --- a/schema/fmi3/fmi3ModelDescription.xsd +++ b/schema/fmi3/fmi3ModelDescription.xsd @@ -1,28 +1,30 @@ - - - - - - + + + + + + + + Copyright(c) 2008-2011 MODELISAR consortium, - 2012-2018 Modelica Association Project "FMI". + 2012-2024 Modelica Association Project "FMI". All rights reserved. -This file is licensed by the copyright holders under the BSD 2-Clause License -(http://www.opensource.org/licenses/bsd-license.html): + +This file is licensed by the copyright holders under the 2-Clause BSD License +(https://opensource.org/licenses/BSD-2-Clause): + ---------------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. + this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -36,334 +38,94 @@ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------------------------- - -with the extension: - -You may distribute or publicly perform any modification only under the -terms of this license. -(Note, this means that if you distribute a modified file, -the modified file must also be provided under this license). - - - - - - - - At least one of the elements must be present - - - - The FMU includes a model or the communication to a tool that provides a model. The environment provides the simulation engine for the model. - - - - List of capability flags that an FMI3 Model Exchange interface can provide - - - - - List of source file names that are present in the "sources" directory of the FMU and need to be compiled in order to generate the binary of the FMU (only meaningful for source code FMUs). - - - - - - - - Name of the file including the path relative to the sources directory, using the forward slash as separator (for example: name = "myFMU.c"; name = "modelExchange/solve.c") - - - - - - - - - - - Short class name according to C-syntax, e.g. "A_B_C". Used as prefix for FMI3 functions if the functions are provided in C source code or in static libraries, but not if the functions are provided by a DLL/SharedObject. modelIdentifier is also used as name of the static library or DLL/SharedObject. - - - - - If true, a tool is needed to execute the model and the FMU just contains the communication to this tool. - - - - - - - - - - - - - - The FMU includes a model and the simulation engine, or the communication to a tool that provides this. The environment provides the master algorithm for the Co-Simulation coupling. - - - - - - List of source file names that are present in the "sources" directory of the FMU and need to be compiled in order to generate the binary of the FMU (only meaningful for source code FMUs). - - - - - - - - Name of the file including the path relative to the sources directory, using the forward slash as separator (for example: name = "myFMU.c"; name = "coSimulation/solve.c") - - - - - - - - - - - Short class name according to C-syntax, e.g. "A_B_C". Used as prefix for FMI3 functions if the functions are provided in C source code or in static libraries, but not if the functions are provided by a DLL/SharedObject. modelIdentifier is also used as name of the static library or DLL/SharedObject. - - - - - If true, a tool is needed to execute the model and the FMU just contains the communication to this tool. - - - - - - - - - - - - - Directional derivatives at communication points - - - - - - - - - - - - - - - - - - - - - - - Log categories available in FMU - - - - - - - - Name of Category element. "name" must be unique with respect to all other elements of the LogCategories list. Standardized names: "logEvents", "logSingularLinearSystems", "logNonlinearSystems", "logDynamicStateSelection", "logStatusWarning", "logStatusDiscard", "logStatusError", "logStatusFatal", "logStatusPending", "logAll" - - - - - Description of the log category - - - - - - - - - - - - Default start time of simulation - - - - - Default stop time of simulation - - - - - Default relative integration tolerance - - - - - ModelExchange: Default step size for fixed step integrators. -CoSimulation: Preferred communicationStepSize. - - - - - - - Tool specific data (ignored by other tools) - - - - - Ordered list of all variables (first definition has index = 1). - - - - - - - - - - Ordered lists of outputs, exposed state derivatives, -and the initial unknowns. Optionally, the functional -dependency of these variables can be defined. - - - - - - Ordered list of all outputs. Exactly all variables with causality="output" must be in this list. The dependency definition holds for Continuous-Time and for Event Mode (ModelExchange) and for Communication Points (CoSimulation). - - - - - Ordered list of all exposed state derivatives (and therefore implicitely associated continuous-time states). Exactly all state derivatives of a ModelExchange FMU must be in this list. A CoSimulation FMU need not expose its state derivatives. If a model has dynamic state selection, introduce dummy state variables. The dependency definition holds for Continuous-Time and for Event Mode (ModelExchange) and for Communication Points (CoSimulation). - - - - - Ordered list of all exposed Unknowns in Initialization Mode. This list consists of all variables with (1) causality = "output" and (initial="approx" or calculated"), (2) causality = "calculatedParameter", and (3) all continuous-time states and all state derivatives (defined with element Derivatives from ModelStructure) with initial=("approx" or "calculated"). The resulting list is not allowed to have duplicates (e.g. if a state is also an output, it is included only once in the list). The Unknowns in this list must be ordered according to their Variable index (e.g. if for two variables A and B the Variable index of A is less than the index of B, then A must appear before B in InitialUnknowns). - - - - - - Dependency of Unknown from Knowns: - Unknown=f(Known_1, Known_2, ...). -The Knowns are "inputs", -"variables with initial=exact", and -"independent variable". - - - - - Variable valueReference of Unknown - - - - - Defines the dependency of the Unknown (directly or indirectly via auxiliary variables) on the Knowns in the Initialization Mode. If not present, it must be assumed that the Unknown depends on all Knowns. If present as empty list, the Unknown depends on none of the Knowns. Otherwise the Unknown depends on the Knowns defined by the given Variable valueReferences. The valueReferences are ordered according to the size of the index of the variable in the Variable list, starting with the smallest index. - - - - - - - - If not present, it must be assumed that the Unknown depends on the Knowns without a particular structure. Otherwise, the corresponding Known v enters the equation as: -= "dependent": no particular structure, f(v) -= "constant" : constant factor, c*v (only for Real variables) -If "dependenciesKind" is present, "dependencies" must be present and must have the same number of list elements. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Version of FMI (FMI 3.0 revision is defined as "3.0"; future minor revisions are denoted as 3.0.1, 3.0.2 etc). - For now only pre-release versions of the form 3.0-... are allowed, which should use a pattern of 3.0-wg003.1 or 3.0-fcp004.1, - i.e. should include the working group or FCP number as part of the pre-release version. - - - - - - - - - - - Class name of FMU, e.g. "A.B.C" (several FMU instances are possible) - - - - - Fingerprint of xml-file content to verify that xml-file and C-functions are compatible to each other - - - - - - - Version of FMU, e.g., "1.4.1" - - - - - Information on intellectual property copyright for this FMU, such as “© MyCompany 2011“ - - - - - Information on intellectual property licensing for this FMU, such as “BSD license”, "Proprietary", or "Public Domain" - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schema/fmi3/fmi3Terminal.xsd b/schema/fmi3/fmi3Terminal.xsd new file mode 100644 index 000000000..323f95606 --- /dev/null +++ b/schema/fmi3/fmi3Terminal.xsd @@ -0,0 +1,87 @@ + + + + + +Copyright(c) 2008-2011 MODELISAR consortium, + 2012-2024 Modelica Association Project "FMI". + All rights reserved. + +This file is licensed by the copyright holders under the 2-Clause BSD License +(https://opensource.org/licenses/BSD-2-Clause): + +---------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +---------------------------------------------------------------------------- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schema/fmi3/fmi3TerminalsAndIcons.xsd b/schema/fmi3/fmi3TerminalsAndIcons.xsd new file mode 100644 index 000000000..997c0b347 --- /dev/null +++ b/schema/fmi3/fmi3TerminalsAndIcons.xsd @@ -0,0 +1,84 @@ + + + + + + +Copyright(c) 2008-2011 MODELISAR consortium, + 2012-2024 Modelica Association Project "FMI". + All rights reserved. + +This file is licensed by the copyright holders under the 2-Clause BSD License +(https://opensource.org/licenses/BSD-2-Clause): + +---------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +---------------------------------------------------------------------------- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schema/fmi3/fmi3Type.xsd b/schema/fmi3/fmi3Type.xsd index 143106049..9168f8beb 100644 --- a/schema/fmi3/fmi3Type.xsd +++ b/schema/fmi3/fmi3Type.xsd @@ -1,25 +1,26 @@ - - - + + + + Copyright(c) 2008-2011 MODELISAR consortium, - 2012-2018 Modelica Association Project "FMI". + 2012-2024 Modelica Association Project "FMI". All rights reserved. -This file is licensed by the copyright holders under the BSD 2-Clause License -(http://www.opensource.org/licenses/bsd-license.html): + +This file is licensed by the copyright holders under the 2-Clause BSD License +(https://opensource.org/licenses/BSD-2-Clause): + ---------------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. + this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -33,80 +34,174 @@ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------------------------- + + -with the extension: + + + + + + + -You may distribute or publicly perform any modification only under the -terms of this license. -(Note, this means that if you distribute a modified file, -the modified file must also be provided under this license). - - - - - Type attributes of a scalar variable - - - - - - - - - - - - - - - - - - - - Should indicate the type of data passed as a binary. Defaults to application/octet-stream, - which is unspecific. Implementations can use this information to provide guidance to the user about - valid/useful connections. - - - - - If present, limits the maximum size of the binary to the indicated value. - All variable accesses, both getting and setting of values must guarantee that the returned - size of the binary is strictly equal or less than this maximum size. - - - - - - - - - - - - - Must be a unique number in the same enumeration - - - - - - - - - - - - - - Name of SimpleType element. "name" must be unique with respect to all other elements of the TypeDefinitions list. Furthermore, "name" of a SimpleType must be different to all "name"s of ScalarVariable. - - - - - Description of the SimpleType - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schema/fmi3/fmi3Unit.xsd b/schema/fmi3/fmi3Unit.xsd index 29acdfec7..ab509f3e7 100644 --- a/schema/fmi3/fmi3Unit.xsd +++ b/schema/fmi3/fmi3Unit.xsd @@ -1,121 +1,69 @@ - - - - -Copyright(c) 2008-2011 MODELISAR consortium, - 2012-2018 Modelica Association Project "FMI". - All rights reserved. -This file is licensed by the copyright holders under the BSD 2-Clause License -(http://www.opensource.org/licenses/bsd-license.html): ----------------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------------- - -with the extension: - -You may distribute or publicly perform any modification only under the -terms of this license. -(Note, this means that if you distribute a modified file, -the modified file must also be provided under this license). - - - - - Unit definition (with respect to SI base units) and default display units - - - - - BaseUnit_value = factor*Unit_value + offset - - - - - Exponent of SI base unit "kg" - - - - - Exponent of SI base unit "m" - - - - - Exponent of SI base unit "s" - - - - - Exponent of SI base unit "A" - - - - - Exponent of SI base unit "K" - - - - - Exponent of SI base unit "mol" - - - - - Exponent of SI base unit "cd" - - - - - Exponent of SI derived unit "rad" - - - - - - - - - - DisplayUnit_value = factor*Unit_value + offset - - - - - Name of DisplayUnit element, e.g. , . "name" must be unique with respect to all other "names" of the DisplayUnit definitions of the same Unit (different Unit elements may have the same DisplayUnit names). - - - - - - - - - - - Name of Unit element, e.g. "N.m", "Nm", "%/s". "name" must be unique will respect to all other elements of the UnitDefinitions list. The variable values of fmi3SetXXX and fmi3GetXXX are with respect to this unit. - - - - + + + + + +Copyright(c) 2008-2011 MODELISAR consortium, + 2012-2024 Modelica Association Project "FMI". + All rights reserved. + +This file is licensed by the copyright holders under the 2-Clause BSD License +(https://opensource.org/licenses/BSD-2-Clause): + +---------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +---------------------------------------------------------------------------- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schema/fmi3/fmi3Variable.xsd b/schema/fmi3/fmi3Variable.xsd index 5575aef95..15fc2e99a 100644 --- a/schema/fmi3/fmi3Variable.xsd +++ b/schema/fmi3/fmi3Variable.xsd @@ -1,26 +1,26 @@ - - - - + + + + Copyright(c) 2008-2011 MODELISAR consortium, - 2012-2018 Modelica Association Project "FMI". + 2012-2024 Modelica Association Project "FMI". All rights reserved. -This file is licensed by the copyright holders under the BSD 2-Clause License -(http://www.opensource.org/licenses/bsd-license.html): + +This file is licensed by the copyright holders under the 2-Clause BSD License +(https://opensource.org/licenses/BSD-2-Clause): + ---------------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. + this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -34,279 +34,380 @@ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------------------------- - -with the extension: - -You may distribute or publicly perform any modification only under the -terms of this license. -(Note, this means that if you distribute a modified file, -the modified file must also be provided under this license). - - - - - Properties of a variable - - - - - - - - If present, name of type defined with TypeDefinitions / SimpleType providing defaults. - - - - - - List of start values. Value before initialization, if initial=exact or approx. -max >= start[i] >= min required - - - - - - - - - - - - If present, this variable is the derivative of variable with Variable index "derivative". - - - - - Only for ModelExchange and if variable is a continuous-time state: -If true, state can be reinitialized at an event by the FMU -If false, state will never be reinitialized at an event by the FMU - - - - - - - - - If present, name of type defined with TypeDefinitions / SimpleType providing defaults. - - - - - - Value before initialization, if initial=exact or approx. -max >= start[i] >= min required - - - - - - - - - - - - - - - - If present, name of type defined with TypeDefinitions / SimpleType providing defaults. - - - - - Value before initialization, if initial=exact or approx - - - - - - - - - - - - - - - - If present, name of type defined with TypeDefinitions / SimpleType providing defaults. - - - - - Value before initialization, if initial=exact or approx - - - - - - - - - - - - - - - - If present, name of type defined with TypeDefinitions / SimpleType providing defaults. - - - - - Should indicate the type of data passed as a binary. Defaults to application/octet-stream, - which is unspecific. Implementations can use this information to provide guidance to the user about - valid/useful connections. - - - - - If present, limits the maximum size of the binary to the indicated value. - All variable accesses, both getting and setting of values must guarantee that the returned - size of the binary is strictly equal or less than this maximum size. - - - - - Value before initialization, if initial=exact or approx - - - - - - - - - - - - Name of type defined with TypeDefinitions / SimpleType - - - - - - - max >= min required - - - - - Value before initialization, if initial=exact or approx. -max >= start >= min required - - - - - - - - - - - - - - - - - - - - If start value is defined, the size is constant. -start value must only be defined if index to structuralParameter is not given. - - - - - Link to structuralParameter element. Must be defined if no start value exist. - - - - - - - - - - Additional data of the variable, e.g., for the dialog menu or the graphical layout - - - - - - Identifier of variable, e.g. "A_Matrix.", "abc'.d". "name" must be unique with respect to all other elements of the ModelVariables list - - - - - Identifier for variable value in FMI3 function calls (not necessarily unique with respect to all variables) - - - - - - parameter: independent parameter -calculatedParameter: calculated parameter -input/output: can be used in connections -local: variable calculated from other variables -independent: independent variable (usually time) -structuralParameter: structural parameter usually used for sizes - - - - - - - - - - - - - - - - constant: value never changes -fixed: value fixed after initialization -tunable: value constant between external events -discrete: value constant between internal events -continuous: no restriction on value changes - - - - - - - - - - - - - - exact: initialized with start value -approx: iteration variable that starts with start value -calculated: calculated from other variables. -If not provided, initial is deduced from causality and variability (details see specification) - - - - - - - - - - - - Only for ModelExchange and only for variables with variability = "input": -If present with value = false, then only one fmi3SetXXX call is allowed at one super dense time instant. In other words, this input is not allowed to appear in an algebraic loop. - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schema/fmi3/fmi3VariableDependency.xsd b/schema/fmi3/fmi3VariableDependency.xsd index 7ce008a56..6de674a1b 100644 --- a/schema/fmi3/fmi3VariableDependency.xsd +++ b/schema/fmi3/fmi3VariableDependency.xsd @@ -1,24 +1,25 @@ - - + + + Copyright(c) 2008-2011 MODELISAR consortium, - 2012-2018 Modelica Association Project "FMI". + 2012-2024 Modelica Association Project "FMI". All rights reserved. -This file is licensed by the copyright holders under the BSD 2-Clause License -(http://www.opensource.org/licenses/bsd-license.html): + +This file is licensed by the copyright holders under the 2-Clause BSD License +(https://opensource.org/licenses/BSD-2-Clause): + ---------------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. + this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -32,66 +33,32 @@ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------------------------- - -with the extension: - -You may distribute or publicly perform any modification only under the -terms of this license. -(Note, this means that if you distribute a modified file, -the modified file must also be provided under this license). - - - - - - - Dependency of scalar Unknown from Knowns -in Continuous-Time and Event Mode (ModelExchange), -and at Communication Points (CoSimulation): - Unknown=f(Known_1, Known_2, ...). -The Knowns are "inputs", "continuous states" and -"independent variable" (usually time)". - - - - - Variable valueReference of Unknown - - - - - Defines the dependency of the Unknown (directly or indirectly via auxiliary variables) on the Knowns in Continuous-Time and Event Mode (ModelExchange) and at Communication Points (CoSimulation). If not present, it must be assumed that the Unknown depends on all Knowns. If present as empty list, the Unknown depends on none of the Knowns. Otherwise the Unknown depends on the Knowns defined by the given Variable valueReference. The valueReferences are ordered according to the size of the index of the variable in the Variable list, starting with the smallest index. - - - - - - - - If not present, it must be assumed that the Unknown depends on the Knowns without a particular structure. Otherwise, the corresponding Known v enters the equation as: -= "dependent": no particular structure, f(v) -= "constant" : constant factor, c*v (only for Real variablse) -= "fixed" : fixed factor, p*v (only for Real variables) -= "tunable" : tunable factor, p*v (only for Real variables) -= "discrete" : discrete factor, d*v (only for Real variables) -If "dependenciesKind" is present, "dependencies" must be present and must have the same number of list elements. - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + +