escet merge requestshttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests2024-03-28T11:09:57Zhttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/844#794 Add CIF check to check list type limits.2024-03-28T11:09:57ZAlbert Hofkamp#794 Add CIF check to check list type limits.Closes #794Closes #794v4.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/839#679 PLCgen: Forbid pure monitor events.2024-03-28T13:14:51ZAlbert Hofkamp#679 PLCgen: Forbid pure monitor events.Events that are always used as monitor event cause infinite looping in the event transition code and are thus undesired.
This patch adds a check against such events in plcgen.Events that are always used as monitor event cause infinite looping in the event transition code and are thus undesired.
This patch adds a check against such events in plcgen.v4.0Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/696#319 Add sub-plant creation functionality2024-03-26T17:35:44ZAlbert Hofkamp#319 Add sub-plant creation functionalityThis patch constructs subplant (and sub-requirement) specifications for multi-level synthesis.
Is readable by commit, although it is pretty dense code. It takes the original specification, and copies parts of it to zero or more partial ...This patch constructs subplant (and sub-requirement) specifications for multi-level synthesis.
Is readable by commit, although it is pretty dense code. It takes the original specification, and copies parts of it to zero or more partial specifications.
The `PartialSpecBuilder` handles the global flow to construct partial specifications. It uses a `PartialSpecBuilder` for each specification that must be created. The manager class handles the details of copying and keeping track of things.
For each partial specification, first the needed plants and requirements are deep-cloned in a minimal way. Next, dangling objects are resolved by deep-cloning more parts of the original specification. This may also lead to new dangling objects of course.
Resolving continues until everything is resolved. At that point the objects in the partial specification are all contained and they can be written out to a file.
One thing to keep in mind is that deep-cloning keeps a record of **all** copied objects. This makes that `EnumLiteral` and `Field` classes can be resolved. (Not sure the latter always works, I am not quite sure where these objects can be contained.)
To get stable output, I had to maintain the same order in contained lists with declarations, components, etc, between the original and the partial specification. I believe the cause is somewhere in the `EcoreUtil` classes.
@mgoorden7u4 Could you have a look at the output of the lock model to check if the result makes sense? It has been added to `oee.cif.tests/tests/multilevel`
Addresses #318
Closes #319v4.0Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/846Draft: #718 Update release notes for v3.0.2024-03-28T17:15:24ZDennis HendriksDraft: #718 Update release notes for v3.0.Addresses #718Addresses #718v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/845#717 develop to master for v3.0-RC12024-03-27T10:45:14ZDennis Hendriks#717 develop to master for v3.0-RC1Addresses #717Addresses #717v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/843#792 CIF tutorial 'Variable overview' lesson: include input variables2024-03-26T17:10:20ZDennis Hendriks#792 CIF tutorial 'Variable overview' lesson: include input variables* Best to review the full diff, not per commit.
Closes #792* Best to review the full diff, not per commit.
Closes #792v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/842#717 Update release notes for v3.0-RC1.2024-03-27T10:42:51ZDennis Hendriks#717 Update release notes for v3.0-RC1.Addresses #717Addresses #717v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/841#715 JS/HTML codegen: better log panel performance + no state printing by def...2024-03-26T18:06:31ZDennis Hendriks#715 JS/HTML codegen: better log panel performance + no state printing by default + settings button/menu* Best to review per commit.
* Changes:
* State printing disabled by default (JS/HTML).
* Improved performance of log panel (HTML).
* Settings button/menu to enable/disable state and transition printing (HTML).
* The settings m...* Best to review per commit.
* Changes:
* State printing disabled by default (JS/HTML).
* Improved performance of log panel (HTML).
* Settings button/menu to enable/disable state and transition printing (HTML).
* The settings menu is opened/closed by clicking the 'Settings' button.
* The entire menu item is clickable to toggle settings.
* Documentation improvements for state/transition printing (JS).
Addresses #715v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/840#791 Use ESCET logo/icon in ESCET IDE2024-03-26T07:24:11ZDennis Hendriks#791 Use ESCET logo/icon in ESCET IDE* Best to review per commit.
* Changes:
* Added ESCET icon as perspective icon, feature image, window images.
* Added a new about dialog image.
* Added a new splash screen image.
* Added 96x96 pixels version of the ESCET icon.
...* Best to review per commit.
* Changes:
* Added ESCET icon as perspective icon, feature image, window images.
* Added a new about dialog image.
* Added a new splash screen image.
* Added 96x96 pixels version of the ESCET icon.
* Added ESCET icon .ico file.
* Added ESCET icon to ESCET IDE Windows launcher.
* No icon yet for ESCET IDE Linux/macOS launcher. They require an XPM and ICNS icon, and I don't know how to make those.
Closes #791v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/838#791 Use ESCET logo in relevant places on the website2024-03-24T10:50:29ZDennis Hendriks#791 Use ESCET logo in relevant places on the website* Best to review per commit.
* Uses the new logo on the website:
* On the home page.
* As favicon on static pages.
* As favicon on documentation pages.
* In the icon selector dropdown menu.
* I've also add the icon in various res...* Best to review per commit.
* Uses the new logo on the website:
* On the home page.
* As favicon on static pages.
* As favicon on documentation pages.
* In the icon selector dropdown menu.
* I've also add the icon in various resolutions. I used them for the website, but we'll also need them for the IDE in a next merge request for this issue.
Addresses #791v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/837#227 Updated CIF documentation for SVG input mappings with updates2024-03-25T20:36:14ZFerdie Reijnen#227 Updated CIF documentation for SVG input mappings with updatesAddresses #227Addresses #227v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/836#227 Fixed metamodel documentation for assignments2024-03-22T12:42:39ZFerdie Reijnen#227 Fixed metamodel documentation for assignmentsAddresses #227Addresses #227v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/835#227 Added to simplify value docs that 'if' and 'elif' updates in SVG input m...2024-03-20T20:09:56ZFerdie Reijnen#227 Added to simplify value docs that 'if' and 'elif' updates in SVG input mappings may be simplified.Addresses #227Addresses #227v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/834#364 Add wafer_scanner CIF benchmark model + generator2024-03-22T07:38:17ZDennis Hendriks#364 Add wafer_scanner CIF benchmark model + generator* Best to review per commit.
* Added:
* Generator to generate `wafer_scanner` benchmark models with n = 1-7 production wafers (besides 2 dummy wafers).
* Generated models for n = 1 and n = 2. The rest can be generated additionally.
...* Best to review per commit.
* Added:
* Generator to generate `wafer_scanner` benchmark models with n = 1-7 production wafers (besides 2 dummy wafers).
* Generated models for n = 1 and n = 2. The rest can be generated additionally.
* Benchmark script for n = 1 only, as that is currently difficult enough to synthesize, compared to the other benchmarks.
* Changes compared to original generator:
* Some things are in a slightly different order, due to use of ordered vs unordered sets/dicts/etc. But, for n = 1, the state spaces of the synthesized supervisors are language equivalent.
* Generated models had warnings due to having plants that refer to requirement state. The requirement is therefore split into a monitor and requirement, similar to what the synthesis tool now does under the hood. The original author agrees. The resulting supervisor state space for n = 1 is language equivalent to the one before this change.
* Other notes:
* Certain events are always disabled in the uncontrolled system or in the controlled system. This is by design. This is confirmed by the original author.
* The original first author is OK with contributing this to ESCET.
Addresses #364v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/833#227 CIF merger: check that SVG input mappings with updates are still valid a...2024-03-20T12:08:24ZFerdie Reijnen#227 CIF merger: check that SVG input mappings with updates are still valid after mergingAddresses #227Addresses #227v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/832#777 Add Eclipse ESCET logo2024-03-21T11:54:11ZDennis Hendriks#777 Add Eclipse ESCET logo* Best to review per commit.
Closes #777* Best to review per commit.
Closes #777v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/831#593 Allow annotations on constants2024-03-18T10:21:15ZDennis Hendriks#593 Allow annotations on constants* Best to review per commit.
* Notable changes besides allowing annotations on constants:
* CIF code generator: No postfix comments for C89/C99/Simulink anymore for constants. Is similar to other declarations that got annotations.
* ...* Best to review per commit.
* Notable changes besides allowing annotations on constants:
* CIF code generator: No postfix comments for C89/C99/Simulink anymore for constants. Is similar to other declarations that got annotations.
* `EventsPostChecker`: fixed a typo in a JavaDoc.
Addresses #593v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/830#789 Updated URL to simultaneous release page2024-03-18T21:09:30ZFerdie Reijnen#789 Updated URL to simultaneous release pageAddresses #789Addresses #789v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/829#227 Ensure CIF edge-related checks only consider edges (and not SVG input ma...2024-03-18T13:15:53ZFerdie Reijnen#227 Ensure CIF edge-related checks only consider edges (and not SVG input mappings)Addresses #227Addresses #227v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/828#227 Event disabler now handles SVG input mappings without events2024-03-17T17:19:58ZFerdie Reijnen#227 Event disabler now handles SVG input mappings without eventsAddresses #227Addresses #227v3.0