Skip to content

Instantly share code, notes, and snippets.

@agacek
Created August 27, 2014 15:10
Show Gist options
  • Save agacek/fdca4e952e3e173d18f9 to your computer and use it in GitHub Desktop.
Save agacek/fdca4e952e3e173d18f9 to your computer and use it in GitHub Desktop.
type DATA_TYPES__NumActuators__impl = struct {AILL : int; AILR : int; BRAKE : int; ELLIB : int; ELLOB : int; ELRIB : int; ELROB : int; FLAPLI : int; FLAPLO : int; FLAPRI : int; FLAPRO : int; GEAR : int; RUDLO : int; RUDUP : int; SPLLIB : int; SPLLOB : int; SPLRIB : int; SPLROB : int; STEER : int; THROTL : int; THROTR : int};
type DATA_TYPES__BoolActuators__impl = struct {AILL : bool; AILR : bool; BRAKE : bool; ELLIB : bool; ELLOB : bool; ELRIB : bool; ELROB : bool; FLAPLI : bool; FLAPLO : bool; FLAPRI : bool; FLAPRO : bool; GEAR : bool; RUDLO : bool; RUDUP : bool; SPLLIB : bool; SPLLOB : bool; SPLRIB : bool; SPLROB : bool; STEER : bool; THROTL : bool; THROTR : bool};
type DATA_TYPES__Actuators__impl = struct {AILL : real; AILR : real; BRAKE : real; ELLIB : real; ELLOB : real; ELRIB : real; ELROB : real; FLAPLI : real; FLAPLO : real; FLAPRI : real; FLAPRO : real; GEAR : real; RUDLO : real; RUDUP : real; SPLLIB : real; SPLLOB : real; SPLRIB : real; SPLROB : real; STEER : real; THROTL : real; THROTR : real};
node OSAS_S_100__req(
OSAS_Sys_i_Instance__act : real;
OSAS_Sys_i_Instance__act_ret : real
) returns (
OSAS_Sys_i_Instance__return : bool
);
var
OSAS_Sys_i_Instance__pre_act : real;
let
OSAS_Sys_i_Instance__pre_act = (0.0 -> (pre OSAS_Sys_i_Instance__act));
OSAS_Sys_i_Instance__return = ((OSAS_Sys_i_Instance__act_ret > (1.025 * OSAS_Sys_i_Instance__pre_act)) or (OSAS_Sys_i_Instance__act_ret < (0.975 * OSAS_Sys_i_Instance__pre_act)));
tel;
node RUN_LENGTH__f(
OSAS_Sys_i_Instance__sig : bool
) returns (
OSAS_Sys_i_Instance__count : int
);
let
OSAS_Sys_i_Instance__count = (if OSAS_Sys_i_Instance__sig then ((0 -> (pre OSAS_Sys_i_Instance__count)) + 1) else 0);
tel;
node OSAS_S_110__req_helper(
OSAS_Sys_i_Instance__act : real;
OSAS_Sys_i_Instance__act_ret : real;
OSAS_Sys_i_Instance__fail_count : int
) returns (
OSAS_Sys_i_Instance__res : bool
);
var
OSAS_Sys_i_Instance__fault : bool;
OSAS_Sys_i_Instance__previous_fail_count : int;
let
OSAS_Sys_i_Instance__fault = OSAS_S_100__req(OSAS_Sys_i_Instance__act, OSAS_Sys_i_Instance__act_ret);
OSAS_Sys_i_Instance__previous_fail_count = (0 -> (pre OSAS_Sys_i_Instance__fail_count));
OSAS_Sys_i_Instance__res = (OSAS_Sys_i_Instance__fail_count = (if OSAS_Sys_i_Instance__fault then (OSAS_Sys_i_Instance__previous_fail_count + 1) else (if (RUN_LENGTH__f((not OSAS_Sys_i_Instance__fault)) >= 4) then 0 else OSAS_Sys_i_Instance__previous_fail_count)));
tel;
node OSAS_S_110__req(
OSAS_Sys_i_Instance__acts : DATA_TYPES__Actuators__impl;
OSAS_Sys_i_Instance__acts_ret : DATA_TYPES__Actuators__impl;
OSAS_Sys_i_Instance__fail_counts : DATA_TYPES__NumActuators__impl
) returns (
OSAS_Sys_i_Instance__res : bool
);
let
OSAS_Sys_i_Instance__res = ((((((((((((((((((((OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.AILL, OSAS_Sys_i_Instance__acts_ret.AILL, OSAS_Sys_i_Instance__fail_counts.AILL) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.AILR, OSAS_Sys_i_Instance__acts_ret.AILR, OSAS_Sys_i_Instance__fail_counts.AILR)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.BRAKE, OSAS_Sys_i_Instance__acts_ret.BRAKE, OSAS_Sys_i_Instance__fail_counts.BRAKE)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.ELLIB, OSAS_Sys_i_Instance__acts_ret.ELLIB, OSAS_Sys_i_Instance__fail_counts.ELLIB)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.ELLOB, OSAS_Sys_i_Instance__acts_ret.ELLOB, OSAS_Sys_i_Instance__fail_counts.ELLOB)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.ELRIB, OSAS_Sys_i_Instance__acts_ret.ELRIB, OSAS_Sys_i_Instance__fail_counts.ELRIB)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.ELROB, OSAS_Sys_i_Instance__acts_ret.ELROB, OSAS_Sys_i_Instance__fail_counts.ELROB)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.FLAPLI, OSAS_Sys_i_Instance__acts_ret.FLAPLI, OSAS_Sys_i_Instance__fail_counts.FLAPLI)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.FLAPLO, OSAS_Sys_i_Instance__acts_ret.FLAPLO, OSAS_Sys_i_Instance__fail_counts.FLAPLO)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.FLAPRI, OSAS_Sys_i_Instance__acts_ret.FLAPRI, OSAS_Sys_i_Instance__fail_counts.FLAPRI)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.FLAPRO, OSAS_Sys_i_Instance__acts_ret.FLAPRO, OSAS_Sys_i_Instance__fail_counts.FLAPRO)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.GEAR, OSAS_Sys_i_Instance__acts_ret.GEAR, OSAS_Sys_i_Instance__fail_counts.GEAR)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.RUDLO, OSAS_Sys_i_Instance__acts_ret.RUDLO, OSAS_Sys_i_Instance__fail_counts.RUDLO)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.RUDUP, OSAS_Sys_i_Instance__acts_ret.RUDUP, OSAS_Sys_i_Instance__fail_counts.RUDUP)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.SPLLIB, OSAS_Sys_i_Instance__acts_ret.SPLLIB, OSAS_Sys_i_Instance__fail_counts.SPLLIB)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.SPLLOB, OSAS_Sys_i_Instance__acts_ret.SPLLOB, OSAS_Sys_i_Instance__fail_counts.SPLLOB)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.SPLRIB, OSAS_Sys_i_Instance__acts_ret.SPLRIB, OSAS_Sys_i_Instance__fail_counts.SPLRIB)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.SPLROB, OSAS_Sys_i_Instance__acts_ret.SPLROB, OSAS_Sys_i_Instance__fail_counts.SPLROB)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.STEER, OSAS_Sys_i_Instance__acts_ret.STEER, OSAS_Sys_i_Instance__fail_counts.STEER)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.THROTR, OSAS_Sys_i_Instance__acts_ret.THROTR, OSAS_Sys_i_Instance__fail_counts.THROTR)) and OSAS_S_110__req_helper(OSAS_Sys_i_Instance__acts.THROTL, OSAS_Sys_i_Instance__acts_ret.THROTL, OSAS_Sys_i_Instance__fail_counts.THROTL));
tel;
node OCCURRED__f(
OSAS_Sys_i_Instance__condition : bool
) returns (
OSAS_Sys_i_Instance__holds : bool
);
let
OSAS_Sys_i_Instance__holds = (OSAS_Sys_i_Instance__condition or (OSAS_Sys_i_Instance__condition -> (pre OSAS_Sys_i_Instance__holds)));
tel;
node OSAS_S_120__req_helper(
OSAS_Sys_i_Instance__act : real;
OSAS_Sys_i_Instance__act_ret : real;
OSAS_Sys_i_Instance__fail : bool
) returns (
OSAS_Sys_i_Instance__res : bool
);
let
OSAS_Sys_i_Instance__res = (OSAS_Sys_i_Instance__fail = (if OCCURRED__f((RUN_LENGTH__f(OSAS_S_100__req(OSAS_Sys_i_Instance__act, OSAS_Sys_i_Instance__act_ret)) >= 5)) then true else (true -> (pre OSAS_Sys_i_Instance__fail))));
tel;
node OSAS_S_120__req(
OSAS_Sys_i_Instance__acts : DATA_TYPES__Actuators__impl;
OSAS_Sys_i_Instance__acts_ret : DATA_TYPES__Actuators__impl;
OSAS_Sys_i_Instance__fails : DATA_TYPES__BoolActuators__impl
) returns (
OSAS_Sys_i_Instance__res : bool
);
let
OSAS_Sys_i_Instance__res = ((((((((((((((((((((OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.AILL, OSAS_Sys_i_Instance__acts_ret.AILL, OSAS_Sys_i_Instance__fails.AILL) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.AILR, OSAS_Sys_i_Instance__acts_ret.AILR, OSAS_Sys_i_Instance__fails.AILR)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.BRAKE, OSAS_Sys_i_Instance__acts_ret.BRAKE, OSAS_Sys_i_Instance__fails.BRAKE)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.ELLIB, OSAS_Sys_i_Instance__acts_ret.ELLIB, OSAS_Sys_i_Instance__fails.ELLIB)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.ELLOB, OSAS_Sys_i_Instance__acts_ret.ELLOB, OSAS_Sys_i_Instance__fails.ELLOB)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.ELRIB, OSAS_Sys_i_Instance__acts_ret.ELRIB, OSAS_Sys_i_Instance__fails.ELRIB)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.ELROB, OSAS_Sys_i_Instance__acts_ret.ELROB, OSAS_Sys_i_Instance__fails.ELROB)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.FLAPLI, OSAS_Sys_i_Instance__acts_ret.FLAPLI, OSAS_Sys_i_Instance__fails.FLAPLI)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.FLAPLO, OSAS_Sys_i_Instance__acts_ret.FLAPLO, OSAS_Sys_i_Instance__fails.FLAPLO)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.FLAPRI, OSAS_Sys_i_Instance__acts_ret.FLAPRI, OSAS_Sys_i_Instance__fails.FLAPRI)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.FLAPRO, OSAS_Sys_i_Instance__acts_ret.FLAPRO, OSAS_Sys_i_Instance__fails.FLAPRO)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.GEAR, OSAS_Sys_i_Instance__acts_ret.GEAR, OSAS_Sys_i_Instance__fails.GEAR)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.RUDLO, OSAS_Sys_i_Instance__acts_ret.RUDLO, OSAS_Sys_i_Instance__fails.RUDLO)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.RUDUP, OSAS_Sys_i_Instance__acts_ret.RUDUP, OSAS_Sys_i_Instance__fails.RUDUP)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.SPLLIB, OSAS_Sys_i_Instance__acts_ret.SPLLIB, OSAS_Sys_i_Instance__fails.SPLLIB)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.SPLLOB, OSAS_Sys_i_Instance__acts_ret.SPLLOB, OSAS_Sys_i_Instance__fails.SPLLOB)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.SPLRIB, OSAS_Sys_i_Instance__acts_ret.SPLRIB, OSAS_Sys_i_Instance__fails.SPLRIB)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.SPLROB, OSAS_Sys_i_Instance__acts_ret.SPLROB, OSAS_Sys_i_Instance__fails.SPLROB)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.STEER, OSAS_Sys_i_Instance__acts_ret.STEER, OSAS_Sys_i_Instance__fails.STEER)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.THROTR, OSAS_Sys_i_Instance__acts_ret.THROTR, OSAS_Sys_i_Instance__fails.THROTR)) and OSAS_S_120__req_helper(OSAS_Sys_i_Instance__acts.THROTL, OSAS_Sys_i_Instance__acts_ret.THROTL, OSAS_Sys_i_Instance__fails.THROTL));
tel;
node OSAS_S_140__req_helper(
OSAS_Sys_i_Instance__act : real;
OSAS_Sys_i_Instance__fail : bool
) returns (
OSAS_Sys_i_Instance__res : bool
);
let
OSAS_Sys_i_Instance__res = (OSAS_Sys_i_Instance__fail => (OSAS_Sys_i_Instance__act = 0.0));
tel;
node OSAS_S_140__req(
OSAS_Sys_i_Instance__acts : DATA_TYPES__Actuators__impl;
OSAS_Sys_i_Instance__fails : DATA_TYPES__BoolActuators__impl
) returns (
OSAS_Sys_i_Instance__res : bool
);
let
OSAS_Sys_i_Instance__res = ((((((((((((((((((((OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.AILL, OSAS_Sys_i_Instance__fails.AILL) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.AILR, OSAS_Sys_i_Instance__fails.AILR)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.BRAKE, OSAS_Sys_i_Instance__fails.BRAKE)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.ELLIB, OSAS_Sys_i_Instance__fails.ELLIB)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.ELLOB, OSAS_Sys_i_Instance__fails.ELLOB)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.ELRIB, OSAS_Sys_i_Instance__fails.ELRIB)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.ELROB, OSAS_Sys_i_Instance__fails.ELROB)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.FLAPLI, OSAS_Sys_i_Instance__fails.FLAPLI)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.FLAPLO, OSAS_Sys_i_Instance__fails.FLAPLO)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.FLAPRI, OSAS_Sys_i_Instance__fails.FLAPRI)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.FLAPRO, OSAS_Sys_i_Instance__fails.FLAPRO)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.GEAR, OSAS_Sys_i_Instance__fails.GEAR)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.RUDLO, OSAS_Sys_i_Instance__fails.RUDLO)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.RUDUP, OSAS_Sys_i_Instance__fails.RUDUP)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.SPLLIB, OSAS_Sys_i_Instance__fails.SPLLIB)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.SPLLOB, OSAS_Sys_i_Instance__fails.SPLLOB)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.SPLRIB, OSAS_Sys_i_Instance__fails.SPLRIB)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.SPLROB, OSAS_Sys_i_Instance__fails.SPLROB)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.STEER, OSAS_Sys_i_Instance__fails.STEER)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.THROTR, OSAS_Sys_i_Instance__fails.THROTR)) and OSAS_S_140__req_helper(OSAS_Sys_i_Instance__acts.THROTL, OSAS_Sys_i_Instance__fails.THROTL));
tel;
node OSAS_S_170__req_helper(
OSAS_Sys_i_Instance__act_gain : real;
OSAS_Sys_i_Instance__ccdl_failed : bool
) returns (
OSAS_Sys_i_Instance__res : bool
);
let
OSAS_Sys_i_Instance__res = (OSAS_Sys_i_Instance__ccdl_failed => (OSAS_Sys_i_Instance__act_gain = 1.0));
tel;
node OSAS_S_170__req(
OSAS_Sys_i_Instance__acts_gain : DATA_TYPES__Actuators__impl;
OSAS_Sys_i_Instance__ccdl_failed : bool
) returns (
OSAS_Sys_i_Instance__res : bool
);
let
OSAS_Sys_i_Instance__res = ((((((((((((((((((((OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.AILL, OSAS_Sys_i_Instance__ccdl_failed) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.AILR, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.BRAKE, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.ELLIB, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.ELLOB, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.ELRIB, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.ELROB, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.FLAPLI, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.FLAPLO, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.FLAPRI, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.FLAPRO, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.GEAR, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.RUDLO, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.RUDUP, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.SPLLIB, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.SPLLOB, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.SPLRIB, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.SPLROB, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.STEER, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.THROTR, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_170__req_helper(OSAS_Sys_i_Instance__acts_gain.THROTL, OSAS_Sys_i_Instance__ccdl_failed));
tel;
node OSAS_S_180__actuator_gain(
OSAS_Sys_i_Instance__num_valid : int
) returns (
OSAS_Sys_i_Instance__result : real
);
let
OSAS_Sys_i_Instance__result = (if (OSAS_Sys_i_Instance__num_valid = 3) then 1.0 else (if (OSAS_Sys_i_Instance__num_valid = 2) then (4.0 / 3.0) else (if (OSAS_Sys_i_Instance__num_valid = 1) then 2.0 else (if (OSAS_Sys_i_Instance__num_valid = 0) then 4.0 else 1.0))));
tel;
node OSAS_S_180__req_helper(
OSAS_Sys_i_Instance__act_gain : real;
OSAS_Sys_i_Instance__num_valid : int;
OSAS_Sys_i_Instance__ccdl_failed : bool
) returns (
OSAS_Sys_i_Instance__res : bool
);
let
OSAS_Sys_i_Instance__res = ((not OSAS_Sys_i_Instance__ccdl_failed) => (OSAS_Sys_i_Instance__act_gain = OSAS_S_180__actuator_gain(OSAS_Sys_i_Instance__num_valid)));
tel;
node OSAS_S_180__req(
OSAS_Sys_i_Instance__acts_gain : DATA_TYPES__Actuators__impl;
OSAS_Sys_i_Instance__acts_num_valid : DATA_TYPES__NumActuators__impl;
OSAS_Sys_i_Instance__ccdl_failed : bool
) returns (
OSAS_Sys_i_Instance__res : bool
);
let
OSAS_Sys_i_Instance__res = ((((((((((((((((((((OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.AILL, OSAS_Sys_i_Instance__acts_num_valid.AILL, OSAS_Sys_i_Instance__ccdl_failed) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.AILR, OSAS_Sys_i_Instance__acts_num_valid.AILR, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.BRAKE, OSAS_Sys_i_Instance__acts_num_valid.BRAKE, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.ELLIB, OSAS_Sys_i_Instance__acts_num_valid.ELLIB, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.ELLOB, OSAS_Sys_i_Instance__acts_num_valid.ELLOB, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.ELRIB, OSAS_Sys_i_Instance__acts_num_valid.ELRIB, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.ELROB, OSAS_Sys_i_Instance__acts_num_valid.ELROB, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.FLAPLI, OSAS_Sys_i_Instance__acts_num_valid.FLAPLI, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.FLAPLO, OSAS_Sys_i_Instance__acts_num_valid.FLAPLO, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.FLAPRI, OSAS_Sys_i_Instance__acts_num_valid.FLAPRI, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.FLAPRO, OSAS_Sys_i_Instance__acts_num_valid.FLAPRO, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.GEAR, OSAS_Sys_i_Instance__acts_num_valid.GEAR, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.RUDLO, OSAS_Sys_i_Instance__acts_num_valid.RUDLO, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.RUDUP, OSAS_Sys_i_Instance__acts_num_valid.RUDUP, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.SPLLIB, OSAS_Sys_i_Instance__acts_num_valid.SPLLIB, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.SPLLOB, OSAS_Sys_i_Instance__acts_num_valid.SPLLOB, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.SPLRIB, OSAS_Sys_i_Instance__acts_num_valid.SPLRIB, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.SPLROB, OSAS_Sys_i_Instance__acts_num_valid.SPLROB, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.STEER, OSAS_Sys_i_Instance__acts_num_valid.STEER, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.THROTR, OSAS_Sys_i_Instance__acts_num_valid.THROTR, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req_helper(OSAS_Sys_i_Instance__acts_gain.THROTL, OSAS_Sys_i_Instance__acts_num_valid.THROTL, OSAS_Sys_i_Instance__ccdl_failed));
tel;
node OSAS_S_190_240_250__req_helper(
OSAS_Sys_i_Instance__act_in : real;
OSAS_Sys_i_Instance__act_out : real;
OSAS_Sys_i_Instance__act_gain : real;
OSAS_Sys_i_Instance__act_claw_fail : bool;
OSAS_Sys_i_Instance__osas_fail : bool
) returns (
OSAS_Sys_i_Instance__res : bool
);
let
OSAS_Sys_i_Instance__res = (if (OSAS_Sys_i_Instance__act_gain = 1.0) then (OSAS_Sys_i_Instance__act_out = OSAS_Sys_i_Instance__act_in) else (if (OSAS_Sys_i_Instance__act_gain = 2.0) then (OSAS_Sys_i_Instance__act_out = (OSAS_Sys_i_Instance__act_in * 2.0)) else (if (OSAS_Sys_i_Instance__act_gain = (4.0 / 3.0)) then (OSAS_Sys_i_Instance__act_out = ((OSAS_Sys_i_Instance__act_in * 4.0) / 3.0)) else (if (OSAS_Sys_i_Instance__act_gain = 4.0) then (OSAS_Sys_i_Instance__act_out = (OSAS_Sys_i_Instance__act_in * 4.0)) else (OSAS_Sys_i_Instance__act_out = 0.0)))));
tel;
node OSAS_S_190_240_250__req(
OSAS_Sys_i_Instance__acts_in : DATA_TYPES__Actuators__impl;
OSAS_Sys_i_Instance__acts_out : DATA_TYPES__Actuators__impl;
OSAS_Sys_i_Instance__acts_gain : DATA_TYPES__Actuators__impl;
OSAS_Sys_i_Instance__acts_claw_fail : DATA_TYPES__BoolActuators__impl;
OSAS_Sys_i_Instance__osas_failed : bool
) returns (
OSAS_Sys_i_Instance__res : bool
);
let
OSAS_Sys_i_Instance__res = ((((((((((((((((((((OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.AILL, OSAS_Sys_i_Instance__acts_out.AILL, OSAS_Sys_i_Instance__acts_gain.AILL, OSAS_Sys_i_Instance__acts_claw_fail.AILL, OSAS_Sys_i_Instance__osas_failed) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.AILR, OSAS_Sys_i_Instance__acts_out.AILR, OSAS_Sys_i_Instance__acts_gain.AILR, OSAS_Sys_i_Instance__acts_claw_fail.AILR, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.BRAKE, OSAS_Sys_i_Instance__acts_out.BRAKE, OSAS_Sys_i_Instance__acts_gain.BRAKE, OSAS_Sys_i_Instance__acts_claw_fail.BRAKE, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.ELLIB, OSAS_Sys_i_Instance__acts_out.ELLIB, OSAS_Sys_i_Instance__acts_gain.ELLIB, OSAS_Sys_i_Instance__acts_claw_fail.ELLIB, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.ELLOB, OSAS_Sys_i_Instance__acts_out.ELLOB, OSAS_Sys_i_Instance__acts_gain.ELLOB, OSAS_Sys_i_Instance__acts_claw_fail.ELLOB, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.ELRIB, OSAS_Sys_i_Instance__acts_out.ELRIB, OSAS_Sys_i_Instance__acts_gain.ELRIB, OSAS_Sys_i_Instance__acts_claw_fail.ELRIB, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.ELROB, OSAS_Sys_i_Instance__acts_out.ELROB, OSAS_Sys_i_Instance__acts_gain.ELROB, OSAS_Sys_i_Instance__acts_claw_fail.ELROB, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.FLAPLI, OSAS_Sys_i_Instance__acts_out.FLAPLI, OSAS_Sys_i_Instance__acts_gain.FLAPLI, OSAS_Sys_i_Instance__acts_claw_fail.FLAPLI, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.FLAPLO, OSAS_Sys_i_Instance__acts_out.FLAPLO, OSAS_Sys_i_Instance__acts_gain.FLAPLO, OSAS_Sys_i_Instance__acts_claw_fail.FLAPLO, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.FLAPRI, OSAS_Sys_i_Instance__acts_out.FLAPRI, OSAS_Sys_i_Instance__acts_gain.FLAPRI, OSAS_Sys_i_Instance__acts_claw_fail.FLAPRI, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.FLAPRO, OSAS_Sys_i_Instance__acts_out.FLAPRO, OSAS_Sys_i_Instance__acts_gain.FLAPRO, OSAS_Sys_i_Instance__acts_claw_fail.FLAPRO, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.GEAR, OSAS_Sys_i_Instance__acts_out.GEAR, OSAS_Sys_i_Instance__acts_gain.GEAR, OSAS_Sys_i_Instance__acts_claw_fail.GEAR, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.RUDLO, OSAS_Sys_i_Instance__acts_out.RUDLO, OSAS_Sys_i_Instance__acts_gain.RUDLO, OSAS_Sys_i_Instance__acts_claw_fail.RUDLO, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.RUDUP, OSAS_Sys_i_Instance__acts_out.RUDUP, OSAS_Sys_i_Instance__acts_gain.RUDUP, OSAS_Sys_i_Instance__acts_claw_fail.RUDUP, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.SPLLIB, OSAS_Sys_i_Instance__acts_out.SPLLIB, OSAS_Sys_i_Instance__acts_gain.SPLLIB, OSAS_Sys_i_Instance__acts_claw_fail.SPLLIB, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.SPLLOB, OSAS_Sys_i_Instance__acts_out.SPLLOB, OSAS_Sys_i_Instance__acts_gain.SPLLOB, OSAS_Sys_i_Instance__acts_claw_fail.SPLLOB, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.SPLRIB, OSAS_Sys_i_Instance__acts_out.SPLRIB, OSAS_Sys_i_Instance__acts_gain.SPLRIB, OSAS_Sys_i_Instance__acts_claw_fail.SPLRIB, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.SPLROB, OSAS_Sys_i_Instance__acts_out.SPLROB, OSAS_Sys_i_Instance__acts_gain.SPLROB, OSAS_Sys_i_Instance__acts_claw_fail.SPLROB, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.STEER, OSAS_Sys_i_Instance__acts_out.STEER, OSAS_Sys_i_Instance__acts_gain.STEER, OSAS_Sys_i_Instance__acts_claw_fail.STEER, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.THROTR, OSAS_Sys_i_Instance__acts_out.THROTR, OSAS_Sys_i_Instance__acts_gain.THROTR, OSAS_Sys_i_Instance__acts_claw_fail.THROTR, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_190_240_250__req_helper(OSAS_Sys_i_Instance__acts_in.THROTL, OSAS_Sys_i_Instance__acts_out.THROTL, OSAS_Sys_i_Instance__acts_gain.THROTL, OSAS_Sys_i_Instance__acts_claw_fail.THROTL, OSAS_Sys_i_Instance__osas_failed));
tel;
node OSAS_S_210_220_230__req_helper(
OSAS_Sys_i_Instance__sov1 : bool;
OSAS_Sys_i_Instance__sov2 : bool;
OSAS_Sys_i_Instance__isas_fail : bool;
OSAS_Sys_i_Instance__latched_fail : bool;
OSAS_Sys_i_Instance__ccdl_num_fail : int
) returns (
OSAS_Sys_i_Instance__res : bool
);
let
OSAS_Sys_i_Instance__res = (((OSAS_Sys_i_Instance__sov1 = OSAS_Sys_i_Instance__sov2) and (OSAS_Sys_i_Instance__sov1 = true)) -> (if OSAS_Sys_i_Instance__isas_fail then false else (if (OSAS_Sys_i_Instance__latched_fail and (OSAS_Sys_i_Instance__ccdl_num_fail >= 2)) then false else (pre OSAS_Sys_i_Instance__sov1))));
tel;
node OSAS_S_210_220_230__req(
OSAS_Sys_i_Instance__sovs1 : DATA_TYPES__BoolActuators__impl;
OSAS_Sys_i_Instance__sovs2 : DATA_TYPES__BoolActuators__impl;
OSAS_Sys_i_Instance__isas_fails : DATA_TYPES__BoolActuators__impl;
OSAS_Sys_i_Instance__latched_fails : DATA_TYPES__BoolActuators__impl;
OSAS_Sys_i_Instance__ccdl_num_fails : DATA_TYPES__NumActuators__impl
) returns (
OSAS_Sys_i_Instance__res : bool
);
let
OSAS_Sys_i_Instance__res = ((((((((((((((((((((OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.AILL, OSAS_Sys_i_Instance__sovs2.AILL, OSAS_Sys_i_Instance__isas_fails.AILL, OSAS_Sys_i_Instance__latched_fails.AILL, OSAS_Sys_i_Instance__ccdl_num_fails.AILL) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.AILR, OSAS_Sys_i_Instance__sovs2.AILR, OSAS_Sys_i_Instance__isas_fails.AILR, OSAS_Sys_i_Instance__latched_fails.AILR, OSAS_Sys_i_Instance__ccdl_num_fails.AILR)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.BRAKE, OSAS_Sys_i_Instance__sovs2.BRAKE, OSAS_Sys_i_Instance__isas_fails.BRAKE, OSAS_Sys_i_Instance__latched_fails.BRAKE, OSAS_Sys_i_Instance__ccdl_num_fails.BRAKE)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.ELLIB, OSAS_Sys_i_Instance__sovs2.ELLIB, OSAS_Sys_i_Instance__isas_fails.ELLIB, OSAS_Sys_i_Instance__latched_fails.ELLIB, OSAS_Sys_i_Instance__ccdl_num_fails.ELLIB)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.ELLOB, OSAS_Sys_i_Instance__sovs2.ELLOB, OSAS_Sys_i_Instance__isas_fails.ELLOB, OSAS_Sys_i_Instance__latched_fails.ELLOB, OSAS_Sys_i_Instance__ccdl_num_fails.ELLOB)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.ELRIB, OSAS_Sys_i_Instance__sovs2.ELRIB, OSAS_Sys_i_Instance__isas_fails.ELRIB, OSAS_Sys_i_Instance__latched_fails.ELRIB, OSAS_Sys_i_Instance__ccdl_num_fails.ELRIB)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.ELROB, OSAS_Sys_i_Instance__sovs2.ELROB, OSAS_Sys_i_Instance__isas_fails.ELROB, OSAS_Sys_i_Instance__latched_fails.ELROB, OSAS_Sys_i_Instance__ccdl_num_fails.ELROB)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.FLAPLI, OSAS_Sys_i_Instance__sovs2.FLAPLI, OSAS_Sys_i_Instance__isas_fails.FLAPLI, OSAS_Sys_i_Instance__latched_fails.FLAPLI, OSAS_Sys_i_Instance__ccdl_num_fails.FLAPLI)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.FLAPLO, OSAS_Sys_i_Instance__sovs2.FLAPLO, OSAS_Sys_i_Instance__isas_fails.FLAPLO, OSAS_Sys_i_Instance__latched_fails.FLAPLO, OSAS_Sys_i_Instance__ccdl_num_fails.FLAPLO)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.FLAPRI, OSAS_Sys_i_Instance__sovs2.FLAPRI, OSAS_Sys_i_Instance__isas_fails.FLAPRI, OSAS_Sys_i_Instance__latched_fails.FLAPRI, OSAS_Sys_i_Instance__ccdl_num_fails.FLAPRI)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.FLAPRO, OSAS_Sys_i_Instance__sovs2.FLAPRO, OSAS_Sys_i_Instance__isas_fails.FLAPRO, OSAS_Sys_i_Instance__latched_fails.FLAPRO, OSAS_Sys_i_Instance__ccdl_num_fails.FLAPRO)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.GEAR, OSAS_Sys_i_Instance__sovs2.GEAR, OSAS_Sys_i_Instance__isas_fails.GEAR, OSAS_Sys_i_Instance__latched_fails.GEAR, OSAS_Sys_i_Instance__ccdl_num_fails.GEAR)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.RUDLO, OSAS_Sys_i_Instance__sovs2.RUDLO, OSAS_Sys_i_Instance__isas_fails.RUDLO, OSAS_Sys_i_Instance__latched_fails.RUDLO, OSAS_Sys_i_Instance__ccdl_num_fails.RUDLO)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.RUDUP, OSAS_Sys_i_Instance__sovs2.RUDUP, OSAS_Sys_i_Instance__isas_fails.RUDUP, OSAS_Sys_i_Instance__latched_fails.RUDUP, OSAS_Sys_i_Instance__ccdl_num_fails.RUDUP)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.SPLLIB, OSAS_Sys_i_Instance__sovs2.SPLLIB, OSAS_Sys_i_Instance__isas_fails.SPLLIB, OSAS_Sys_i_Instance__latched_fails.SPLLIB, OSAS_Sys_i_Instance__ccdl_num_fails.SPLLIB)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.SPLLOB, OSAS_Sys_i_Instance__sovs2.SPLLOB, OSAS_Sys_i_Instance__isas_fails.SPLLOB, OSAS_Sys_i_Instance__latched_fails.SPLLOB, OSAS_Sys_i_Instance__ccdl_num_fails.SPLLOB)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.SPLRIB, OSAS_Sys_i_Instance__sovs2.SPLRIB, OSAS_Sys_i_Instance__isas_fails.SPLRIB, OSAS_Sys_i_Instance__latched_fails.SPLRIB, OSAS_Sys_i_Instance__ccdl_num_fails.SPLRIB)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.SPLROB, OSAS_Sys_i_Instance__sovs2.SPLROB, OSAS_Sys_i_Instance__isas_fails.SPLROB, OSAS_Sys_i_Instance__latched_fails.SPLROB, OSAS_Sys_i_Instance__ccdl_num_fails.SPLROB)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.STEER, OSAS_Sys_i_Instance__sovs2.STEER, OSAS_Sys_i_Instance__isas_fails.STEER, OSAS_Sys_i_Instance__latched_fails.STEER, OSAS_Sys_i_Instance__ccdl_num_fails.STEER)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.THROTR, OSAS_Sys_i_Instance__sovs2.THROTR, OSAS_Sys_i_Instance__isas_fails.THROTR, OSAS_Sys_i_Instance__latched_fails.THROTR, OSAS_Sys_i_Instance__ccdl_num_fails.THROTR)) and OSAS_S_210_220_230__req_helper(OSAS_Sys_i_Instance__sovs1.THROTL, OSAS_Sys_i_Instance__sovs2.THROTL, OSAS_Sys_i_Instance__isas_fails.THROTL, OSAS_Sys_i_Instance__latched_fails.THROTL, OSAS_Sys_i_Instance__ccdl_num_fails.THROTL));
tel;
node _MAIN(
OSAS_Sys_i_Instance__acts_in : DATA_TYPES__Actuators__impl;
OSAS_Sys_i_Instance__sovs1 : DATA_TYPES__BoolActuators__impl;
OSAS_Sys_i_Instance__sovs2 : DATA_TYPES__BoolActuators__impl;
OSAS_Sys_i_Instance__num_valid_acts : DATA_TYPES__NumActuators__impl;
OSAS_Sys_i_Instance__acts_claw_fail : DATA_TYPES__BoolActuators__impl;
OSAS_Sys_i_Instance__acts_ret : DATA_TYPES__Actuators__impl;
OSAS_Sys_i_Instance__osas_failed : bool;
OSAS_Sys_i_Instance__act_claw_fails : DATA_TYPES__BoolActuators__impl;
OSAS_Sys_i_Instance__latched_failures : DATA_TYPES__BoolActuators__impl;
OSAS_Sys_i_Instance__acts_out : DATA_TYPES__Actuators__impl;
OSAS_Sys_i_Instance__acts_isas_fail : DATA_TYPES__BoolActuators__impl;
OSAS_Sys_i_Instance__act_gains : DATA_TYPES__Actuators__impl;
OSAS_Sys_i_Instance__fail_counts : DATA_TYPES__NumActuators__impl;
OSAS_Sys_i_Instance__acts_ccdl_num_fail : DATA_TYPES__NumActuators__impl;
OSAS_Sys_i_Instance__ccdl_frame_count : int;
OSAS_Sys_i_Instance__ccdl_failed : bool;
OSAS_Sys_i_Instance__acts_fail : DATA_TYPES__BoolActuators__impl
) returns (
);
var
_TOTAL_COMP_HIST : bool;
_SYSTEM_ASSUMP_HIST : bool;
__CONSIST_COUNTER : int;
_SYS_GUARANTEE_0 : bool;
_SYS_GUARANTEE_1 : bool;
_SYS_GUARANTEE_2 : bool;
_SYS_GUARANTEE_3 : bool;
_SYS_GUARANTEE_4 : bool;
_SYS_GUARANTEE_5 : bool;
_SYS_GUARANTEE_6 : bool;
_SYS_GUARANTEE_7 : bool;
_SYS_GUARANTEE_8 : bool;
_TOTAL_COMP_FINITE_CONSIST : bool;
_THIS_CONTRACT_CONSIST : bool;
_THIS_CONTRACT_HIST : bool;
let
--%MAIN
_TOTAL_COMP_HIST = ((true and (true and true)) -> ((true and (true and true)) and (pre _TOTAL_COMP_HIST)));
_SYSTEM_ASSUMP_HIST = ((true and true) -> ((true and true) and (pre _SYSTEM_ASSUMP_HIST)));
__CONSIST_COUNTER = (0 -> ((pre __CONSIST_COUNTER) + 1));
_SYS_GUARANTEE_0 = ((_SYSTEM_ASSUMP_HIST and _TOTAL_COMP_HIST) => OSAS_S_110__req(OSAS_Sys_i_Instance__acts_out, OSAS_Sys_i_Instance__acts_ret, OSAS_Sys_i_Instance__fail_counts));
_SYS_GUARANTEE_1 = ((_SYSTEM_ASSUMP_HIST and _TOTAL_COMP_HIST) => OSAS_S_120__req(OSAS_Sys_i_Instance__acts_out, OSAS_Sys_i_Instance__acts_ret, OSAS_Sys_i_Instance__latched_failures));
_SYS_GUARANTEE_2 = ((_SYSTEM_ASSUMP_HIST and _TOTAL_COMP_HIST) => OSAS_S_140__req(OSAS_Sys_i_Instance__acts_out, OSAS_Sys_i_Instance__latched_failures));
_SYS_GUARANTEE_3 = ((_SYSTEM_ASSUMP_HIST and _TOTAL_COMP_HIST) => (true -> (OSAS_Sys_i_Instance__ccdl_failed = (OSAS_Sys_i_Instance__ccdl_frame_count <> ((pre OSAS_Sys_i_Instance__ccdl_frame_count) + 1)))));
_SYS_GUARANTEE_4 = ((_SYSTEM_ASSUMP_HIST and _TOTAL_COMP_HIST) => OSAS_S_170__req(OSAS_Sys_i_Instance__act_gains, OSAS_Sys_i_Instance__ccdl_failed));
_SYS_GUARANTEE_5 = ((_SYSTEM_ASSUMP_HIST and _TOTAL_COMP_HIST) => OSAS_S_180__req(OSAS_Sys_i_Instance__act_gains, OSAS_Sys_i_Instance__num_valid_acts, OSAS_Sys_i_Instance__ccdl_failed));
_SYS_GUARANTEE_6 = ((_SYSTEM_ASSUMP_HIST and _TOTAL_COMP_HIST) => OSAS_S_190_240_250__req(OSAS_Sys_i_Instance__acts_in, OSAS_Sys_i_Instance__acts_out, OSAS_Sys_i_Instance__act_gains, OSAS_Sys_i_Instance__act_claw_fails, OSAS_Sys_i_Instance__osas_failed));
_SYS_GUARANTEE_7 = ((_SYSTEM_ASSUMP_HIST and _TOTAL_COMP_HIST) => OSAS_S_210_220_230__req(OSAS_Sys_i_Instance__sovs1, OSAS_Sys_i_Instance__sovs2, OSAS_Sys_i_Instance__acts_isas_fail, OSAS_Sys_i_Instance__latched_failures, OSAS_Sys_i_Instance__acts_ccdl_num_fail));
_SYS_GUARANTEE_8 = ((_SYSTEM_ASSUMP_HIST and _TOTAL_COMP_HIST) => (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((OSAS_Sys_i_Instance__acts_ccdl_num_fail.AILL = 0) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.AILR = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.BRAKE = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.ELLIB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.ELLOB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.ELRIB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.ELROB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.FLAPLI = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.FLAPLO = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.FLAPRI = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.FLAPRO = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.GEAR = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.RUDLO = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.RUDUP = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.SPLLIB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.SPLLOB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.SPLRIB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.SPLROB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.STEER = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.THROTL = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.THROTR = 0)) and (OSAS_Sys_i_Instance__acts_in.AILL = 1.0)) and (OSAS_Sys_i_Instance__acts_in.AILR = 1.0)) and (OSAS_Sys_i_Instance__acts_in.BRAKE = 1.0)) and (OSAS_Sys_i_Instance__acts_in.ELLIB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.ELLOB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.ELRIB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.ELROB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.FLAPLI = 1.0)) and (OSAS_Sys_i_Instance__acts_in.FLAPLO = 1.0)) and (OSAS_Sys_i_Instance__acts_in.FLAPRI = 1.0)) and (OSAS_Sys_i_Instance__acts_in.FLAPRO = 1.0)) and (OSAS_Sys_i_Instance__acts_in.GEAR = 1.0)) and (OSAS_Sys_i_Instance__acts_in.RUDLO = 1.0)) and (OSAS_Sys_i_Instance__acts_in.RUDUP = 1.0)) and (OSAS_Sys_i_Instance__acts_in.SPLLIB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.SPLLOB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.SPLRIB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.SPLROB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.STEER = 1.0)) and (OSAS_Sys_i_Instance__acts_in.THROTL = 1.0)) and (OSAS_Sys_i_Instance__acts_in.THROTR = 1.0)) and (OSAS_Sys_i_Instance__acts_isas_fail.AILL = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.AILR = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.BRAKE = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.ELLIB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.ELLOB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.ELRIB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.ELROB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.FLAPLI = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.FLAPLO = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.FLAPRI = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.FLAPRO = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.GEAR = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.RUDLO = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.RUDUP = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.SPLLIB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.SPLLOB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.SPLRIB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.SPLROB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.STEER = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.THROTL = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.THROTR = false)) and (OSAS_Sys_i_Instance__acts_ret.AILL = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.AILR = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.BRAKE = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.ELLIB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.ELLOB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.ELRIB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.ELROB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.FLAPLI = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.FLAPLO = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.FLAPRI = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.FLAPRO = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.GEAR = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.RUDLO = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.RUDUP = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.SPLLIB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.SPLLOB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.SPLRIB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.SPLROB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.STEER = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.THROTL = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.THROTR = 1.0)) and (OSAS_Sys_i_Instance__num_valid_acts.AILL = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.AILR = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.BRAKE = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.ELLIB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.ELLOB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.ELRIB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.ELROB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.FLAPLI = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.FLAPLO = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.FLAPRI = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.FLAPRO = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.GEAR = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.RUDLO = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.RUDUP = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.SPLLIB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.SPLLOB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.SPLRIB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.SPLROB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.STEER = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.THROTL = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.THROTR = 0)));
_TOTAL_COMP_FINITE_CONSIST = (not ((((_TOTAL_COMP_HIST -> (pre _TOTAL_COMP_HIST)) -> (pre (_TOTAL_COMP_HIST -> (pre _TOTAL_COMP_HIST)))) -> (pre ((_TOTAL_COMP_HIST -> (pre _TOTAL_COMP_HIST)) -> (pre (_TOTAL_COMP_HIST -> (pre _TOTAL_COMP_HIST)))))) -> (pre (((_TOTAL_COMP_HIST -> (pre _TOTAL_COMP_HIST)) -> (pre (_TOTAL_COMP_HIST -> (pre _TOTAL_COMP_HIST)))) -> (pre ((_TOTAL_COMP_HIST -> (pre _TOTAL_COMP_HIST)) -> (pre (_TOTAL_COMP_HIST -> (pre _TOTAL_COMP_HIST)))))))));
_THIS_CONTRACT_HIST = ((true and (((((((((true and OSAS_S_110__req(OSAS_Sys_i_Instance__acts_out, OSAS_Sys_i_Instance__acts_ret, OSAS_Sys_i_Instance__fail_counts)) and OSAS_S_120__req(OSAS_Sys_i_Instance__acts_out, OSAS_Sys_i_Instance__acts_ret, OSAS_Sys_i_Instance__latched_failures)) and OSAS_S_140__req(OSAS_Sys_i_Instance__acts_out, OSAS_Sys_i_Instance__latched_failures)) and (true -> (OSAS_Sys_i_Instance__ccdl_failed = (OSAS_Sys_i_Instance__ccdl_frame_count <> ((pre OSAS_Sys_i_Instance__ccdl_frame_count) + 1))))) and OSAS_S_170__req(OSAS_Sys_i_Instance__act_gains, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req(OSAS_Sys_i_Instance__act_gains, OSAS_Sys_i_Instance__num_valid_acts, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_190_240_250__req(OSAS_Sys_i_Instance__acts_in, OSAS_Sys_i_Instance__acts_out, OSAS_Sys_i_Instance__act_gains, OSAS_Sys_i_Instance__act_claw_fails, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_210_220_230__req(OSAS_Sys_i_Instance__sovs1, OSAS_Sys_i_Instance__sovs2, OSAS_Sys_i_Instance__acts_isas_fail, OSAS_Sys_i_Instance__latched_failures, OSAS_Sys_i_Instance__acts_ccdl_num_fail)) and (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((OSAS_Sys_i_Instance__acts_ccdl_num_fail.AILL = 0) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.AILR = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.BRAKE = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.ELLIB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.ELLOB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.ELRIB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.ELROB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.FLAPLI = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.FLAPLO = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.FLAPRI = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.FLAPRO = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.GEAR = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.RUDLO = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.RUDUP = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.SPLLIB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.SPLLOB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.SPLRIB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.SPLROB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.STEER = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.THROTL = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.THROTR = 0)) and (OSAS_Sys_i_Instance__acts_in.AILL = 1.0)) and (OSAS_Sys_i_Instance__acts_in.AILR = 1.0)) and (OSAS_Sys_i_Instance__acts_in.BRAKE = 1.0)) and (OSAS_Sys_i_Instance__acts_in.ELLIB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.ELLOB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.ELRIB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.ELROB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.FLAPLI = 1.0)) and (OSAS_Sys_i_Instance__acts_in.FLAPLO = 1.0)) and (OSAS_Sys_i_Instance__acts_in.FLAPRI = 1.0)) and (OSAS_Sys_i_Instance__acts_in.FLAPRO = 1.0)) and (OSAS_Sys_i_Instance__acts_in.GEAR = 1.0)) and (OSAS_Sys_i_Instance__acts_in.RUDLO = 1.0)) and (OSAS_Sys_i_Instance__acts_in.RUDUP = 1.0)) and (OSAS_Sys_i_Instance__acts_in.SPLLIB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.SPLLOB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.SPLRIB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.SPLROB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.STEER = 1.0)) and (OSAS_Sys_i_Instance__acts_in.THROTL = 1.0)) and (OSAS_Sys_i_Instance__acts_in.THROTR = 1.0)) and (OSAS_Sys_i_Instance__acts_isas_fail.AILL = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.AILR = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.BRAKE = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.ELLIB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.ELLOB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.ELRIB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.ELROB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.FLAPLI = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.FLAPLO = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.FLAPRI = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.FLAPRO = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.GEAR = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.RUDLO = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.RUDUP = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.SPLLIB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.SPLLOB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.SPLRIB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.SPLROB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.STEER = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.THROTL = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.THROTR = false)) and (OSAS_Sys_i_Instance__acts_ret.AILL = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.AILR = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.BRAKE = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.ELLIB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.ELLOB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.ELRIB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.ELROB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.FLAPLI = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.FLAPLO = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.FLAPRI = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.FLAPRO = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.GEAR = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.RUDLO = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.RUDUP = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.SPLLIB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.SPLLOB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.SPLRIB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.SPLROB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.STEER = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.THROTL = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.THROTR = 1.0)) and (OSAS_Sys_i_Instance__num_valid_acts.AILL = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.AILR = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.BRAKE = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.ELLIB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.ELLOB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.ELRIB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.ELROB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.FLAPLI = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.FLAPLO = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.FLAPRI = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.FLAPRO = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.GEAR = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.RUDLO = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.RUDUP = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.SPLLIB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.SPLLOB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.SPLRIB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.SPLROB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.STEER = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.THROTL = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.THROTR = 0)))) -> ((true and (((((((((true and OSAS_S_110__req(OSAS_Sys_i_Instance__acts_out, OSAS_Sys_i_Instance__acts_ret, OSAS_Sys_i_Instance__fail_counts)) and OSAS_S_120__req(OSAS_Sys_i_Instance__acts_out, OSAS_Sys_i_Instance__acts_ret, OSAS_Sys_i_Instance__latched_failures)) and OSAS_S_140__req(OSAS_Sys_i_Instance__acts_out, OSAS_Sys_i_Instance__latched_failures)) and (true -> (OSAS_Sys_i_Instance__ccdl_failed = (OSAS_Sys_i_Instance__ccdl_frame_count <> ((pre OSAS_Sys_i_Instance__ccdl_frame_count) + 1))))) and OSAS_S_170__req(OSAS_Sys_i_Instance__act_gains, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_180__req(OSAS_Sys_i_Instance__act_gains, OSAS_Sys_i_Instance__num_valid_acts, OSAS_Sys_i_Instance__ccdl_failed)) and OSAS_S_190_240_250__req(OSAS_Sys_i_Instance__acts_in, OSAS_Sys_i_Instance__acts_out, OSAS_Sys_i_Instance__act_gains, OSAS_Sys_i_Instance__act_claw_fails, OSAS_Sys_i_Instance__osas_failed)) and OSAS_S_210_220_230__req(OSAS_Sys_i_Instance__sovs1, OSAS_Sys_i_Instance__sovs2, OSAS_Sys_i_Instance__acts_isas_fail, OSAS_Sys_i_Instance__latched_failures, OSAS_Sys_i_Instance__acts_ccdl_num_fail)) and (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((OSAS_Sys_i_Instance__acts_ccdl_num_fail.AILL = 0) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.AILR = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.BRAKE = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.ELLIB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.ELLOB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.ELRIB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.ELROB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.FLAPLI = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.FLAPLO = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.FLAPRI = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.FLAPRO = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.GEAR = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.RUDLO = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.RUDUP = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.SPLLIB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.SPLLOB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.SPLRIB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.SPLROB = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.STEER = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.THROTL = 0)) and (OSAS_Sys_i_Instance__acts_ccdl_num_fail.THROTR = 0)) and (OSAS_Sys_i_Instance__acts_in.AILL = 1.0)) and (OSAS_Sys_i_Instance__acts_in.AILR = 1.0)) and (OSAS_Sys_i_Instance__acts_in.BRAKE = 1.0)) and (OSAS_Sys_i_Instance__acts_in.ELLIB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.ELLOB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.ELRIB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.ELROB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.FLAPLI = 1.0)) and (OSAS_Sys_i_Instance__acts_in.FLAPLO = 1.0)) and (OSAS_Sys_i_Instance__acts_in.FLAPRI = 1.0)) and (OSAS_Sys_i_Instance__acts_in.FLAPRO = 1.0)) and (OSAS_Sys_i_Instance__acts_in.GEAR = 1.0)) and (OSAS_Sys_i_Instance__acts_in.RUDLO = 1.0)) and (OSAS_Sys_i_Instance__acts_in.RUDUP = 1.0)) and (OSAS_Sys_i_Instance__acts_in.SPLLIB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.SPLLOB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.SPLRIB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.SPLROB = 1.0)) and (OSAS_Sys_i_Instance__acts_in.STEER = 1.0)) and (OSAS_Sys_i_Instance__acts_in.THROTL = 1.0)) and (OSAS_Sys_i_Instance__acts_in.THROTR = 1.0)) and (OSAS_Sys_i_Instance__acts_isas_fail.AILL = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.AILR = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.BRAKE = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.ELLIB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.ELLOB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.ELRIB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.ELROB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.FLAPLI = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.FLAPLO = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.FLAPRI = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.FLAPRO = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.GEAR = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.RUDLO = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.RUDUP = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.SPLLIB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.SPLLOB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.SPLRIB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.SPLROB = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.STEER = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.THROTL = false)) and (OSAS_Sys_i_Instance__acts_isas_fail.THROTR = false)) and (OSAS_Sys_i_Instance__acts_ret.AILL = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.AILR = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.BRAKE = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.ELLIB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.ELLOB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.ELRIB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.ELROB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.FLAPLI = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.FLAPLO = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.FLAPRI = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.FLAPRO = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.GEAR = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.RUDLO = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.RUDUP = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.SPLLIB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.SPLLOB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.SPLRIB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.SPLROB = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.STEER = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.THROTL = 1.0)) and (OSAS_Sys_i_Instance__acts_ret.THROTR = 1.0)) and (OSAS_Sys_i_Instance__num_valid_acts.AILL = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.AILR = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.BRAKE = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.ELLIB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.ELLOB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.ELRIB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.ELROB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.FLAPLI = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.FLAPLO = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.FLAPRI = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.FLAPRO = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.GEAR = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.RUDLO = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.RUDUP = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.SPLLIB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.SPLLOB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.SPLRIB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.SPLROB = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.STEER = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.THROTL = 0)) and (OSAS_Sys_i_Instance__num_valid_acts.THROTR = 0)))) and (pre _THIS_CONTRACT_HIST)));
_THIS_CONTRACT_CONSIST = (not ((((_THIS_CONTRACT_HIST -> (pre _THIS_CONTRACT_HIST)) -> (pre (_THIS_CONTRACT_HIST -> (pre _THIS_CONTRACT_HIST)))) -> (pre ((_THIS_CONTRACT_HIST -> (pre _THIS_CONTRACT_HIST)) -> (pre (_THIS_CONTRACT_HIST -> (pre _THIS_CONTRACT_HIST)))))) -> (pre (((_THIS_CONTRACT_HIST -> (pre _THIS_CONTRACT_HIST)) -> (pre (_THIS_CONTRACT_HIST -> (pre _THIS_CONTRACT_HIST)))) -> (pre ((_THIS_CONTRACT_HIST -> (pre _THIS_CONTRACT_HIST)) -> (pre (_THIS_CONTRACT_HIST -> (pre _THIS_CONTRACT_HIST)))))))));
assert true;
assert true;
--%PROPERTY _SYS_GUARANTEE_0;
--%PROPERTY _SYS_GUARANTEE_1;
--%PROPERTY _SYS_GUARANTEE_2;
--%PROPERTY _SYS_GUARANTEE_3;
--%PROPERTY _SYS_GUARANTEE_4;
--%PROPERTY _SYS_GUARANTEE_5;
--%PROPERTY _SYS_GUARANTEE_6;
--%PROPERTY _SYS_GUARANTEE_7;
--%PROPERTY _SYS_GUARANTEE_8;
tel;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment