Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SW5 (#177) #178

Open
wants to merge 17 commits into
base: main
Choose a base branch
from
Open

SW5 (#177) #178

wants to merge 17 commits into from

Conversation

t-lohse
Copy link
Contributor

@t-lohse t-lohse commented Feb 12, 2024

  • .

  • Implemented syntax check

  • Fork'ed protobuf repo (DBMs are passed around as vectors of integers #6)

  • Removed old protobuf submodule

  • Added new forked protobuf submodule

  • Fix workflow

  • cleaned up the jobs and replaced the actions with newer non-deprecated versions

  • fixed clippy check and modified the run cargo to use an action instead

  • fix workflow dispatch

  • modifed to do on push rather than PR

  • tried another Clippy

  • go back to previous clippy action

  • fixed problems mentioned from Clippy

  • Add install instructions for linux and windows

  • Convert triple slash comments into normal EoL comments

  • Convert EoL comments to triple slash comments

  • Fix typos in documentation comment on state

  • add warnings for non snakecase names

  • Fix snake case naming in tests

  • fixed upload-artifact. Retention days reduced from 90 to 7 days

  • Rename constraint applyer to constraint applier

  • Remove datatypes and move statepair list into model objects

  • Move decision.rs into modelobjects

  • Fix more snake name cases in tests

  • Update workflows

  • Run cargo format

  • Fix clippy warnings for module name 'conjunction_tests':

  • Added cache utilization

  • Updated protobuf submodule pointer

  • Formatted code

  • Component cache unit tests

Tests for when a component exists in cache and when it does not.

  • Cargo formatting

  • Raffineret vores implementation af syntaks tjek

  • Vi har lige kørt cargo fmt

  • Renamed variable

Renamed a variable to be more self-explanatory.

  • Add syntax tests

  • cargo fmt

  • Fix syntax failure test

  • Apply suggestions from code review

  • delay_refinement rename tests to be snakecase

  • conjunction_tests.rs rename tests to be snakecase

  • Test between different users and cache

  • Merged main

  • formatting

  • Remove debug backtrace

  • Add SyntaxFailure server response

  • Protobuf changes

  • Starting grpc server -> Started grpc server also changed info to println to avoid the debugger for now

  • Update submodule pointer

  • Structure of symboltable for clocks implemented

  • Small fixes to the ClockScope structure. Added next task description at the relevant lines of code in extract_system_rep.rs file

  • First draft for code to find clocks, has errors as of this moment

  • Fixed problems with the new scope structure missing derive implementations. Also fixed some missing implementation of the new clocks HashMap for component. Fixed small bug related to Private/Public mismatch

  • Changed clock scope struct to new format. Renamed it aswell

  • Worked on logic for creating and populating clock_usages

  • Fixed errors in Initialisation logic and iterator logic for the work on clock scopes

  • More logic added for the get_clocks boolean and arithmetic helper functions. Also refactored them a bit to save space

  • Marked useless parameters with (_)

  • started writing tests for finding clocks in bool and arith expressions

  • Refactor boolexpression & arithexpression. Ref is replaced.

  • Work on ClockUsage population logic(clock scopes). Work on tests for said logic

  • Added TODO descriptions

  • Logic for populating ClockUsage struct without duplicates should be complete. Pushing to github so i can compile from (working)laptop

  • Unit testing on get_clocks_arith & get_clocks_bool succesful-6

  • Unit testing on get_clocks_arith & get_clocks_bool succesful-6

  • Changes by tordenguden emil

  • Fixed bugs related to Ownership/references

  • Added back accidentally deleted tests

  • Fixup modules

  • Moved get_var_names functions for Bool and arith expression from extract_system_rep to their respective files(bool_expression, Arith_expressions). Moved their associated tests into them aswell.

  • Renamed varname to var_name

  • Move vec creation logic

  • Implemented HashSet for ClockUsage struct instead of HashMap.

  • Implemented add and get methods on CloclUsage struct.

  • Moved populate ClockUsage struct logic, into seperate functions to increase readability and modularity

  • Removed redundant comments

  • intermediate commit. started working on tests for populating components

  • forgot a file

  • Fixed creation of test component. Added default to Edge and Location

  • Back with project_loader for unit/integration testing. Fixed Default in edge.rs and location.rs

  • skips de-serializing clock_usages in component struct

  • breakthrough, figured out how the function we are testing works -6

  • added two test_cases for populate_usages_with_guards

  • wrote tests for the populate_usages_with_locations and populate_usages_with_updates functions

  • renamed populate_usages_with_locations to populate_usages_with_invariants to better reflect functionality

  • moved logic shared between the tests into a setup function. is maybe more complicated than previous solution

  • fixed warnings when during build

  • added tests for populating usages with updates on rhs. also created new sample project for the tests. also added comments to the tests

  • Refactored initialisation of component

  • removed redundant comments

  • fixed refactoring to make it build, also fixed som warnings

  • refactored populate tests to use method for initialising clock usages

  • added single test for the initialise_clock_usage method

  • added single test for the initialise_clock_usage method

  • small things

  • moved populate tests to component.rs since the methods tested were moved her previously

  • Added templates for the current missing function implementations for component. Templates include comments describing function purpose and warnings for the implementation.

These implementations possible should be moved into the SystemRecipe instead of component.

  • Commented out previous task deskriptions as they are now no longer correct. Begun to add new task descriptions, which may loan elements from the commented

  • Updated all the new task descriptions and removed old completly

  • removed unused crate

  • Modified actions task, to reflect this task actually may be redundant

  • Prepared for implementing clock reduction, mostly just a sync to cloud with non working code.

  • Use Rc<OwnedFederation> for zones in StatePair

  • Use reference counting for LocationTree in StatePair

  • Make the zone of a State consistent with StatePair

  • Fix clippy errors

  • Cleanup

  • Worked on two seperate ideas to solve the issue of clockReduction on component. None are done as of now and the commit has non-working code

  • Fix partial state test

  • Completed logic for updating global equivalent clock groups and implemented method for extracting int value for arithmetic expressions.

  • Further progress on remove_redundant_clocks

  • fix

  • Further progress on remove_redundant_clocks and associated functions

  • Final changes to system recipe. Relocated clock_usage initialisation/decoration into component_loader. Also removed old calls to clock_reduce

  • Added compress declarations method to component.

  • Implemented clock_reduction in component loading

  • Bug-fixes. fixed errors from component when building.

  • Back with project_loader for unit/integration testing. Fixed Default in edge.rs and location.rs

  • Re-commit

  • Changes by tordenguden emil

  • Diabled CR for reachability queries. To avoid test issues in two cases

  • Error propogations added to local equivalence

  • Test templates and a new sample added. First new test done.

  • added test for update_global_groups

  • Compress_dcls test completed

  • added test for get_evaluated_int method with multiple test cases

  • Get_unused_clocks test completed and ran cargo fmt... oh god, why?

  • Test for find_local_equivalences created

  • Merge get_unused_clocks with find_local_equivalences

  • Unfinished attempt to fix find_equivalent_clock_groups test

  • Identified error in testcase setup for find_equvialnt_clockgroups

  • created test for complete component-side clock reduction

  • disabled clock reduction on clock scope related tests, and did some formatting of the tests

  • added a few comments for some of the tests

  • cargo fmt and clippy

  • resolved some build warnings, mostly unnecessary mut variables

  • removed unused methods and tests for previous implementation of clock reduction

  • dealt with more warnings

  • added todo for figuring out why tests fail

  • fixed multiple tests failing

  • Refactored a bit of code to avoid cloning and made some small changes generelly to improve readability. Also introduced new ErrorTypes

  • Fixes and refactoring

  • updated start_grpc_server to align with main, which enables us to run Ecdar-Test

  • Updated some comments

  • Cargo formatting

  • Clippy fixes

  • small fix

  • Update submodule reference

  • Fixed error in tests arisen from the new Errorhandlings merged from main (Syntax errors)

  • Cargo format

  • Update src/data_reader/component_loader.rs

  • Update src/model_objects/component.rs

  • Update src/model_objects/component.rs

made it clear that we're using the function called setup

  • Update src/model_objects/component.rs

  • Update src/model_objects/component.rs

  • Apply suggestions from code review

grammar fixes

  • requested changes

  • cargo fmt..

  • updated get_clock_count method to count unique clock indices

  • Test to make sure unused clocks are removed correct

  • Clippy

  • Clippy

  • Apply suggestions from code review

applied grammar changes

  • Delete samples/json/EcdarUniversity/Components/Researcher2.json

This file should not have been commited

  • gitignore updated

  • Delete samples/json/PopulateClocks/Components/Researcher2.json

  • Revert "Delete samples/json/PopulateClocks/Components/Researcher2.json"

This reverts commit e62f558.


t-lohse and others added 17 commits February 12, 2024 09:58
* .

* Implemented syntax check

* Fork'ed protobuf repo (#6)

* Removed old protobuf submodule

* Added new forked protobuf submodule

* Fix workflow

* cleaned up the jobs and replaced the actions with newer non-deprecated versions

* fixed clippy check and modified the run cargo to use an action instead

* fix workflow dispatch

* modifed to do on push rather than PR

* tried another Clippy

* go back to previous clippy action

* fixed problems mentioned from Clippy

* Add install instructions for linux and windows

* Convert triple slash comments into normal EoL comments

* Convert EoL comments to triple slash comments

* Fix typos in documentation comment on state

* add warnings for non snakecase names

* Fix snake case naming in tests

* fixed upload-artifact. Retention days reduced from 90 to 7 days

* Rename constraint applyer to constraint applier

* Remove datatypes and move statepair list into model objects

* Move decision.rs into modelobjects

* Fix more snake name cases in tests

* Update workflows

* Run cargo format

* Fix clippy warnings for module name 'conjunction_tests':

* Added cache utilization

* Updated protobuf submodule pointer

* Formatted code

* Component cache unit tests

Tests for when a component exists in cache and when it does not.

* Cargo formatting

* Raffineret vores implementation af syntaks tjek

* Vi har lige kørt cargo fmt

* Renamed variable

Renamed a variable to be more self-explanatory.

* Add syntax tests

* cargo fmt

* Fix syntax failure test

* Apply suggestions from code review

Co-authored-by: Rasmus Krogh Udengaard <[email protected]>
Co-authored-by: Ali Khorami <[email protected]>
Co-authored-by: Animal2662 <[email protected]>

* delay_refinement rename tests to be snakecase

* conjunction_tests.rs rename tests to be snakecase

* Test between different users and cache

* Merged main

* formatting

* Remove debug backtrace

* Add SyntaxFailure server response

* Protobuf changes

* Starting grpc server -> Started grpc server
also changed info to println to avoid the debugger for now

* Update submodule pointer

* Structure of symboltable for clocks implemented

* Small fixes to the ClockScope structure. Added next task description at the relevant lines of code in extract_system_rep.rs file

* First draft for code to find clocks, has errors as of this moment

* Fixed problems with the new scope structure missing derive implementations. Also fixed some missing implementation of the new clocks HashMap for component. Fixed small bug related to Private/Public mismatch

* Changed clock scope struct to new format. Renamed it aswell

* Worked on logic for creating and populating clock_usages

* Fixed errors in Initialisation logic and iterator logic for the work on clock scopes

* More logic added for the get_clocks boolean and arithmetic helper functions. Also refactored them a bit to save space

* Marked useless parameters with (_)

* started writing tests for finding clocks in bool and arith expressions

* Refactor boolexpression & arithexpression. Ref is replaced.

* Work on ClockUsage population logic(clock scopes). Work on tests for said logic

* Added TODO descriptions

* Logic for populating ClockUsage struct without duplicates should be complete. Pushing to github so i can compile from (working)laptop

* Unit testing on get_clocks_arith & get_clocks_bool succesful-6

* Unit testing on get_clocks_arith & get_clocks_bool succesful-6

* Changes by tordenguden emil

* Fixed bugs related to Ownership/references

* Added back accidentally deleted tests

* Fixup modules

* Moved get_var_names functions for Bool and arith expression from extract_system_rep to their respective files(bool_expression, Arith_expressions). Moved their associated tests into them aswell.

* Renamed varname to var_name

* Move vec creation logic

* Implemented HashSet for ClockUsage struct instead of HashMap.

* Implemented add and get methods on CloclUsage struct.

* Moved populate ClockUsage struct logic, into seperate functions to increase readability and modularity

* Removed redundant comments

* intermediate commit. started working on tests for populating components

* forgot a file

* Fixed creation of test component. Added default to Edge and Location

* Back with project_loader for unit/integration testing. Fixed Default in edge.rs and location.rs

* skips de-serializing clock_usages in component struct

* breakthrough, figured out how the function we are testing works -6

* added two test_cases for populate_usages_with_guards

* wrote tests for the populate_usages_with_locations and populate_usages_with_updates functions

* renamed populate_usages_with_locations to populate_usages_with_invariants to better reflect functionality

* moved logic shared between the tests into a setup function. is maybe more complicated than previous solution

* fixed warnings when during build

* added tests for populating usages with updates on rhs. also created new sample project for the tests. also added comments to the tests

* Refactored initialisation of component

* removed redundant comments

* fixed refactoring to make it build, also fixed som warnings

* refactored populate tests to use method for initialising clock usages

* added single test for the initialise_clock_usage method

* added single test for the initialise_clock_usage method

* small things

* moved populate tests to component.rs since the methods tested were moved her previously

* Added templates for the current missing function implementations for component. Templates include comments describing function purpose and warnings for the implementation.

 These implementations possible should be moved into the SystemRecipe instead of component.

* Commented out previous task deskriptions as they are now no longer correct. Begun to add new task descriptions, which may loan elements from the commented

* Updated all the new task descriptions and removed old completly

* removed unused crate

* Modified actions task, to reflect this task actually may be redundant

* Prepared for implementing clock reduction, mostly just a sync to cloud with non working code.

* Use `Rc<OwnedFederation>` for zones in `StatePair`

* Use reference counting for `LocationTree` in `StatePair`

* Make the `zone` of a `State` consistent with `StatePair`

* Fix clippy errors

* Cleanup

* Worked on two seperate ideas to solve the issue of clockReduction on component. None are done as of now and the commit has non-working code

* Fix partial state test

* Completed logic for updating global equivalent clock groups and implemented method for extracting int value for arithmetic expressions.

* Further progress on remove_redundant_clocks

* fix

* Further progress on remove_redundant_clocks and associated functions

* Final changes to system recipe. Relocated clock_usage initialisation/decoration into component_loader. Also removed old calls to clock_reduce

* Added compress declarations method to component.

* Implemented clock_reduction in component loading

* Bug-fixes. fixed errors from component when building.

* Back with project_loader for unit/integration testing. Fixed Default in edge.rs and location.rs

* Re-commit

* Changes by tordenguden emil

* Diabled CR for reachability queries. To avoid test issues in two cases

* Error propogations added to local equivalence

* Test templates and a new sample added. First new test done.

* added test for update_global_groups

* Compress_dcls test completed

* added test for get_evaluated_int method with multiple test cases

* Get_unused_clocks test completed and ran cargo fmt... oh god, why?

* Test for find_local_equivalences created

* Merge get_unused_clocks with find_local_equivalences

* Unfinished attempt to fix find_equivalent_clock_groups test

* Identified error in testcase setup for find_equvialnt_clockgroups

* created test for complete component-side clock reduction

* disabled clock reduction on clock scope related tests, and did some formatting of the tests

* added a few comments for some of the tests

* cargo fmt and clippy

* resolved some build warnings, mostly unnecessary mut variables

* removed unused methods and tests for previous implementation of clock reduction

* dealt with more warnings

* added todo for figuring out why tests fail

* fixed multiple tests failing

* Refactored a bit of code to avoid cloning and made some small changes generelly to improve readability. Also introduced new ErrorTypes

* Fixes and refactoring

* updated start_grpc_server to align with main, which enables us to run Ecdar-Test

* Updated some comments

* Cargo formatting

* Clippy fixes

* small fix

* Update submodule reference

* Fixed error in tests arisen from the new Errorhandlings merged from main (Syntax errors)

* Cargo format

* Update src/data_reader/component_loader.rs

Co-authored-by: FrederikJA <[email protected]>

* Update src/model_objects/component.rs

Co-authored-by: FrederikJA <[email protected]>

* Update src/model_objects/component.rs

made it clear that we're using the function called setup

Co-authored-by: Rasmus Krogh Udengaard <[email protected]>

* Update src/model_objects/component.rs

Co-authored-by: Rasmus Krogh Udengaard <[email protected]>

* Update src/model_objects/component.rs

Co-authored-by: Rasmus Krogh Udengaard <[email protected]>

* Apply suggestions from code review

grammar fixes

Co-authored-by: Rasmus Krogh Udengaard <[email protected]>

* requested changes

* cargo fmt..

* updated get_clock_count method to count unique clock indices

* Test to make sure unused clocks are removed correct

* Clippy

* Clippy

* Apply suggestions from code review

applied grammar changes

Co-authored-by: Ali Khorami <[email protected]>

* Delete samples/json/EcdarUniversity/Components/Researcher2.json

This file should not have been commited

* gitignore updated

* Delete samples/json/PopulateClocks/Components/Researcher2.json

* Revert "Delete samples/json/PopulateClocks/Components/Researcher2.json"

This reverts commit e62f558.

---------

Co-authored-by: sabotack <[email protected]>
Co-authored-by: William Woldum <[email protected]>
Co-authored-by: Aavild <[email protected]>
Co-authored-by: aavild <[email protected]>
Co-authored-by: FrederikJA <[email protected]>
Co-authored-by: williamwoldum <[email protected]>
Co-authored-by: Rasmus Hald Nielsen <[email protected]>
Co-authored-by: Rasmus Krogh Udengaard <[email protected]>
Co-authored-by: Ali Khorami <[email protected]>
Co-authored-by: Animal2662 <[email protected]>
Co-authored-by: mikkelklitlund <[email protected]>
Co-authored-by: Rasmus Hald Nielsen <[email protected]>
Co-authored-by: Erik <[email protected]>
Co-authored-by: AleksanderRDL <[email protected]>
Co-authored-by: Emilorzz <[email protected]>
Co-authored-by: AleksanderRDL <[email protected]>
Co-authored-by: Simon Rask <[email protected]>
Co-authored-by: Simon Rask <[email protected]>
Co-authored-by: Emilorzz <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant