escet merge requestshttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests2023-12-11T16:26:37Zhttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/713#709 Fix comments in simplify_values* tests + extend the tests2023-12-11T16:26:37ZDennis Hendriks#709 Fix comments in simplify_values* tests + extend the tests* Best to review per commit.
* Fixed the comments.
* Extended the tests a bit. Was inspired by issues I encountered in #697 and #698.
Closes #709* Best to review per commit.
* Fixed the comments.
* Extended the tests a bit. Was inspired by issues I encountered in #697 and #698.
Closes #709v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/712#697 Additional type checking constraints for state annotations2023-12-16T11:18:10ZDennis Hendriks#697 Additional type checking constraints for state annotations* Best to review per commit.
* Added additional type checking constraints for state annotations.
* Improved/extended the documentation for state annotations a bit.
* Fixed typos in JavaDoc of `AnnotationProblemReporter`.
Closes #697* Best to review per commit.
* Added additional type checking constraints for state annotations.
* Improved/extended the documentation for state annotations a bit.
* Fixed typos in JavaDoc of `AnnotationProblemReporter`.
Closes #697v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/711#698 Fix CIF explorer state annotation argument value type creation (2nd atte...2023-12-18T20:08:07ZDennis Hendriks#698 Fix CIF explorer state annotation argument value type creation (2nd attempt)Closes #698Closes #698v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/710#272 Generate variables and functions for JavaScript export target2023-12-19T09:05:37ZRik Lubking#272 Generate variables and functions for JavaScript export target- Added all required JavaScript implementations for generation of variables and functions for the JavaScript export target.
Addresses #272- Added all required JavaScript implementations for generation of variables and functions for the JavaScript export target.
Addresses #272v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/708#692 Allow annotating a CIF object multiple times with the same annotation2023-12-04T16:39:20ZDennis Hendriks#692 Allow annotating a CIF object multiple times with the same annotation* Best to review per commit.
* Also fixed reference manual index page, as it was missing link to state annotations page.
Closes #692* Best to review per commit.
* Also fixed reference manual index page, as it was missing link to state annotations page.
Closes #692v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/707#684 CifToPlcTrans: configure linearization consistent with precond check2023-12-01T12:18:38ZFerdie Reijnen#684 CifToPlcTrans: configure linearization consistent with precond checkCloses #684Closes #684v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/706#694 CIF codegen TypeInfoHelper: make target-specific data value.2023-11-30T08:20:50ZDennis Hendriks#694 CIF codegen TypeInfoHelper: make target-specific data value.* Best to review per commit.
* `TypeInfoHelper` is not just for Java, so fixed the JavaDoc of that class.
* Don't create hard-coded `JavaDataValue` in `TypeInfoHelper`, but via the context ask the code generator for the specific target.
...* Best to review per commit.
* `TypeInfoHelper` is not just for Java, so fixed the JavaDoc of that class.
* Don't create hard-coded `JavaDataValue` in `TypeInfoHelper`, but via the context ask the code generator for the specific target.
* Also fixed some JavaDocs and made them consistent.
Closes #694v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/705#686 Confluence check: more debug output and more termination checking2023-12-04T09:18:38ZMartijn Goorden#686 Confluence check: more debug output and more termination checkingSolution assumes that termination request cannot be unrequested. Otherwise the tool might return incorrect results.
Closes #686.Solution assumes that termination request cannot be unrequested. Otherwise the tool might return incorrect results.
Closes #686.v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/704#272 JavaScript code generation: generate variables and functions boilerplate2023-12-01T13:43:12ZRik Lubking#272 JavaScript code generation: generate variables and functions boilerplate- Added boilerplate classes and functions in preparation for JavaScript
export feature generating variables and functions.
Addresses #272- Added boilerplate classes and functions in preparation for JavaScript
export feature generating variables and functions.
Addresses #272v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/703#687 Add 'state' annotations and CIF explorer adds them to statespace automata2023-12-14T19:55:12ZDennis Hendriks#687 Add 'state' annotations and CIF explorer adds them to statespace automata* Best to review per commit.
* Changes for this issue:
* Added state annotations, such that they exist.
* CIF explorer gets an option to add state annotations. It is enabled by default.
* Some changes not strictly related to the issu...* Best to review per commit.
* Changes for this issue:
* Added state annotations, such that they exist.
* CIF explorer gets an option to add state annotations. It is enabled by default.
* Some changes not strictly related to the issue at hand:
* I moved some things in the code, to make room for other annotations later, to separate generic stuff from specific annotations, to have options in one place, etc. See commits for details.
* I generalized some documentation to not have to update it again in the future.
* I changed the API of annotation providers a bit, to allow more easily checking on what annotated object an annotation is present.
* Fixes 'starting the program' description in CIF explorer documentation.
* Extended the documentation of the CIF explorer a bit, to describe the 'output as a CIF automaton' a bit more. Adding the annotations is described there as well.
Closes #687v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/702#690 Fix CIF explorer for models with function-typed discrete variables witho...2023-11-27T11:46:55ZDennis Hendriks#690 Fix CIF explorer for models with function-typed discrete variables without an initial valueCloses #690Closes #690v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/701#689 Fix CIF explorer crashing on models with minimum integer value2023-11-27T11:47:04ZDennis Hendriks#689 Fix CIF explorer crashing on models with minimum integer value* Best to review per commit.
* Code changes:
* Fixes JavaDoc of `CifValueUtil.makeInt`.
* Adds `CifValueUtils.makeReal`, similar to `CifValueUtils.makeInt`.
* Fixes `CifEvalUtils.valueToExpr` for negative integer values.
* Fixes ...* Best to review per commit.
* Code changes:
* Fixes JavaDoc of `CifValueUtil.makeInt`.
* Adds `CifValueUtils.makeReal`, similar to `CifValueUtils.makeInt`.
* Fixes `CifEvalUtils.valueToExpr` for negative integer values.
* Fixes `CifValueUtils.getDefaultValue` for integer types that only support negative values.
* End user changes:
* Fixes 'add default init value' CIF to CIF transformation for discrete variables with an integer type that only supports negative integer values.
* Fixes 'simplify values' CIF to CIF transformation to produce correct results for integer expressions that are simplified to the minimum integer value.
* Fixes CIF explorer crash for models with expressions that evaluate to the minimum integer value.
* Fixes CIF explorer crash for variables with integer types that only support the minimum integer value.
* Fixes CIF pretty printer for integer types that only support the minimum integer value.
Closes #689v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/700#676 PLCgen: Add documentation.2023-12-14T07:51:53ZAlbert Hofkamp#676 PLCgen: Add documentation.Some plcgen documentation.
Follows the previous art somewhat, but the ideas are different, so rewrote it almost completely.
Not sure the S7 and twincat pages are very useful, at least twincat is ancient (2010), I doubt you'd even get t...Some plcgen documentation.
Follows the previous art somewhat, but the ideas are different, so rewrote it almost completely.
Not sure the S7 and twincat pages are very useful, at least twincat is ancient (2010), I doubt you'd even get that running today.
Probably lots is wrong, but I can't focus anymore. I spend my time fighting 2FA, and I am not winning. It's filling my entire head running in circles and getting nowhere.
Addresses #676v2.0Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/699#272 JavaScript code generation: added UI/CSS2023-11-27T18:31:14ZRik Lubking#272 JavaScript code generation: added UI/CSSAdded UI/CSS & tests:
- Added tests html. Tests html has calls to test all functions in the
utils classes, which can be expanded later to verify output against
hardcoded values (which should then be the same as the Java/C export).
- Adde...Added UI/CSS & tests:
- Added tests html. Tests html has calls to test all functions in the
utils classes, which can be expanded later to verify output against
hardcoded values (which should then be the same as the Java/C export).
- Added minimal css, emulates the ESCET theme.
- UI: Has space reserved for SVG (top half of screen), and has a
resizable/collapsible log pane which allows command input.
* Have not used any external (css/js) resources, since those would not
work offline.
* For the first version of the export, have chosen to export separate
files, rather than put everyting into a single html file (this will be
the second export option, which we can add later).
Discussion, see: https://gitlab.eclipse.org/riklubking/escet/-/issues/27
Addresses #272
Fixed after feedback https://gitlab.eclipse.org/riklubking/escet/-/issues/27:
- Fixed inconsistent indentation.
- Fixed inconsistent capitalization of colors.
- Removed empty lines and incorrect whitespaces.
- Removed fixed widths, use percentages.
- Remove css units when value 0.
- Use > instead of > literal.
- Removed unnecessary </input> tag.
- Refactored show/hide log pane css/js.
- Removed tests template.v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/698#688 Fix icon name of CIF to PLC application.2023-11-21T07:12:07ZAlbert Hofkamp#688 Fix icon name of CIF to PLC application.Closes #688Closes #688v2.0Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/697#676 Insert empty line between different event transitions2023-11-23T06:37:15ZAlbert Hofkamp#676 Insert empty line between different event transitionsRemoves the formal invoke options, adds the max-iter option, and inserts an empty line between events in the transition code.
Patch is readable by commit.
Addresses #676
Addresses #679Removes the formal invoke options, adds the max-iter option, and inserts an empty line between events in the transition code.
Patch is readable by commit.
Addresses #676
Addresses #679v2.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/695#593 Allow annotations on locations2023-11-21T07:33:55ZDennis Hendriks#593 Allow annotations on locations* Best to review per commit.
* Also fixed a sentence in the CIF language tutorial lesson on function statements.
* Generalized a few things to prevent having to change it again in the future.
Addresses #593* Best to review per commit.
* Also fixed a sentence in the CIF language tutorial lesson on function statements.
* Generalized a few things to prevent having to change it again in the future.
Addresses #593v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/694#685 Renamed CIF application menu item icons to 'cif_app.png'2023-11-20T20:09:06ZDennis Hendriks#685 Renamed CIF application menu item icons to 'cif_app.png'Closes #685Closes #685v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/691#683 CIF codegen: configure linearization to be consistent with precondition ...2023-11-13T19:19:30ZDennis Hendriks#683 CIF codegen: configure linearization to be consistent with precondition check- Both check for automata having a single initial location. In both cases, allow considering variable values for this. Prevents crashes for models with multiple potential initial locations.
- Best to review per commit. I moved things sep...- Both check for automata having a single initial location. In both cases, allow considering variable values for this. Prevents crashes for models with multiple potential initial locations.
- Best to review per commit. I moved things separately from changing them.
- Additionally, there is a JavaDoc fix in `ElimLocRefExprs`.
Closes #683v2.0