escet merge requestshttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests2024-01-12T08:05:03Zhttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/765#706 CIF data-based synthesis: rename 'spec' package classes2024-01-12T08:05:03ZDennis Hendriks#706 CIF data-based synthesis: rename 'spec' package classes* Best to review per commit.
* Renamed class in the `spec` package that represent the CIF specification in BDD representations, from `Synthesis*` to `CifBdd*`. Also updates the rest of the plugin to match it.
* This does not rename every...* Best to review per commit.
* Renamed class in the `spec` package that represent the CIF specification in BDD representations, from `Synthesis*` to `CifBdd*`. Also updates the rest of the plugin to match it.
* This does not rename everything that needs to be renamed in the plugin, but focuses on the specification representation, and what refers to or uses that.
Addresses #706v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/763#38 AsciiDoc HTML breadcrumbs now include virtual TOC entries2024-01-10T08:00:20ZDennis Hendriks#38 AsciiDoc HTML breadcrumbs now include virtual TOC entries* Best to review per commit.
* Notes about the changes:
* The breadcrumbs are now based on the TOC, rather than on the page containment. This ensures consistency between the TOC and breadcrumbs.
* The virtual TOC entries that are anc...* Best to review per commit.
* Notes about the changes:
* The breadcrumbs are now based on the TOC, rather than on the page containment. This ensures consistency between the TOC and breadcrumbs.
* The virtual TOC entries that are ancestors of the current page are now also included in the breadcrumb.
* As before, the breadcrumbs end at the current page. Virtual TOC entries within the page are not part of the breadcrumb of that page.
* Note that section headings on a page are never part of breadcrumbs, as they can be in the TOC, but can't have child pages.
Addresses #38v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/761#38 Link virtual TOC entries and their targets.2024-01-09T14:55:29ZDennis Hendriks#38 Link virtual TOC entries and their targets.Some notes about the merge request:
* Best to review per commit.
* Fixed virtual TOC entries linking to the correct targets.
* Also improved virtual TOC entries/targets naming and styling consistency.
* Furthermore, fixed highlighting of...Some notes about the merge request:
* Best to review per commit.
* Fixed virtual TOC entries linking to the correct targets.
* Also improved virtual TOC entries/targets naming and styling consistency.
* Furthermore, fixed highlighting of the home page in the TOC.
* And some other small improvements. See individual commits.
Some notes about the virtual TOC entries:
* We have at certain places virtual TOC entries, wrappers that group a number of child pages:
* Chi documentation: -
* CIF documentation: SBE (2x), language tutorial (10x), reference manual (2x), tools (6x), simulator (5x)
* ESCET development documentation: index (1x)
* ESCET project documentation: -
* Tooldef documentation: reference manual (2x)
* These help to structure the pages under them, but are not actual sections (headings) on pages after splitting to multi-page HTML. Hence, they don't link to anything that exists.
* Potential solutions are:
* Make them real sections. But, the whole point was to have them be wrappers that only exist in the TOC. If they are sections/headings on the page, and there are multiple of them, you'd get them in the TOC, but the actual pages that they contain after all of them, as you can't mix sections and pages.
* Make them real pages. But, then the page needs content. This would lead to duplication, as we would need to duplicate the list of child references on the overview page and each virtual TOC entry turned new page. This would be annoying to maintain. Also, having the lists twice is not very intuitive to the user when navigating.
* Have no such wrappers. But, then we get larger groups of child pages directly under other pages. This is more difficult for users to grasp. It hinders navigation. We have the wrappers for a reason.
* Somehow relate the virtual TOC entries to their intended targets. Give the TOC entries and their targets relatable IDs (`virtual-toc-entry--<something>` and `virtual-toc-target--<something>`). This will work as desired, at the cost of an extra naming convention and some code in the multi-page HTML splitter to make it work.
* I opted for the last solution, as that is best for end users.
Addresses #38v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/762#715 Replace final C89 to JavaScript in JS documentation.2024-01-09T11:33:42ZMartijn Goorden#715 Replace final C89 to JavaScript in JS documentation.Minor documentation improvement.
Addresses #715.Minor documentation improvement.
Addresses #715.v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/759#38 Fix TOC item highlighting and expanding for current page section.2024-01-08T16:00:17ZDennis Hendriks#38 Fix TOC item highlighting and expanding for current page section.* Best to review per commit.
* First commit fixes TOC item highlighting and expanding for current page section.
* Second commit puts website JavaScript code in a separate file. This reduces the size of the HTML files, sharing the JavaScr...* Best to review per commit.
* First commit fixes TOC item highlighting and expanding for current page section.
* Second commit puts website JavaScript code in a separate file. This reduces the size of the HTML files, sharing the JavaScript code. Also has some other small improvements/fixes.
* Note that this fixes the TOC highlighting and expanding for TOC items that are sections on pages, rather than full pages. It does not yet fix the TOC for virtual TOC items, items that exist only in the TOC and are not pages or sections on pages. Fixing that is for a next merge request.
Addresses #38v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/758#735 Add CIF to CIF transformation to remove annotations2024-01-05T19:31:38ZDennis Hendriks#735 Add CIF to CIF transformation to remove annotations* Best to review per commit.
Closes #735* Best to review per commit.
Closes #735v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/750#38 Improved AsciiDoctor-generated documentation HTML pages style2024-01-05T15:45:08ZDennis Hendriks#38 Improved AsciiDoctor-generated documentation HTML pages style* Best to review per commit.
* Introduced custom AsciiDoctor stylesheet.
* Various HTML styling improvements/fixes. Also closer to the website style.
* Each docset now has its own theme, similar to the corresponding website theme.
* Redu...* Best to review per commit.
* Introduced custom AsciiDoctor stylesheet.
* Various HTML styling improvements/fixes. Also closer to the website style.
* Each docset now has its own theme, similar to the corresponding website theme.
* Reduced the size of the website by sharing CSS file between pages of each docset (mostly undone by including the full TOC, see below).
* Indicated external links with an icon after it.
* Includes rudimentary TOC interactivity (collapse/expand functionality).
* Include all TOC levels in TOCs of website pages.
* Changed Chi and ToolDef website link color to be same as documentation, and be less close to black.
* Some other changes. See separate commits.
Addresses #38
Fixes #395v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/756#593 Allow annotations on discrete variables2024-01-05T12:20:59ZDennis Hendriks#593 Allow annotations on discrete variables* Best to review per commit.
* Allow annotations on discrete variables.
* No more column-aligned code generation in CIF code generator for discrete and continuous variables, for some target languages. Similar to input variables.
* CIF to...* Best to review per commit.
* Allow annotations on discrete variables.
* No more column-aligned code generation in CIF code generator for discrete and continuous variables, for some target languages. Similar to input variables.
* CIF to CIF 'Anonymize names' transformation does not anonymize annotation names and argument names. Made that explicit in the documentation.
* Introduced virtual TOC headings for parts of the reference manual. Similar to language tutorial.
Addresses #593v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/755#734 CIF Ecore docs: fix 'SwitchExpression.elseMandatory' description.2024-01-04T13:04:02ZDennis Hendriks#734 CIF Ecore docs: fix 'SwitchExpression.elseMandatory' description.Closes #734Closes #734v3.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/748#715 HTML codegen: support SVG copy/move declarations2024-01-03T13:30:40ZDennis Hendriks#715 HTML codegen: support SVG copy/move declarations* Best to review per commit.
* Also checks that no CIF/SVG declarations get lost during codegen.
* And improves JavaDoc for 'gencodeSvgOut'.
Addresses #715* Best to review per commit.
* Also checks that no CIF/SVG declarations get lost during codegen.
* And improves JavaDoc for 'gencodeSvgOut'.
Addresses #715v3.0https://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/752#730 CIF simulator: fixed print output to file in non-existing dir.2024-01-03T09:57:14ZDennis Hendriks#730 CIF simulator: fixed print output to file in non-existing dir.Closes #730Closes #730v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/747#715 HTML codegen: fix and improve print declarations and logging2024-01-03T09:55:38ZDennis Hendriks#715 HTML codegen: fix and improve print declarations and logging* Best to review per commit.
* Fixes:
* Fixed handling of print declaration stdout/stderr/file targets, with red coloring for stderr in HTML log panel. No coloring for browser console logging.
* Fixed string escaping, for among other...* Best to review per commit.
* Fixes:
* Fixed handling of print declaration stdout/stderr/file targets, with red coloring for stderr in HTML log panel. No coloring for browser console logging.
* Fixed string escaping, for among others: log output, certain runtime errors, and state printing.
* Fixed HTML-escaping for logging to log panel.
* Fixed a CSS style with invalid property value (not end user visible): `display` does not support `visible` as value. Changed to `inherit` as counterpart of `none`.
* Improvements:
* Reduced HTML log panel horizontal margin.
* Use Unix newline for log panel, not Windows newlines. The `\r` is not needed.
* Improved empty line logging output. Now: after everything is printed for initial state, and after everything is printed for a transition.
* Introduced variables to control printing state/transition output (enable or disable it).
* Updated/extended JavaScript code generation documentation.
Addresses #715v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/753#731 Removed duplicate registration of .cifx/.tooldefx with EMF + no XMI read...2024-01-03T09:24:28ZDennis Hendriks#731 Removed duplicate registration of .cifx/.tooldefx with EMF + no XMI reading for .setext* Best to review per commit.
* Removed duplicate registration of .cifx/.tooldefx with EMF. Since already registered in `.metamodel` projects, removed again from `.io` projects.
* SeText doesn't even have a metamodel, so can't read from X...* Best to review per commit.
* Removed duplicate registration of .cifx/.tooldefx with EMF. Since already registered in `.metamodel` projects, removed again from `.io` projects.
* SeText doesn't even have a metamodel, so can't read from XMI.
Closes #731v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/743#701 Allow reading/writing CIF files as XMI files2024-01-02T17:13:49ZDennis Hendriks#701 Allow reading/writing CIF files as XMI files* Best to review per commit.
* Changes:
* Allow reading CIF, SeText and ToolDef from XMI files.
* Use `.cifx`, `.setextx` and `.tooldefx` file extensions for this.
* Coupled these extensions to the Ecore editor, and gave them a cus...* Best to review per commit.
* Changes:
* Allow reading CIF, SeText and ToolDef from XMI files.
* Use `.cifx`, `.setextx` and `.tooldefx` file extensions for this.
* Coupled these extensions to the Ecore editor, and gave them a customized icon (darkened versions of the regular file icons).
* Added a test for reading/writing `.cifx` files.
* Also improved/fixed the `test_pprint_elim_cdef.tooldef` test script.
* Added documentation for using CIF XMI files.
Closes #701v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/746#715 Fix JS/HTML code generation for tuples2024-01-02T13:12:38ZDennis Hendriks#715 Fix JS/HTML code generation for tuples- Fixed generated tuple constructors.
- Fixed generated tuple copy methods.
- Fixed generated tuple 'toString' methods.
- Use single quotes for strings in generated JS code.
Addresses #715- Fixed generated tuple constructors.
- Fixed generated tuple copy methods.
- Fixed generated tuple 'toString' methods.
- Use single quotes for strings in generated JS code.
Addresses #715v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/745#715 JavaScript/HTML codegen: fix function parameter and local variable refer...2023-12-29T18:23:52ZDennis Hendriks#715 JavaScript/HTML codegen: fix function parameter and local variable references* Best to review per commit.
* Function JS/HTML code generation changes that are the main scope of this merge request:
* Improved exception message.
* Use single quotes for strings in generated JS code.
* No compile errors for unre...* Best to review per commit.
* Function JS/HTML code generation changes that are the main scope of this merge request:
* Improved exception message.
* Use single quotes for strings in generated JS code.
* No compile errors for unreachable statements in JS code, unlike Java.
* Various changes for references, reading variables, writing variables, etc.
* Other non-JS/HTML-specific changes (not end user visible for the other target languages):
* No more references to commented out code to `readOnly` from `VariableInformation`, as that field doesn't exist.
* Removed `VariableInformation.isReference`, as only assigned, copied, etc, but never read.
* Proper and consistent marking of temporary variables.
* Renamed `VariableInformation.targetName` to `targetRef`.
* Renamed `CodeGen.getTargetName` to `getTargetRef`.
* Implement target variable name logic in `getTargetVariableName` instead of in `getTargetRef`. The reference should default to the name, not the other way around. Then also Simulink code generation does not need to override `getTargetVariableName` anymore.
* Renamed `SimulinkCodeGen.simulinkTargetNameMap` to `simulinkTargetRefMap`.
* Renamed `SimulinkCodeGen.setupVarmaps` to `setupVarMaps`.
* Some other renaming etc, for consistency.
* Add `CodeGen.getPrefix()` and use it in `CodeGen`.
Addresses #715v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/744#727 Extend CIF reference manual lexical syntax page.2023-12-28T16:39:26ZDennis Hendriks#727 Extend CIF reference manual lexical syntax page.- Document `.cif` file extension convention.
- Document that CIF files are ASCII files, and use UTF-8 encoding.
Closes #727- Document `.cif` file extension convention.
- Document that CIF files are ASCII files, and use UTF-8 encoding.
Closes #727v3.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.0