Closed GallLeo closed 2 years ago
Why would we in an FMI standard restrict the use of domains of other, sibling standards? I think we should stick to what we have.
Why would we in an FMI standard restrict the use of domains of other, sibling standards? I think we should stick to what we have.
I am not sure if I got it right, but this is not restricting the other standards, but rather reserving their domain in the FMI Standard such that they can safely add layers.
Didn't DCP or SSP already define additional FMI layers in their current specification? If so, where should they store their layer-specific artefacts according to the current design of layered standard in FMI 3? Under org.modelica? Or is your implicit assumption that they just store under, let's say org.ssp-standard? But that one is strictly spoken not safe / reserved by the MA / FMI.
As a coordinated MA effort, I think it makes sense if FMI 3 reserves the other domains of the other MA standards such that they can safely add layers later on.
The rules already state that a domain under control of the authoring entity should be used, hence SSP can already use org.ssp-standard and DCP likewise, as can any other entity.
The standard just specifically reserves both org.fmi-standard and org.modelica to make it clear that they are specifically off limits, as people are prone to assume that since they are extending FMI, they should be using some FMI domain, which they should not, unless they are the MAP FMI...
Thank you for the explanation. To me it seems: if the intention/rules in the FMI standard are not clear to @christoff-buerger, then they are not clear enough for the usual reader.
Text in FMI 3.0-rc.1:
The namespace mechanism for the type attribute is based on reverse domain notation: The originator of a specification for additional data specifies a domain name under their control as the namespace for the additional data, in order to avoid conflicts due to name collisions. All namespaces under both the
org.modelica
andorg.fmi-standard
domains are reserved for use in future layered standards.[For example, extensions defined by the Modelica Association might make use of the org.modelica.fmi namespace. This could lead to annotations with a type attribute of
org.modelica.fmi.something
, and/or extra files under theextra/org.modelica.ssp.something
sub-directory.]
How I read the text, when also reading the non-normative part:
org.modelica.ssp
or org.ssp-standard
org.modelica.fmi
or org.fmi-standard
What I read from the discussion in this ticket: you want to avoid having other organizations/people put their layered standards somewhere in the MA namespace. E.g. I should not do stupid stuff like org.fmi-standard.leo-additions
.
The normative part wants to prevent this.
The mentioned domains org.modelica
and org.fmi-standard
are examples and at the same time, the most important ones for the FMI project.
For clarification, maybe we should just change the last sentence from
All namespaces under both the
org.modelica
andorg.fmi-standard
domains are reserved for use in future layered standards.
to
"All namespaces under both the org.modelica
and org.fmi-standard
domains are reserved for use in future layered standards developed and maintained by the Modelica Association.".
?
If FMI and SSP already decided, which domains you are going to use, then we could also clarify the non-normative text (org.modelica.fmi
vs. org.fmi-standard
)?
I just found a similar/duplicate definition in section 2.5.1.6. Directory extra (https://fmi-standard.org/docs/3.0-dev/#structure-of-zip):
In order to avoid ambiguities and conflicts, the names of these subdirectories should use the reverse domain notation of a domain that is controlled by the entity defining the semantics and content of the additional entries [(for example
extra/com.example/SimTool/meta.xml
orextra/org.example.stdname/data.asd
)]. The use of subdirectories beginning withorg.modelica
andorg.fmi-standard
is explicitly reserved for use by MAP FMI-defined layered standards, i.e. other uses must not use subdirectory names beginning with these prefixes.
Now, I'm confused:
Does this section want to prevent using org.modelica.efmi
by MAP-eFMI?
@GallLeo : eFMI can, of course, add there, because they belong to org.modelica and the MA has the naming authority. For all MAPs, these sentences are not critical - the MA is boss. What (I think) @pmai is trying to say: Anyone outside MA, e.g. "BestSimulation AG", cannot develop a layered standard and mess with "our" names spaces. This needs to be clear in the standard.
I can see your confusion, as the current text says "reserved for use by MAP FMI-defined layered standards" which kind of excludes eFMI. Should we drip the "FMI-defined" to make it read "reserved for use by MAP layered standards"?
@andreas-junghanns "reserved for use by MAP layered standards" is not completely clear. We cannot assume, that a reader of the FMI Standard knows the MAP structure of MA. Layered standards are special, because they might not be defined by (fmi-experienced) tool implementors but also by some group of end users. Therefore, clarity is absolutely required.
Another proposal: "reserved for use by layered standards defined by Modelica Association or its own projects (MAPs)"?
@andreas-junghanns "reserved for use by MAP layered standards" is not completely clear. We cannot assume, that a reader of the FMI Standard knows the MAP structure of MA. Layered standards are special, because they might not be defined by (fmi-experienced) tool implementors but also by some group of end users. Therefore, clarity is absolutely required. Another proposal: "reserved for use by layered standards defined by Modelica Association or its own projects (MAPs)"?
The question remains, which person or part of our organization is responsible for this coordination. This would contribute to clarity ("reserved for use by layered standards defined by MA").
@martinkrammer: this PR is already merged. Please propose a concrete wording if you want something to be changed ASAP.
Anyway these decisions (who coordinates what, who has authority) do not belong in a standard document, because these things change due to organizational changes, whereas the standard is eternal. This just reserves the namespaces, how the reserved namespaces are then used inside MA is up to MA and the MAPs involved.
I like the change proposed by @GallLeo and pushed by @chrbertsch in #1759: "reserved for use by layered standards defined by Modelica Association or its own projects (MAPs)"
2.4.1 states: "All namespaces under both the org.modelica and org.fmi-standard domains are reserved for use in future layered standards."
Sould we add more MAPs?
Or is it not necessary, because these are MA URLs anyway? Please comment @pmai @christoff-buerger @martinkrammer