Summary: This enhancement allows to split attack graphs over several pages and makes functions and default attributes available on every page.
This PR introduces a special "link" node that connects two nodes on different pages together. It is depicted as a circle and contains a label (content of the node). In order to connect the two nodes, both the source and destination link node must have the same label. Furthermore, the source node (with an incoming edge) must have a link to the page where the destination link node resides. Creating the link is possible by right-clicking on the source link node and selecting Edit Link
. In the drop-down menu (2nd bullet point) select the corresponding page.
Source link node (label A
, link to Sub-Step 1
):
Destiantion link node (label A
, stored on page Sub-Step 1
):
Closes #17.
Furthermore, this PR makes the default attributes, computed attributes functions, and aggregation functions available on every page of the diagram. They are not copied and hence changing them on one page also changes them on the other pages.
Closes #6.
The following TODOs must be completed before this PR can be merged:
- [x] Update sensitivity analysis to cache and write to cells across all pages
- [x] Changes to default attributes, aggregation functions, and computed attributes functions are only saved when saving on the first page
- [x] Update templates and define default functions for the new link node
- [x] Indicate whether a source link node is connected to a destination link node.
- [x] Create documenation on link nodes and how to use them in attack graphs
- [x] Moving the first page causes trouble for the default attributes, aggregation functions, and computed attributes functions
- [x] Display the source pages on destination link nodes, e.g., inside the tooltip
- [ ] (optional) Create test cases for this new feature
- [ ] (optional) Find a better way to store the default attributes, aggregation functions, and computed attributes functions for global access
enhancement