Creating separate nm for sync xps with shared fact names

This commit is contained in:
Noah L. Schrick 2023-03-24 14:04:59 -05:00
parent 49479cb06a
commit 04e528b3b1
17 changed files with 394 additions and 137 deletions

View File

@ -0,0 +1,16 @@
network model =
assets:
torrent_prog_A;
illicit_sw_A_1;
illicit_sw_A_2;
illicit_sw_A_3;
facts:
quality:torrent_prog_A,A_is_installed=true;
quality:illicit_sw_A_1,A_is_installed=true;
quality:illicit_sw_A_2,A_is_installed=true;
quality:illicit_sw_A_3,A_is_installed=true;
topology:illicit_sw_A_2->illicit_sw_A_3,org;
.

View File

@ -1,12 +1,12 @@
uninstall group exploit remove_all_A(torrent_prog_A,illicit_sw_A_1,illicit_sw_A_2,illicit_sw_A_3)=
preconditions:
quality:torrent_prog_A,prog_A_is_installed=true;
quality:illicit_sw_A_1,sw_A_1_is_installed=true;
quality:illicit_sw_A_2,sw_A_2_is_installed=true;
quality:illicit_sw_A_3,sw_A_3_is_installed=true;
quality:torrent_prog_A,A_is_installed=true;
quality:illicit_sw_A_1,A_is_installed=true;
quality:illicit_sw_A_2,A_is_installed=true;
quality:illicit_sw_A_3,A_is_installed=true;
postconditions:
update quality:torrent_prog_A,prog_A_is_installed=false;
update quality:illicit_sw_A_1,sw_A_1_is_installed=false;
update quality:illicit_sw_A_2,sw_A_2_is_installed=false;
update quality:illicit_sw_A_3,sw_A_3_is_installed=false;
update quality:torrent_prog_A,A_is_installed=false;
update quality:illicit_sw_A_1,A_is_installed=false;
update quality:illicit_sw_A_2,A_is_installed=false;
update quality:illicit_sw_A_3,A_is_installed=false;
.

View File

@ -0,0 +1,29 @@
network model =
assets:
torrent_prog_B;
illicit_sw_B_1;
illicit_sw_B_2;
illicit_sw_B_3;
illicit_sw_B_4;
torrent_prog_A;
illicit_sw_A_1;
illicit_sw_A_2;
illicit_sw_A_3;
facts:
quality:torrent_prog_B,B_is_installed=true;
quality:illicit_sw_B_1,B_is_installed=true;
quality:illicit_sw_B_2,B_is_installed=true;
quality:illicit_sw_B_3,B_is_installed=true;
quality:illicit_sw_B_4,B_is_installed=true;
quality:torrent_prog_A,A_is_installed=true;
quality:illicit_sw_A_1,A_is_installed=true;
quality:illicit_sw_A_2,A_is_installed=true;
quality:illicit_sw_A_3,A_is_installed=true;
topology:illicit_sw_B_3->illicit_sw_B_4,org;
.

View File

@ -1,28 +1,28 @@
uninstall group exploit remove_all_B(torrent_prog_B,illicit_sw_B_1,illicit_sw_B_2,illicit_sw_B_3,illicit_sw_B_4)=
preconditions:
quality:torrent_prog_B,prog_B_is_installed=true;
quality:illicit_sw_B_1,sw_B_1_is_installed=true;
quality:illicit_sw_B_2,sw_B_2_is_installed=true;
quality:illicit_sw_B_3,sw_B_3_is_installed=true;
quality:illicit_sw_B_4,sw_B_4_is_installed=true;
quality:torrent_prog_B,B_is_installed=true;
quality:illicit_sw_B_1,B_is_installed=true;
quality:illicit_sw_B_2,B_is_installed=true;
quality:illicit_sw_B_3,B_is_installed=true;
quality:illicit_sw_B_4,B_is_installed=true;
postconditions:
update quality:torrent_prog_B,prog_B_is_installed=false;
update quality:illicit_sw_B_1,sw_B_1_is_installed=false;
update quality:illicit_sw_B_2,sw_B_2_is_installed=false;
update quality:illicit_sw_B_3,sw_B_3_is_installed=false;
update quality:illicit_sw_B_4,sw_B_4_is_installed=false;
update quality:torrent_prog_B,B_is_installed=false;
update quality:illicit_sw_B_1,B_is_installed=false;
update quality:illicit_sw_B_2,B_is_installed=false;
update quality:illicit_sw_B_3,B_is_installed=false;
update quality:illicit_sw_B_4,B_is_installed=false;
.
uninstall group exploit remove_all_A(torrent_prog_A,illicit_sw_A_1,illicit_sw_A_2,illicit_sw_A_3)=
preconditions:
quality:torrent_prog_A,prog_A_is_installed=true;
quality:illicit_sw_A_1,sw_A_1_is_installed=true;
quality:illicit_sw_A_2,sw_A_2_is_installed=true;
quality:illicit_sw_A_3,sw_A_3_is_installed=true;
quality:torrent_prog_A,A_is_installed=true;
quality:illicit_sw_A_1,A_is_installed=true;
quality:illicit_sw_A_2,A_is_installed=true;
quality:illicit_sw_A_3,A_is_installed=true;
postconditions:
update quality:torrent_prog_A,prog_A_is_installed=false;
update quality:illicit_sw_A_1,sw_A_1_is_installed=false;
update quality:illicit_sw_A_2,sw_A_2_is_installed=false;
update quality:illicit_sw_A_3,sw_A_3_is_installed=false;
update quality:torrent_prog_A,A_is_installed=false;
update quality:illicit_sw_A_1,A_is_installed=false;
update quality:illicit_sw_A_2,A_is_installed=false;
update quality:illicit_sw_A_3,A_is_installed=false;
.

View File

@ -0,0 +1,48 @@
network model =
assets:
torrent_prog_B;
illicit_sw_B_1;
illicit_sw_B_2;
illicit_sw_B_3;
illicit_sw_B_4;
torrent_prog_A;
illicit_sw_A_1;
illicit_sw_A_2;
illicit_sw_A_3;
torrent_prog_C;
illicit_sw_C_1;
illicit_sw_C_2;
illicit_sw_C_3;
illicit_sw_C_4;
illicit_sw_C_5;
illicit_sw_C_6;
illicit_sw_C_7;
facts:
quality:torrent_prog_B,B_is_installed=true;
quality:illicit_sw_B_1,B_is_installed=true;
quality:illicit_sw_B_2,B_is_installed=true;
quality:illicit_sw_B_3,B_is_installed=true;
quality:illicit_sw_B_4,B_is_installed=true;
quality:torrent_prog_A,A_is_installed=true;
quality:illicit_sw_A_1,A_is_installed=true;
quality:illicit_sw_A_2,A_is_installed=true;
quality:illicit_sw_A_3,A_is_installed=true;
quality:torrent_prog_C,C_is_installed=true;
quality:illicit_sw_C_1,C_is_installed=true;
quality:illicit_sw_C_2,C_is_installed=true;
quality:illicit_sw_C_3,C_is_installed=true;
quality:illicit_sw_C_4,C_is_installed=true;
quality:illicit_sw_C_5,C_is_installed=true;
quality:illicit_sw_C_6,C_is_installed=true;
quality:illicit_sw_C_7,C_is_installed=true;
topology:illicit_sw_B_3->illicit_sw_B_4,org;
.

View File

@ -1,48 +1,48 @@
uninstall group exploit remove_all_B(torrent_prog_B,illicit_sw_B_1,illicit_sw_B_2,illicit_sw_B_3,illicit_sw_B_4)=
preconditions:
quality:torrent_prog_B,prog_B_is_installed=true;
quality:illicit_sw_B_1,sw_B_1_is_installed=true;
quality:illicit_sw_B_2,sw_B_2_is_installed=true;
quality:illicit_sw_B_3,sw_B_3_is_installed=true;
quality:illicit_sw_B_4,sw_B_4_is_installed=true;
quality:torrent_prog_B,B_is_installed=true;
quality:illicit_sw_B_1,B_is_installed=true;
quality:illicit_sw_B_2,B_is_installed=true;
quality:illicit_sw_B_3,B_is_installed=true;
quality:illicit_sw_B_4,B_is_installed=true;
postconditions:
update quality:torrent_prog_B,prog_B_is_installed=false;
update quality:illicit_sw_B_1,sw_B_1_is_installed=false;
update quality:illicit_sw_B_2,sw_B_2_is_installed=false;
update quality:illicit_sw_B_3,sw_B_3_is_installed=false;
update quality:illicit_sw_B_4,sw_B_4_is_installed=false;
update quality:torrent_prog_B,B_is_installed=false;
update quality:illicit_sw_B_1,B_is_installed=false;
update quality:illicit_sw_B_2,B_is_installed=false;
update quality:illicit_sw_B_3,B_is_installed=false;
update quality:illicit_sw_B_4,B_is_installed=false;
.
uninstall group exploit remove_all_A(torrent_prog_A,illicit_sw_A_1,illicit_sw_A_2,illicit_sw_A_3)=
preconditions:
quality:torrent_prog_A,prog_A_is_installed=true;
quality:illicit_sw_A_1,sw_A_1_is_installed=true;
quality:illicit_sw_A_2,sw_A_2_is_installed=true;
quality:illicit_sw_A_3,sw_A_3_is_installed=true;
quality:torrent_prog_A,A_is_installed=true;
quality:illicit_sw_A_1,A_is_installed=true;
quality:illicit_sw_A_2,A_is_installed=true;
quality:illicit_sw_A_3,A_is_installed=true;
postconditions:
update quality:torrent_prog_A,prog_A_is_installed=false;
update quality:illicit_sw_A_1,sw_A_1_is_installed=false;
update quality:illicit_sw_A_2,sw_A_2_is_installed=false;
update quality:illicit_sw_A_3,sw_A_3_is_installed=false;
update quality:torrent_prog_A,A_is_installed=false;
update quality:illicit_sw_A_1,A_is_installed=false;
update quality:illicit_sw_A_2,A_is_installed=false;
update quality:illicit_sw_A_3,A_is_installed=false;
.
uninstall group exploit remove_all_C(torrent_prog_C,illicit_sw_C_1,illicit_sw_C_2,illicit_sw_C_3,illicit_sw_C_4,illicit_sw_C_5,illicit_sw_C_6,illicit_sw_C_7)=
preconditions:
quality:torrent_prog_C,prog_C_is_installed=true;
quality:illicit_sw_C_1,sw_C_1_is_installed=true;
quality:illicit_sw_C_2,sw_C_2_is_installed=true;
quality:illicit_sw_C_3,sw_C_3_is_installed=true;
quality:illicit_sw_C_4,sw_C_4_is_installed=true;
quality:illicit_sw_C_5,sw_C_5_is_installed=true;
quality:illicit_sw_C_6,sw_C_6_is_installed=true;
quality:illicit_sw_C_7,sw_C_7_is_installed=true;
quality:torrent_prog_C,C_is_installed=true;
quality:illicit_sw_C_1,C_is_installed=true;
quality:illicit_sw_C_2,C_is_installed=true;
quality:illicit_sw_C_3,C_is_installed=true;
quality:illicit_sw_C_4,C_is_installed=true;
quality:illicit_sw_C_5,C_is_installed=true;
quality:illicit_sw_C_6,C_is_installed=true;
quality:illicit_sw_C_7,C_is_installed=true;
postconditions:
update quality:torrent_prog_C,prog_C_is_installed=false;
update quality:illicit_sw_C_1,sw_C_1_is_installed=false;
update quality:illicit_sw_C_2,sw_C_2_is_installed=false;
update quality:illicit_sw_C_3,sw_C_3_is_installed=false;
update quality:illicit_sw_C_4,sw_C_4_is_installed=false;
update quality:illicit_sw_C_5,sw_C_5_is_installed=false;
update quality:illicit_sw_C_6,sw_C_6_is_installed=false;
update quality:illicit_sw_C_7,sw_C_7_is_installed=false;
update quality:torrent_prog_C,C_is_installed=false;
update quality:illicit_sw_C_1,C_is_installed=false;
update quality:illicit_sw_C_2,C_is_installed=false;
update quality:illicit_sw_C_3,C_is_installed=false;
update quality:illicit_sw_C_4,C_is_installed=false;
update quality:illicit_sw_C_5,C_is_installed=false;
update quality:illicit_sw_C_6,C_is_installed=false;
update quality:illicit_sw_C_7,C_is_installed=false;
.

View File

@ -0,0 +1,35 @@
network model =
assets:
torrent_prog_C;
illicit_sw_C_1;
illicit_sw_C_2;
illicit_sw_C_3;
illicit_sw_C_4;
illicit_sw_C_5;
illicit_sw_C_6;
illicit_sw_C_7;
torrent_prog_A;
illicit_sw_A_1;
illicit_sw_A_2;
illicit_sw_A_3;
facts:
quality:torrent_prog_C,C_is_installed=true;
quality:illicit_sw_C_1,C_is_installed=true;
quality:illicit_sw_C_2,C_is_installed=true;
quality:illicit_sw_C_3,C_is_installed=true;
quality:illicit_sw_C_4,C_is_installed=true;
quality:illicit_sw_C_5,C_is_installed=true;
quality:illicit_sw_C_6,C_is_installed=true;
quality:illicit_sw_C_7,C_is_installed=true;
quality:torrent_prog_A,A_is_installed=true;
quality:illicit_sw_A_1,A_is_installed=true;
quality:illicit_sw_A_2,A_is_installed=true;
quality:illicit_sw_A_3,A_is_installed=true;
topology:illicit_sw_C_6->illicit_sw_C_7,org;
.

View File

@ -1,34 +1,34 @@
uninstall group exploit remove_all_C(torrent_prog_C,illicit_sw_C_1,illicit_sw_C_2,illicit_sw_C_3,illicit_sw_C_4,illicit_sw_C_5,illicit_sw_C_6,illicit_sw_C_7)=
preconditions:
quality:torrent_prog_C,prog_C_is_installed=true;
quality:illicit_sw_C_1,sw_C_1_is_installed=true;
quality:illicit_sw_C_2,sw_C_2_is_installed=true;
quality:illicit_sw_C_3,sw_C_3_is_installed=true;
quality:illicit_sw_C_4,sw_C_4_is_installed=true;
quality:illicit_sw_C_5,sw_C_5_is_installed=true;
quality:illicit_sw_C_6,sw_C_6_is_installed=true;
quality:illicit_sw_C_7,sw_C_7_is_installed=true;
quality:torrent_prog_C,C_is_installed=true;
quality:illicit_sw_C_1,C_is_installed=true;
quality:illicit_sw_C_2,C_is_installed=true;
quality:illicit_sw_C_3,C_is_installed=true;
quality:illicit_sw_C_4,C_is_installed=true;
quality:illicit_sw_C_5,C_is_installed=true;
quality:illicit_sw_C_6,C_is_installed=true;
quality:illicit_sw_C_7,C_is_installed=true;
postconditions:
update quality:torrent_prog_C,prog_C_is_installed=false;
update quality:illicit_sw_C_1,sw_C_1_is_installed=false;
update quality:illicit_sw_C_2,sw_C_2_is_installed=false;
update quality:illicit_sw_C_3,sw_C_3_is_installed=false;
update quality:illicit_sw_C_4,sw_C_4_is_installed=false;
update quality:illicit_sw_C_5,sw_C_5_is_installed=false;
update quality:illicit_sw_C_6,sw_C_6_is_installed=false;
update quality:illicit_sw_C_7,sw_C_7_is_installed=false;
update quality:torrent_prog_C,C_is_installed=false;
update quality:illicit_sw_C_1,C_is_installed=false;
update quality:illicit_sw_C_2,C_is_installed=false;
update quality:illicit_sw_C_3,C_is_installed=false;
update quality:illicit_sw_C_4,C_is_installed=false;
update quality:illicit_sw_C_5,C_is_installed=false;
update quality:illicit_sw_C_6,C_is_installed=false;
update quality:illicit_sw_C_7,C_is_installed=false;
.
uninstall group exploit remove_all_A(torrent_prog_A,illicit_sw_A_1,illicit_sw_A_2,illicit_sw_A_3)=
preconditions:
quality:torrent_prog_A,prog_A_is_installed=true;
quality:illicit_sw_A_1,sw_A_1_is_installed=true;
quality:illicit_sw_A_2,sw_A_2_is_installed=true;
quality:illicit_sw_A_3,sw_A_3_is_installed=true;
quality:torrent_prog_A,A_is_installed=true;
quality:illicit_sw_A_1,A_is_installed=true;
quality:illicit_sw_A_2,A_is_installed=true;
quality:illicit_sw_A_3,A_is_installed=true;
postconditions:
update quality:torrent_prog_A,prog_A_is_installed=false;
update quality:illicit_sw_A_1,sw_A_1_is_installed=false;
update quality:illicit_sw_A_2,sw_A_2_is_installed=false;
update quality:illicit_sw_A_3,sw_A_3_is_installed=false;
update quality:torrent_prog_A,A_is_installed=false;
update quality:illicit_sw_A_1,A_is_installed=false;
update quality:illicit_sw_A_2,A_is_installed=false;
update quality:illicit_sw_A_3,A_is_installed=false;
.

View File

@ -0,0 +1,18 @@
network model =
assets:
torrent_prog_B;
illicit_sw_B_1;
illicit_sw_B_2;
illicit_sw_B_3;
illicit_sw_B_4;
facts:
quality:torrent_prog_B,B_is_installed=true;
quality:illicit_sw_B_1,B_is_installed=true;
quality:illicit_sw_B_2,B_is_installed=true;
quality:illicit_sw_B_3,B_is_installed=true;
quality:illicit_sw_B_4,B_is_installed=true;
topology:illicit_sw_B_3->illicit_sw_B_4,org;
.

View File

@ -1,14 +1,14 @@
uninstall group exploit remove_all_B(torrent_prog_B,illicit_sw_B_1,illicit_sw_B_2,illicit_sw_B_3,illicit_sw_B_4)=
preconditions:
quality:torrent_prog_B,prog_B_is_installed=true;
quality:illicit_sw_B_1,sw_B_1_is_installed=true;
quality:illicit_sw_B_2,sw_B_2_is_installed=true;
quality:illicit_sw_B_3,sw_B_3_is_installed=true;
quality:illicit_sw_B_4,sw_B_4_is_installed=true;
quality:torrent_prog_B,B_is_installed=true;
quality:illicit_sw_B_1,B_is_installed=true;
quality:illicit_sw_B_2,B_is_installed=true;
quality:illicit_sw_B_3,B_is_installed=true;
quality:illicit_sw_B_4,B_is_installed=true;
postconditions:
update quality:torrent_prog_B,prog_B_is_installed=false;
update quality:illicit_sw_B_1,sw_B_1_is_installed=false;
update quality:illicit_sw_B_2,sw_B_2_is_installed=false;
update quality:illicit_sw_B_3,sw_B_3_is_installed=false;
update quality:illicit_sw_B_4,sw_B_4_is_installed=false;
update quality:torrent_prog_B,B_is_installed=false;
update quality:illicit_sw_B_1,B_is_installed=false;
update quality:illicit_sw_B_2,B_is_installed=false;
update quality:illicit_sw_B_3,B_is_installed=false;
update quality:illicit_sw_B_4,B_is_installed=false;
.

View File

@ -0,0 +1,37 @@
network model =
assets:
torrent_prog_C;
illicit_sw_C_1;
illicit_sw_C_2;
illicit_sw_C_3;
illicit_sw_C_4;
illicit_sw_C_5;
illicit_sw_C_6;
illicit_sw_C_7;
torrent_prog_B;
illicit_sw_B_1;
illicit_sw_B_2;
illicit_sw_B_3;
illicit_sw_B_4;
facts:
quality:torrent_prog_C,C_is_installed=true;
quality:illicit_sw_C_1,C_is_installed=true;
quality:illicit_sw_C_2,C_is_installed=true;
quality:illicit_sw_C_3,C_is_installed=true;
quality:illicit_sw_C_4,C_is_installed=true;
quality:illicit_sw_C_5,C_is_installed=true;
quality:illicit_sw_C_6,C_is_installed=true;
quality:illicit_sw_C_7,C_is_installed=true;
quality:torrent_prog_B,B_is_installed=true;
quality:illicit_sw_B_1,B_is_installed=true;
quality:illicit_sw_B_2,B_is_installed=true;
quality:illicit_sw_B_3,B_is_installed=true;
quality:illicit_sw_B_4,B_is_installed=true;
topology:illicit_sw_C_6->illicit_sw_C_7,org;
.

View File

@ -1,36 +1,36 @@
uninstall group exploit remove_all_C(torrent_prog_C,illicit_sw_C_1,illicit_sw_C_2,illicit_sw_C_3,illicit_sw_C_4,illicit_sw_C_5,illicit_sw_C_6,illicit_sw_C_7)=
preconditions:
quality:torrent_prog_C,prog_C_is_installed=true;
quality:illicit_sw_C_1,sw_C_1_is_installed=true;
quality:illicit_sw_C_2,sw_C_2_is_installed=true;
quality:illicit_sw_C_3,sw_C_3_is_installed=true;
quality:illicit_sw_C_4,sw_C_4_is_installed=true;
quality:illicit_sw_C_5,sw_C_5_is_installed=true;
quality:illicit_sw_C_6,sw_C_6_is_installed=true;
quality:illicit_sw_C_7,sw_C_7_is_installed=true;
quality:torrent_prog_C,C_is_installed=true;
quality:illicit_sw_C_1,C_is_installed=true;
quality:illicit_sw_C_2,C_is_installed=true;
quality:illicit_sw_C_3,C_is_installed=true;
quality:illicit_sw_C_4,C_is_installed=true;
quality:illicit_sw_C_5,C_is_installed=true;
quality:illicit_sw_C_6,C_is_installed=true;
quality:illicit_sw_C_7,C_is_installed=true;
postconditions:
update quality:torrent_prog_C,prog_C_is_installed=false;
update quality:illicit_sw_C_1,sw_C_1_is_installed=false;
update quality:illicit_sw_C_2,sw_C_2_is_installed=false;
update quality:illicit_sw_C_3,sw_C_3_is_installed=false;
update quality:illicit_sw_C_4,sw_C_4_is_installed=false;
update quality:illicit_sw_C_5,sw_C_5_is_installed=false;
update quality:illicit_sw_C_6,sw_C_6_is_installed=false;
update quality:illicit_sw_C_7,sw_C_7_is_installed=false;
update quality:torrent_prog_C,C_is_installed=false;
update quality:illicit_sw_C_1,C_is_installed=false;
update quality:illicit_sw_C_2,C_is_installed=false;
update quality:illicit_sw_C_3,C_is_installed=false;
update quality:illicit_sw_C_4,C_is_installed=false;
update quality:illicit_sw_C_5,C_is_installed=false;
update quality:illicit_sw_C_6,C_is_installed=false;
update quality:illicit_sw_C_7,C_is_installed=false;
.
uninstall group exploit remove_all_B(torrent_prog_B,illicit_sw_B_1,illicit_sw_B_2,illicit_sw_B_3,illicit_sw_B_4)=
preconditions:
quality:torrent_prog_B,prog_B_is_installed=true;
quality:illicit_sw_B_1,sw_B_1_is_installed=true;
quality:illicit_sw_B_2,sw_B_2_is_installed=true;
quality:illicit_sw_B_3,sw_B_3_is_installed=true;
quality:illicit_sw_B_4,sw_B_4_is_installed=true;
quality:torrent_prog_B,B_is_installed=true;
quality:illicit_sw_B_1,B_is_installed=true;
quality:illicit_sw_B_2,B_is_installed=true;
quality:illicit_sw_B_3,B_is_installed=true;
quality:illicit_sw_B_4,B_is_installed=true;
postconditions:
update quality:torrent_prog_B,prog_B_is_installed=false;
update quality:illicit_sw_B_1,sw_B_1_is_installed=false;
update quality:illicit_sw_B_2,sw_B_2_is_installed=false;
update quality:illicit_sw_B_3,sw_B_3_is_installed=false;
update quality:illicit_sw_B_4,sw_B_4_is_installed=false;
update quality:torrent_prog_B,B_is_installed=false;
update quality:illicit_sw_B_1,B_is_installed=false;
update quality:illicit_sw_B_2,B_is_installed=false;
update quality:illicit_sw_B_3,B_is_installed=false;
update quality:illicit_sw_B_4,B_is_installed=false;
.

View File

@ -0,0 +1,24 @@
network model =
assets:
torrent_prog_C;
illicit_sw_C_1;
illicit_sw_C_2;
illicit_sw_C_3;
illicit_sw_C_4;
illicit_sw_C_5;
illicit_sw_C_6;
illicit_sw_C_7;
facts:
quality:torrent_prog_C,C_is_installed=true;
quality:illicit_sw_C_1,C_is_installed=true;
quality:illicit_sw_C_2,C_is_installed=true;
quality:illicit_sw_C_3,C_is_installed=true;
quality:illicit_sw_C_4,C_is_installed=true;
quality:illicit_sw_C_5,C_is_installed=true;
quality:illicit_sw_C_6,C_is_installed=true;
quality:illicit_sw_C_7,C_is_installed=true;
topology:illicit_sw_C_6->illicit_sw_C_7,org;
.

View File

@ -1,20 +1,20 @@
uninstall group exploit remove_all_C(torrent_prog_C,illicit_sw_C_1,illicit_sw_C_2,illicit_sw_C_3,illicit_sw_C_4,illicit_sw_C_5,illicit_sw_C_6,illicit_sw_C_7)=
preconditions:
quality:torrent_prog_C,prog_C_is_installed=true;
quality:illicit_sw_C_1,sw_C_1_is_installed=true;
quality:illicit_sw_C_2,sw_C_2_is_installed=true;
quality:illicit_sw_C_3,sw_C_3_is_installed=true;
quality:illicit_sw_C_4,sw_C_4_is_installed=true;
quality:illicit_sw_C_5,sw_C_5_is_installed=true;
quality:illicit_sw_C_6,sw_C_6_is_installed=true;
quality:illicit_sw_C_7,sw_C_7_is_installed=true;
quality:torrent_prog_C,C_is_installed=true;
quality:illicit_sw_C_1,C_is_installed=true;
quality:illicit_sw_C_2,C_is_installed=true;
quality:illicit_sw_C_3,C_is_installed=true;
quality:illicit_sw_C_4,C_is_installed=true;
quality:illicit_sw_C_5,C_is_installed=true;
quality:illicit_sw_C_6,C_is_installed=true;
quality:illicit_sw_C_7,C_is_installed=true;
postconditions:
update quality:torrent_prog_C,prog_C_is_installed=false;
update quality:illicit_sw_C_1,sw_C_1_is_installed=false;
update quality:illicit_sw_C_2,sw_C_2_is_installed=false;
update quality:illicit_sw_C_3,sw_C_3_is_installed=false;
update quality:illicit_sw_C_4,sw_C_4_is_installed=false;
update quality:illicit_sw_C_5,sw_C_5_is_installed=false;
update quality:illicit_sw_C_6,sw_C_6_is_installed=false;
update quality:illicit_sw_C_7,sw_C_7_is_installed=false;
update quality:torrent_prog_C,C_is_installed=false;
update quality:illicit_sw_C_1,C_is_installed=false;
update quality:illicit_sw_C_2,C_is_installed=false;
update quality:illicit_sw_C_3,C_is_installed=false;
update quality:illicit_sw_C_4,C_is_installed=false;
update quality:illicit_sw_C_5,C_is_installed=false;
update quality:illicit_sw_C_6,C_is_installed=false;
update quality:illicit_sw_C_7,C_is_installed=false;
.

View File

@ -195,7 +195,7 @@ The compliance checks are as follows:
\end{itemize}
\subsubsection{DMCA Takedown}
A second example of synchronous firing is illustrated through a DMCA Takedown for a fictitious organization \cite{DMCA}. In this example, a DMCA Takedown is issued to an organization after a group of employees were found to be engaging in online piracy with torrenting software on company devices and using company resources. Detection and removal of illicit data, such as through means presented by the authors of \cite{Piracy} for Windows or \cite{Android_Piracy} for company-supplied Android mobile devices, can be incorporated into and represented by a compliance graph.
A second example of synchronous firing is illustrated through a DMCA Takedown for a fictitious organization \cite{DMCA}. In this example, a DMCA Takedown is issued to an organization after a group of employees were found to be engaging in online piracy with torrenting software on company devices and while using company resources. Detection and removal of illicit data, such as through means presented by the authors of \cite{Piracy} for Windows or \cite{Android_Piracy} for company-supplied Android mobile devices, can be incorporated into and represented by a compliance graph.
Only the subset of the organization's network which contains the illicit data is used for this example. The graph generation process walks through as a system administrator removes the torrenting software and the illicit data from the company devices. When removing torrenting software, the data associated with the torrenting program can be removed at the same time; an administrator does not need to remove the torrenting program and then separately remove the data. This example highlights the capability of synchronous firing by grouping the removal of software and data together, as opposed to traditional attack and compliance graphs requiring at least two separate steps to remove the software and data.
@ -377,6 +377,55 @@ Leveraging comprehensive services with synchronous firing enables users to signi
\subsubsection{Results for the DMCA Takedown Environment} \label{sec:dmca_res}
Using the experimental setup described in Section \ref{sec:test-platform} on the platform described at the beginning of Section \ref{sec:test-platform}, results were collected in regards to the effect of synchronous firing on both state space and runtime. The graphs' edge to state ratio (E/S Ratio) was computed as well.
\begin{table}[htp]
\caption{Results for the Non-Synchronous Firing Testing}
\label{table:DMCA-NS-Table}
\centering
\setlength\tabcolsep{4pt}
\begin{tabular}{|c|c|c|c|c|}
\hline
\multicolumn{5}{|c|}{Non-Synchronous Firing} \\ \hline
\textbf{\begin{tabular}[c]{@{}c@{}}Employees \\ Present\end{tabular}}
& \textbf{\begin{tabular}[c]{@{}c@{}}Number of \\ States\end{tabular}}
& \textbf{\begin{tabular}[c]{@{}c@{}}Number of \\ Edges\end{tabular}}
& \textbf{\begin{tabular}[c]{@{}c@{}}Runtime\\ (ms)\end{tabular}}
& \textbf{\begin{tabular}[c]{@{}c@{}}E/S\\ Ratio\end{tabular}}
\\ \hline
A & 16 & 128 & 16.334 & 8.000 \\ \hline
B & 32 & 400 & 42.791 & 12.500 \\ \hline
C & 256 & 6144 & 1754.768 & 24.000 \\ \hline
AB & 512 & 13824 & 1942.736 & 27.000 \\ \hline
AC & 4096 & 147456 & 27962.078 & 36.000 \\ \hline
BC & 8192 & 319488 & 66394.759 & 39.000 \\ \hline
ABC & 131072 & 6684672 & 1940664.745 & 51.000 \\ \hline
\end{tabular}
\end{table}
\begin{table}[htp]
\caption{Results for the Synchronous Firing Testing}
\label{table:DMCA-S-Table}
\centering
\setlength\tabcolsep{4pt}
\begin{tabular}{|c|c|c|c|c|c|}
\hline
\multicolumn{6}{|c|}{Synchronous Firing} \\ \hline
\textbf{\begin{tabular}[c]{@{}c@{}}Employees \\ Present\end{tabular}}
& \textbf{\begin{tabular}[c]{@{}c@{}}States\end{tabular}}
& \textbf{\begin{tabular}[c]{@{}c@{}}Edges\end{tabular}}
& \textbf{\begin{tabular}[c]{@{}c@{}}Runtime\\(ms)\end{tabular}}
& \textbf{\begin{tabular}[c]{@{}c@{}}E/S\\Ratio\end{tabular}}
& \textbf{\begin{tabular}[c]{@{}c@{}}Speedup\end{tabular}}
\\ \hline
A & 2 & 1 & 36.975 & 2.000 & 2.0 \\ \hline
B & 2 & 1 & 520.277 & 2.000 & 2.0 \\ \hline
C & 0 & 0 & 0 & 0 & 0 \\ \hline
AB & 2 & 1 & 11239.546 & 2.000 & 2.0 \\ \hline
AC & 4096 & 147456 & 27962.078 & 36.000 & 2.0 \\ \hline
BC & 8192 & 319488 & 66394.759 & 39.000 & 2.0 \\ \hline
ABC & 131072 & 6684672 & 1940664.745 & 51.000 & 2.0 \\ \hline
\end{tabular}
\end{table}
\section{Future Works} \label{sec:fw}
As seen and discussed in Section \ref{sec:inseparable}, when unattainable states are generated, there is a compounding effect. Each unattainable state is explored, and is likely to generate additional unattainable states. Future works include examining the effect of synchronous firing when more assets are utilized. It is hypothesized that the synchronous firing approach will lead to an increased runtime reduction and state space reduction due to the increased number of unattainable state permutations. This work had a limited number of assets, but generated upwards of 400,000 states due to repeated applications of the exploit set due to the services corresponding with the compliance graph. Future work could alter the scenario to have a greater number of assets, and a standard set of exploits more akin to an attack graph rather than a compliance graph. Other future works could include measuring the performance of synchronous firing when multiple groups of inseparable features are used. This work used a single group, but multiple groups be added to examine the performance of the feature.

1
data/.~lock.data.xlsx# Normal file
View File

@ -0,0 +1 @@
,noah,NovaArchSys,24.03.2023 13:37,file:///home/noah/.config/libreoffice/4;

BIN
data/data.xlsx Normal file

Binary file not shown.