Commit Graph

781 Commits

Author SHA1 Message Date
Marek Wolan
4f387cf092 Merged PR 195: Initial game layer functionality
## Summary
* add a new module `game` to PrimAITE
* this includes a new PrimaiteSession which creates a simulation, and multiple agents, and talks to GATE
* agent interface
* agent actions to work with Simulator requests
* agent observations that work with Simulator State
* agent rewards also with Simulator state

**note** that this branch is currently still in a broken state. Still need to do things like updating readme, install instructions, refactoring some poorly designed classes, and removing legacy code. These will be done in subsequent PRs to avoid making this PR even bigger than it needs to be. Still, please review this to familiarise yourself.

## Test process
Some unit tests exist but their coverage will be expanded.
I performed some test runs with to train a SB3 agent in GATE with a primaite simulation.

## Checklist
- [y] PR is linked to a **work item**
- [y] **acceptance criteria** of linked ticket are met
- [~] performed **self-review** of the code
- [n] written **tests** for any new functionality added with this PR
- [~] updated the **documentation** if this PR changes or adds functionality
- [~] written/updated **design docs** if this PR implements new functionality
- [~] updated the **change log**
- [y] ran **pre-commit** checks for code style
- [n] attended to any **TO-DOs** left in the code

Related work items: #1622, #1759, #1760, #1761, #1764, #1765, #1766, #1767, #1768, #1879, #1924
2023-10-26 12:49:11 +00:00
Marek Wolan
02901a7c99 Apply suggestions from code review. 2023-10-25 19:07:45 +01:00
Marek Wolan
4872c939ff Apply suggestions from code review 2023-10-25 17:19:24 +01:00
Marek Wolan
ffe80f215e Merge 'origin/dev-game-layer' into feature/1924-Agent-Interface 2023-10-25 09:58:04 +01:00
Czar Echavez
091920c6f7 Merged PR 192: Implement missing actions
## Summary

#1947
Implementation of actions from the QTSL-820-2450 - ARCD Track 2 Common Interface Definition for Environments UC2 document

Covers:
- [X] BAS-12 NODE  SERVICE SCAN
- [X] BAS-15 NODE  SERVICE STOP
- [X] BAS-16 NODE  SERVICE START
- [X] BAS-17 NODE  SERVICE PAUSE
- [X] BAS-18 NODE  SERVICE RESUME
- [X] BAS-19 NODE  SERVICE RESTART
- [X] BAS-20 NODE  SERVICE DISABLE
- [X] BAS-21 NODE  SERVICE ENABLE

- [X] BAS-29 NODE  FILE SCAN
- [X] BAS-30 NODE  FILE CHECKHASH
- [X] BAS-33 NODE  FILE DELETE
- [X] BAS-34 NODE  FILE REPAIR

- [X] BAS-38 NODE  FOLDER SCAN
- [X] BAS-39 NODE  FOLDER CHECKHASH
- [X] BAS-41 NODE  FOLDER REPAIR

- [X] BAS-44 NODE SHUTDOWN
- [X] BAS-45 NODE STARTUP

- [X] RAS-30 NODE FILE DELETE
- [X] RAS-31 NODE FILE CORRUPT
- [X] RAS-36 NODE FOLDER DELETE
- [X] RAS-37 NODE FOLDER CORRUPT

## Test process

### node actions test
https://dev.azure.com/ma-dev-uk/PrimAITE/_git/PrimAITE/pullrequest/192?_a=files&path=/tests/unit_tests/_primaite/_simulator/_network/_hardware/test_node_actions.py

### service actions
https://dev.azure.com/ma-dev-uk/PrimAITE/_git/PrimAITE/pullrequest/192?_a=files&path=/tests/unit_tests/_primaite/_simulator/_system/_services/test_service_actions.py

### file/folder actions
https://dev.azure.com/ma-dev-uk/PrimAITE/_git/PrimAITE/pullrequest/192?_a=files&path=/tests/unit_tests/_primaite/_simulator/_file_system/test_file_system_actions.py

## Checklist
- [X] PR is linked to a **work item**
- [X] **acceptance criteria** of linked ticket are met
- [X] performed **self-review** of the code
- [X] written **tests** for any new functionality added with this PR
- [ ] updated the **documentation** if this PR changes or adds functionality
- [ ] written/updated **design docs** if this PR implements new functionality
- [ ] updated the **change log**
- [X] ran **pre-commit** checks for code style
- [X] attended to any **TO-DOs** left in the code

Related work items: #1947
2023-10-25 08:35:59 +00:00
Marek Wolan
c9b06e1bfb Delete sandbox file 2023-10-24 17:06:58 +01:00
Marek Wolan
cb60b6f785 Update text in docs 2023-10-24 17:02:29 +01:00
Marek Wolan
d49d5b292d Add a bit of documentation 2023-10-24 15:51:29 +01:00
Czar.Echavez
ac23633d82 #1947: Added documentation on how the node initialisation works 2023-10-24 15:41:39 +01:00
Czar.Echavez
c4b43c479e #1947: remove storing deleted files in a list and banish them to the shadow realm instead 2023-10-24 11:53:21 +01:00
Marek Wolan
174de013fb Align blue actions with common env 2023-10-24 11:43:25 +01:00
Marek Wolan
6b7c483a67 Align observations to Common approach 2023-10-24 11:07:25 +01:00
Czar.Echavez
1e66795aff #1947: remove scan from components that cannot be scanned 2023-10-24 10:43:00 +01:00
Czar.Echavez
8b85d5d55b #1947: node startup/shutdown now take multiple timesteps to complete 2023-10-24 10:11:50 +01:00
Marek Wolan
d4eee36b7b Fix software registration for game layer and simulator interface 2023-10-23 17:23:14 +01:00
Marek Wolan
975aa9ffc2 Minor changes to rewards and services. 2023-10-23 16:26:34 +01:00
Czar.Echavez
724beb1a29 #1947: folder/file scan now take multiple time steps to complete 2023-10-23 15:58:37 +01:00
Czar.Echavez
ffc4711afb #1947: added test for agent actions + clearing up the implementation of the request managers for filesystem 2023-10-20 12:58:58 +01:00
Marek Wolan
0f24b4a646 Remove broken import 2023-10-19 15:34:46 +01:00
Marek Wolan
49e78d5291 Add docstrings and fix formatting on many things 2023-10-19 09:36:23 +01:00
Marek Wolan
e0f8c3c5ea Add documentation 2023-10-19 01:56:40 +01:00
Czar.Echavez
0edb9b46a7 #1947: clean up existing work and clear up some itesm left in TODO 2023-10-18 13:21:05 +01:00
Czar.Echavez
4ee2235dd1 #1947: temp commit what is done so far 2023-10-16 11:42:56 +01:00
Czar.Echavez
9b5d95cbb9 #1947: refactor am->rm to align with refactor of ActionManager->RequestManager 2023-10-13 10:41:27 +01:00
Czar.Echavez
5e419455f1 Merge branch 'dev' into feature/1947-implement-missing-node-actions 2023-10-12 13:17:04 +01:00
Czar.Echavez
c9e4ba3c7d #1947: File and Folder hash checks 2023-10-12 11:16:25 +01:00
Marek Wolan
027addc485 Merge remote-tracking branch 'origin/dev' into feature/1924-Agent-Interface 2023-10-12 10:00:46 +01:00
Marek Wolan
1c5eb392d0 Merged PR 184: Connect up actions in the simulator
## Summary
Finishes (?) the action system.
- Defines all UC2 common action space actions on SimComponents
- Links up SimComponents and their children, so actions can be passed from parent to child
- Add a function for enumerating all possible actions that exist on a SimComponent. (will be used for generating action space)
- add documentation for action management

note: I know that the way I approached this is a bit convoluted but It's just what I came up with to allow the actions to be as flexible and modular as the SimComponents themselves.

## Test process
Tested that the functionality works in scratch notebook. But also in the process of adding unit/integration tests now.

## Checklist
- [x] PR is linked to a **work item**
- [ ] **acceptance criteria** of linked ticket are met
- [x] performed **self-review** of the code
- [ ] written **tests** for any new functionality added with this PR
- [x] updated the **documentation** if this PR changes or adds functionality
- [ ] written/updated **design docs** if this PR implements new functionality
- [ ] updated the **change log**
- [x] ran **pre-commit** checks for code style
- [ ] attended to any **TO-DOs** left in the code

Related work items: #1923
2023-10-12 09:00:30 +00:00
Marek Wolan
565af11dba Minor fixes to rewards 2023-10-12 09:59:45 +01:00
Marek Wolan
70c1857bbc Implement rewards for UC2 (draft) 2023-10-11 15:49:41 +01:00
Marek Wolan
b84ab84385 Fix GATE Client to work successfully with GATE Server 2023-10-11 14:08:55 +01:00
Marek Wolan
def2c3699b Add empty obs placeholders 2023-10-10 21:01:09 +01:00
Czar.Echavez
060bbf0506 #1947: added ability for files and folders to be scanned, corrupted and repaired 2023-10-10 15:14:47 +01:00
Czar.Echavez
a1b4d3d5e0 Merge branch 'feature/1812-traverse-actions-dict' into feature/1947-implement-missing-node-actions 2023-10-10 09:59:34 +01:00
Czar.Echavez
56eda38a6e #1947: git merge did not change add_action -> add_request 2023-10-10 09:52:40 +01:00
Marek Wolan
f3451b2fbb Replace request overwrite error with warning 2023-10-10 09:50:39 +01:00
Marek Wolan
b53c3856dd Add GATE wheel temporarily 2023-10-10 09:48:04 +01:00
Czar.Echavez
80d371c238 Merge branch 'feature/1812-traverse-actions-dict' into feature/1947-implement-missing-node-actions 2023-10-10 08:58:58 +01:00
Marek Wolan
91f06c15f6 Fix formatting with precommit 2023-10-09 18:35:30 +01:00
Marek Wolan
c9bc8fbf3d Fix file observation test 2023-10-09 18:33:30 +01:00
Marek Wolan
37c851b5c5 Merge remote-tracking branch 'origin/dev' into feature/1924-Agent-Interface 2023-10-09 18:29:48 +01:00
Marek Wolan
18706be4ff Merge branch 'origin/dev' into feature/1812-traverse-actions-dict 2023-10-09 18:26:25 +01:00
Marek Wolan
560e416eda Merge 'origin/feature/1812' into feature/1924 2023-10-09 18:25:46 +01:00
Marek Wolan
e85c5977d0 remove redundant code from sandbox notebook 2023-10-09 18:22:30 +01:00
Marek Wolan
f68886d5df Fix bugged actions 2023-10-09 17:29:50 +01:00
Czar.Echavez
bbf2b09f96 #1947: Add ability for all simcomponents to be scanned - sets up ability for service, files, folders and nodes to be scanned 2023-10-09 16:47:36 +01:00
Czar Echavez
e06c51e5d6 Merged PR 191: Web Service and Client
## Summary
Added a WebServer service and a Web Browser (client) so that the simulation can emulate HTTP requests across the network via HTTPPacket transfer

## Test process
Written an integration test that tests Web Server and Web Browser sending and returning requests

## Checklist
- [X] PR is linked to a **work item**
- [X] **acceptance criteria** of linked ticket are met
- [X] performed **self-review** of the code
- [X] written **tests** for any new functionality added with this PR
- [X] updated the **documentation** if this PR changes or adds functionality
- [ ] written/updated **design docs** if this PR implements new functionality
- [X] updated the **change log**
- [X] ran **pre-commit** checks for code style
- [X] attended to any **TO-DOs** left in the code

Related work items: #1752, #1816, #1866, #1916, #1943
2023-10-09 13:21:17 +00:00
Czar.Echavez
318539fd8f #1943: apply suggestions from PR + fixing FTP bug + elaborating 2023-10-09 13:25:12 +01:00
Marek Wolan
5a5710c6ae Rename Sim Actions to request 2023-10-09 13:24:08 +01:00
Marek Wolan
2722abe428 Fix typos and formattig (based on PR Review) 2023-10-09 11:49:38 +01:00