escet merge requestshttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests2023-01-05T19:27:53Zhttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/457#378 CIF data-based synthesis variable orders in separate classes2023-01-05T19:27:53ZDennis Hendriks#378 CIF data-based synthesis variable orders in separate classesThis is another step in #378:
* It mainly separates the variable orders, e.g., model/random/custom order, from the CIF to synthesis converter into separate classes, that allows them to be used multiple times. They are however not yet use...This is another step in #378:
* It mainly separates the variable orders, e.g., model/random/custom order, from the CIF to synthesis converter into separate classes, that allows them to be used multiple times. They are however not yet used multiple times. That will come later in #378.
* Moved and renamed some things, to make it all fit better. Reviewing separate commits is probably easier.
* Currently, a `VarOrderHelper` is created twice, once for the `VarOrder` and once for `VarOrderer`. This is temporary. It keeps the changes smaller for this merge request. It will be changed again in a later step. (Making progress while keeping everything backwards compatible after each step is tricky.)
* Another small change in CIF to synthesis converter: two variables named `variables` and `curOrder` had the same value, so one of them was removed.
Addresses #378v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/456#491 Execute tests in alphabetical order for Maven build.2023-01-02T16:34:14ZDennis Hendriks#491 Execute tests in alphabetical order for Maven build.Closes #491Closes #491v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/453#487 Updated release process for archiving final releases.2022-12-30T10:20:18ZDennis Hendriks#487 Updated release process for archiving final releases.Addresses #487Addresses #487v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/452#486 Update Git repo for v0.9 development2022-12-25T11:27:35ZDennis Hendriks#486 Update Git repo for v0.9 developmentCloses #486Closes #486v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/451#484 Release Eclipse ESCET also for macOS aarch642022-12-31T08:45:12ZDennis Hendriks#484 Release Eclipse ESCET also for macOS aarch64- Added Eclipse ESCET macOS aarch64 release.
- Temporarily sign all branches, for testing.
- Fix `pomDependencies=consider` in Maven configuration.
Is a draft for now, to allow building this on Jenkins, with signing, for testing.
Close...- Added Eclipse ESCET macOS aarch64 release.
- Temporarily sign all branches, for testing.
- Fix `pomDependencies=consider` in Maven configuration.
Is a draft for now, to allow building this on Jenkins, with signing, for testing.
Closes #484https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/449#483 Update macOS download instructions2022-12-21T15:48:49ZMartijn Goorden#483 Update macOS download instructionsCloses #483Closes #483v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/448#422 develop to master for v0.82022-12-21T11:37:19ZDennis Hendriks#422 develop to master for v0.8Addresses #422Addresses #422v0.8https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/445#422 Release notes updates for v0.8.2022-12-21T11:18:22ZDennis Hendriks#422 Release notes updates for v0.8.Addresses #422Addresses #422v0.8https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/443#420 develop to master for v0.8-RC12022-12-19T12:35:18ZDennis Hendriks#420 develop to master for v0.8-RC1Addresses #420Addresses #420v0.8https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/441#394 Fixed copy/paste mistake in message of switch-standard-visible-website.bash2022-12-18T20:41:37ZDennis Hendriks#394 Fixed copy/paste mistake in message of switch-standard-visible-website.bashCloses #394Closes #394v0.8https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/440#475 Updated Maven project settings to those applied by m2eclipse.2022-12-30T09:20:15ZDennis Hendriks#475 Updated Maven project settings to those applied by m2eclipse.- Updated Maven project settings to those applied by m2eclipse, where possible.
- `common.raildiagrams` is an Eclipse plug-in, rather than a Maven project. It will have some changes, but now only in `.classpath`. The two worlds collide h...- Updated Maven project settings to those applied by m2eclipse, where possible.
- `common.raildiagrams` is an Eclipse plug-in, rather than a Maven project. It will have some changes, but now only in `.classpath`. The two worlds collide here. May have to revert the changes from time to time after updating it as a Maven project. Don't think this can be avoided.
- Set Java '--release' option. Prevents using unavailable Java APIs. (m2eclipse sets this option as well)
Closes #475v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/439#32 Customize Eclipse ESCET welcome screen2022-12-19T10:00:52ZDennis Hendriks#32 Customize Eclipse ESCET welcome screenThe separate commits explain the changes in more detail.
Closes #32The separate commits explain the changes in more detail.
Closes #32v0.8https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/438#394 Add script to switch standard visible website.2022-12-18T19:15:23ZDennis Hendriks#394 Add script to switch standard visible website.- Allows to automate various steps.
- Replaces version-specific URLs in HTML files.
Closes #394- Allows to automate various steps.
- Replaces version-specific URLs in HTML files.
Closes #394v0.8https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/435#420 Release notes for v0.8-RC12022-12-19T12:01:32ZDennis Hendriks#420 Release notes for v0.8-RC1I've started to prepare the release notes for v0.8-RC1. It is draft for now, as we have a week to go to make further chanes.
Addresses #420I've started to prepare the release notes for v0.8-RC1. It is draft for now, as we have a week to go to make further chanes.
Addresses #420v0.8https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/434#378 More parameters for CIF data-based synthesis variable ordering algorithms2022-12-13T12:00:30ZDennis Hendriks#378 More parameters for CIF data-based synthesis variable ordering algorithms* Generalize to allow mix of legacy and linearized hyper-edges/graphs:
* Add `RelationsKind` to configure legacy vs linearized relations.
* `VarOrdererHelper` has representations per `RelationsKind`.
* Parameterize metrics for differ...* Generalize to allow mix of legacy and linearized hyper-edges/graphs:
* Add `RelationsKind` to configure legacy vs linearized relations.
* `VarOrdererHelper` has representations per `RelationsKind`.
* Parameterize metrics for different relations:
* Move metrics out of `VarOrdererHelper` (a class per metric).
* More functionality from `VarOrdererHelper` in the metric classes.
* Parameterize metrics with `RelationsKind`.
* Debug output for different metric kinds:
* `VarOrdererHelper`: `dbgMetrics` per `RelationsKind`.
* Parameterize variable orders with metrics and relations kinds:
* `ChoiceVarOrderer`: relations kind.
* `DcshVarOrderer`: metric, relations kind.
* `ForceVarOrderer`: metric, relations kind.
* `ReverseVarOrderer`: relations kind.
* `SlidingWindowVarOrderer`: metric, relations kind.
* `SloanVarOrderer`: relations kind.
* `WeightedCuthillMcKeeVarOrderer`: node finder, relations kind.
* Moved defaults to `CifToSynthesisConverter`.
* Some other improvements:
* Fix: `LinearizedHyperEdgeCreator` must not extend `LegacyHyperEdgeCreator`.
* Aligned hyper-edges and graphs in `CifToSynthesisConverter`.
* Moved hyper-edge creators to separate package.
* Moved variable ordering metrics to separate package.
* Note that:
* These changes are backwards compatible for the user.
* There are no options yet to exploit the new possibilities. (that will be a separate merge request)
* The base orderers have not been made into separate classes.
It is probably easiest to review this per commit.
Addresses #378v0.8https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/432#470 Cleanup specialized Invariant pre-checkers.2022-12-11T12:38:00ZAlbert Hofkamp#470 Cleanup specialized Invariant pre-checkers.Closes #470Closes #470v0.8https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/430#467 Ease creation of issues for dependency license check failure.2022-12-05T21:18:35ZDennis Hendriks#467 Ease creation of issues for dependency license check failure.- Create file with content for GitLab issue.
- Archive the new file in the Jenkinsfile.
- Also cleanup 'target/dash/review-summary'.
Closes #467- Create file with content for GitLab issue.
- Archive the new file in the Jenkinsfile.
- Also cleanup 'target/dash/review-summary'.
Closes #467v0.8https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/428#457 Generalize invariants checking2022-12-07T10:45:14ZAlbert Hofkamp#457 Generalize invariants checkingAdresses #457 #368 #424
I was wrong in thinking I didn't need the generalized invariant check in cif2plc, as we found out in !422 .
Thus I moved implementing the check forward to allow finishing the cif2plc pre checker issue.
This patc...Adresses #457 #368 #424
I was wrong in thinking I didn't need the generalized invariant check in cif2plc, as we found out in !422 .
Thus I moved implementing the check forward to allow finishing the cif2plc pre checker issue.
This patch is built bottom up.
* It starts with adding a `PlaceKind` to express place of an invariant, together with `ReportPriority` that defines a relevance notion.
* Next the `NoKindInterface` is defined to form a common ground for the `NoInvariant...Kind` enumerations that define what the user can specify for the check.
If you read commits, I made the error here of adding a `size`(?) notion to the interface which doesn't work as it's not a member function.
The interface is not strictly needed, but I think it's good to have it anyway as it reduces duplication of function docs, and forces consistency.
* On top of the `NoInvariant...Kind` enumerations comes the `DisallowedSubset` class that stores a specified invariants subset that should be reported when found.
* The main check class `InvNoSpecificInvsCheck` stores all the disallowed subsets for all combinations of `SupKind`, `InvKind`, and `PlaceKind`. It silently discards checks that are not relevant enough to get reported for each combination individually.
Checking is then a simple "grab the disallowed subsets for the concrete invariant that we find, and report it if disallowed subsets are indeed found".
* The check class is extended with the "ignore harmless invariants" extension (`invariant true`, `needs true`, `disables false`).
* A tests to check the harmless extension works, and a test with 2 disallowed subsets.
Three further points:
* I don't know how to fix the `- Unsupported "named_invs.I2" (File "...": line 72, columns 15 .. 16): invariant is invariant.` error. The message is stupid. The first `invariant` is the named object (generated by the framework), the second `invariant` is generated by my check.
* There are other invariant checks and tests in the pre-checker framework, the simplest to do is perhaps remove those after merging this.
* There is also a previous branch for this check that was deemed too complicated or wrong (branch `424-more-general-invariants-checker`).
EDIT: Added the proper issue number in the title.v0.8Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/427#465 Add wolf/goat/cabbage game as CIF example.2022-12-13T12:00:52ZDennis Hendriks#465 Add wolf/goat/cabbage game as CIF example.Closes #465Closes #465v0.8https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/426#464 Include state/event exclusion invariants in linearized hyper-edge creator2023-03-12T11:23:27ZDennis Hendriks#464 Include state/event exclusion invariants in linearized hyper-edge creatorCloses #464Closes #464v0.8