escet merge requestshttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests2024-03-26T17:10:20Zhttps://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/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/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/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/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.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/827#227 CIF to CIF 'Eliminate if updates' transformation: support SVG input mapp...2024-03-18T14:24:40ZFerdie Reijnen#227 CIF to CIF 'Eliminate if updates' transformation: support SVG input mappings with updates* CIF to CIF 'Eliminate if updates' transformation: support SVG input mappings with updates, and eliminate 'if' updates there as well.
* Also fixes `CifAddressableUtils` for input variables, as well as some JavaDoc fixes.
* Also fixes a ...* CIF to CIF 'Eliminate if updates' transformation: support SVG input mappings with updates, and eliminate 'if' updates there as well.
* Also fixes `CifAddressableUtils` for input variables, as well as some JavaDoc fixes.
* Also fixes a JavaDoc in `ElimIfUpdates`.
Addresses #227v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/826#227 CIF code generator for HTML does not yet support SVG input mappings with...2024-03-18T19:43:26ZFerdie Reijnen#227 CIF code generator for HTML does not yet support SVG input mappings with updates* Adds a new check for checking this condition, and a test for it.
* Adds the check to the CIF code generator, and documents the new precondition.
* Fixes a typo in the CIF code generator documentation.
Addresses #227* Adds a new check for checking this condition, and a test for it.
* Adds the check to the CIF code generator, and documents the new precondition.
* Fixes a typo in the CIF code generator documentation.
Addresses #227v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/825#227 CIF simulator does not yet support SVG input mappings with updates2024-03-18T13:21:38ZFerdie Reijnen#227 CIF simulator does not yet support SVG input mappings with updatesAddresses #227Addresses #227v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/824#787 Assignments on edges / SVG input mappings crash on wrapping expressions2024-03-18T21:13:57ZFerdie Reijnen#787 Assignments on edges / SVG input mappings crash on wrapping expressionsCloses #787
Addresses #227
I moved some tests around. Because if we have failing during 'normal' type checking, the post checking will not happen.Closes #787
Addresses #227
I moved some tests around. Because if we have failing during 'normal' type checking, the post checking will not happen.v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/823#782 PLCgen: Improve documentation in the transition code2024-03-26T11:11:39ZAlbert Hofkamp#782 PLCgen: Improve documentation in the transition codeReadable by commit, the last 2 are big as they update resp add a test.
A unit test evolves with the commits to see what gets changed in the output.
Adds
- A header with involved automata in an event.
- List of edges being considered fo...Readable by commit, the last 2 are big as they update resp add a test.
A unit test evolves with the commits to see what gets changed in the output.
Adds
- A header with involved automata in an event.
- List of edges being considered for the various steps in the process.
- Single line comments what the next code is doing or what conclusions can be drawn.
- `channel.cif` test with senders, receivers, syncers and monitors.
Closes #782v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/821#593 Allow annotations on algebraic variables2024-03-12T14:12:45ZDennis Hendriks#593 Allow annotations on algebraic variables* Best to review per commit.
* Some additional changes for the CIF code generator:
* C89/C99/Simulink code generation: algebraic variable JavaDocs now end with `.`, not `;`.
* C89/C99/Simulink code generation: algebraic variable Java...* Best to review per commit.
* Some additional changes for the CIF code generator:
* C89/C99/Simulink code generation: algebraic variable JavaDocs now end with `.`, not `;`.
* C89/C99/Simulink code generation: algebraic variable JavaDocs had a newline too many.
* C89/C99 code generation: algebraic variable JavaDocs are now on a single line if the algebraic variable has no documentation annotations.
Addresses #593v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/820#781 PLCgen: Reduce some test duplication.2024-03-24T21:03:37ZAlbert Hofkamp#781 PLCgen: Reduce some test duplication.- Introduces a way to specify a subset of targets for a test.
- Limits testing on "prechecker.cif", "options.cif" and "option_max_iter_inf.cif"
- Drops old "--convert-enums" override, as the targets have this information instead.
Fixes ...- Introduces a way to specify a subset of targets for a test.
- Limits testing on "prechecker.cif", "options.cif" and "option_max_iter_inf.cif"
- Drops old "--convert-enums" override, as the targets have this information instead.
Fixes #781v3.0Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/819#681 PLCgen: Improve prechecking error reports (addon)2024-03-14T13:51:02ZDennis Hendriks#681 PLCgen: Improve prechecking error reports (addon)* Best to review per commit.
* Attempt to get a solution for !798. This targets the branch of that merge request.
* Made the messages as specific as I can think of.
* Extended the test model, to cover all cases I can think of.
Addresses...* Best to review per commit.
* Attempt to get a solution for !798. This targets the branch of that merge request.
* Made the messages as specific as I can think of.
* Extended the test model, to cover all cases I can think of.
Addresses #681v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/816#269 Make UnsupportedPredicateException public.2024-02-20T16:21:27ZDennis Hendriks#269 Make UnsupportedPredicateException public.* Very small follow-up to !814. I forgot to make `UnsupportedPredicateException` public, and it is a checked exception thrown by some of the methods I made public in `CifToBddConverter`. When calling them, this exception must be caught. ...* Very small follow-up to !814. I forgot to make `UnsupportedPredicateException` public, and it is a checked exception thrown by some of the methods I made public in `CifToBddConverter`. When calling them, this exception must be caught. But since it is private, that code won't compile. So, make this public as well.
Addresses #269v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/814#269 Allow converting more/extra updates/predicates/expressions.2024-02-20T14:35:46ZDennis Hendriks#269 Allow converting more/extra updates/predicates/expressions.* Small changes needed for our research.
* Made a few methods public in the conversion class, to allow converting more updates/predicates/expressions/etc after the regular conversion.
* Needed to make a few methods static as well, to all...* Small changes needed for our research.
* Made a few methods public in the conversion class, to allow converting more updates/predicates/expressions/etc after the regular conversion.
* Needed to make a few methods static as well, to allow invoking them outside/after the regular conversion.
* The `problems` become parameters then. This should change to a proper precondition checker using our new checker framework later on, but that is out-of-scope here.
Addresses #269v3.0