escet merge requestshttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests2023-10-30T11:15:55Zhttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/664#630 PLCgen: Add continous variables as timers2023-10-30T11:15:55ZAlbert Hofkamp#630 PLCgen: Add continous variables as timersSupport continuous variables with fixed `-1.0` derivative. They can be assigned a non-negative number, and compared for being in a range against a non-negative value. Often that is `t <= 0` which checks for timeout.
Commit can be read o...Support continuous variables with fixed `-1.0` derivative. They can be assigned a non-negative number, and compared for being in a range against a non-negative value. Often that is `t <= 0` which checks for timeout.
Commit can be read one at a time.
Closes #630v2.0Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/674#676 Make 'plcgen' available from ToolDef2023-10-30T09:59:43ZAlbert Hofkamp#676 Make 'plcgen' available from ToolDefMakes the `plcgen` tool available from ToolDef.
Addresses #676Makes the `plcgen` tool available from ToolDef.
Addresses #676v2.0Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/619#596 plcgen: Generate transition functions2023-10-30T09:27:35ZAlbert Hofkamp#596 plcgen: Generate transition functionsPatch sequence to add code generation of event transition functions.
Should be readable by individual commits.
Closes #596Patch sequence to add code generation of event transition functions.
Should be readable by individual commits.
Closes #596v1.0Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/680#272 JavaScript code generation step 1: add export menu option2023-10-30T08:49:18ZRik Lubking#272 JavaScript code generation step 1: add export menu option- Added JavaScript export option to export menu.
- Added empty search/replace template (to be filled in later).
- Created empty stub methods for most implementations (to be filled in
later).
* Export feature works without problems/error...- Added JavaScript export option to export menu.
- Added empty search/replace template (to be filled in later).
- Created empty stub methods for most implementations (to be filled in
later).
* Export feature works without problems/errors, but currently only
generates an empty .html file.
For discussion, see: https://gitlab.eclipse.org/riklubking/escet/-/issues/27
Addresses #272v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/672#678 Free dropped bits for CifBddBitVector resize.2023-10-24T20:09:07ZFerdie Reijnen#678 Free dropped bits for CifBddBitVector resize.Closes #678Closes #678v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/667#593 Add annotations + doc annotations info to CIF reference manual.2023-10-24T07:17:50ZDennis Hendriks#593 Add annotations + doc annotations info to CIF reference manual.Addresses #593Addresses #593v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/670#648 CIF metamodel: rename parameters/params to arguments.2023-10-21T07:07:33ZDennis Hendriks#648 CIF metamodel: rename parameters/params to arguments.* For `ComponentInst` and `FunctionCallExpression`.
* Went through entire Git repo to make it more consistent.
* Quite some changes, but hopefully easy to review per commit.
Closes #648* For `ComponentInst` and `FunctionCallExpression`.
* Went through entire Git repo to make it more consistent.
* Quite some changes, but hopefully easy to review per commit.
Closes #648v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/671#661 Large expressions in exception reporting crash the CIF simulator2023-10-16T18:39:09ZMartijn Goorden#661 Large expressions in exception reporting crash the CIF simulatorCloses #661.Closes #661.v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/665#666 Eliminate custom plcgen warning class.2023-10-16T05:17:14ZAlbert Hofkamp#666 Eliminate custom plcgen warning class.Replace the custom PLCgen `WarnOutput` class by the `common.java.output.WarnOutput` class.
Addresses #666Replace the custom PLCgen `WarnOutput` class by the `common.java.output.WarnOutput` class.
Addresses #666v2.0Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/668#593 CifAnnotationsTypeChecker: JavaDoc/comment fixes.2023-10-15T12:10:52ZDennis Hendriks#593 CifAnnotationsTypeChecker: JavaDoc/comment fixes.Addresses #593Addresses #593v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/663#655 Bug in CifToSynthesisConverter for resizing value vector2023-10-09T08:36:11ZFerdie Reijnen#655 Bug in CifToSynthesisConverter for resizing value vectorCloses #665Closes #665v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/618#611 CIF simulator handles large expressions2023-10-06T07:12:13ZMartijn Goorden#611 CIF simulator handles large expressionsI implemented a new data structure `ExprCodeGeneratorResult` that collects information while generating code for expressions. It encapsulates parts of the expression in new methods during the analysis of the expression tree. It returns t...I implemented a new data structure `ExprCodeGeneratorResult` that collects information while generating code for expressions. It encapsulates parts of the expression in new methods during the analysis of the expression tree. It returns this information back to the caller of `ExprCodeGenerator` such that the caller can include these additional methods. (`ExprCodeGenerator` itself is not handling the actual file content, so cannot directly write the methods to file once it creates a new one.)
The current implementation solves the problem in #611. For the model [SupConnectTwo.cif](/uploads/b94dc7dea97b7e803612efd4f2eca1fa/SupConnectTwo.cif), it generates [Aut_sup.java](/uploads/454589dc1d7dce78e98eb94a8abfa331/Aut_sup.java), which can be sucessfully parsed. Furthermore, the current changes still pass all original test cases.
I would like to get some feedback on this idea, hence the draft labeling. Some things to take into account.
- Only the guard code generation takes the new data structure correctly into account. Other places that call methods from `ExprCodeGenerator` don't do it fully correctly (as long as no method for a sub expression is generated, it works fine). If the approach is fine, I will adjust these other calls as well.
- The generation of the new methods code might possibly be also done in the new class `ExprCodeGeneratorResult`. The caller of methods in `ExprCodeGenerator` than only need to insert these new methods in the right place in their files.
- If more than two `ExprCodeGeneratorResult` objects are to be merge, the check whether they together exceed the limit is done only after merging them (and thus only a single new method will be created). Maybe if a subset of them already exceed the limit, they should already be encapsulated by a new method before continuoing with the merge.
- The current limit is not optimized. For the model above, it works with `limit = 1,000`, but not with `limit = 10,000`.
- Originally, when the evaluation of a guard fails during run-time, an exception is thrown that includes the full guard. This is also not possible for very long guards (you will get a `static string is too long` error). What would be a good alternative exception text that can indicate which guard causes the problem.
- No new test case is yet included.
Best reviewed per commit, but some later commits fix some problems though.
Closes #611v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/654#650 PLCgen: Add input/output support2023-10-03T05:09:43ZAlbert Hofkamp#650 PLCgen: Add input/output supportAdds input/output capabilities. Readable by commit.
Closes #650
Addresses #397Adds input/output capabilities. Readable by commit.
Closes #650
Addresses #397v2.0Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/657#658 Fix 'cifexplorer' script: use correct plugin to find application.2023-09-25T13:32:25ZDennis Hendriks#658 Fix 'cifexplorer' script: use correct plugin to find application.Closes #658Closes #658v1.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/646#469 Consider allowing CIF/SVG inputs mappings that map to a disabled event2023-09-23T13:33:44ZFerdie Reijnen#469 Consider allowing CIF/SVG inputs mappings that map to a disabled eventAddresses #469Addresses #469v1.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/655#593 Add annotations lesson to the CIF language tutorial.2023-09-22T06:29:53ZDennis Hendriks#593 Add annotations lesson to the CIF language tutorial.* Some first information on annotations. I kept it simple for now, but at least there is something for users to read about annotations.
Addresses #593* Some first information on annotations. I kept it simple for now, but at least there is something for users to read about annotations.
Addresses #593v1.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/651#593 Add 'doc' annotation as built-in CIF annotation2023-09-20T06:08:41ZDennis Hendriks#593 Add 'doc' annotation as built-in CIF annotation* Added 'doc' annotation, with string-typed 'text' argument, that must be statically evaluable.
* Support 'doc' annotation for input variables in CIF code generator. Leads to slightly less nice output if no 'doc' annotations are present....* Added 'doc' annotation, with string-typed 'text' argument, that must be statically evaluable.
* Support 'doc' annotation for input variables in CIF code generator. Leads to slightly less nice output if no 'doc' annotations are present.
* Two small other fixes: JavaDoc of `AnnotationProvider` and `toString` of `CifEvalException`.
* Best to review per commit.
Addresses #593v1.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/653#655 Mark CIF data-based synthesis workset algorithm as mature2023-09-19T08:06:14ZDennis Hendriks#655 Mark CIF data-based synthesis workset algorithm as mature- Mark workset algorithm as mature.
- Improve documentation on when to use it.
Closes #655- Mark workset algorithm as mature.
- Improve documentation on when to use it.
Closes #655v1.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/650#593 Handle annotations in CIF merger2023-09-19T06:33:30ZDennis Hendriks#593 Handle annotations in CIF merger* I checked all CIF code for places where we need to handle annotations in general, or specifically for input variables.
* I only found the need to adapt the CIF merger.
Addresses #593* I checked all CIF code for places where we need to handle annotations in general, or specifically for input variables.
* I only found the need to adapt the CIF merger.
Addresses #593v1.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/649#649 EventDisabler now uses try-with-resources to read event names file.2023-09-16T19:12:17ZDennis Hendriks#649 EventDisabler now uses try-with-resources to read event names file.- Fixes a resource leak, where the file stream was never closed.
Closes #649- Fixes a resource leak, where the file stream was never closed.
Closes #649v1.0