Opened 8 years ago
Closed 4 years ago
#4138 closed task (fixed)
New FrontEnd
Reported by: | Per Östlund | Owned by: | Per Östlund |
---|---|---|---|
Priority: | blocker | Milestone: | 1.17.0 |
Component: | New Instantiation | Version: | |
Keywords: | Cc: | Mahder Alemseged Gebremedhin, Adrian Pop |
Description (last modified by )
This ticket is tracking the progress on the the new frontend. Some documentation on the new frontend development is available on wiki:NewFrontEnd.
The new frontend development is almost complete. It is used by default by OMEdit (with the old frontend as fallback in case of problems) since version 1.14.0, and already delivers better performance than the old frontend in almost all cases. It will be the default one also for the command line compiler from version 1.17.0.
All 425 models of the MSL are handled successfully by the new front end, see report. There are a handful of models which are not handled correctly yet, but that is not due to the new frontend, see #5288.
The coverage with some other selected open-source library is reported in these diagrams. Note that until 14 Dec 2020 the libraries were tested with the old frontend:
This is a list of all tickets opened for the new frontend (New Instantiation module). Note that tickets with id > 4000 were opened specifically during the development of the new front end, while older ones refer to old issues with the old front end that are expected to be fixed by the new one.
Number of tickets: 57
Attachments (1)
Change History (91)
comment:1 by , 8 years ago
Cc: | added |
---|
comment:2 by , 8 years ago
Description: | modified (diff) |
---|
comment:3 by , 8 years ago
Description: | modified (diff) |
---|
follow-ups: 5 9 comment:4 by , 8 years ago
follow-up: 6 comment:5 by , 8 years ago
Replying to casella:
Still some problems with component modifiers.
I am well aware of that, and have already fixed this particular issue locally a while ago. At the moment I'm not really interested in bug reports though, the new instantiation is not ready for public testing yet.
follow-up: 7 comment:6 by , 8 years ago
Replying to perost:
At the moment I'm not really interested in bug reports though, the new instantiation is not ready for public testing yet.
Q1: Can you give a reasonable estimate of when this will be possible?
Q2: Is the interface towards the other tasks of Phase 2 already stabilized? If not, when will it reasonably be?
comment:7 by , 8 years ago
Replying to casella:
Q1: Can you give a reasonable estimate of when this will be possible?
No
Q2: Is the interface towards the other tasks of Phase 2 already stabilized? If not, when will it reasonably be?
Maybe
follow-up: 11 comment:10 by , 8 years ago
However, instantiating P.S in the attached test case still fails
by , 8 years ago
follow-up: 12 comment:11 by , 8 years ago
Replying to casella:
However, instantiating P.S in the attached test case still fails
It works fine for me, are you using the latest nightly build?
comment:12 by , 8 years ago
comment:13 by , 8 years ago
Description: | modified (diff) |
---|
comment:14 by , 8 years ago
Description: | modified (diff) |
---|
comment:15 by , 8 years ago
Component: | *unknown* → NF - New FrontEnd |
---|---|
Description: | modified (diff) |
comment:16 by , 8 years ago
Description: | modified (diff) |
---|
comment:17 by , 8 years ago
Description: | modified (diff) |
---|
comment:18 by , 8 years ago
Description: | modified (diff) |
---|---|
Summary: | NF core → New FrontEnd |
comment:19 by , 8 years ago
Milestone: | Future → 2.0.0 |
---|---|
Priority: | high → blocker |
Type: | defect → task |
comment:20 by , 8 years ago
Description: | modified (diff) |
---|
comment:21 by , 8 years ago
Description: | modified (diff) |
---|
Initial support for enumerations is now implemented.
comment:24 by , 8 years ago
Description: | modified (diff) |
---|
comment:25 by , 8 years ago
Description: | modified (diff) |
---|
comment:26 by , 8 years ago
Description: | modified (diff) |
---|
comment:27 by , 8 years ago
Description: | modified (diff) |
---|
comment:28 by , 8 years ago
Description: | modified (diff) |
---|
comment:29 by , 8 years ago
Description: | modified (diff) |
---|
comment:30 by , 8 years ago
Description: | modified (diff) |
---|
comment:31 by , 8 years ago
Description: | modified (diff) |
---|
comment:32 by , 8 years ago
Description: | modified (diff) |
---|
comment:33 by , 8 years ago
Description: | modified (diff) |
---|
comment:34 by , 8 years ago
Description: | modified (diff) |
---|
comment:35 by , 8 years ago
Description: | modified (diff) |
---|
comment:36 by , 8 years ago
Description: | modified (diff) |
---|
comment:37 by , 8 years ago
Description: | modified (diff) |
---|
comment:38 by , 8 years ago
Description: | modified (diff) |
---|
comment:39 by , 8 years ago
Description: | modified (diff) |
---|
follow-ups: 41 45 comment:40 by , 8 years ago
I just tried out ScalableTestSuite.Elementary.SimpleODE.Models.CascadedFirstOrder:
model CascadedFirstOrder parameter Integer N = 10 "Order of the system"; parameter Modelica.SIunits.Time T = 1 "System delay"; final parameter Modelica.SIunits.Time tau = T/N "Individual time constant"; Real x[N] (each start = 0, each fixed = true); equation tau*der(x[1]) = 1 - x[1]; for i in 2:N loop tau*der(x[i]) = x[i-1] - x[i]; end for; end CascadedFirstOrder;
but it still doesn't work, I get
Error: Type mismatch for positional argument 1 in der(x=x[1]). The argument has type: Real[10] expected type: Real
This is a very basic model, and it doesn't use arrays in any fancy way. This error looks to me more like a bug than a missing feature.
Would you mind fixing this issue so we can start getting some results from testing the ScalableTestSuite with the new front-end?
Thanks
Francesco
comment:41 by , 8 years ago
Replying to casella:
This is a very basic model, and it doesn't use arrays in any fancy way. This error looks to me more like a bug than a missing feature.
Subscripting is not implemented yet, so it is actually a missing feature. It's high up on my todo list, but other things currently has higher priority for me.
comment:42 by , 8 years ago
OK. I interpreted "Subscripting needs to be improved" as "there is already some subscripting implemented" :)
comment:43 by , 8 years ago
Description: | modified (diff) |
---|
comment:44 by , 8 years ago
Description: | modified (diff) |
---|
Updated description for redeclares (better in general, but class extends/element redeclares currently broken) and imports.
comment:45 by , 8 years ago
Replying to casella:
Would you mind fixing this issue so we can start getting some results from testing the ScalableTestSuite with the new front-end?
This model should start working in about five minutes, once Hudson pulls in my latest changes.
comment:47 by , 7 years ago
Description: | modified (diff) |
---|
comment:48 by , 7 years ago
Description: | modified (diff) |
---|
comment:49 by , 7 years ago
Description: | modified (diff) |
---|
comment:50 by , 7 years ago
Description: | modified (diff) |
---|
comment:51 by , 7 years ago
Description: | modified (diff) |
---|
comment:52 by , 7 years ago
Description: | modified (diff) |
---|
comment:53 by , 7 years ago
Description: | modified (diff) |
---|
comment:54 by , 7 years ago
Component: | NF - New FrontEnd → New Instantiation |
---|
Move all tickets from NF - New Frontend to New Instantiation so we don't have two different categories for the same thing.
comment:55 by , 7 years ago
Description: | modified (diff) |
---|
comment:56 by , 7 years ago
Description: | modified (diff) |
---|
comment:57 by , 7 years ago
Description: | modified (diff) |
---|
comment:58 by , 7 years ago
Description: | modified (diff) |
---|
comment:59 by , 7 years ago
Description: | modified (diff) |
---|
comment:60 by , 7 years ago
Description: | modified (diff) |
---|
comment:61 by , 7 years ago
Description: | modified (diff) |
---|
comment:62 by , 7 years ago
Description: | modified (diff) |
---|
comment:63 by , 7 years ago
Description: | modified (diff) |
---|
comment:64 by , 7 years ago
Description: | modified (diff) |
---|
comment:65 by , 7 years ago
Description: | modified (diff) |
---|
comment:66 by , 7 years ago
Description: | modified (diff) |
---|
comment:67 by , 7 years ago
Description: | modified (diff) |
---|
comment:68 by , 7 years ago
Description: | modified (diff) |
---|
comment:69 by , 7 years ago
Description: | modified (diff) |
---|
comment:70 by , 7 years ago
Description: | modified (diff) |
---|
comment:71 by , 7 years ago
Description: | modified (diff) |
---|
comment:72 by , 7 years ago
Description: | modified (diff) |
---|
comment:73 by , 7 years ago
Description: | modified (diff) |
---|
comment:74 by , 7 years ago
Description: | modified (diff) |
---|
comment:75 by , 7 years ago
Description: | modified (diff) |
---|
comment:76 by , 7 years ago
Description: | modified (diff) |
---|
comment:77 by , 7 years ago
Description: | modified (diff) |
---|
comment:78 by , 6 years ago
Description: | modified (diff) |
---|
Overconstrained connection graph is now implemented via #4966.
comment:79 by , 6 years ago
Description: | modified (diff) |
---|
comment:80 by , 6 years ago
Description: | modified (diff) |
---|
comment:81 by , 6 years ago
Description: | modified (diff) |
---|
comment:82 by , 6 years ago
Description: | modified (diff) |
---|
comment:83 by , 5 years ago
Description: | modified (diff) |
---|
comment:84 by , 4 years ago
Description: | modified (diff) |
---|
comment:85 by , 4 years ago
Status update as of 24 Sep 2020.
The new front end development continues, the functionality of this module has now overcome the old front end, which is now starting to become obsolete.
The new front end is already the default choice in OMEdit since version 1.14.0, with automatic fallback to the old frontend in case of problems. The command line version of the compiler still uses the old frontend as default, and requires the --newInst
flag to use the new one. The plan is to make the new front end the default choice also from the command line starting with version 1.17.0, due December 2020.
The fallback option will probably be removed from OMEdit at that point, because it will mostly be advising users to try the old front end in response to models which are in fact broken. Users that will still need to use the old frontend with their models will be able to do that by setting the option in the simulation settings window. However, please note that the old frontend has no longer been maintained since 2019.
comment:86 by , 4 years ago
Status update as of Dec 21 2020.
The new frontend was made the default on 14 Dec 2020. There are several regressions w.r.t. the old frontend on older libraries, because they contain invalid Modelica code. Those will not be addressed. Regressions in the latest versions of currently maintained libraries should be fixed in time for the 1.17.0 release.
comment:87 by , 4 years ago
Description: | modified (diff) |
---|
comment:88 by , 4 years ago
Description: | modified (diff) |
---|
comment:89 by , 4 years ago
This regression report shows the difference between the old and the new frontend.
There are 1000 improvements in the library testsuite, due to the better capability of the new frontend to handle complex Modelica models, and also 1432 performance improvements, due to the much faster operation of the new front end compared to the old one.
There are 673 regressions, mostly in older libraries that contain illegal Modelica code that the new front end rejects because of its stricter policy of conformance to the Modelica specification.
comment:90 by , 4 years ago
Milestone: | 2.0.0 → 1.17.0 |
---|---|
Resolution: | → fixed |
Status: | new → closed |
The new front end becomes the default one with release 1.17.0, -d=newInst
is no longer necessary to use it. All test reports now use it, except the oldInst
branch.
The development continues, but the transition phase from the old front-end to the new one is now complete, regarding the compilation of simulation models.
The old front end is still used for bootstrapping and for most API functions. Regarding the former, there is currently no urgent need to supersede it. Regarding the latter, the API functions should gradually be switched to use the old one, for much faster performance. This has already been done in some critical cases, the work will continue there.
With release 1.17.0, we can close this ticket for good.
Still some problems with component modifiers. Running the following test script
returns
so for some reason model C is not instantiated at all.