From fec8d7a2df8f6dc6e41a8beed69fb7810f8cccb9 Mon Sep 17 00:00:00 2001 From: "Pierre R. Mai" Date: Sat, 12 Oct 2024 10:40:10 +0200 Subject: [PATCH 1/7] Update FMI references to FMI 3.0 --- docs/1___overview.adoc | 2 +- docs/4___common_content.adoc | 2 +- docs/A___literature.adoc | 7 +++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/1___overview.adoc b/docs/1___overview.adoc index 22a3412..b66b3d4 100644 --- a/docs/1___overview.adoc +++ b/docs/1___overview.adoc @@ -4,7 +4,7 @@ SSP is a tool-independent format for the description, packaging and exchange of The standard is comprised of a set of XML-based formats to describe a network of component models with their signal flow and parametrization, as well as a ZIP-based packaging format for efficient distribution of entire systems, including any referenced models and other resources. This description is tool neutral and is intended to be used primarly as an exchange format of simulation system descriptions between different tools. -SSP can be seen as an extension to the FMI (Functional Mockup Interface) standard [FMI20]. +SSP can be seen as an extension to the FMI (Functional Mockup Interface) standard [FMI30]. FMI describes a tool independent standard to exchange single simulation models. Using SSP, complete systems consisting of multiple interconnected simulation models can be defined with the desired signal flow and also with the wanted parameterization of each single model as well as the parameters for the complete system. This system topology can include hierarchies of sub-systems for proper structuring of the overall system. diff --git a/docs/4___common_content.adoc b/docs/4___common_content.adoc index 1286628..42a67bf 100644 --- a/docs/4___common_content.adoc +++ b/docs/4___common_content.adoc @@ -136,7 +136,7 @@ The following XML child elements are specified for the Unit element: ===== BaseUnit This element defines the base unit of the given unit in SI units. -This is completely aligned with the specification of base units in section 2.2.2 of the FMI 2.0 standard [FMI20]. +This is completely aligned with the specification of base units in section 2.4.3 of the FMI 3.0 standard [FMI30] and section 2.2.2 of the FMI 2.0 standard [FMI20]. image:images/image10.png[image,width=263,height=771] diff --git a/docs/A___literature.adoc b/docs/A___literature.adoc index 41856c4..888af0f 100644 --- a/docs/A___literature.adoc +++ b/docs/A___literature.adoc @@ -12,8 +12,11 @@ https://semver.org/spec/v2.0.0.html [XML10] World Wide Web Consortium: *Extensible Markup Language (XML) 1.0 (Fifth Edition).* W3C Recommendation. 2008. + http://www.w3.org/TR/2008/REC-xml-20081126/ -[FMI20] Modelica Association: *Functional Mock-up Interface for Model Exchange and Co-Simulation, Version 2.0.3.* 2021. + -https://github.com/modelica/fmi-standard/releases/download/v2.0.3/FMI-Specification-2.0.3.pdf +[FMI20] Modelica Association: *Functional Mock-up Interface for Model Exchange and Co-Simulation, Version 2.0.4.* 2022. + +https://github.com/modelica/fmi-standard/releases/download/v2.0.4/FMI-Specification-2.0.4.pdf + +[FMI30] Modelica Association: *Functional Mock-up Interface Specification, Version 3.0.1.* 2023. + +https://fmi-standard.org/docs/3.0.1/ [OSMP120] ASAM e.V.: *OSI Sensor Model Packaging Version 1.2.0.* 2021. + https://github.com/OpenSimulationInterface/osi-sensor-model-packaging/releases/tag/v1.2.0 From f5147a59897ff61c516be2dd290ca70211507336 Mon Sep 17 00:00:00 2001 From: "Pierre R. Mai" Date: Sat, 12 Oct 2024 10:51:05 +0200 Subject: [PATCH 2/7] Update copyrights in schemas (fix #42) --- schema/SystemStructureDescription.xsd | 2 +- schema/SystemStructureDescription11.xsd | 2 +- schema/SystemStructureParameterMapping.xsd | 2 +- schema/SystemStructureParameterValues.xsd | 2 +- schema/SystemStructureSignalDictionary.xsd | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/schema/SystemStructureDescription.xsd b/schema/SystemStructureDescription.xsd index 1f9ae4b..c33f1be 100644 --- a/schema/SystemStructureDescription.xsd +++ b/schema/SystemStructureDescription.xsd @@ -10,7 +10,7 @@ Version: 2.0-alpha - Copyright 2016 -- 2019 Modelica Association Project "SSP" + Copyright 2016 -- 2024 Modelica Association Project "SSP" Redistribution and use in source and binary forms, with or without modification, are permitted provided that the diff --git a/schema/SystemStructureDescription11.xsd b/schema/SystemStructureDescription11.xsd index c1caba6..89319db 100644 --- a/schema/SystemStructureDescription11.xsd +++ b/schema/SystemStructureDescription11.xsd @@ -16,7 +16,7 @@ Version: 2.0-alpha - Copyright 2016 -- 2019 Modelica Association Project "SSP" + Copyright 2016 -- 2024 Modelica Association Project "SSP" Redistribution and use in source and binary forms, with or without modification, are permitted provided that the diff --git a/schema/SystemStructureParameterMapping.xsd b/schema/SystemStructureParameterMapping.xsd index 0b248ca..4df7249 100644 --- a/schema/SystemStructureParameterMapping.xsd +++ b/schema/SystemStructureParameterMapping.xsd @@ -10,7 +10,7 @@ Version: 2.0-alpha - Copyright 2016 -- 2019 Modelica Association Project "SSP" + Copyright 2016 -- 2024 Modelica Association Project "SSP" Redistribution and use in source and binary forms, with or without modification, are permitted provided that the diff --git a/schema/SystemStructureParameterValues.xsd b/schema/SystemStructureParameterValues.xsd index 6bada4c..ecdca64 100644 --- a/schema/SystemStructureParameterValues.xsd +++ b/schema/SystemStructureParameterValues.xsd @@ -10,7 +10,7 @@ Version: 2.0-alpha - Copyright 2016 -- 2019 Modelica Association Project "SSP" + Copyright 2016 -- 2024 Modelica Association Project "SSP" Redistribution and use in source and binary forms, with or without modification, are permitted provided that the diff --git a/schema/SystemStructureSignalDictionary.xsd b/schema/SystemStructureSignalDictionary.xsd index 66418ef..c95354e 100644 --- a/schema/SystemStructureSignalDictionary.xsd +++ b/schema/SystemStructureSignalDictionary.xsd @@ -10,7 +10,7 @@ Version: 2.0-alpha - Copyright 2016 -- 2019 Modelica Association Project "SSP" + Copyright 2016 -- 2024 Modelica Association Project "SSP" Redistribution and use in source and binary forms, with or without modification, are permitted provided that the From 84662e769b454a5155077ed7e33746f913338c30 Mon Sep 17 00:00:00 2001 From: "Pierre R. Mai" Date: Sat, 12 Oct 2024 10:53:48 +0200 Subject: [PATCH 3/7] Update reference to OSMP --- docs/4___common_content.adoc | 2 +- docs/5___ssd.adoc | 2 +- docs/A___literature.adoc | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/4___common_content.adoc b/docs/4___common_content.adoc index 42a67bf..1e2e91e 100644 --- a/docs/4___common_content.adoc +++ b/docs/4___common_content.adoc @@ -312,7 +312,7 @@ The name *MUST* match the name of an Enumeration entry in the Enumerations XML e image:images/image17.png[image,width=319,height=114] -This type specifies that the connector in question represents a length-terminated binary data type, like the binary type defined for the FMI 3.0 standard, or substitute types like the binary type defined via the OSI Sensor Model Packaging specification [OSMP120]. +This type specifies that the connector in question represents a length-terminated binary data type, like the binary type defined for the FMI 3.0 standard, or substitute types like the binary type defined via the OSI Sensor Model Packaging specification [OSMP150]. [width="100%",cols="28%,72%",options="header",] |=== diff --git a/docs/5___ssd.adoc b/docs/5___ssd.adoc index fab9885..311c381 100644 --- a/docs/5___ssd.adoc +++ b/docs/5___ssd.adoc @@ -91,7 +91,7 @@ See below for details. image:images/image26.png[image,width=371,height=82] This optional element specifies the set of connectors of this model element, which represent the interface of the model element to the outside world. -For components the set of connectors *MUST* match variables/ports of the underlying component implementation, e.g., for referenced FMI 2.0 FMUs, the name of a connector has to match the name attribute of the corresponding element; for referenced FMUs that follow the OSI Sensor Model Packaging specification [OSMP120], the name of a connector of type Binary has to match the name attribute of the corresponding . +For components the set of connectors *MUST* match variables/ports of the underlying component implementation, e.g., for referenced FMI 2.0 FMUs, the name of a connector has to match the name attribute of the corresponding element; for referenced FMUs that follow the OSI Sensor Model Packaging specification [OSMP150], the name of a connector of type Binary has to match the name attribute of the corresponding . For FMI 3.0 FMUs, the connector name has to match either the name of the corresponding variable element, or one of its elements. Names of variable elements of an FMU might follow the “Variable Naming Conventions” specification as defined by the FMI standard. diff --git a/docs/A___literature.adoc b/docs/A___literature.adoc index 888af0f..7044d03 100644 --- a/docs/A___literature.adoc +++ b/docs/A___literature.adoc @@ -18,5 +18,5 @@ https://github.com/modelica/fmi-standard/releases/download/v2.0.4/FMI-Specificat [FMI30] Modelica Association: *Functional Mock-up Interface Specification, Version 3.0.1.* 2023. + https://fmi-standard.org/docs/3.0.1/ -[OSMP120] ASAM e.V.: *OSI Sensor Model Packaging Version 1.2.0.* 2021. + -https://github.com/OpenSimulationInterface/osi-sensor-model-packaging/releases/tag/v1.2.0 +[OSMP150] ASAM e.V.: *OSI Sensor Model Packaging Version 1.5.0.* 2024. + +https://github.com/OpenSimulationInterface/osi-sensor-model-packaging/releases/tag/v1.5.0 From 1f0a53966230ceb7d0a4b0d9e447663543d7bc6a Mon Sep 17 00:00:00 2001 From: "Pierre R. Mai" Date: Fri, 25 Oct 2024 09:58:46 +0200 Subject: [PATCH 4/7] Remove no-longer true sentence on causal connections --- docs/1___overview.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/1___overview.adoc b/docs/1___overview.adoc index b66b3d4..025df1c 100644 --- a/docs/1___overview.adoc +++ b/docs/1___overview.adoc @@ -52,7 +52,6 @@ From a simulation perspective, each component has to be described with its input This can be done using SSP by defining the wrapper of this component with an empty Component element comprising the connectors for the inputs and outputs and the component's parameters. The interaction of the components is defined by the connections. -Connections in SSP are always causal. Connections can be made directly between components or via signal dictionaries. A signal dictionary is a collection of signals similar to a bus concept (e.g. like a CAN bus). During the design phase of a system, a signal dictionary can be a good way to predefine the available signal connections. From f0dcdf9cae439fdbbedb9deec77299d12ef93004 Mon Sep 17 00:00:00 2001 From: "Pierre R. Mai" Date: Fri, 25 Oct 2024 10:03:58 +0200 Subject: [PATCH 5/7] Adjust wording for FMI 3.0 As noted by @UKiffmeier --- docs/5___ssd.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/5___ssd.adoc b/docs/5___ssd.adoc index 311c381..8a13e00 100644 --- a/docs/5___ssd.adoc +++ b/docs/5___ssd.adoc @@ -95,8 +95,8 @@ For components the set of connectors *MUST* match variables/ports of the underly For FMI 3.0 FMUs, the connector name has to match either the name of the corresponding variable element, or one of its elements. Names of variable elements of an FMU might follow the “Variable Naming Conventions” specification as defined by the FMI standard. -Hence, several ScalarVariables might be grouped as a structure or an array. -However, the name of a connector *MUST* match the name of a single . +Hence, several variables might be grouped as a structure or an array. +However, the name of a connector *MUST* match the name of a single variable. Note that there is no requirement that connectors have to be present for all variables/ports of an underlying component implementation. At least those connectors *MUST* be present which are referenced in connections inside the SSD. @@ -410,7 +410,7 @@ For structural parameters it is assumed that the parameterization is applied in This means that variables eligible for parameterization are those with: * either causality = "input" or a start value for FMI 1.0 -* variability != "constant" and initial = "exact" or "approx" for FMI 2.0 +* variability != "constant" and initial = "exact" or "approx" for FMI 2.0/3.0 All kinds of system connectors can be parameterized. In case the system level connectors are connected to FMU components, the parameterization *MUST* be compatible with the variable in the connected FMU. From b7b2ef3dc9c024ba0d1cd6c8588997d9f1c855ea Mon Sep 17 00:00:00 2001 From: "Pierre R. Mai" Date: Fri, 25 Oct 2024 11:18:50 +0200 Subject: [PATCH 6/7] Add missing description of signature element As per @UKiffmeier --- docs/4___common_content.adoc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/4___common_content.adoc b/docs/4___common_content.adoc index 1e2e91e..b1480d3 100644 --- a/docs/4___common_content.adoc +++ b/docs/4___common_content.adoc @@ -466,13 +466,15 @@ This attribute references another connector by name, that gives the size of this image:images/SystemStructureCommon_GMetaData.png[image,width=597,height=196] -The MetaData element allows the specification of additional meta data for a given model element. -Multiple (or no) MetaData elements may be present in a given model element. +The group GMetaData allows the specification of additional meta data and signatures for a given model element. +Multiple (or no) MetaData and Signature elements may be present in a given model element. [width="100%",cols="33%,67%",options="header",] |=== -|Element |Description -|MetaData |One or more instances of this element *CAN* be present to specify meta data related to the containing model element. +|Element |Description +|MetaData |One or more instances of this element *CAN* be present to specify meta data related to the containing model element. +See below for details. +|Signature |One or more instances of this element *CAN* be present to specify signatures related to the containing model element. See below for details. |=== From 195781c43bc19c18306a64135aa39e3df387c6e2 Mon Sep 17 00:00:00 2001 From: "Pierre R. Mai" Date: Fri, 25 Oct 2024 13:46:36 +0200 Subject: [PATCH 7/7] Further 2.0/3.0 wording update --- docs/5___ssd.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/5___ssd.adoc b/docs/5___ssd.adoc index 8a13e00..f7e1b38 100644 --- a/docs/5___ssd.adoc +++ b/docs/5___ssd.adoc @@ -42,7 +42,7 @@ image:images/image24.png[image,width=449,height=248] This element contains information of a default simulation setup that is supplied with the system definition for informational purposes. -{empty}[ _Note that in contrast to FMI 2.0 only start and stop time are specified here, since values like step size or tolerance depend on the specific solver or master algorithms employed and are hence not specified in this global element._ +{empty}[ _Note that in contrast to FMI 2.0/3.0 only start and stop time are specified here, since values like step size or tolerance depend on the specific solver or master algorithms employed and are hence not specified in this global element._ _Additional solver or master algorithm specific information can be supplied through the annotation mechanism, or using a future layered standard._ ] {empty}[ _The handling of systems comprising components with differing units for the independent variable depends on the implementation._