Network 1 (car network) nm and xp files

This commit is contained in:
Noah L. Schrick 2022-04-29 11:08:53 -05:00
parent 9698f5e735
commit c472b27b4c
2 changed files with 145 additions and 0 deletions

View File

@ -0,0 +1,36 @@
network model =
assets:
# Cars
car1;
facts:
# Features
quality:car1,brake_months=0;
quality:car1,exhaust_months=0;
quality:car1,ac_odometer=0;
quality:car1,vacuum_odometer=0;
quality:car1,oil_odom=0;
quality:car1,driveshaft_odom=0;
quality:car1,coolant_odom=0;
quality:car1,parkingbrake_months=0;
quality:car1,brakepipe_months=0;
quality:car1,brakehoses_months=0;
quality:car1,engine=gas;
quality:car1,TIME_ADVANCE_STEP=0;
# Vio Status
quality:car1,brake_vio=false;
quality:car1,exhaust_vio=false;
quality:car1,ac_vio=false;
quality:car1,vacuum_vio=false;
quality:car1,oil_vio=false;
quality:car1,driveshaft_vio=false;
quality:car1,coolant_vio=false;
quality:car1,parkingbrake_vio=false;
quality:car1,brakepipe_vio=false;
quality:car1,brakehoses_vio=false;
quality:car1,compliance_vio=false;
topology:car1<->car1,road;
tags:
.

View File

@ -0,0 +1,109 @@
exploit brake_pads(a)=
preconditions:
quality:a,brake_months>=6;
quality:a,brake_vio=false;
postconditions:
update quality:a,brake_vio=true;
update quality:a,compliance_vio=true;
.
exploit exhaust_pipes(a)=
preconditions:
quality:a,exhaust_months>=12;
quality:a,exhaust_vio=false;
postconditions:
update quality:a,compliance_vio=true;
update quality:a,exhaust_vio=true;
.
exploit ac_filter(a)=
preconditions:
quality:a,ac_odometer>=12000;
quality:a,ac_vio=false;
postconditions:
insert quality:a,is_critical=true;
update quality:a,compliance_vio=true;
update quality:a,ac_vio=true;
.
exploit vacuum_pump(a)=
preconditions:
quality:a,vacuum_odometer>=120000;
quality:a,engine=diesel;
quality:a,vacuum_vio=false;
postconditions:
insert quality:a,is_critical=true;
update quality:a,compliance_vio=true;
update quality:a,vacuum_vio=true;
.
exploit engine_oil(a)=
preconditions:
quality:a,oil_odom>=6000;
quality:a,oil_vio=false;
postconditions:
update quality:a,oil_vio=true;
update quality:a,compliance_vio=true;
.
exploit driveshaft_boots(a)=
preconditions:
quality:a,driveshaft_odom>=12000;
quality:a,driveshaft_vio=false;
postconditions:
update quality:a,driveshaft_vio=true;
update quality:a,compliance_vio=true;
.
exploit engine_coolant(a)=
preconditions:
quality:a,coolant_odom>=24000;
quality:a,coolant_vio=false;
postconditions:
update quality:a,coolant_vio=true;
update quality:a,compliance_vio=true;
.
exploit parking_brake(a)=
preconditions:
quality:a,parkingbrake_months>=6;
quality:a,parkingbrake_vio=false;
postconditions:
update quality:a,parkingbrake_vio=true;
update quality:a,compliance_vio=true;
.
exploit brake_pipes(a)=
preconditions:
quality:a,brakepipe_months>=12;
quality:a,brakepipe_vio=false;
postconditions:
update quality:a,brakepipe_vio=true;
update quality:a,compliance_vio=true;
.
exploit brake_hoses(a)=
preconditions:
quality:a,brakehoses_months>=12;
quality:a,brakehoses_vio=false;
postconditions:
update quality:a,brakehoses_vio=true;
update quality:a,compliance_vio=true;
.
time group exploit time_advance(a)=
preconditions:
quality:a,TIME_ADVANCE_STEP<13;
postconditions:
update quality:a,brake_months+=1;
update quality:a,vacuum_odometer+=10000;
update quality:a,ac_odometer+=10000;
update quality:a,exhaust_months+=1;
update quality:a,oil_odom+=10000;
update quality:a,driveshaft_odom+=10000;
update quality:a,coolant_odom+=10000;
update quality:a,parkingbrake_months+=1;
update quality:a,brakepipe_months+=1;
update quality:a,brakehoses_months+=1;
update quality:a,TIME_ADVANCE_STEP+=1;
.