Opened 7 years ago

Closed 6 years ago

#5018 closed defect (fixed)

Patch MSL 3.2.2/3.2.1 with missing 'each'?

Reported by: Francesco Casella Owned by: Adrian Pop
Priority: blocker Milestone: 1.13.0
Component: Third-Party Libraries Version:
Keywords: Cc: Martin Sjölund, Per Östlund

Description

The NF is very strict w.r.t the use of each in array attribute modifiers. It has allowed to discover a number of missing 'each' qualifiers in the MSL, that will be fixed in the upcoming MSL 3.2.3, due to be released in September, and it (correctly) fails to flatten a number of models because of that.

Should we bother to patch them in the version of MSL 3.2.2 and MSL 3.2.1 that we'll ship with the next releases, or should we just expect people to use MSL 3.2.3?

In principle, using MSL 3.2.3 seems a better solution, but the problem is, we don't have any provision for automatic library version updates, so all existing user models, that contain a uses annotation pointing to MSL 3.2.2, it will still silently use that and issue warnings or possibly fail if the NF is used.

Changing uses annotations is a bit of an advanced topic, the average user and the newbie won't have any idea.

Comments?

Change History (9)

comment:1 by tknodt@…, 7 years ago

A version/ release is something freezed and defined. It should not be changed.
What could be done is to add a suggestion into the error message.

in reply to:  1 comment:2 by Francesco Casella, 7 years ago

Replying to tknodt@…:

A version/ release is something freezed and defined. It should not be changed.

If a released version of MSL contains invalid Modelica code, which makes it unusable with a Modelica tool that follows the standard, I can't see the point of keeping it like that for posterity...

comment:3 by Per Östlund, 7 years ago

Milestone: 1.13.02.0.0

Switching to the NF is targeted for 2.0, so this is not a blocker for 1.13.0.

comment:4 by Francesco Casella, 6 years ago

Milestone: 2.0.01.14.0
Type: discussiondefect

I had some discussion with Thomas Beutlich (MAP-LIB leader) and we agreed a maintenance version of 3.2.2 with these changes is unlikely to happen, though we'll try to avoid this kind of issues from 3.2.3 onwards.

So, we should patch MSL 3.2.2 with these corrections. You can find them here:

https://github.com/casella/ModelicaStandardLibrary/commit/c3c6327184204c0c01c9e596097b6ba46d0b5c79
https://github.com/casella/ModelicaStandardLibrary/commit/11b7728e81806253c671b4d21a09991384639b5e
https://github.com/casella/ModelicaStandardLibrary/commit/3028d6c33ddd55b856c4ff1bb36bf8165b9ac075

This is required for 1.14.0, but it would be nice to have it ASAP, so as to improve the NF coverage of all non-MSL libraries

Version 0, edited 6 years ago by Francesco Casella (next)

comment:5 by Martin Sjölund, 6 years ago

Really not even going to be accepted in the 3.2 maintenance branch? Doesn't matter if there will be a new release or not, but shouldn't it be accepted anyway?

comment:6 by Francesco Casella, 6 years ago

I quote Thomas Beutlich:

I doubt we have the resources to go for a MSL v3.2.2 maintenance release. It would not speed any thing up, but just gives us more work. Additionally, the maint/3.2.2 branch is in a unclear state with even new features added and missing bug fixes back ported.

Given that, I'm not sure adding these fixes to the 3.2.2 maintenance branch will give any added value, since that is in a pretty mixed-up state. Are we using the maintenance branch of 3.2.2 as a basis for our patch file? Otherwise, I wouldn't bother

Last edited 6 years ago by Francesco Casella (previous) (diff)

comment:7 by Martin Sjölund, 6 years ago

We are using the maintenance branch as the basis for the patches. So if we can push them into the maintenance branch, we won't get conflicts with the patches.

comment:8 by Francesco Casella, 6 years ago

OK. In that case, I don't see anything wrong in pushing those fixes to that branch. I hope GIT is smart enough to allow merging them in without too much fuss. Is that possible?

comment:9 by Francesco Casella, 6 years ago

Milestone: 1.14.01.13.0
Resolution: fixed
Status: newclosed

We are now distributing MSL 3.2.2 with patched 'each' since 1.13.0

Note: See TracTickets for help on using tickets.