escet merge requestshttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests2023-03-17T07:51:29Zhttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/534#364 Add swarm robotics CIF benchmark models.2023-03-17T07:51:29ZDennis Hendriks#364 Add swarm robotics CIF benchmark models.Addresses #364Addresses #364v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/533#364 Small fix in lithography_init CIF benchmark model _source.txt file.2023-03-17T07:51:32ZDennis Hendriks#364 Small fix in lithography_init CIF benchmark model _source.txt file.Addresses #364Addresses #364v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/532#364 Add ball sorting system as CIF benchmarking model2024-01-25T16:03:58ZDennis Hendriks#364 Add ball sorting system as CIF benchmarking model* Cleaned up the model a bit. Kept both original and adapted models.
* Fixed some issues with the model (typo, warnings). See separate commits.
Addresses #364* Cleaned up the model a bit. Kept both original and adapted models.
* Fixed some issues with the model (typo, warnings). See separate commits.
Addresses #364v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/528#546 Write DMM as text in Dmm.toString()2023-04-01T10:45:57ZAlbert Hofkamp#546 Write DMM as text in Dmm.toString()Closes #546
Multi-level Dmm output in tests is a text-file rather than a pure CSV file, therefore using normal EOL sequences is sufficient.Closes #546
Multi-level Dmm output in tests is a text-file rather than a pure CSV file, therefore using normal EOL sequences is sufficient.v0.9Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/527#364 Add ADAS model as CIF benchmark model.2023-03-11T13:23:16ZDennis Hendriks#364 Add ADAS model as CIF benchmark model.Addresses #364Addresses #364v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/526#364 Add production cell as CIF benchmark model.2023-03-11T13:23:10ZDennis Hendriks#364 Add production cell as CIF benchmark model.Addresses #364Addresses #364v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/525#364 Add multi agent formation model as CIF benchmark model.2023-03-11T13:23:04ZDennis Hendriks#364 Add multi agent formation model as CIF benchmark model.Addresses #364Addresses #364v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/524#364 Add themepark model as CIF benchmark model.2023-03-11T13:22:56ZDennis Hendriks#364 Add themepark model as CIF benchmark model.Addresses #364Addresses #364v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/523#364 Add cluster tool as CIF benchmark model.2023-03-11T13:22:34ZDennis Hendriks#364 Add cluster tool as CIF benchmark model.Addresses #364Addresses #364v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/522#364 Add AGV model as CIF benchmark model.2023-03-11T13:22:10ZDennis Hendriks#364 Add AGV model as CIF benchmark model.Addresses #364Addresses #364v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/521#538 Generalized and improved benchmarking scripts.2023-03-11T17:22:39ZDennis Hendriks#538 Generalized and improved benchmarking scripts.* Improved terminology.
* Print configurations used for benchmarking, before starting with any synthesis.
* Simplified configuring the configurations for which to run synthesis. Is more flexible and powerful as well.
* Allow running a su...* Improved terminology.
* Print configurations used for benchmarking, before starting with any synthesis.
* Simplified configuring the configurations for which to run synthesis. Is more flexible and powerful as well.
* Allow running a subset of the configurations, to e.g., rerun parts of it, or run parts of it in parallel.
* More robust against partial/missing information.
* More robust against inconsistent/duplicate information.
* Some other smaller improvements.
Best reviewed per commit. See commit messages for further details.
Closes #538v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/519#544 Event-based synthesis should allow specifications without requirements.2023-03-04T10:15:46ZMartijn Goorden#544 Event-based synthesis should allow specifications without requirements.Closes #544.Closes #544.v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/518#540 Refactor AppStream to detect all EOL sequences.2023-04-01T10:45:57ZAlbert Hofkamp#540 Refactor AppStream to detect all EOL sequences.Implementing recognizing `\r`, `\n`, and `\r\n` sequences as an EOL sequence, to be replaced by the configured replacement in `AppStream`.
Addresses #540Implementing recognizing `\r`, `\n`, and `\r\n` sequences as an EOL sequence, to be replaced by the configured replacement in `AppStream`.
Addresses #540v0.9Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/517#543 Incorrect command line option max memory stats for databased synthesis2023-03-02T05:16:40ZFerdie Reijnen#543 Incorrect command line option max memory stats for databased synthesisCloses #543Closes #543v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/516#418 Add model for PLC expressions and statements.2023-04-13T11:39:17ZAlbert Hofkamp#418 Add model for PLC expressions and statements.Adresses #418
Adding data classes for constructing PLC expression and statements object trees, together with a conversion to text.Adresses #418
Adding data classes for constructing PLC expression and statements object trees, together with a conversion to text.v0.9Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/515#539 Improve CIF data-based synthesis benchmarking overview HTML2023-03-04T08:46:08ZDennis Hendriks#539 Improve CIF data-based synthesis benchmarking overview HTML- More colors, besides only green, to better see what are best and worst metric values.
- Several small HTML styling improvements.
- Added handling of unknown values, which are generated, but were not yet handled by overview generation.
...- More colors, besides only green, to better see what are best and worst metric values.
- Several small HTML styling improvements.
- Added handling of unknown values, which are generated, but were not yet handled by overview generation.
- Generated overview now supports both absolute and relative metric values.
Best reviewed per commit.
Closes #539v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/514#299 Add warning for duplicated event in state/event exclusion invariant2023-03-02T05:16:25ZFerdie Reijnen#299 Add warning for duplicated event in state/event exclusion invariantCloses #299Closes #299v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/513#537 Add Body Comfort System (BCS) benchmarking model.2023-02-27T22:20:52ZDennis Hendriks#537 Add Body Comfort System (BCS) benchmarking model.- Builds on top of !509, as that changes the API for benchmarking scripts.
Closes #537- Builds on top of !509, as that changes the API for benchmarking scripts.
Closes #537v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/511#454 New output for CIF checks (2nd attempt)2023-03-03T13:20:41ZDennis Hendriks#454 New output for CIF checks (2nd attempt)* This merge request replaces the previous one, !464. It was quite some work, but I think I've addressed all the issues. I'm quite happy with the output that is now produced.
* Checks API:
* The design for checks is much simpler, as th...* This merge request replaces the previous one, !464. It was quite some work, but I think I've addressed all the issues. I'm quite happy with the output that is now produced.
* Checks API:
* The design for checks is much simpler, as there are no message classes anymore. Just (formatted) strings.
* I got rid of reporting on ancestors or named objects, requiring `PositionObject` objects with a position.
* No more reporting on `null` specifications. Just supply the `Specification` object instead. Typically, this is used in `preprocessSpecification` or `postprocessSpecification`, which have that already anyway. Can use `CifScopeUtils.getSpecification` otherwise.
* For the new output:
* I opted to first categorize by sorted message, then by sorted context, and then by sorted line nr.
* All violations (for that message and context) on the same line are reported with the text of that line, and markers that indicate where the violations are within the line.
* Violations reported on the specification have only a message, no context, no lines, no markers.
* Various checks have improvements beyond pure API adaptations:
* Automaton only with one initial location: reports evaluation failures per initialization predicate.
* Component no initialization predicates: report per initialization predicate.
* No specific expressions: no more info than needed in violation messages.
* No specific expressions: specific relevant information in violation messages.
* No specific expressions: some other small improvements.
* No specific binary expressions: no more info than needed in violation messages.
* No specific unary expressions: no more info than needed in violation messages.
* Locations only statically evaluable marker predicates: report violations per marker predicate.
* Other changes:
* Various type checker and position information fixes, to ensure position information on types is from where the type is used, not from where the type is defined or copied from.
* CIF parser: standard library function calls now has position info on the `(` symbol for the function call, and position information on the standard library function reference itself only for the standard library function reference. Previously, both had the position information from the standard library function reference. This makes that we can distinguish between the two. It also makes standard library function calls consistent with other function calls.
* Removed some unnecessary super calls from test class constructors.
* Merge request is ready to be reviewed. Probably best to review per commit, as there are quite a few of them, with quite some changes, as the whole checker framework is essentially redesigned. I reworked the commits to hopefully make it easy to review.
* Potential follow-ups:
* Explain the output in the end user documentation, such that users can read how to interpret the output, how to work with, etc.
* Adapt the pretty printer to use a keyword for each line, e.g., for each initialization and marker predicate.
Closes #454v0.9https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/509#522 Add cat and mouse tower benchmark models2023-02-24T07:59:50ZDennis Hendriks#522 Add cat and mouse tower benchmark models- Initial commit has generator that generates models that match the GitHub repo.
- Subsequent commits have improvements, to support both the original version and modified versions, improve layout of generated models, etc.
- Changed bench...- Initial commit has generator that generates models that match the GitHub repo.
- Subsequent commits have improvements, to support both the original version and modified versions, improve layout of generated models, etc.
- Changed benchmarking base script as well, to allow multiple benchmark models from a single folder.
Closes #522v0.9