escet merge requestshttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests2023-12-01T13:43:12Zhttps://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/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.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.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/685#669 Added history page to CIF documentation2023-11-20T08:16:00ZDennis Hendriks#669 Added history page to CIF documentation* Added a 'CIF history' page to the CIF documentation. I turned this history page into a page that explains more of history, not only why 'CIF' was named 'CIF'. It is thus quite a bit longer than what was [proposed](https://gitlab.eclips...* Added a 'CIF history' page to the CIF documentation. I turned this history page into a page that explains more of history, not only why 'CIF' was named 'CIF'. It is thus quite a bit longer than what was [proposed](https://gitlab.eclipse.org/eclipse/escet/escet/-/issues/669#note_1224537) earlier by @ahofkamp.
* I linked the new page in several relevant places.
* I dropped the old meaning of 'CIF' as 'Compositional Interchange Format' where it was still mentioned (CIF tutorial + CIF metamodel docs).
* I tried to reconstruct history best I could. Let me know if anything is incorrect.
* I added some reference to publications that I think are most representative. If you disagree, let me know.
Closes #669v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/684#682 Fix default target language in CIF code generator documentation.2023-11-02T07:50:19ZDennis Hendriks#682 Fix default target language in CIF code generator documentation.Closes #682Closes #682v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/682#675 PLCgen Siemens target: location variables get assigned non-existing values.2023-10-31T10:48:34ZAlbert Hofkamp#675 PLCgen Siemens target: location variables get assigned non-existing values.Resolve the undefined `someConstantVariable` in the PLC code by unfolding the referenced constants to their value.
Closes #675Resolve the undefined `someConstantVariable` in the PLC code by unfolding the referenced constants to their value.
Closes #675v2.0Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/681#272 CIF code generator: add JavaScript as code generation target2023-11-02T07:56:05ZRik Lubking#272 CIF code generator: add JavaScript as code generation target- 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.
Fixed after feedback from: https://gitlab.eclipse.org/riklubking/escet/-/issues/27#note_1215200
- Fixed formatting.
- Added stub method TODO's.
- Added documentation.
- Javascript -> JavaScript.
- Renamed main.html -> index.html
Addresses #272v2.0