escet merge requestshttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests2023-12-14T13:59:16Zhttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/714#699 Deploy 'develop' branch as nightly2023-12-14T13:59:16ZDennis Hendriks#699 Deploy 'develop' branch as nightly* Best to review per commit.
* Deploys `develop` as nighly.
* Made a few other small improvements as well.
* I tested it best I could without actually deploying anything.
* This merge request does not close the issue, but only addresses ...* Best to review per commit.
* Deploys `develop` as nighly.
* Made a few other small improvements as well.
* I tested it best I could without actually deploying anything.
* This merge request does not close the issue, but only addresses it, as I want to see `develop` being deployed once (after merging this merge request), and check the results, before closing the issue.
Addresses #699v2.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/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/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/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/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/693#651 develop to master for v2.0-M12023-11-14T09:37:26ZDennis Hendriks#651 develop to master for v2.0-M1Addresses #651Addresses #651v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/692#651 Add release notes for v2.0-M1.2023-11-14T09:17:52ZDennis Hendriks#651 Add release notes for v2.0-M1.Addresses #651Addresses #651v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/690#676 PLCgen: Connect PLCgen with the GUI.2023-11-20T20:09:06ZAlbert Hofkamp#676 PLCgen: Connect PLCgen with the GUI.Addresses #676Addresses #676v2.0Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/689#676 PLCgen: Forbid use of user-defined functions.2023-11-14T06:55:12ZAlbert Hofkamp#676 PLCgen: Forbid use of user-defined functions.Addresses #676Addresses #676v2.0Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/688#679 PLCgen: Introduce infix/informal/formal supported notations for function...2023-11-20T08:08:25ZAlbert Hofkamp#679 PLCgen: Introduce infix/informal/formal supported notations for function calls.Introduces an enumeration for expressing support notation forms of a function call.
Also cleaned up function call construction and switched to using parameter order for adding arguments to the call.
Commits should be readable, Only nea...Introduces an enumeration for expressing support notation forms of a function call.
Also cleaned up function call construction and switched to using parameter order for adding arguments to the call.
Commits should be readable, Only near the final commits is the code error-free again.
#Addresses #676 #679v2.0Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/687#667 Support logical implication operator in CIF to mCRL22023-11-02T18:57:54ZMartijn Goorden#667 Support logical implication operator in CIF to mCRL2Closes #667.
The changed test case is accepted by mCRL2 as a well-formed mCRL2 specification.Closes #667.
The changed test case is accepted by mCRL2 as a well-formed mCRL2 specification.v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/686#272 Added utils classes for JavasScript export function.2023-12-19T09:05:37ZRik Lubking#272 Added utils classes for JavasScript export function.- Added xxxUtils.js, a (direct as possible) translation of utils classes
taken from the Java export function.
- Utils functions can be called via JS console, the next commit adds UI and tests.
Discussion, see: https://gitlab.eclipse.org...- Added xxxUtils.js, a (direct as possible) translation of utils classes
taken from the Java export function.
- Utils functions can be called via JS console, the next commit adds UI and tests.
Discussion, see: https://gitlab.eclipse.org/riklubking/escet/-/issues/27
Addresses #272
Fixed after feedback at https://gitlab.eclipse.org/riklubking/escet/-/issues/27#note_1221642:
- Removed trailing whitespaces.
- Introduced MIN_INT / MAX_INT instead of Number.MIN_SAFE_INTEGER /
Number.MAX_SAFE_INTEGER, equal to Java Integer min/max.
- Improved custom exception.
- Added backticks in the place of all {@code} tags in JSDocs.
- Fixed capitals: javascript -> JavaScript / javaScript -> JavaScript,
number -> Number.
- Added space for for(), changed ++i to i++.
- div() returns integers only (truncated result).
- escape() replaces all instances, not just first instance.
- Removed makeList() and intToReal() (not required for JavaScript).
- mod() don't return -0.0 (change to 0.0, same as exp() and others).
- Refactored project() functions, renamed to projectList and
projectString. Fixed projectList().
- strToInt/strToReal: Remove exception (wasn't thrown), add if check for
bounds/NaN instead.
- Added TODO's with essential info.
* TODO 1: fmt() function supports only %d and %s at the moment, which is
all that's used so far. Will need to extend as more options become
required.
* TODO 2: realToStr() will need to implement some formatting code. This
may become a bit messy, perhaps there is some standard function/way to
do this, will discuss and do in a separate commit.v2.0