escet merge requestshttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests2024-01-03T13:29:37Zhttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/741#319 Add sub-plant creation functionality (small improvements)2024-01-03T13:29:37ZDennis Hendriks#319 Add sub-plant creation functionality (small improvements)* Builds on top of !696. To be merged into that.
* Best to review per commit.
* Rather than placing many very small comments, I made this branch and merge request. Hopefully that is more efficient for all involved.
Addresses #319* Builds on top of !696. To be merged into that.
* Best to review per commit.
* Rather than placing many very small comments, I made this branch and merge request. Hopefully that is more efficient for all involved.
Addresses #319v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/740#725 Generated CIF simulator debug code misses exit argument for application.run2023-12-25T08:45:23ZFerdie Reijnen#725 Generated CIF simulator debug code misses exit argument for application.runCloses #725Closes #725v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/739#723 JavaDoc fixes: '{@Link ...}' to '{@link ...}'.2023-12-24T11:52:16ZDennis Hendriks#723 JavaDoc fixes: '{@Link ...}' to '{@link ...}'.Closes #723Closes #723v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/738#715 JS/HTML codegen: fix calls to various real-typed stdlib functions.2023-12-25T07:56:50ZDennis Hendriks#715 JS/HTML codegen: fix calls to various real-typed stdlib functions.- Fixes acos, asin, atan, cos, sin, tan, exp, log, and ln.
Addresses #715- Fixes acos, asin, atan, cos, sin, tan, exp, log, and ln.
Addresses #715v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/737#715 JS/HTML code generation: print model state2023-12-24T13:06:19ZDennis Hendriks#715 JS/HTML code generation: print model state* Best to review per commit.
* Main change, for JS/HTML code generation:
* Log initial state + state after event transitions.
* For HTML: log panel shows horizontal scrollbar, doesn't wrap. Much easier to read then, in case of long '...* Best to review per commit.
* Main change, for JS/HTML code generation:
* Log initial state + state after event transitions.
* For HTML: log panel shows horizontal scrollbar, doesn't wrap. Much easier to read then, in case of long 'state' logging lines.
* Some other related changes as well:
* Fixed `valueToStr` for JavaScript `Symbol`s. `Symbol`s are only used for enumeration literals. `valueToStr` is used in multiple places, such as:
* Error messages such as for index of bounds.
* `fmt` arguments for for `%s` and `%S`.
* String representation of tuple elements.
* Output of print declarations.
* State logging.
* Improved comments in generated code, and text in generated reports, for location pointer variables:
* Include location pointer variables in 'original declaration names' mapping.
* JS/HTML code generation simplifications:
* Simplified code generation of frequency slider code.
* Simplified code generation of logging-related code.
* A 'log' function is always present now, also for JS, not only HTML.
* Prevents having to prefix all JS log calls with 'console.'.
* Unchanged: JS/HTML log to console. Only HTML logs to the log panel.
* Transition logging code is hard-coded in the template now.
Addresses #715v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/736#714 CIF state annotations: ensure all state annotations within an automaton ...2024-01-03T13:33:46ZDennis Hendriks#714 CIF state annotations: ensure all state annotations within an automaton are different* Best to review per commit.
* I opted for a value-based equality/hash wrapper, as that prevents false positives.
Closes #714* Best to review per commit.
* I opted for a value-based equality/hash wrapper, as that prevents false positives.
Closes #714v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/733#715 JavaScript codegen: proper code for temporary variables.2023-12-21T19:16:31ZDennis Hendriks#715 JavaScript codegen: proper code for temporary variables.* Proper JavaScript code generation for temporary variables.
* Various methods for different types of vars are now also more similar.
* Also fixed a comment in 'AssignmentUpdate' class.
Addresses #715* Proper JavaScript code generation for temporary variables.
* Various methods for different types of vars are now also more similar.
* Also fixed a comment in 'AssignmentUpdate' class.
Addresses #715v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/732#715 JavaScript codegen: utils class is missing 'intToReal'.2023-12-21T15:34:02ZDennis Hendriks#715 JavaScript codegen: utils class is missing 'intToReal'.* Small bugfix.
Addresses #715* Small bugfix.
Addresses #715v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/731#679 Add 'cifplcgen' to scriptable tools overview in CIF docs.2023-12-21T13:19:29ZDennis Hendriks#679 Add 'cifplcgen' to scriptable tools overview in CIF docs.* Small change. Was missed when we added the new command line tool.
Addresses #679* Small change. Was missed when we added the new command line tool.
Addresses #679v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/730#715 HTML codegen docs: explain resizing of lower area.2023-12-21T13:19:40ZDennis Hendriks#715 HTML codegen docs: explain resizing of lower area.* Small addition. I forgot to explain this in the documentation.
Addresses #715* Small addition. I forgot to explain this in the documentation.
Addresses #715v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/727#715 JavaScript code generation: improve 'fmt' function2023-12-20T23:19:56ZDennis Hendriks#715 JavaScript code generation: improve 'fmt' function* Best to review per commit.
* Fixes several issues.
* Still not full `fmt` function support, but that is for after %"v2.0". This should be sufficient for now.
Addresses #715* Best to review per commit.
* Fixes several issues.
* Still not full `fmt` function support, but that is for after %"v2.0". This should be sufficient for now.
Addresses #715v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/726#715 Update JavaScript code generation documentation + add HTML code generati...2023-12-20T23:45:51ZDennis Hendriks#715 Update JavaScript code generation documentation + add HTML code generation documentation* Update JavaScript code generation documentation. Aligned with Java code generator documentation, but made sure it is accurate for JavaScript code generation implementation.
* Add HTML code generation documentation.
* Update CIF code ge...* Update JavaScript code generation documentation. Aligned with Java code generator documentation, but made sure it is accurate for JavaScript code generation implementation.
* Add HTML code generation documentation.
* Update CIF code generator documentation in general for now always generating an enumeration for most target languages.
Addresses #715v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/725#715 JavaScriptTupleTypeInfo: don't generate 'equals' method.2023-12-20T23:18:02ZDennis Hendriks#715 JavaScriptTupleTypeInfo: don't generate 'equals' method.Addresses #715Addresses #715v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/724#715 JavaScriptCodeGen: eventId -> eventIdx.2023-12-20T23:17:47ZDennis Hendriks#715 JavaScriptCodeGen: eventId -> eventIdx.- Improves consistency and clarity.
Addresses #715- Improves consistency and clarity.
Addresses #715v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/723#715 CIF code generator: Add JavaScript and HTML target languages.2023-12-20T15:17:48ZRik Lubking#715 CIF code generator: Add JavaScript and HTML target languages.#715 - Add export target Language HTML and JavaScript.
Main changes:
* Moves css into html template.
* Moved JavaScript out of html template.
* Added JavaScript/HTML export options as target languages.
* Added write method/logic for mer...#715 - Add export target Language HTML and JavaScript.
Main changes:
* Moves css into html template.
* Moved JavaScript out of html template.
* Added JavaScript/HTML export options as target languages.
* Added write method/logic for merging JavaScript into HTML export.
Other changes:
* Frequency for HTML page was changed from 20 to 60.
* The 'download log' bugs have been fixed.
* The empty option category for JavaScript code generation was removed.
* Improved `equals` method for generated tuple classes in JS codegen.
Addresses #715v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/721#272 CIF codegen: add SVG code generation to JavaScript code generator.2023-12-19T20:20:03ZDennis Hendriks#272 CIF codegen: add SVG code generation to JavaScript code generator.* Since we can't merge !716, this merge request replaces it.
* I put everything into a single commit, so history is lost. But, the history can still be found in !716. I did attribute @riklubking and @gvlit as co-authors for the single co...* Since we can't merge !716, this merge request replaces it.
* I put everything into a single commit, so history is lost. But, the history can still be found in !716. I did attribute @riklubking and @gvlit as co-authors for the single commit.
* The last commit by @riklubking to fix the 'download log' button, is not present here. We can do it in a next merge request.
Addresses #272v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/720#227 Allow assigning input variables via SVG input mapping2024-03-14T21:05:53ZFerdie Reijnen#227 Allow assigning input variables via SVG input mappingIt has been a while since we worked on this. What I want to do:
* Implement idea U1 from https://gitlab.eclipse.org/eclipse/escet/escet/-/issues/203#note_273350 / #227
* Extend metamodel to a minimum
* Update `SvgIn` element, make `e...It has been a while since we worked on this. What I want to do:
* Implement idea U1 from https://gitlab.eclipse.org/eclipse/escet/escet/-/issues/203#note_273350 / #227
* Extend metamodel to a minimum
* Update `SvgIn` element, make `event` optional and make `updates` with \[0..\*\]. Parser should enforce one of the two is present.
* Reuse `Update` element from `Automaton`.
* Extend parser to a minimum
* Allow update to have general name, not just an identifier (was done in !190, that was never merged to develop, I will redo it).
* Implement `@SVGINKW IDKW Expression DOKW Updates OptSvgFile @SEMICOLTK`
* For now, don't implement `@SVGINKW IDKW Expression EVENTKW SvgInEvent DOKW Updates OptSvgFile @SEMICOLTK`
What still needs to be done:
* Everything related to simulator code.
* Everything related to HTML code generation.
* Tests for ~the typechecker~ and merge.
* ~Update Metamodel diagram images.~
* ~Update LaTeX documentation.~
* Update common methods (if applicable).
* Update CIF to CIF transformations and other tools.
* The CIF merger would not be able to merge an `svgin` assignment with another specification that provides a non-input variable to be merged with the input variable, as then the `svgin` mapping would assign a non-input variable.
* Update CIF documentation.
* Update CIF example.
Addresses #227v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/719#712 Lithography benchmark model has duplicate invariants2023-12-19T07:35:45ZFerdie Reijnen#712 Lithography benchmark model has duplicate invariantsCloses #712Closes #712v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/717#713 ExprNoSpecificBinaryExprsCheckLevel cif test has mistake for modulus test2023-12-15T12:53:33ZFerdie Reijnen#713 ExprNoSpecificBinaryExprsCheckLevel cif test has mistake for modulus testCloses #713Closes #713v2.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/715#708 Event-based tools add state annotations to the output CIF models2023-12-11T16:26:54ZDennis Hendriks#708 Event-based tools add state annotations to the output CIF models* Best to review per commit.
* Adding state annotations is configurable using an option, similar to the CIF explorer.
* Added some additional tests, and renamed some tests.
* Fixed DFA minimization to produce results with origin informat...* Best to review per commit.
* Adding state annotations is configurable using an option, similar to the CIF explorer.
* Added some additional tests, and renamed some tests.
* Fixed DFA minimization to produce results with origin information, and thus state annotations (extra commits at the end).
* Updated the documentation. Also improved the documentation with an extra link.
Closes #708v2.0