Commit Graph

283 Commits

Author SHA1 Message Date
SunilSamra
49707b0a17 893 - set the action_space to NOTHING so test_reward.py passes and removed unnecessary test print statements 2023-06-06 11:10:38 +01:00
Brian Kanyora
e52dfababc feature\898:
Fixed the resetting operating state to set compromised or overwhelmed services or operating system back to a good state. Added a reset count that switches the node into a good state.
Created a "SHUTTING DOWN" operating state to last for a (configurable) and a "BOOTING" operating state to last for a (configurable).
Created a test file to test the reset changes the node to a good state when its set to a COMPROMISED state. The last two test tests makes sure that the node boots and shutdowns correctly.
Lastly, updated the docs file as well.
2023-06-06 11:03:43 +01:00
SunilSamra
55f13ae654 893 - added new tests to test action space size and node is completing both sets of actions in a single episode and created new main config 2023-06-06 11:00:41 +01:00
Brian Kanyora
8b61fbebe4 feature\898:
Fixed the resetting operating state to set compromised or overwhelmed services or operating system back to a good state. Added a reset count that switches the node into a good state.
Created a "SHUTTING DOWN" operating state to last for a (configurable) and a "BOOTING" operating state to last for a (configurable).
Created a test file to test the reset changes the node to a good state when its set to a COMPROMISED state. The last two test tests makes sure that the node boots and shutdowns correctly.
Lastly, updated the docs file as well.
2023-06-05 23:59:32 +01:00
Brian Kanyora
a48b217cf3 feature\898: 2023-06-02 16:13:16 +01:00
Brian Kanyora
051cd7da2b Merge branch 'dev' into feature/898-Fix-the-functionality-of-resetting-a-node 2023-06-02 14:56:31 +01:00
Brian Kanyora
e5b60c2f95 feature\898: 2023-06-02 14:54:23 +01:00
Marek Wolan
cdd710d672 Merge remote-tracking branch 'origin/dev' into bugfix/1442-reward-ignores-red-pol 2023-06-02 14:22:45 +01:00
Marek Wolan
1ee6a37188 Merge remote-tracking branch 'origin/dev' into feature/1468-observations-class 2023-06-02 13:41:49 +01:00
Marek Wolan
9d868c5090 Update docs with configurable obs space info 2023-06-02 13:23:03 +01:00
Marek Wolan
25ec0d93a9 Fix Link Traffic Levels observation encoding 2023-06-02 13:15:38 +01:00
Marek Wolan
2330a30021 Get observation tests passing 2023-06-02 13:08:11 +01:00
Marek Wolan
f37b943f7e Add tests for observations 2023-06-02 12:59:01 +01:00
SunilSamra
2c95087056 893 - added test which shows the new action space has been created when ANY is selected in single_action_space_lay_down_config.yaml 2023-06-02 11:55:31 +01:00
SunilSamra
d854773e84 893 - added ANY to enums.py 2023-06-02 09:51:15 +01:00
Marek Wolan
b6ce1cbae9 Edit configs for observation space 2023-06-02 09:10:53 +01:00
Marek Wolan
875562c385 begin updating observations tests 2023-06-01 21:56:05 +01:00
Marek Wolan
85c102cfc1 Update docs page on observations 2023-06-01 21:42:34 +01:00
Marek Wolan
484a31d082 Add docstrings to new observation code 2023-06-01 21:28:38 +01:00
Marek Wolan
c0b214612a Let single-component spaces not use Tuple Spaces 2023-06-01 18:01:47 +01:00
Marek Wolan
3e208bad9b Better Obs default handling 2023-06-01 17:50:18 +01:00
Marek Wolan
7041b79d2a Fix trying to init obs before building network 2023-06-01 17:42:35 +01:00
Marek Wolan
2b25573378 Integrate obs handler with Primaite Env 2023-06-01 16:42:10 +01:00
SunilSamra
8efa0295df 1443 - added in print test statements 2023-06-01 16:27:25 +01:00
Marek Wolan
46352ff9c2 Integrate observation handler with components 2023-06-01 13:28:40 +01:00
Marek Wolan
c276a31b9c Merged PR 65: Add MultiDiscrete observation spaces
**Summary:**

This adds support for the MultiDiscrete observation spaces, the same as what exists in the ADSP branch. The observation space is now configurable in the same way as the action space- by selecting a config item within the laydown config yaml.
The 'box' option has the same behaviour as before.

**Test Process:**

I added two integration tests to ensure that creating the environment is possible with both types of observation space. I also checked that all existing unit tests run fine as long as I update the observation space in the yaml to box.

**Other comments:**
I also updated the documentation relating to observation spaces, please check if the explanation makes sense.

Related work items: #1463
2023-06-01 11:05:00 +00:00
Marek Wolan
c904334c83 Merge branch 'feature/1463-multidiscrete-observation-option' into feature/1468-observations-class 2023-06-01 11:09:21 +01:00
Marek Wolan
3b0d05e9c9 More info in docstring 2023-06-01 11:02:10 +01:00
Marek Wolan
37d606eda6 Separate obs functions and provide docstrings 2023-06-01 10:57:11 +01:00
Marek Wolan
bfd20b7a6b Type hint init_observations return type 2023-06-01 09:57:33 +01:00
Marek Wolan
a0960555fc Fix docstrings to use ReST format 2023-06-01 09:54:45 +01:00
Marek Wolan
76ec9683cb Improve observation space test 2023-06-01 09:45:46 +01:00
Marek Wolan
4ee77656be Merge remote-tracking branch 'origin/dev' into feature/1463-multidiscrete-observation-option 2023-06-01 09:02:48 +01:00
Marek Wolan
6e58c01e8d Start creating observations module 2023-05-31 17:03:53 +01:00
SunilSamra
81e9ddca9b 1443 - reverted changes made to observation space and added config files for testing 2023-05-31 14:11:15 +01:00
SunilSamra
a8cc50a495 Merge remote-tracking branch 'origin/dev' into feature/893-node-acl-into-one-action-space 2023-05-31 13:28:39 +01:00
SunilSamra
9a231821ea 1443 - added changes from ADSP to observation space in primaite_env.py 2023-05-31 13:15:25 +01:00
Marek Wolan
d8cd96100e Merged PR 66: Add a Pull Request template
I wanted to add this pull request template just as a checklist for everyone to ensure they add tests and update documentation.

Do you think it's necessary? Feel free to discuss in the comments of this PR or accept/reject the suggestion.

Related work items: #1467
2023-05-31 11:55:38 +00:00
Marek Wolan
31b5031808 Merge remote-tracking branch 'origin/dev' into bugfix/1441-main-py-minor-bugs 2023-05-31 11:07:06 +01:00
Marek Wolan
5906ed7e39 Merge remote-tracking branch 'origin/dev' into bugfix/1442-reward-ignores-red-pol 2023-05-31 11:04:00 +01:00
Marek Wolan
c6bb855456 Revert unnecessary main.py change 2023-05-31 09:55:28 +00:00
Marek Wolan
2260cb1668 Revert config changes by removing observations 2023-05-31 10:52:57 +01:00
Marek Wolan
65f2d6202f Add default observation type 2023-05-31 10:51:29 +01:00
Marek Wolan
733025bd53 Merge remote-tracking branch 'origin/dev' into feature/1463-multidiscrete-observation-option 2023-05-31 10:46:18 +01:00
SunilSamra
c6db98c1c2 Merge remote-tracking branch 'origin/dev' into feature/893-node-acl-into-one-action-space 2023-05-31 10:34:42 +01:00
Sunil Samra
fbb26bbc63 Merged PR 64: 1443-check-reward-function
In reward.py, the comparisons for the IF statements used when assigning config_values reward values currently compares the initial state to the reference state. However, it should be comparing the reference state (What it should be without any blue/red agent interference) and the final state (state after red and blue actions have taken affect).

Change the IF statement logic to say if `reference_node_os_state` and then in the following IF statement if `final_node_os_state` to compare it.
Do this for all reward functions
Write tests to evaluate step rewards

Related work items: #1443
2023-05-31 09:31:01 +00:00
Marek Wolan
5ea77f3e75 Added pull_request_template.md 2023-05-31 09:26:40 +00:00
Sunil Samra
83694fe537 Apply suggestions from code review 2023-05-31 08:09:09 +00:00
Marek Wolan
045e074d0f Update docs on MultiDiscrete observation spaces. 2023-05-30 16:54:34 +01:00
Marek Wolan
6507529db3 Add test for new multidiscrete spaces 2023-05-30 15:48:11 +01:00