modelica/fmi-cross-check

Provide information for why an FMU is not compliant with latest rules

lochel opened this issue · 6 comments

Many FMUs are marked as notCompliantWithLatestRules, but none of them seem to have any information explaining why they are not compliant. It would be good to put a reason for why a certain model is not compliant into the notCompliantWithLatestRules file.

Many FMUs are marked as notCompliantWithLatestRules, but none of them seem to have any information explaining why they are not compliant. It would be good to put a reason for why a certain model is not compliant into the notCompliantWithLatestRules file.

This would have been good to do from the start.
Are you volunteering to do the work now?

I don't know why all the FMUs are flagged as invalid. I guess the people who where involved should try to recall and provide the information. What I can do is to include a reason for all FMUs that I myself identify as invalid.

Often there are multiple reasons, I suggest to use one line per reason.
Let´s also try to find a "standard" way to describe this so we can grep/find for specific FMUs failing for the same reason.

You can validate the FMU with FMPy or use the online FMU Check to get a list of all problems.

@t-sommer Please explain why you closed the issue. I cannot see that the issue got solved or addressed in any way.

If I understand you correctly, then you are saying that the validation for the fmi cross-check examples is done by a single vendor implementation. This is very odd and I am very surprised that the MA is supporting this approach. It is certainly fine to use certain implementations in the validation process, but the final decision and explanations have to be made manually for the examples in this repository.

I agree that it would be nice-to-have to directly see the reason for non-compliance in the file, and this is a possible future extension.

But: until now there was no real need for this, as (all of?) the non-compatibilities were found by the validation with fmpy, which also provides a meaningful error message, which can be reproduced by everyone.
And if there was a new finding, as with yours, fmpy was quickly (!) updated, see e.g., CATIA-Systems/FMPy#280 (comment) for your finding.
fmpy is open source, very actively developed and free for inspection, and one of the FMU checkers listed on the FMI website https://fmi-standard.org/downloads/. Its use in the validation within the cross check has been very beneficial and is transparent to everyone, see https://github.com/modelica/fmi-cross-check/blob/master/README.md#validate-the-files.