{ "requirements": [ { "reqid": "LPC_TB_STAY_ON_NEXT", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "Whenever lift_mode = thrust_borne & kgs <= 20.0 & hover_control_mode the vehicle shall at the next timepoint satisfy lift_mode = thrust_borne", "status": "", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "noTrigger", "timing": "next", "response": "satisfaction", "variables": [ "lift_mode", "thrust_borne", "kgs", "hover_control_mode" ], "qualifier_word": "whenever", "pre_condition": "(lift_mode = thrust_borne & kgs <= 20.0 & hover_control_mode)", "regular_condition": "(lift_mode = thrust_borne & kgs <= 20.0 & hover_control_mode)", "conditionTextRange": [ 0, 67 ], "component_name": "vehicle", "componentTextRange": [ 69, 79 ], "timingTextRange": [ 87, 107 ], "post_condition": "(lift_mode = thrust_borne)", "responseTextRange": [ 109, 140 ], "diagramVariables": "CC = (lift_mode = thrust_borne & kgs <= 20.0 & hover_control_mode), Response = (lift_mode = thrust_borne).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: every point in the interval where (lift_mode = thrust_borne & kgs <= 20.0 & hover_control_mode) is true.\nREQUIRES: for every trigger, RES must hold at the next time step.", "diagram": "_media/user-interface/examples/svgDiagrams/null_noTrigger_next_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_ft": "BAD_FT", "regular_condition_unexp_pt": "(((lift_mode = thrust_borne) & (kgs <= 20.0)) & hover_control_mode)", "regular_condition_unexp_ft": "(((lift_mode = thrust_borne) & (kgs <= 20.0)) & hover_control_mode)", "regular_condition_SMV_pt": "(((lift_mode = thrust_borne) & (kgs <= 20.0)) & hover_control_mode)", "regular_condition_SMV_ft": "(((lift_mode = thrust_borne) & (kgs <= 20.0)) & hover_control_mode)", "post_condition_unexp_pt": "(lift_mode = thrust_borne)", "post_condition_unexp_ft": "(lift_mode = thrust_borne)", "post_condition_SMV_pt": "(lift_mode = thrust_borne)", "post_condition_SMV_ft": "(lift_mode = thrust_borne)", "ft_fetched": "(LAST V ($regular_condition_unexp_ft$ -> (LAST | (X $post_condition_unexp_ft$))))", "ft": "(LAST V ((((lift_mode = thrust_borne) & (kgs <= 20.0)) & hover_control_mode) -> (LAST | (X (lift_mode = thrust_borne)))))", "pt_fetched": "(H ((Y $regular_condition_unexp_pt$) -> ($post_condition_unexp_pt$ | FTP)))", "pt": "(H ((Y (((lift_mode = thrust_borne) & (kgs <= 20.0)) & hover_control_mode)) -> ((lift_mode = thrust_borne) | FTP)))", "ptExpanded_fetched": "(H ((Y $regular_condition_SMV_pt$) -> ($post_condition_SMV_pt$ | (! (Y TRUE)))))", "ptExpanded": "(H ((Y (((lift_mode = thrust_borne) & (kgs <= 20.0)) & hover_control_mode)) -> ((lift_mode = thrust_borne) | (! (Y TRUE)))))", "CoCoSpecCode": "H((YtoPre((((lift_mode = thrust_borne) and (kgs <= 20.0)) and hover_control_mode)) => ((lift_mode = thrust_borne) or not (YtoPre(true)))))", "ftExpanded_fetched": "(LAST V ($regular_condition_SMV_ft$ -> (LAST | (X $post_condition_SMV_ft$))))", "ftExpandedUnoptimized": "(LAST V ((((lift_mode = thrust_borne) & (kgs <= 20.0)) & hover_control_mode) -> (LAST | (X (lift_mode = thrust_borne)))))", "ftExpanded": "(LAST V ((((lift_mode = thrust_borne) & (kgs <= 20.0)) & hover_control_mode) -> (LAST | (X (lift_mode = thrust_borne)))))", "ftInfAUExpanded_fetched": "(G ($regular_condition_SMV_ft$ -> (X $post_condition_SMV_ft$)))", "ftInfAUExpanded": "(G ((((lift_mode = thrust_borne) & (kgs <= 20.0)) & hover_control_mode) -> (X (lift_mode = thrust_borne))))", "component": "vehicle" }, "_id": "LPC_TB_STAY_ON_NEXT" }, { "reqid": "LPC_STB_STAY_ON_NEXT", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "Whenever lift_mode = semi_thrust_borne & kias <= 40.0 & (kgs > 20.0 | !hover_control_mode) the vehicle shall at the next timepoint satisfy lift_mode = semi_thrust_borne", "status": "", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "noTrigger", "timing": "next", "response": "satisfaction", "variables": [ "lift_mode", "semi_thrust_borne", "kias", "kgs", "hover_control_mode" ], "qualifier_word": "whenever", "pre_condition": "(lift_mode = semi_thrust_borne & kias <= 40.0 & ( kgs > 20.0 | ! hover_control_mode ))", "regular_condition": "(lift_mode = semi_thrust_borne & kias <= 40.0 & ( kgs > 20.0 | ! hover_control_mode ))", "conditionTextRange": [ 0, 89 ], "component_name": "vehicle", "componentTextRange": [ 91, 101 ], "timingTextRange": [ 109, 129 ], "post_condition": "(lift_mode = semi_thrust_borne)", "responseTextRange": [ 131, 167 ], "diagramVariables": "CC = (lift_mode = semi_thrust_borne & kias <= 40.0 & ( kgs > 20.0 | ! hover_control_mode )), Response = (lift_mode = semi_thrust_borne).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: every point in the interval where (lift_mode = semi_thrust_borne & kias <= 40.0 & ( kgs > 20.0 | ! hover_control_mode )) is true.\nREQUIRES: for every trigger, RES must hold at the next time step.", "diagram": "_media/user-interface/examples/svgDiagrams/null_noTrigger_next_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_ft": "BAD_FT", "regular_condition_unexp_pt": "(((lift_mode = semi_thrust_borne) & (kias <= 40.0)) & ((kgs > 20.0) | (! hover_control_mode)))", "regular_condition_unexp_ft": "(((lift_mode = semi_thrust_borne) & (kias <= 40.0)) & ((kgs > 20.0) | (! hover_control_mode)))", "regular_condition_SMV_pt": "(((lift_mode = semi_thrust_borne) & (kias <= 40.0)) & ((kgs > 20.0) | (! hover_control_mode)))", "regular_condition_SMV_ft": "(((lift_mode = semi_thrust_borne) & (kias <= 40.0)) & ((kgs > 20.0) | (! hover_control_mode)))", "post_condition_unexp_pt": "(lift_mode = semi_thrust_borne)", "post_condition_unexp_ft": "(lift_mode = semi_thrust_borne)", "post_condition_SMV_pt": "(lift_mode = semi_thrust_borne)", "post_condition_SMV_ft": "(lift_mode = semi_thrust_borne)", "ft_fetched": "(LAST V ($regular_condition_unexp_ft$ -> (LAST | (X $post_condition_unexp_ft$))))", "ft": "(LAST V ((((lift_mode = semi_thrust_borne) & (kias <= 40.0)) & ((kgs > 20.0) | (! hover_control_mode))) -> (LAST | (X (lift_mode = semi_thrust_borne)))))", "pt_fetched": "(H ((Y $regular_condition_unexp_pt$) -> ($post_condition_unexp_pt$ | FTP)))", "pt": "(H ((Y (((lift_mode = semi_thrust_borne) & (kias <= 40.0)) & ((kgs > 20.0) | (! hover_control_mode)))) -> ((lift_mode = semi_thrust_borne) | FTP)))", "ptExpanded_fetched": "(H ((Y $regular_condition_SMV_pt$) -> ($post_condition_SMV_pt$ | (! (Y TRUE)))))", "ptExpanded": "(H ((Y (((lift_mode = semi_thrust_borne) & (kias <= 40.0)) & ((kgs > 20.0) | (! hover_control_mode)))) -> ((lift_mode = semi_thrust_borne) | (! (Y TRUE)))))", "CoCoSpecCode": "H((YtoPre((((lift_mode = semi_thrust_borne) and (kias <= 40.0)) and ((kgs > 20.0) or not (hover_control_mode)))) => ((lift_mode = semi_thrust_borne) or not (YtoPre(true)))))", "ftExpanded_fetched": "(LAST V ($regular_condition_SMV_ft$ -> (LAST | (X $post_condition_SMV_ft$))))", "ftExpandedUnoptimized": "(LAST V ((((lift_mode = semi_thrust_borne) & (kias <= 40.0)) & ((kgs > 20.0) | (! hover_control_mode))) -> (LAST | (X (lift_mode = semi_thrust_borne)))))", "ftExpanded": "(LAST V ((((lift_mode = semi_thrust_borne) & (kias <= 40.0)) & ((kgs > 20.0) | (! hover_control_mode))) -> (LAST | (X (lift_mode = semi_thrust_borne)))))", "ftInfAUExpanded_fetched": "(G ($regular_condition_SMV_ft$ -> (X $post_condition_SMV_ft$)))", "ftInfAUExpanded": "(G ((((lift_mode = semi_thrust_borne) & (kias <= 40.0)) & ((kgs > 20.0) | (! hover_control_mode))) -> (X (lift_mode = semi_thrust_borne))))", "component": "vehicle" }, "_id": "LPC_STB_STAY_ON_NEXT" }, { "reqid": "LPC_REACH_HOVER_12", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "The vehicle shall within 12 ticks satisfy lift_mode = thrust_borne", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "null", "timing": "within", "response": "satisfaction", "variables": [ "lift_mode", "thrust_borne" ], "component_name": "vehicle", "componentTextRange": [ 0, 10 ], "duration": "12", "timingTextRange": [ 18, 32 ], "post_condition": "(lift_mode = thrust_borne)", "responseTextRange": [ 34, 65 ], "diagramVariables": " n = 12, Response = (lift_mode = thrust_borne).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: first point in the interval.\nREQUIRES: for every trigger, RES must hold at some point with distance <= 12 from the trigger (i.e., at trigger, trigger+1, ..., or trigger+12). If the interval ends sooner than trigger+12, then RES need not hold.", "diagram": "_media/user-interface/examples/svgDiagrams/null_null_within_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_coco": "BAD_COCO", "scope_mode_ft": "BAD_FT", "post_condition_unexp_pt": "(lift_mode = thrust_borne)", "post_condition_unexp_ft": "(lift_mode = thrust_borne)", "post_condition_SMV_pt": "(lift_mode = thrust_borne)", "post_condition_SMV_ft": "(lift_mode = thrust_borne)", "post_condition_coco_smv": "(lift_mode = thrust_borne)", "post_condition_coco": "(lift_mode = thrust_borne)", "ft_fetched": "((F[<=$duration$] $post_condition_unexp_ft$) | (F[<$duration$] LAST))", "ft": "((F[<=12] (lift_mode = thrust_borne)) | (F[<12] LAST))", "pt_fetched": "(H ((H (! $post_condition_unexp_pt$)) -> (O[<$duration$] FTP)))", "pt": "(H ((H (! (lift_mode = thrust_borne))) -> (O[<12] FTP)))", "ptExpanded_fetched": "(H ((H (! $post_condition_SMV_pt$)) -> (O[<$duration$] (! (Y TRUE)))))", "ptExpanded": "(H ((H (! (lift_mode = thrust_borne))) -> (O[0,11] (! (Y TRUE)))))", "ptFinBtwExpanded_fetched": "(H ((H (! $post_condition_SMV_pt$)) -> (O[<$duration$] (! (Y TRUE)))))", "ptFinBtwExpanded": "(H ((H (! (lift_mode = thrust_borne))) -> (O[0,11] (! (Y TRUE)))))", "ftExpanded_fetched": "((F[<=$duration$] $post_condition_SMV_ft$) | (F[<$duration$] LAST))", "ftExpanded": "((F[0,12] (lift_mode = thrust_borne)) | (F[0,11] LAST))", "ftInfAUExpanded_fetched": "(F[<=$duration$] $post_condition_SMV_ft$)", "ftInfAUExpanded": "(F[0,12] (lift_mode = thrust_borne))", "ftInfBtwExpanded_fetched": "(F[<=$duration$] $post_condition_SMV_ft$)", "ftInfBtwExpanded": "(F[0,12] (lift_mode = thrust_borne))", "ftFinBtwExpanded_fetched": "((F[<=$duration$] $post_condition_SMV_ft$) | (F[<$duration$] LAST))", "ftFinBtwExpanded": "((F[0,12] (lift_mode = thrust_borne)) | (F[0,11] LAST))", "CoCoSpecCode_fetched": "(H((H( not $post_condition_coco$)) => (OT($duration$-1,0,FTP))))", "CoCoSpecCode": "(H((H( not (lift_mode = thrust_borne))) => (OT(12-1,0,FTP))))", "component": "vehicle" }, "_id": "LPC_REACH_HOVER_12" }, { "reqid": "LPC_SWB_TO_STB", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "Upon lift_mode = semi_wing_borne & kias <= 30.0 the vehicle shall at the next timepoint satisfy lift_mode = semi_thrust_borne", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "regular", "timing": "next", "response": "satisfaction", "variables": [ "lift_mode", "semi_wing_borne", "kias", "semi_thrust_borne" ], "qualifier_word": "upon", "pre_condition": "(lift_mode = semi_wing_borne & kias <= 30.0)", "regular_condition": "(lift_mode = semi_wing_borne & kias <= 30.0)", "conditionTextRange": [ 0, 46 ], "component_name": "vehicle", "componentTextRange": [ 48, 58 ], "timingTextRange": [ 66, 87 ], "post_condition": "(lift_mode = semi_thrust_borne)", "responseTextRange": [ 89, 125 ], "diagramVariables": "TC = (lift_mode = semi_wing_borne & kias <= 30.0), Response = (lift_mode = semi_thrust_borne).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: first point in the interval if (lift_mode = semi_wing_borne & kias <= 30.0) is true and any point in the interval where (lift_mode = semi_wing_borne & kias <= 30.0) becomes true (from false).\nREQUIRES: for every trigger, RES must hold at the next time step.", "diagram": "_media/user-interface/examples/svgDiagrams/null_regular_next_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_coco": "BAD_COCO", "scope_mode_ft": "BAD_FT", "regular_condition_unexp_pt": "((lift_mode = semi_wing_borne) & (kias <= 30.0))", "regular_condition_unexp_ft": "((lift_mode = semi_wing_borne) & (kias <= 30.0))", "regular_condition_SMV_pt": "((lift_mode = semi_wing_borne) & (kias <= 30.0))", "regular_condition_SMV_ft": "((lift_mode = semi_wing_borne) & (kias <= 30.0))", "regular_condition_coco_smv": "((lift_mode = semi_wing_borne) & (kias <= 30.0))", "regular_condition_coco": "((lift_mode = semi_wing_borne) and (kias <= 30.0))", "post_condition_unexp_pt": "(lift_mode = semi_thrust_borne)", "post_condition_unexp_ft": "(lift_mode = semi_thrust_borne)", "post_condition_SMV_pt": "(lift_mode = semi_thrust_borne)", "post_condition_SMV_ft": "(lift_mode = semi_thrust_borne)", "post_condition_coco_smv": "(lift_mode = semi_thrust_borne)", "post_condition_coco": "(lift_mode = semi_thrust_borne)", "ft_fetched": "((LAST V (((! $regular_condition_unexp_ft$) & ((! LAST) & (X $regular_condition_unexp_ft$))) -> (X (LAST | (X $post_condition_unexp_ft$))))) & ($regular_condition_unexp_ft$ -> (LAST | (X $post_condition_unexp_ft$))))", "ft": "((LAST V (((! ((lift_mode = semi_wing_borne) & (kias <= 30.0))) & ((! LAST) & (X ((lift_mode = semi_wing_borne) & (kias <= 30.0))))) -> (X (LAST | (X (lift_mode = semi_thrust_borne)))))) & (((lift_mode = semi_wing_borne) & (kias <= 30.0)) -> (LAST | (X (lift_mode = semi_thrust_borne)))))", "pt_fetched": "(H ((Y ($regular_condition_unexp_pt$ & ((Y (! $regular_condition_unexp_pt$)) | FTP))) -> ($post_condition_unexp_pt$ | FTP)))", "pt": "(H ((Y (((lift_mode = semi_wing_borne) & (kias <= 30.0)) & ((Y (! ((lift_mode = semi_wing_borne) & (kias <= 30.0)))) | FTP))) -> ((lift_mode = semi_thrust_borne) | FTP)))", "ptExpanded_fetched": "(H ((Y ($regular_condition_SMV_pt$ & ((Y (! $regular_condition_SMV_pt$)) | (! (Y TRUE))))) -> ($post_condition_SMV_pt$ | (! (Y TRUE)))))", "ptExpanded": "(H ((Y (((lift_mode = semi_wing_borne) & (kias <= 30.0)) & ((Y (! ((lift_mode = semi_wing_borne) & (kias <= 30.0)))) | (! (Y TRUE))))) -> ((lift_mode = semi_thrust_borne) | (! (Y TRUE)))))", "ptFinBtwExpanded_fetched": "(H ((Y ($regular_condition_SMV_pt$ & ((Y (! $regular_condition_SMV_pt$)) | (! (Y TRUE))))) -> ($post_condition_SMV_pt$ | (! (Y TRUE)))))", "ptFinBtwExpanded": "(H ((Y (((lift_mode = semi_wing_borne) & (kias <= 30.0)) & ((Y (! ((lift_mode = semi_wing_borne) & (kias <= 30.0)))) | (! (Y TRUE))))) -> ((lift_mode = semi_thrust_borne) | (! (Y TRUE)))))", "ftExpanded_fetched": "((LAST V (((! $regular_condition_SMV_ft$) & ((! LAST) & (X $regular_condition_SMV_ft$))) -> (X (LAST | (X $post_condition_SMV_ft$))))) & ($regular_condition_SMV_ft$ -> (LAST | (X $post_condition_SMV_ft$))))", "ftExpanded": "((LAST V (((! ((lift_mode = semi_wing_borne) & (kias <= 30.0))) & ((! LAST) & (X ((lift_mode = semi_wing_borne) & (kias <= 30.0))))) -> (X (LAST | (X (lift_mode = semi_thrust_borne)))))) & (((lift_mode = semi_wing_borne) & (kias <= 30.0)) -> (LAST | (X (lift_mode = semi_thrust_borne)))))", "ftInfAUExpanded_fetched": "((G (((! $regular_condition_SMV_ft$) & (X $regular_condition_SMV_ft$)) -> (X (X $post_condition_SMV_ft$)))) & ($regular_condition_SMV_ft$ -> (X $post_condition_SMV_ft$)))", "ftInfAUExpanded": "((G (((! ((lift_mode = semi_wing_borne) & (kias <= 30.0))) & (X ((lift_mode = semi_wing_borne) & (kias <= 30.0)))) -> (X (X (lift_mode = semi_thrust_borne))))) & (((lift_mode = semi_wing_borne) & (kias <= 30.0)) -> (X (lift_mode = semi_thrust_borne))))", "ftInfBtwExpanded_fetched": "((G (((! $regular_condition_SMV_ft$) & (X $regular_condition_SMV_ft$)) -> (X (X $post_condition_SMV_ft$)))) & ($regular_condition_SMV_ft$ -> (X $post_condition_SMV_ft$)))", "ftInfBtwExpanded": "((G (((! ((lift_mode = semi_wing_borne) & (kias <= 30.0))) & (X ((lift_mode = semi_wing_borne) & (kias <= 30.0)))) -> (X (X (lift_mode = semi_thrust_borne))))) & (((lift_mode = semi_wing_borne) & (kias <= 30.0)) -> (X (lift_mode = semi_thrust_borne))))", "ftFinBtwExpanded_fetched": "((LAST V (((! $regular_condition_SMV_ft$) & ((! LAST) & (X $regular_condition_SMV_ft$))) -> (X (LAST | (X $post_condition_SMV_ft$))))) & ($regular_condition_SMV_ft$ -> (LAST | (X $post_condition_SMV_ft$))))", "ftFinBtwExpanded": "((LAST V (((! ((lift_mode = semi_wing_borne) & (kias <= 30.0))) & ((! LAST) & (X ((lift_mode = semi_wing_borne) & (kias <= 30.0))))) -> (X (LAST | (X (lift_mode = semi_thrust_borne)))))) & (((lift_mode = semi_wing_borne) & (kias <= 30.0)) -> (LAST | (X (lift_mode = semi_thrust_borne)))))", "CoCoSpecCode_fetched": "(H((YtoPre($regular_condition_coco$ and ((YtoPre( not $regular_condition_coco$)) or FTP))) => ($post_condition_coco$ or FTP)))", "CoCoSpecCode": "(H((YtoPre(((lift_mode = semi_wing_borne) and (kias <= 30.0)) and ((YtoPre( not ((lift_mode = semi_wing_borne) and (kias <= 30.0)))) or FTP))) => ((lift_mode = semi_thrust_borne) or FTP)))", "component": "vehicle" }, "_id": "LPC_SWB_TO_STB" }, { "reqid": "LPC_STB_TO_SWB", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "Upon lift_mode = semi_thrust_borne & kias > 40.0 the vehicle shall at the next timepoint satisfy lift_mode = semi_wing_borne", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "regular", "timing": "next", "response": "satisfaction", "variables": [ "lift_mode", "semi_thrust_borne", "kias", "semi_wing_borne" ], "qualifier_word": "upon", "pre_condition": "(lift_mode = semi_thrust_borne & kias > 40.0)", "regular_condition": "(lift_mode = semi_thrust_borne & kias > 40.0)", "conditionTextRange": [ 0, 47 ], "component_name": "vehicle", "componentTextRange": [ 49, 59 ], "timingTextRange": [ 67, 87 ], "post_condition": "(lift_mode = semi_wing_borne)", "responseTextRange": [ 89, 123 ], "diagramVariables": "TC = (lift_mode = semi_thrust_borne & kias > 40.0), Response = (lift_mode = semi_wing_borne).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: first point in the interval if (lift_mode = semi_thrust_borne & kias > 40.0) is true and any point in the interval where (lift_mode = semi_thrust_borne & kias > 40.0) becomes true (from false).\nREQUIRES: for every trigger, RES must hold at the next time step.", "diagram": "_media/user-interface/examples/svgDiagrams/null_regular_next_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_coco": "BAD_COCO", "scope_mode_ft": "BAD_FT", "regular_condition_unexp_pt": "((lift_mode = semi_thrust_borne) & (kias > 40.0))", "regular_condition_unexp_ft": "((lift_mode = semi_thrust_borne) & (kias > 40.0))", "regular_condition_SMV_pt": "((lift_mode = semi_thrust_borne) & (kias > 40.0))", "regular_condition_SMV_ft": "((lift_mode = semi_thrust_borne) & (kias > 40.0))", "regular_condition_coco_smv": "((lift_mode = semi_thrust_borne) & (kias > 40.0))", "regular_condition_coco": "((lift_mode = semi_thrust_borne) and (kias > 40.0))", "post_condition_unexp_pt": "(lift_mode = semi_wing_borne)", "post_condition_unexp_ft": "(lift_mode = semi_wing_borne)", "post_condition_SMV_pt": "(lift_mode = semi_wing_borne)", "post_condition_SMV_ft": "(lift_mode = semi_wing_borne)", "post_condition_coco_smv": "(lift_mode = semi_wing_borne)", "post_condition_coco": "(lift_mode = semi_wing_borne)", "ft_fetched": "((LAST V (((! $regular_condition_unexp_ft$) & ((! LAST) & (X $regular_condition_unexp_ft$))) -> (X (LAST | (X $post_condition_unexp_ft$))))) & ($regular_condition_unexp_ft$ -> (LAST | (X $post_condition_unexp_ft$))))", "ft": "((LAST V (((! ((lift_mode = semi_thrust_borne) & (kias > 40.0))) & ((! LAST) & (X ((lift_mode = semi_thrust_borne) & (kias > 40.0))))) -> (X (LAST | (X (lift_mode = semi_wing_borne)))))) & (((lift_mode = semi_thrust_borne) & (kias > 40.0)) -> (LAST | (X (lift_mode = semi_wing_borne)))))", "pt_fetched": "(H ((Y ($regular_condition_unexp_pt$ & ((Y (! $regular_condition_unexp_pt$)) | FTP))) -> ($post_condition_unexp_pt$ | FTP)))", "pt": "(H ((Y (((lift_mode = semi_thrust_borne) & (kias > 40.0)) & ((Y (! ((lift_mode = semi_thrust_borne) & (kias > 40.0)))) | FTP))) -> ((lift_mode = semi_wing_borne) | FTP)))", "ptExpanded_fetched": "(H ((Y ($regular_condition_SMV_pt$ & ((Y (! $regular_condition_SMV_pt$)) | (! (Y TRUE))))) -> ($post_condition_SMV_pt$ | (! (Y TRUE)))))", "ptExpanded": "(H ((Y (((lift_mode = semi_thrust_borne) & (kias > 40.0)) & ((Y (! ((lift_mode = semi_thrust_borne) & (kias > 40.0)))) | (! (Y TRUE))))) -> ((lift_mode = semi_wing_borne) | (! (Y TRUE)))))", "ftExpanded_fetched": "((LAST V (((! $regular_condition_SMV_ft$) & ((! LAST) & (X $regular_condition_SMV_ft$))) -> (X (LAST | (X $post_condition_SMV_ft$))))) & ($regular_condition_SMV_ft$ -> (LAST | (X $post_condition_SMV_ft$))))", "ftExpanded": "((LAST V (((! ((lift_mode = semi_thrust_borne) & (kias > 40.0))) & ((! LAST) & (X ((lift_mode = semi_thrust_borne) & (kias > 40.0))))) -> (X (LAST | (X (lift_mode = semi_wing_borne)))))) & (((lift_mode = semi_thrust_borne) & (kias > 40.0)) -> (LAST | (X (lift_mode = semi_wing_borne)))))", "ftInfAUExpanded_fetched": "((G (((! $regular_condition_SMV_ft$) & (X $regular_condition_SMV_ft$)) -> (X (X $post_condition_SMV_ft$)))) & ($regular_condition_SMV_ft$ -> (X $post_condition_SMV_ft$)))", "ftInfAUExpanded": "((G (((! ((lift_mode = semi_thrust_borne) & (kias > 40.0))) & (X ((lift_mode = semi_thrust_borne) & (kias > 40.0)))) -> (X (X (lift_mode = semi_wing_borne))))) & (((lift_mode = semi_thrust_borne) & (kias > 40.0)) -> (X (lift_mode = semi_wing_borne))))", "ftInfBtwExpanded_fetched": "((G (((! $regular_condition_SMV_ft$) & (X $regular_condition_SMV_ft$)) -> (X (X $post_condition_SMV_ft$)))) & ($regular_condition_SMV_ft$ -> (X $post_condition_SMV_ft$)))", "ftInfBtwExpanded": "((G (((! ((lift_mode = semi_thrust_borne) & (kias > 40.0))) & (X ((lift_mode = semi_thrust_borne) & (kias > 40.0)))) -> (X (X (lift_mode = semi_wing_borne))))) & (((lift_mode = semi_thrust_borne) & (kias > 40.0)) -> (X (lift_mode = semi_wing_borne))))", "CoCoSpecCode_fetched": "(H((YtoPre($regular_condition_coco$ and ((YtoPre( not $regular_condition_coco$)) or FTP))) => ($post_condition_coco$ or FTP)))", "CoCoSpecCode": "(H((YtoPre(((lift_mode = semi_thrust_borne) and (kias > 40.0)) and ((YtoPre( not ((lift_mode = semi_thrust_borne) and (kias > 40.0)))) or FTP))) => ((lift_mode = semi_wing_borne) or FTP)))", "component": "vehicle" }, "_id": "LPC_STB_TO_SWB" }, { "reqid": "LPC_STB_TO_TB", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "Upon lift_mode = semi_thrust_borne & hover_control_mode & kgs <= 20.0 the vehicle shall at the next timepoint satisfy lift_mode = thrust_borne", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "regular", "timing": "next", "response": "satisfaction", "variables": [ "lift_mode", "semi_thrust_borne", "hover_control_mode", "kgs", "thrust_borne" ], "qualifier_word": "upon", "pre_condition": "(lift_mode = semi_thrust_borne & hover_control_mode & kgs <= 20.0)", "regular_condition": "(lift_mode = semi_thrust_borne & hover_control_mode & kgs <= 20.0)", "conditionTextRange": [ 0, 68 ], "component_name": "vehicle", "componentTextRange": [ 70, 80 ], "timingTextRange": [ 88, 108 ], "post_condition": "(lift_mode = thrust_borne)", "responseTextRange": [ 110, 141 ], "diagramVariables": "TC = (lift_mode = semi_thrust_borne & hover_control_mode & kgs <= 20.0), Response = (lift_mode = thrust_borne).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: first point in the interval if (lift_mode = semi_thrust_borne & hover_control_mode & kgs <= 20.0) is true and any point in the interval where (lift_mode = semi_thrust_borne & hover_control_mode & kgs <= 20.0) becomes true (from false).\nREQUIRES: for every trigger, RES must hold at the next time step.", "diagram": "_media/user-interface/examples/svgDiagrams/null_regular_next_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_coco": "BAD_COCO", "scope_mode_ft": "BAD_FT", "regular_condition_unexp_pt": "(((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0))", "regular_condition_unexp_ft": "(((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0))", "regular_condition_SMV_pt": "(((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0))", "regular_condition_SMV_ft": "(((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0))", "regular_condition_coco_smv": "(((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0))", "regular_condition_coco": "(((lift_mode = semi_thrust_borne) and hover_control_mode) and (kgs <= 20.0))", "post_condition_unexp_pt": "(lift_mode = thrust_borne)", "post_condition_unexp_ft": "(lift_mode = thrust_borne)", "post_condition_SMV_pt": "(lift_mode = thrust_borne)", "post_condition_SMV_ft": "(lift_mode = thrust_borne)", "post_condition_coco_smv": "(lift_mode = thrust_borne)", "post_condition_coco": "(lift_mode = thrust_borne)", "ft_fetched": "((LAST V (((! $regular_condition_unexp_ft$) & ((! LAST) & (X $regular_condition_unexp_ft$))) -> (X (LAST | (X $post_condition_unexp_ft$))))) & ($regular_condition_unexp_ft$ -> (LAST | (X $post_condition_unexp_ft$))))", "ft": "((LAST V (((! (((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0))) & ((! LAST) & (X (((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0))))) -> (X (LAST | (X (lift_mode = thrust_borne)))))) & ((((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0)) -> (LAST | (X (lift_mode = thrust_borne)))))", "pt_fetched": "(H ((Y ($regular_condition_unexp_pt$ & ((Y (! $regular_condition_unexp_pt$)) | FTP))) -> ($post_condition_unexp_pt$ | FTP)))", "pt": "(H ((Y ((((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0)) & ((Y (! (((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0)))) | FTP))) -> ((lift_mode = thrust_borne) | FTP)))", "ptExpanded_fetched": "(H ((Y ($regular_condition_SMV_pt$ & ((Y (! $regular_condition_SMV_pt$)) | (! (Y TRUE))))) -> ($post_condition_SMV_pt$ | (! (Y TRUE)))))", "ptExpanded": "(H ((Y ((((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0)) & ((Y (! (((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0)))) | (! (Y TRUE))))) -> ((lift_mode = thrust_borne) | (! (Y TRUE)))))", "ftExpanded_fetched": "((LAST V (((! $regular_condition_SMV_ft$) & ((! LAST) & (X $regular_condition_SMV_ft$))) -> (X (LAST | (X $post_condition_SMV_ft$))))) & ($regular_condition_SMV_ft$ -> (LAST | (X $post_condition_SMV_ft$))))", "ftExpanded": "((LAST V (((! (((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0))) & ((! LAST) & (X (((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0))))) -> (X (LAST | (X (lift_mode = thrust_borne)))))) & ((((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0)) -> (LAST | (X (lift_mode = thrust_borne)))))", "ftInfAUExpanded_fetched": "((G (((! $regular_condition_SMV_ft$) & (X $regular_condition_SMV_ft$)) -> (X (X $post_condition_SMV_ft$)))) & ($regular_condition_SMV_ft$ -> (X $post_condition_SMV_ft$)))", "ftInfAUExpanded": "((G (((! (((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0))) & (X (((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0)))) -> (X (X (lift_mode = thrust_borne))))) & ((((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0)) -> (X (lift_mode = thrust_borne))))", "ftInfBtwExpanded_fetched": "((G (((! $regular_condition_SMV_ft$) & (X $regular_condition_SMV_ft$)) -> (X (X $post_condition_SMV_ft$)))) & ($regular_condition_SMV_ft$ -> (X $post_condition_SMV_ft$)))", "ftInfBtwExpanded": "((G (((! (((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0))) & (X (((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0)))) -> (X (X (lift_mode = thrust_borne))))) & ((((lift_mode = semi_thrust_borne) & hover_control_mode) & (kgs <= 20.0)) -> (X (lift_mode = thrust_borne))))", "CoCoSpecCode_fetched": "(H((YtoPre($regular_condition_coco$ and ((YtoPre( not $regular_condition_coco$)) or FTP))) => ($post_condition_coco$ or FTP)))", "CoCoSpecCode": "(H((YtoPre((((lift_mode = semi_thrust_borne) and hover_control_mode) and (kgs <= 20.0)) and ((YtoPre( not (((lift_mode = semi_thrust_borne) and hover_control_mode) and (kgs <= 20.0)))) or FTP))) => ((lift_mode = thrust_borne) or FTP)))", "component": "vehicle" }, "_id": "LPC_STB_TO_TB" }, { "reqid": "LPC_SWB_TO_WB", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "Upon lift_mode = semi_wing_borne & kias > 100.0 the vehicle shall at the next timepoint satisfy lift_mode = wing_borne", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "regular", "timing": "next", "response": "satisfaction", "variables": [ "lift_mode", "semi_wing_borne", "kias", "wing_borne" ], "qualifier_word": "upon", "pre_condition": "(lift_mode = semi_wing_borne & kias > 100.0)", "regular_condition": "(lift_mode = semi_wing_borne & kias > 100.0)", "conditionTextRange": [ 0, 46 ], "component_name": "vehicle", "componentTextRange": [ 48, 58 ], "timingTextRange": [ 66, 86 ], "post_condition": "(lift_mode = wing_borne)", "responseTextRange": [ 88, 117 ], "diagramVariables": "TC = (lift_mode = semi_wing_borne & kias > 100.0), Response = (lift_mode = wing_borne).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: first point in the interval if (lift_mode = semi_wing_borne & kias > 100.0) is true and any point in the interval where (lift_mode = semi_wing_borne & kias > 100.0) becomes true (from false).\nREQUIRES: for every trigger, RES must hold at the next time step.", "diagram": "_media/user-interface/examples/svgDiagrams/null_regular_next_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_coco": "BAD_COCO", "scope_mode_ft": "BAD_FT", "regular_condition_unexp_pt": "((lift_mode = semi_wing_borne) & (kias > 100.0))", "regular_condition_unexp_ft": "((lift_mode = semi_wing_borne) & (kias > 100.0))", "regular_condition_SMV_pt": "((lift_mode = semi_wing_borne) & (kias > 100.0))", "regular_condition_SMV_ft": "((lift_mode = semi_wing_borne) & (kias > 100.0))", "regular_condition_coco_smv": "((lift_mode = semi_wing_borne) & (kias > 100.0))", "regular_condition_coco": "((lift_mode = semi_wing_borne) and (kias > 100.0))", "post_condition_unexp_pt": "(lift_mode = wing_borne)", "post_condition_unexp_ft": "(lift_mode = wing_borne)", "post_condition_SMV_pt": "(lift_mode = wing_borne)", "post_condition_SMV_ft": "(lift_mode = wing_borne)", "post_condition_coco_smv": "(lift_mode = wing_borne)", "post_condition_coco": "(lift_mode = wing_borne)", "ft_fetched": "((LAST V (((! $regular_condition_unexp_ft$) & ((! LAST) & (X $regular_condition_unexp_ft$))) -> (X (LAST | (X $post_condition_unexp_ft$))))) & ($regular_condition_unexp_ft$ -> (LAST | (X $post_condition_unexp_ft$))))", "ft": "((LAST V (((! ((lift_mode = semi_wing_borne) & (kias > 100.0))) & ((! LAST) & (X ((lift_mode = semi_wing_borne) & (kias > 100.0))))) -> (X (LAST | (X (lift_mode = wing_borne)))))) & (((lift_mode = semi_wing_borne) & (kias > 100.0)) -> (LAST | (X (lift_mode = wing_borne)))))", "pt_fetched": "(H ((Y ($regular_condition_unexp_pt$ & ((Y (! $regular_condition_unexp_pt$)) | FTP))) -> ($post_condition_unexp_pt$ | FTP)))", "pt": "(H ((Y (((lift_mode = semi_wing_borne) & (kias > 100.0)) & ((Y (! ((lift_mode = semi_wing_borne) & (kias > 100.0)))) | FTP))) -> ((lift_mode = wing_borne) | FTP)))", "ptExpanded_fetched": "(H ((Y ($regular_condition_SMV_pt$ & ((Y (! $regular_condition_SMV_pt$)) | (! (Y TRUE))))) -> ($post_condition_SMV_pt$ | (! (Y TRUE)))))", "ptExpanded": "(H ((Y (((lift_mode = semi_wing_borne) & (kias > 100.0)) & ((Y (! ((lift_mode = semi_wing_borne) & (kias > 100.0)))) | (! (Y TRUE))))) -> ((lift_mode = wing_borne) | (! (Y TRUE)))))", "ftExpanded_fetched": "((LAST V (((! $regular_condition_SMV_ft$) & ((! LAST) & (X $regular_condition_SMV_ft$))) -> (X (LAST | (X $post_condition_SMV_ft$))))) & ($regular_condition_SMV_ft$ -> (LAST | (X $post_condition_SMV_ft$))))", "ftExpanded": "((LAST V (((! ((lift_mode = semi_wing_borne) & (kias > 100.0))) & ((! LAST) & (X ((lift_mode = semi_wing_borne) & (kias > 100.0))))) -> (X (LAST | (X (lift_mode = wing_borne)))))) & (((lift_mode = semi_wing_borne) & (kias > 100.0)) -> (LAST | (X (lift_mode = wing_borne)))))", "ftInfAUExpanded_fetched": "((G (((! $regular_condition_SMV_ft$) & (X $regular_condition_SMV_ft$)) -> (X (X $post_condition_SMV_ft$)))) & ($regular_condition_SMV_ft$ -> (X $post_condition_SMV_ft$)))", "ftInfAUExpanded": "((G (((! ((lift_mode = semi_wing_borne) & (kias > 100.0))) & (X ((lift_mode = semi_wing_borne) & (kias > 100.0)))) -> (X (X (lift_mode = wing_borne))))) & (((lift_mode = semi_wing_borne) & (kias > 100.0)) -> (X (lift_mode = wing_borne))))", "ftInfBtwExpanded_fetched": "((G (((! $regular_condition_SMV_ft$) & (X $regular_condition_SMV_ft$)) -> (X (X $post_condition_SMV_ft$)))) & ($regular_condition_SMV_ft$ -> (X $post_condition_SMV_ft$)))", "ftInfBtwExpanded": "((G (((! ((lift_mode = semi_wing_borne) & (kias > 100.0))) & (X ((lift_mode = semi_wing_borne) & (kias > 100.0)))) -> (X (X (lift_mode = wing_borne))))) & (((lift_mode = semi_wing_borne) & (kias > 100.0)) -> (X (lift_mode = wing_borne))))", "CoCoSpecCode_fetched": "(H((YtoPre($regular_condition_coco$ and ((YtoPre( not $regular_condition_coco$)) or FTP))) => ($post_condition_coco$ or FTP)))", "CoCoSpecCode": "(H((YtoPre(((lift_mode = semi_wing_borne) and (kias > 100.0)) and ((YtoPre( not ((lift_mode = semi_wing_borne) and (kias > 100.0)))) or FTP))) => ((lift_mode = wing_borne) or FTP)))", "component": "vehicle" }, "_id": "LPC_SWB_TO_WB" }, { "reqid": "LPC_TB_TO_STB", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "Upon lift_mode = thrust_borne & (!hover_control_mode | kgs > 20.0) the vehicle shall at the next timepoint satisfy lift_mode = semi_thrust_borne", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "regular", "timing": "next", "response": "satisfaction", "variables": [ "lift_mode", "thrust_borne", "hover_control_mode", "kgs", "semi_thrust_borne" ], "qualifier_word": "upon", "pre_condition": "(lift_mode = thrust_borne & ( ! hover_control_mode | kgs > 20.0 ))", "regular_condition": "(lift_mode = thrust_borne & ( ! hover_control_mode | kgs > 20.0 ))", "conditionTextRange": [ 0, 66 ], "component_name": "vehicle", "componentTextRange": [ 68, 78 ], "timingTextRange": [ 86, 106 ], "post_condition": "(lift_mode = semi_thrust_borne)", "responseTextRange": [ 108, 144 ], "diagramVariables": "TC = (lift_mode = thrust_borne & ( ! hover_control_mode | kgs > 20.0 )), Response = (lift_mode = semi_thrust_borne).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: first point in the interval if (lift_mode = thrust_borne & ( ! hover_control_mode | kgs > 20.0 )) is true and any point in the interval where (lift_mode = thrust_borne & ( ! hover_control_mode | kgs > 20.0 )) becomes true (from false).\nREQUIRES: for every trigger, RES must hold at the next time step.", "diagram": "_media/user-interface/examples/svgDiagrams/null_regular_next_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_coco": "BAD_COCO", "scope_mode_ft": "BAD_FT", "regular_condition_unexp_pt": "((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0)))", "regular_condition_unexp_ft": "((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0)))", "regular_condition_SMV_pt": "((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0)))", "regular_condition_SMV_ft": "((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0)))", "regular_condition_coco_smv": "((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0)))", "regular_condition_coco": "((lift_mode = thrust_borne) and (( not hover_control_mode) or (kgs > 20.0)))", "post_condition_unexp_pt": "(lift_mode = semi_thrust_borne)", "post_condition_unexp_ft": "(lift_mode = semi_thrust_borne)", "post_condition_SMV_pt": "(lift_mode = semi_thrust_borne)", "post_condition_SMV_ft": "(lift_mode = semi_thrust_borne)", "post_condition_coco_smv": "(lift_mode = semi_thrust_borne)", "post_condition_coco": "(lift_mode = semi_thrust_borne)", "ft_fetched": "((LAST V (((! $regular_condition_unexp_ft$) & ((! LAST) & (X $regular_condition_unexp_ft$))) -> (X (LAST | (X $post_condition_unexp_ft$))))) & ($regular_condition_unexp_ft$ -> (LAST | (X $post_condition_unexp_ft$))))", "ft": "((LAST V (((! ((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0)))) & ((! LAST) & (X ((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0)))))) -> (X (LAST | (X (lift_mode = semi_thrust_borne)))))) & (((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0))) -> (LAST | (X (lift_mode = semi_thrust_borne)))))", "pt_fetched": "(H ((Y ($regular_condition_unexp_pt$ & ((Y (! $regular_condition_unexp_pt$)) | FTP))) -> ($post_condition_unexp_pt$ | FTP)))", "pt": "(H ((Y (((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0))) & ((Y (! ((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0))))) | FTP))) -> ((lift_mode = semi_thrust_borne) | FTP)))", "ptExpanded_fetched": "(H ((Y ($regular_condition_SMV_pt$ & ((Y (! $regular_condition_SMV_pt$)) | (! (Y TRUE))))) -> ($post_condition_SMV_pt$ | (! (Y TRUE)))))", "ptExpanded": "(H ((Y (((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0))) & ((Y (! ((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0))))) | (! (Y TRUE))))) -> ((lift_mode = semi_thrust_borne) | (! (Y TRUE)))))", "ftExpanded_fetched": "((LAST V (((! $regular_condition_SMV_ft$) & ((! LAST) & (X $regular_condition_SMV_ft$))) -> (X (LAST | (X $post_condition_SMV_ft$))))) & ($regular_condition_SMV_ft$ -> (LAST | (X $post_condition_SMV_ft$))))", "ftExpanded": "((LAST V (((! ((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0)))) & ((! LAST) & (X ((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0)))))) -> (X (LAST | (X (lift_mode = semi_thrust_borne)))))) & (((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0))) -> (LAST | (X (lift_mode = semi_thrust_borne)))))", "ftInfAUExpanded_fetched": "((G (((! $regular_condition_SMV_ft$) & (X $regular_condition_SMV_ft$)) -> (X (X $post_condition_SMV_ft$)))) & ($regular_condition_SMV_ft$ -> (X $post_condition_SMV_ft$)))", "ftInfAUExpanded": "((G (((! ((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0)))) & (X ((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0))))) -> (X (X (lift_mode = semi_thrust_borne))))) & (((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0))) -> (X (lift_mode = semi_thrust_borne))))", "ftInfBtwExpanded_fetched": "((G (((! $regular_condition_SMV_ft$) & (X $regular_condition_SMV_ft$)) -> (X (X $post_condition_SMV_ft$)))) & ($regular_condition_SMV_ft$ -> (X $post_condition_SMV_ft$)))", "ftInfBtwExpanded": "((G (((! ((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0)))) & (X ((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0))))) -> (X (X (lift_mode = semi_thrust_borne))))) & (((lift_mode = thrust_borne) & ((! hover_control_mode) | (kgs > 20.0))) -> (X (lift_mode = semi_thrust_borne))))", "CoCoSpecCode_fetched": "(H((YtoPre($regular_condition_coco$ and ((YtoPre( not $regular_condition_coco$)) or FTP))) => ($post_condition_coco$ or FTP)))", "CoCoSpecCode": "(H((YtoPre(((lift_mode = thrust_borne) and (( not hover_control_mode) or (kgs > 20.0))) and ((YtoPre( not ((lift_mode = thrust_borne) and (( not hover_control_mode) or (kgs > 20.0))))) or FTP))) => ((lift_mode = semi_thrust_borne) or FTP)))", "component": "vehicle" }, "_id": "LPC_TB_TO_STB" }, { "reqid": "LPC_INIT_LIFT_MODE", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "The vehicle shall immediately satisfy lift_mode = wing_borne <=> kias >= 90.0", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "null", "timing": "immediately", "response": "satisfaction", "variables": [ "lift_mode", "wing_borne", "kias" ], "component_name": "vehicle", "componentTextRange": [ 0, 10 ], "timingTextRange": [ 18, 28 ], "post_condition": "(lift_mode = wing_borne <=> kias >= 90.0)", "responseTextRange": [ 30, 76 ], "diagramVariables": "Response = (lift_mode = wing_borne <=> kias >= 90.0).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: first point in the interval.\nREQUIRES: for every trigger, if trigger holds then RES also holds at the same time point.", "diagram": "_media/user-interface/examples/svgDiagrams/null_null_immediately_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_coco": "BAD_COCO", "scope_mode_ft": "BAD_FT", "post_condition_unexp_pt": "((lift_mode = wing_borne) <-> (kias >= 90.0))", "post_condition_unexp_ft": "((lift_mode = wing_borne) <-> (kias >= 90.0))", "post_condition_SMV_pt": "((lift_mode = wing_borne) <-> (kias >= 90.0))", "post_condition_SMV_ft": "((lift_mode = wing_borne) <-> (kias >= 90.0))", "post_condition_coco_smv": "((lift_mode = wing_borne) <-> (kias >= 90.0))", "post_condition_coco": "((lift_mode = wing_borne) = (kias >= 90.0))", "ft_fetched": "$post_condition_unexp_ft$", "ft": "((lift_mode = wing_borne) <-> (kias >= 90.0))", "pt_fetched": "(H (FTP -> $post_condition_unexp_pt$))", "pt": "(H (FTP -> ((lift_mode = wing_borne) <-> (kias >= 90.0))))", "ptExpanded_fetched": "(H ((! (Y TRUE)) -> $post_condition_SMV_pt$))", "ptExpanded": "(H ((! (Y TRUE)) -> ((lift_mode = wing_borne) <-> (kias >= 90.0))))", "ftExpanded_fetched": "$post_condition_SMV_ft$", "ftExpanded": "((lift_mode = wing_borne) <-> (kias >= 90.0))", "ftInfAUExpanded_fetched": "$post_condition_SMV_ft$", "ftInfAUExpanded": "((lift_mode = wing_borne) <-> (kias >= 90.0))", "ftInfBtwExpanded_fetched": "$post_condition_SMV_ft$", "ftInfBtwExpanded": "((lift_mode = wing_borne) <-> (kias >= 90.0))", "CoCoSpecCode_fetched": "(H(FTP => $post_condition_coco$))", "CoCoSpecCode": "(H(FTP => ((lift_mode = wing_borne) = (kias >= 90.0))))", "component": "vehicle" }, "_id": "LPC_INIT_LIFT_MODE" }, { "reqid": "LPC_LIFT_MODE", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "The vehicle shall always satisfy lift_mode = thrust_borne | lift_mode = semi_thrust_borne | lift_mode = semi_wing_borne | lift_mode = wing_borne", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "null", "timing": "always", "response": "satisfaction", "variables": [ "lift_mode", "thrust_borne", "semi_thrust_borne", "semi_wing_borne", "wing_borne" ], "component_name": "vehicle", "componentTextRange": [ 0, 10 ], "timingTextRange": [ 18, 23 ], "post_condition": "(lift_mode = thrust_borne | lift_mode = semi_thrust_borne | lift_mode = semi_wing_borne | lift_mode = wing_borne)", "responseTextRange": [ 25, 143 ], "diagramVariables": "Response = (lift_mode = thrust_borne | lift_mode = semi_thrust_borne | lift_mode = semi_wing_borne | lift_mode = wing_borne).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: first point in the interval.\nREQUIRES: for every trigger, RES must hold at all time points between (and including) the trigger and the end of the interval.", "diagram": "_media/user-interface/examples/svgDiagrams/null_null_always_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_coco": "BAD_COCO", "scope_mode_ft": "BAD_FT", "post_condition_unexp_pt": "((((lift_mode = thrust_borne) | (lift_mode = semi_thrust_borne)) | (lift_mode = semi_wing_borne)) | (lift_mode = wing_borne))", "post_condition_unexp_ft": "((((lift_mode = thrust_borne) | (lift_mode = semi_thrust_borne)) | (lift_mode = semi_wing_borne)) | (lift_mode = wing_borne))", "post_condition_SMV_pt": "((((lift_mode = thrust_borne) | (lift_mode = semi_thrust_borne)) | (lift_mode = semi_wing_borne)) | (lift_mode = wing_borne))", "post_condition_SMV_ft": "((((lift_mode = thrust_borne) | (lift_mode = semi_thrust_borne)) | (lift_mode = semi_wing_borne)) | (lift_mode = wing_borne))", "post_condition_coco_smv": "((((lift_mode = thrust_borne) | (lift_mode = semi_thrust_borne)) | (lift_mode = semi_wing_borne)) | (lift_mode = wing_borne))", "post_condition_coco": "((((lift_mode = thrust_borne) or (lift_mode = semi_thrust_borne)) or (lift_mode = semi_wing_borne)) or (lift_mode = wing_borne))", "ft_fetched": "(LAST V $post_condition_unexp_ft$)", "ft": "(LAST V ((((lift_mode = thrust_borne) | (lift_mode = semi_thrust_borne)) | (lift_mode = semi_wing_borne)) | (lift_mode = wing_borne)))", "pt_fetched": "(H $post_condition_unexp_pt$)", "pt": "(H ((((lift_mode = thrust_borne) | (lift_mode = semi_thrust_borne)) | (lift_mode = semi_wing_borne)) | (lift_mode = wing_borne)))", "ptExpanded_fetched": "(H $post_condition_SMV_pt$)", "ptExpanded": "(H ((((lift_mode = thrust_borne) | (lift_mode = semi_thrust_borne)) | (lift_mode = semi_wing_borne)) | (lift_mode = wing_borne)))", "ftExpanded_fetched": "(LAST V $post_condition_SMV_ft$)", "ftExpanded": "(LAST V ((((lift_mode = thrust_borne) | (lift_mode = semi_thrust_borne)) | (lift_mode = semi_wing_borne)) | (lift_mode = wing_borne)))", "ftInfAUExpanded_fetched": "(G $post_condition_SMV_ft$)", "ftInfAUExpanded": "(G ((((lift_mode = thrust_borne) | (lift_mode = semi_thrust_borne)) | (lift_mode = semi_wing_borne)) | (lift_mode = wing_borne)))", "ftInfBtwExpanded_fetched": "(G $post_condition_SMV_ft$)", "ftInfBtwExpanded": "(G ((((lift_mode = thrust_borne) | (lift_mode = semi_thrust_borne)) | (lift_mode = semi_wing_borne)) | (lift_mode = wing_borne)))", "CoCoSpecCode_fetched": "(H($post_condition_coco$))", "CoCoSpecCode": "(H(((((lift_mode = thrust_borne) or (lift_mode = semi_thrust_borne)) or (lift_mode = semi_wing_borne)) or (lift_mode = wing_borne))))", "component": "vehicle" }, "_id": "LPC_LIFT_MODE" }, { "reqid": "LPC_INIT_KIAS", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "The vehicle shall immediately satisfy kias = 120.0", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "null", "timing": "immediately", "response": "satisfaction", "variables": [ "kias" ], "component_name": "vehicle", "componentTextRange": [ 0, 10 ], "timingTextRange": [ 18, 28 ], "post_condition": "(kias = 120.0)", "responseTextRange": [ 30, 49 ], "diagramVariables": "Response = (kias = 120.0).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: first point in the interval.\nREQUIRES: for every trigger, if trigger holds then RES also holds at the same time point.", "diagram": "_media/user-interface/examples/svgDiagrams/null_null_immediately_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_coco": "BAD_COCO", "scope_mode_ft": "BAD_FT", "post_condition_unexp_pt": "(kias = 120.0)", "post_condition_unexp_ft": "(kias = 120.0)", "post_condition_SMV_pt": "(kias = 120.0)", "post_condition_SMV_ft": "(kias = 120.0)", "post_condition_coco_smv": "(kias = 120.0)", "post_condition_coco": "(kias = 120.0)", "ft_fetched": "$post_condition_unexp_ft$", "ft": "(kias = 120.0)", "pt_fetched": "(H (FTP -> $post_condition_unexp_pt$))", "pt": "(H (FTP -> (kias = 120.0)))", "ptExpanded_fetched": "(H ((! (Y TRUE)) -> $post_condition_SMV_pt$))", "ptExpanded": "(H ((! (Y TRUE)) -> (kias = 120.0)))", "ftExpanded_fetched": "$post_condition_SMV_ft$", "ftExpanded": "(kias = 120.0)", "ftInfAUExpanded_fetched": "$post_condition_SMV_ft$", "ftInfAUExpanded": "(kias = 120.0)", "ftInfBtwExpanded_fetched": "$post_condition_SMV_ft$", "ftInfBtwExpanded": "(kias = 120.0)", "CoCoSpecCode_fetched": "(H(FTP => $post_condition_coco$))", "CoCoSpecCode": "(H(FTP => (kias = 120.0)))", "component": "vehicle" }, "_id": "LPC_INIT_KIAS" }, { "reqid": "LPC_KIAS_KGS", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "The vehicle shall always satisfy kias = kgs", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "null", "timing": "always", "response": "satisfaction", "variables": [ "kias", "kgs" ], "component_name": "vehicle", "componentTextRange": [ 0, 10 ], "timingTextRange": [ 18, 23 ], "post_condition": "(kias = kgs)", "responseTextRange": [ 25, 42 ], "diagramVariables": "Response = (kias = kgs).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: first point in the interval.\nREQUIRES: for every trigger, RES must hold at all time points between (and including) the trigger and the end of the interval.", "diagram": "_media/user-interface/examples/svgDiagrams/null_null_always_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_coco": "BAD_COCO", "scope_mode_ft": "BAD_FT", "post_condition_unexp_pt": "(kias = kgs)", "post_condition_unexp_ft": "(kias = kgs)", "post_condition_SMV_pt": "(kias = kgs)", "post_condition_SMV_ft": "(kias = kgs)", "post_condition_coco_smv": "(kias = kgs)", "post_condition_coco": "(kias = kgs)", "ft_fetched": "(LAST V $post_condition_unexp_ft$)", "ft": "(LAST V (kias = kgs))", "pt_fetched": "(H $post_condition_unexp_pt$)", "pt": "(H (kias = kgs))", "ptExpanded_fetched": "(H $post_condition_SMV_pt$)", "ptExpanded": "(H (kias = kgs))", "ftExpanded_fetched": "(LAST V $post_condition_SMV_ft$)", "ftExpanded": "(LAST V (kias = kgs))", "ftInfAUExpanded_fetched": "(G $post_condition_SMV_ft$)", "ftInfAUExpanded": "(G (kias = kgs))", "ftInfBtwExpanded_fetched": "(G $post_condition_SMV_ft$)", "ftInfBtwExpanded": "(G (kias = kgs))", "CoCoSpecCode_fetched": "(H($post_condition_coco$))", "CoCoSpecCode": "(H((kias = kgs)))", "component": "vehicle" }, "_id": "LPC_KIAS_KGS" }, { "reqid": "LPC_KIAS_DERIVATIVE", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "The vehicle shall always satisfy FTP | absReal(preReal(0.0, kias) - kias) <= 10.0", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "null", "timing": "always", "response": "satisfaction", "variables": [ "kias" ], "component_name": "vehicle", "componentTextRange": [ 0, 10 ], "timingTextRange": [ 18, 23 ], "post_condition": "(FTP | absReal ( preReal ( 0.0 , kias ) - kias ) <= 10.0)", "responseTextRange": [ 25, 80 ], "diagramVariables": "Response = (FTP | absReal ( preReal ( 0.0 , kias ) - kias ) <= 10.0).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: first point in the interval.\nREQUIRES: for every trigger, RES must hold at all time points between (and including) the trigger and the end of the interval.", "diagram": "_media/user-interface/examples/svgDiagrams/null_null_always_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_coco": "BAD_COCO", "scope_mode_ft": "BAD_FT", "post_condition_unexp_pt": "((! (Y TRUE)) | (absReal((preReal(0.0,kias) - kias)) <= 10.0))", "post_condition_unexp_ft": "(FTP | (absReal((preReal(0.0,kias) - kias)) <= 10.0))", "post_condition_SMV_pt": "((! (Y TRUE)) | (absReal((preReal(0.0,kias) - kias)) <= 10.0))", "post_condition_SMV_ft": "(FTP | (absReal((preReal(0.0,kias) - kias)) <= 10.0))", "post_condition_coco_smv": "((! (Y TRUE)) | (absReal((preReal(0.0,kias) - kias)) <= 10.0))", "post_condition_coco": "(( not (YtoPre( true ))) or (absReal ( ( preReal ( 0.0 , kias ) - kias ) ) <= 10.0))", "ft_fetched": "(LAST V $post_condition_unexp_ft$)", "ft": "(LAST V (FTP | (absReal((preReal(0.0,kias) - kias)) <= 10.0)))", "pt_fetched": "(H $post_condition_unexp_pt$)", "pt": "(H ((! (Y TRUE)) | (absReal((preReal(0.0,kias) - kias)) <= 10.0)))", "ptExpanded_fetched": "(H $post_condition_SMV_pt$)", "ptExpanded": "(H ((! (Y TRUE)) | (absReal((preReal(0.0,kias) - kias)) <= 10.0)))", "ftExpanded_fetched": "(LAST V $post_condition_SMV_ft$)", "ftExpanded": "(LAST V (FTP | (absReal((preReal(0.0,kias) - kias)) <= 10.0)))", "ftInfAUExpanded_fetched": "(G $post_condition_SMV_ft$)", "ftInfAUExpanded": "(G (FTP | (absReal((preReal(0.0,kias) - kias)) <= 10.0)))", "ftInfBtwExpanded_fetched": "(G $post_condition_SMV_ft$)", "ftInfBtwExpanded": "(G (FTP | (absReal((preReal(0.0,kias) - kias)) <= 10.0)))", "CoCoSpecCode_fetched": "(H($post_condition_coco$))", "CoCoSpecCode": "(H((( not (YtoPre( true ))) or (absReal ( ( preReal ( 0.0 , kias ) - kias ) ) <= 10.0))))", "component": "vehicle" }, "_id": "LPC_KIAS_DERIVATIVE" }, { "reqid": "LPC_WB_TO_SWB", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "Upon lift_mode = wing_borne & kias <= 90.0 the vehicle shall at the next timepoint satisfy lift_mode = semi_wing_borne", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "regular", "timing": "next", "response": "satisfaction", "variables": [ "lift_mode", "wing_borne", "kias", "semi_wing_borne" ], "qualifier_word": "upon", "pre_condition": "(lift_mode = wing_borne & kias <= 90.0)", "regular_condition": "(lift_mode = wing_borne & kias <= 90.0)", "conditionTextRange": [ 0, 42 ], "component_name": "vehicle", "componentTextRange": [ 44, 54 ], "timingTextRange": [ 62, 82 ], "post_condition": "(lift_mode = semi_wing_borne)", "responseTextRange": [ 84, 118 ], "diagramVariables": "TC = (lift_mode = wing_borne & kias <= 90.0), Response = (lift_mode = semi_wing_borne).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: first point in the interval if (lift_mode = wing_borne & kias <= 90.0) is true and any point in the interval where (lift_mode = wing_borne & kias <= 90.0) becomes true (from false).\nREQUIRES: for every trigger, RES must hold at the next time step.", "diagram": "_media/user-interface/examples/svgDiagrams/null_regular_next_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_coco": "BAD_COCO", "scope_mode_ft": "BAD_FT", "regular_condition_unexp_pt": "((lift_mode = wing_borne) & (kias <= 90.0))", "regular_condition_unexp_ft": "((lift_mode = wing_borne) & (kias <= 90.0))", "regular_condition_SMV_pt": "((lift_mode = wing_borne) & (kias <= 90.0))", "regular_condition_SMV_ft": "((lift_mode = wing_borne) & (kias <= 90.0))", "regular_condition_coco_smv": "((lift_mode = wing_borne) & (kias <= 90.0))", "regular_condition_coco": "((lift_mode = wing_borne) and (kias <= 90.0))", "post_condition_unexp_pt": "(lift_mode = semi_wing_borne)", "post_condition_unexp_ft": "(lift_mode = semi_wing_borne)", "post_condition_SMV_pt": "(lift_mode = semi_wing_borne)", "post_condition_SMV_ft": "(lift_mode = semi_wing_borne)", "post_condition_coco_smv": "(lift_mode = semi_wing_borne)", "post_condition_coco": "(lift_mode = semi_wing_borne)", "ft_fetched": "((LAST V (((! $regular_condition_unexp_ft$) & ((! LAST) & (X $regular_condition_unexp_ft$))) -> (X (LAST | (X $post_condition_unexp_ft$))))) & ($regular_condition_unexp_ft$ -> (LAST | (X $post_condition_unexp_ft$))))", "ft": "((LAST V (((! ((lift_mode = wing_borne) & (kias <= 90.0))) & ((! LAST) & (X ((lift_mode = wing_borne) & (kias <= 90.0))))) -> (X (LAST | (X (lift_mode = semi_wing_borne)))))) & (((lift_mode = wing_borne) & (kias <= 90.0)) -> (LAST | (X (lift_mode = semi_wing_borne)))))", "pt_fetched": "(H ((Y ($regular_condition_unexp_pt$ & ((Y (! $regular_condition_unexp_pt$)) | FTP))) -> ($post_condition_unexp_pt$ | FTP)))", "pt": "(H ((Y (((lift_mode = wing_borne) & (kias <= 90.0)) & ((Y (! ((lift_mode = wing_borne) & (kias <= 90.0)))) | FTP))) -> ((lift_mode = semi_wing_borne) | FTP)))", "ptExpanded_fetched": "(H ((Y ($regular_condition_SMV_pt$ & ((Y (! $regular_condition_SMV_pt$)) | (! (Y TRUE))))) -> ($post_condition_SMV_pt$ | (! (Y TRUE)))))", "ptExpanded": "(H ((Y (((lift_mode = wing_borne) & (kias <= 90.0)) & ((Y (! ((lift_mode = wing_borne) & (kias <= 90.0)))) | (! (Y TRUE))))) -> ((lift_mode = semi_wing_borne) | (! (Y TRUE)))))", "ptFinBtwExpanded_fetched": "(H ((Y ($regular_condition_SMV_pt$ & ((Y (! $regular_condition_SMV_pt$)) | (! (Y TRUE))))) -> ($post_condition_SMV_pt$ | (! (Y TRUE)))))", "ptFinBtwExpanded": "(H ((Y (((lift_mode = wing_borne) & (kias <= 90.0)) & ((Y (! ((lift_mode = wing_borne) & (kias <= 90.0)))) | (! (Y TRUE))))) -> ((lift_mode = semi_wing_borne) | (! (Y TRUE)))))", "ftExpanded_fetched": "((LAST V (((! $regular_condition_SMV_ft$) & ((! LAST) & (X $regular_condition_SMV_ft$))) -> (X (LAST | (X $post_condition_SMV_ft$))))) & ($regular_condition_SMV_ft$ -> (LAST | (X $post_condition_SMV_ft$))))", "ftExpanded": "((LAST V (((! ((lift_mode = wing_borne) & (kias <= 90.0))) & ((! LAST) & (X ((lift_mode = wing_borne) & (kias <= 90.0))))) -> (X (LAST | (X (lift_mode = semi_wing_borne)))))) & (((lift_mode = wing_borne) & (kias <= 90.0)) -> (LAST | (X (lift_mode = semi_wing_borne)))))", "ftInfAUExpanded_fetched": "((G (((! $regular_condition_SMV_ft$) & (X $regular_condition_SMV_ft$)) -> (X (X $post_condition_SMV_ft$)))) & ($regular_condition_SMV_ft$ -> (X $post_condition_SMV_ft$)))", "ftInfAUExpanded": "((G (((! ((lift_mode = wing_borne) & (kias <= 90.0))) & (X ((lift_mode = wing_borne) & (kias <= 90.0)))) -> (X (X (lift_mode = semi_wing_borne))))) & (((lift_mode = wing_borne) & (kias <= 90.0)) -> (X (lift_mode = semi_wing_borne))))", "ftInfBtwExpanded_fetched": "((G (((! $regular_condition_SMV_ft$) & (X $regular_condition_SMV_ft$)) -> (X (X $post_condition_SMV_ft$)))) & ($regular_condition_SMV_ft$ -> (X $post_condition_SMV_ft$)))", "ftInfBtwExpanded": "((G (((! ((lift_mode = wing_borne) & (kias <= 90.0))) & (X ((lift_mode = wing_borne) & (kias <= 90.0)))) -> (X (X (lift_mode = semi_wing_borne))))) & (((lift_mode = wing_borne) & (kias <= 90.0)) -> (X (lift_mode = semi_wing_borne))))", "ftFinBtwExpanded_fetched": "((LAST V (((! $regular_condition_SMV_ft$) & ((! LAST) & (X $regular_condition_SMV_ft$))) -> (X (LAST | (X $post_condition_SMV_ft$))))) & ($regular_condition_SMV_ft$ -> (LAST | (X $post_condition_SMV_ft$))))", "ftFinBtwExpanded": "((LAST V (((! ((lift_mode = wing_borne) & (kias <= 90.0))) & ((! LAST) & (X ((lift_mode = wing_borne) & (kias <= 90.0))))) -> (X (LAST | (X (lift_mode = semi_wing_borne)))))) & (((lift_mode = wing_borne) & (kias <= 90.0)) -> (LAST | (X (lift_mode = semi_wing_borne)))))", "CoCoSpecCode_fetched": "(H((YtoPre($regular_condition_coco$ and ((YtoPre( not $regular_condition_coco$)) or FTP))) => ($post_condition_coco$ or FTP)))", "CoCoSpecCode": "(H((YtoPre(((lift_mode = wing_borne) and (kias <= 90.0)) and ((YtoPre( not ((lift_mode = wing_borne) and (kias <= 90.0)))) or FTP))) => ((lift_mode = semi_wing_borne) or FTP)))", "component": "vehicle" }, "_id": "LPC_WB_TO_SWB" }, { "reqid": "LPC_REACH_HOVER_06", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "The vehicle shall within 6 ticks satisfy lift_mode = thrust_borne", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "null", "timing": "within", "response": "satisfaction", "variables": [ "lift_mode", "thrust_borne" ], "component_name": "vehicle", "componentTextRange": [ 0, 10 ], "duration": "6", "timingTextRange": [ 18, 31 ], "post_condition": "(lift_mode = thrust_borne)", "responseTextRange": [ 33, 64 ], "diagramVariables": " n = 6, Response = (lift_mode = thrust_borne).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: first point in the interval.\nREQUIRES: for every trigger, RES must hold at some point with distance <= 6 from the trigger (i.e., at trigger, trigger+1, ..., or trigger+6). If the interval ends sooner than trigger+6, then RES need not hold.", "diagram": "_media/user-interface/examples/svgDiagrams/null_null_within_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_coco": "BAD_COCO", "scope_mode_ft": "BAD_FT", "post_condition_unexp_pt": "(lift_mode = thrust_borne)", "post_condition_unexp_ft": "(lift_mode = thrust_borne)", "post_condition_SMV_pt": "(lift_mode = thrust_borne)", "post_condition_SMV_ft": "(lift_mode = thrust_borne)", "post_condition_coco_smv": "(lift_mode = thrust_borne)", "post_condition_coco": "(lift_mode = thrust_borne)", "ft_fetched": "((F[<=$duration$] $post_condition_unexp_ft$) | (F[<$duration$] LAST))", "ft": "((F[<=6] (lift_mode = thrust_borne)) | (F[<6] LAST))", "pt_fetched": "(H ((H (! $post_condition_unexp_pt$)) -> (O[<$duration$] FTP)))", "pt": "(H ((H (! (lift_mode = thrust_borne))) -> (O[<6] FTP)))", "ptExpanded_fetched": "(H ((H (! $post_condition_SMV_pt$)) -> (O[<$duration$] (! (Y TRUE)))))", "ptExpanded": "(H ((H (! (lift_mode = thrust_borne))) -> (O[0,5] (! (Y TRUE)))))", "ptFinBtwExpanded_fetched": "(H ((H (! $post_condition_SMV_pt$)) -> (O[<$duration$] (! (Y TRUE)))))", "ptFinBtwExpanded": "(H ((H (! (lift_mode = thrust_borne))) -> (O[0,5] (! (Y TRUE)))))", "ftExpanded_fetched": "((F[<=$duration$] $post_condition_SMV_ft$) | (F[<$duration$] LAST))", "ftExpanded": "((F[0,6] (lift_mode = thrust_borne)) | (F[0,5] LAST))", "ftInfAUExpanded_fetched": "(F[<=$duration$] $post_condition_SMV_ft$)", "ftInfAUExpanded": "(F[0,6] (lift_mode = thrust_borne))", "ftInfBtwExpanded_fetched": "(F[<=$duration$] $post_condition_SMV_ft$)", "ftInfBtwExpanded": "(F[0,6] (lift_mode = thrust_borne))", "ftFinBtwExpanded_fetched": "((F[<=$duration$] $post_condition_SMV_ft$) | (F[<$duration$] LAST))", "ftFinBtwExpanded": "((F[0,6] (lift_mode = thrust_borne)) | (F[0,5] LAST))", "CoCoSpecCode_fetched": "(H((H( not $post_condition_coco$)) => (OT($duration$-1,0,FTP))))", "CoCoSpecCode": "(H((H( not (lift_mode = thrust_borne))) => (OT(6-1,0,FTP))))", "component": "vehicle" }, "_id": "LPC_REACH_HOVER_06" }, { "reqid": "LPC_INIT_HOVER_MODE", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "The vehicle shall immediately satisfy hover_control_mode <=> kgs < 20.0", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "null", "timing": "immediately", "response": "satisfaction", "variables": [ "hover_control_mode", "kgs" ], "component_name": "vehicle", "componentTextRange": [ 0, 10 ], "timingTextRange": [ 18, 28 ], "post_condition": "(hover_control_mode <=> kgs < 20.0)", "responseTextRange": [ 30, 70 ], "diagramVariables": "Response = (hover_control_mode <=> kgs < 20.0).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: first point in the interval.\nREQUIRES: for every trigger, if trigger holds then RES also holds at the same time point.", "diagram": "_media/user-interface/examples/svgDiagrams/null_null_immediately_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_coco": "BAD_COCO", "scope_mode_ft": "BAD_FT", "post_condition_unexp_pt": "(hover_control_mode <-> (kgs < 20.0))", "post_condition_unexp_ft": "(hover_control_mode <-> (kgs < 20.0))", "post_condition_SMV_pt": "(hover_control_mode <-> (kgs < 20.0))", "post_condition_SMV_ft": "(hover_control_mode <-> (kgs < 20.0))", "post_condition_coco_smv": "(hover_control_mode <-> (kgs < 20.0))", "post_condition_coco": "(hover_control_mode = (kgs < 20.0))", "ft_fetched": "$post_condition_unexp_ft$", "ft": "(hover_control_mode <-> (kgs < 20.0))", "pt_fetched": "(H (FTP -> $post_condition_unexp_pt$))", "pt": "(H (FTP -> (hover_control_mode <-> (kgs < 20.0))))", "ptExpanded_fetched": "(H ((! (Y TRUE)) -> $post_condition_SMV_pt$))", "ptExpanded": "(H ((! (Y TRUE)) -> (hover_control_mode <-> (kgs < 20.0))))", "ftExpanded_fetched": "$post_condition_SMV_ft$", "ftExpanded": "(hover_control_mode <-> (kgs < 20.0))", "ftInfAUExpanded_fetched": "$post_condition_SMV_ft$", "ftInfAUExpanded": "(hover_control_mode <-> (kgs < 20.0))", "ftInfBtwExpanded_fetched": "$post_condition_SMV_ft$", "ftInfBtwExpanded": "(hover_control_mode <-> (kgs < 20.0))", "CoCoSpecCode_fetched": "(H(FTP => $post_condition_coco$))", "CoCoSpecCode": "(H(FTP => (hover_control_mode = (kgs < 20.0))))", "component": "vehicle" }, "_id": "LPC_INIT_HOVER_MODE" }, { "reqid": "LPC_KIAS_0", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "The vehicle shall always satisfy kias >= 0.0", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "null", "timing": "always", "response": "satisfaction", "variables": [ "kias" ], "component_name": "vehicle", "componentTextRange": [ 0, 10 ], "timingTextRange": [ 18, 23 ], "post_condition": "(kias >= 0.0)", "responseTextRange": [ 25, 43 ], "diagramVariables": "Response = (kias >= 0.0).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: first point in the interval.\nREQUIRES: for every trigger, RES must hold at all time points between (and including) the trigger and the end of the interval.", "diagram": "_media/user-interface/examples/svgDiagrams/null_null_always_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_coco": "BAD_COCO", "scope_mode_ft": "BAD_FT", "post_condition_unexp_pt": "(kias >= 0.0)", "post_condition_unexp_ft": "(kias >= 0.0)", "post_condition_SMV_pt": "(kias >= 0.0)", "post_condition_SMV_ft": "(kias >= 0.0)", "post_condition_coco_smv": "(kias >= 0.0)", "post_condition_coco": "(kias >= 0.0)", "ft_fetched": "(LAST V $post_condition_unexp_ft$)", "ft": "(LAST V (kias >= 0.0))", "pt_fetched": "(H $post_condition_unexp_pt$)", "pt": "(H (kias >= 0.0))", "ptExpanded_fetched": "(H $post_condition_SMV_pt$)", "ptExpanded": "(H (kias >= 0.0))", "ptFinBtwExpanded_fetched": "(H $post_condition_SMV_pt$)", "ptFinBtwExpanded": "(H (kias >= 0.0))", "ftExpanded_fetched": "(LAST V $post_condition_SMV_ft$)", "ftExpanded": "(LAST V (kias >= 0.0))", "ftInfAUExpanded_fetched": "(G $post_condition_SMV_ft$)", "ftInfAUExpanded": "(G (kias >= 0.0))", "ftInfBtwExpanded_fetched": "(G $post_condition_SMV_ft$)", "ftInfBtwExpanded": "(G (kias >= 0.0))", "ftFinBtwExpanded_fetched": "(LAST V $post_condition_SMV_ft$)", "ftFinBtwExpanded": "(LAST V (kias >= 0.0))", "CoCoSpecCode_fetched": "(H($post_condition_coco$))", "CoCoSpecCode": "(H((kias >= 0.0)))", "component": "vehicle" }, "_id": "LPC_KIAS_0" }, { "reqid": "LPC_SWB_STAY_ON_NEXT", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "Whenever lift_mode = semi_wing_borne & kias <= 100.0 & kias > 30.0 the vehicle shall at the next timepoint satisfy lift_mode = semi_wing_borne", "status": "", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "noTrigger", "timing": "next", "response": "satisfaction", "variables": [ "lift_mode", "semi_wing_borne", "kias" ], "qualifier_word": "whenever", "pre_condition": "(lift_mode = semi_wing_borne & kias <= 100.0 & kias > 30.0)", "regular_condition": "(lift_mode = semi_wing_borne & kias <= 100.0 & kias > 30.0)", "conditionTextRange": [ 0, 65 ], "component_name": "vehicle", "componentTextRange": [ 67, 77 ], "timingTextRange": [ 85, 105 ], "post_condition": "(lift_mode = semi_wing_borne)", "responseTextRange": [ 107, 141 ], "diagramVariables": "CC = (lift_mode = semi_wing_borne & kias <= 100.0 & kias > 30.0), Response = (lift_mode = semi_wing_borne).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: every point in the interval where (lift_mode = semi_wing_borne & kias <= 100.0 & kias > 30.0) is true.\nREQUIRES: for every trigger, RES must hold at the next time step.", "diagram": "_media/user-interface/examples/svgDiagrams/null_noTrigger_next_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_ft": "BAD_FT", "regular_condition_unexp_pt": "(((lift_mode = semi_wing_borne) & (kias <= 100.0)) & (kias > 30.0))", "regular_condition_unexp_ft": "(((lift_mode = semi_wing_borne) & (kias <= 100.0)) & (kias > 30.0))", "regular_condition_SMV_pt": "(((lift_mode = semi_wing_borne) & (kias <= 100.0)) & (kias > 30.0))", "regular_condition_SMV_ft": "(((lift_mode = semi_wing_borne) & (kias <= 100.0)) & (kias > 30.0))", "post_condition_unexp_pt": "(lift_mode = semi_wing_borne)", "post_condition_unexp_ft": "(lift_mode = semi_wing_borne)", "post_condition_SMV_pt": "(lift_mode = semi_wing_borne)", "post_condition_SMV_ft": "(lift_mode = semi_wing_borne)", "ft_fetched": "(LAST V ($regular_condition_unexp_ft$ -> (LAST | (X $post_condition_unexp_ft$))))", "ft": "(LAST V ((((lift_mode = semi_wing_borne) & (kias <= 100.0)) & (kias > 30.0)) -> (LAST | (X (lift_mode = semi_wing_borne)))))", "pt_fetched": "(H ((Y $regular_condition_unexp_pt$) -> ($post_condition_unexp_pt$ | FTP)))", "pt": "(H ((Y (((lift_mode = semi_wing_borne) & (kias <= 100.0)) & (kias > 30.0))) -> ((lift_mode = semi_wing_borne) | FTP)))", "ptExpanded_fetched": "(H ((Y $regular_condition_SMV_pt$) -> ($post_condition_SMV_pt$ | (! (Y TRUE)))))", "ptExpanded": "(H ((Y (((lift_mode = semi_wing_borne) & (kias <= 100.0)) & (kias > 30.0))) -> ((lift_mode = semi_wing_borne) | (! (Y TRUE)))))", "CoCoSpecCode": "H((YtoPre((((lift_mode = semi_wing_borne) and (kias <= 100.0)) and (kias > 30.0))) => ((lift_mode = semi_wing_borne) or not (YtoPre(true)))))", "ftExpanded_fetched": "(LAST V ($regular_condition_SMV_ft$ -> (LAST | (X $post_condition_SMV_ft$))))", "ftExpandedUnoptimized": "(LAST V ((((lift_mode = semi_wing_borne) & (kias <= 100.0)) & (kias > 30.0)) -> (LAST | (X (lift_mode = semi_wing_borne)))))", "ftExpanded": "(LAST V ((((lift_mode = semi_wing_borne) & (kias <= 100.0)) & (kias > 30.0)) -> (LAST | (X (lift_mode = semi_wing_borne)))))", "ftInfAUExpanded_fetched": "(G ($regular_condition_SMV_ft$ -> (X $post_condition_SMV_ft$)))", "ftInfAUExpanded": "(G ((((lift_mode = semi_wing_borne) & (kias <= 100.0)) & (kias > 30.0)) -> (X (lift_mode = semi_wing_borne))))", "component": "vehicle" }, "_id": "LPC_SWB_STAY_ON_NEXT" }, { "reqid": "LPC_WB_STAY_ON_NEXT", "parent_reqid": "", "project": "LPC_mini", "rationale": "", "comments": "", "fulltext": "Whenever lift_mode = wing_borne & kias > 90.0 the vehicle shall at the next timepoint satisfy lift_mode = wing_borne", "status": "", "semantics": { "type": "nasa", "scope": { "type": "null" }, "condition": "noTrigger", "timing": "next", "response": "satisfaction", "variables": [ "lift_mode", "wing_borne", "kias" ], "qualifier_word": "whenever", "pre_condition": "(lift_mode = wing_borne & kias > 90.0)", "regular_condition": "(lift_mode = wing_borne & kias > 90.0)", "conditionTextRange": [ 0, 45 ], "component_name": "vehicle", "componentTextRange": [ 47, 57 ], "timingTextRange": [ 65, 85 ], "post_condition": "(lift_mode = wing_borne)", "responseTextRange": [ 87, 116 ], "diagramVariables": "CC = (lift_mode = wing_borne & kias > 90.0), Response = (lift_mode = wing_borne).", "description": "ENFORCED: in the interval defined by the entire execution.\nTRIGGER: every point in the interval where (lift_mode = wing_borne & kias > 90.0) is true.\nREQUIRES: for every trigger, RES must hold at the next time step.", "diagram": "_media/user-interface/examples/svgDiagrams/null_noTrigger_next_satisfaction.svg", "scope_mode_pt": "BAD_PT", "scope_mode_ft": "BAD_FT", "regular_condition_unexp_pt": "((lift_mode = wing_borne) & (kias > 90.0))", "regular_condition_unexp_ft": "((lift_mode = wing_borne) & (kias > 90.0))", "regular_condition_SMV_pt": "((lift_mode = wing_borne) & (kias > 90.0))", "regular_condition_SMV_ft": "((lift_mode = wing_borne) & (kias > 90.0))", "post_condition_unexp_pt": "(lift_mode = wing_borne)", "post_condition_unexp_ft": "(lift_mode = wing_borne)", "post_condition_SMV_pt": "(lift_mode = wing_borne)", "post_condition_SMV_ft": "(lift_mode = wing_borne)", "ft_fetched": "(LAST V ($regular_condition_unexp_ft$ -> (LAST | (X $post_condition_unexp_ft$))))", "ft": "(LAST V (((lift_mode = wing_borne) & (kias > 90.0)) -> (LAST | (X (lift_mode = wing_borne)))))", "pt_fetched": "(H ((Y $regular_condition_unexp_pt$) -> ($post_condition_unexp_pt$ | FTP)))", "pt": "(H ((Y ((lift_mode = wing_borne) & (kias > 90.0))) -> ((lift_mode = wing_borne) | FTP)))", "ptExpanded_fetched": "(H ((Y $regular_condition_SMV_pt$) -> ($post_condition_SMV_pt$ | (! (Y TRUE)))))", "ptExpanded": "(H ((Y ((lift_mode = wing_borne) & (kias > 90.0))) -> ((lift_mode = wing_borne) | (! (Y TRUE)))))", "CoCoSpecCode": "H((YtoPre(((lift_mode = wing_borne) and (kias > 90.0))) => ((lift_mode = wing_borne) or not (YtoPre(true)))))", "ftExpanded_fetched": "(LAST V ($regular_condition_SMV_ft$ -> (LAST | (X $post_condition_SMV_ft$))))", "ftExpandedUnoptimized": "(LAST V (((lift_mode = wing_borne) & (kias > 90.0)) -> (LAST | (X (lift_mode = wing_borne)))))", "ftExpanded": "(LAST V (((lift_mode = wing_borne) & (kias > 90.0)) -> (LAST | (X (lift_mode = wing_borne)))))", "ftInfAUExpanded_fetched": "(G ($regular_condition_SMV_ft$ -> (X $post_condition_SMV_ft$)))", "ftInfAUExpanded": "(G (((lift_mode = wing_borne) & (kias > 90.0)) -> (X (lift_mode = wing_borne))))", "component": "vehicle" }, "_id": "LPC_WB_STAY_ON_NEXT" } ], "variables": [ { "project": "LPC_mini", "component_name": "vehicle", "variable_name": "hover_control_mode", "reqs": [ "LPC_TB_STAY_ON_NEXT", "LPC_STB_STAY_ON_NEXT", "LPC_STB_TO_TB", "LPC_TB_TO_STB", "LPC_INIT_HOVER_MODE" ], "dataType": "boolean", "idType": "Output", "moduleName": "", "description": "", "assignment": "", "copilotAssignment": "", "modeRequirement": "", "modeldoc": false, "modeldoc_id": "", "modelComponent": "", "completed": true, "_id": "LPC_minivehiclehover_control_mode" }, { "project": "LPC_mini", "component_name": "vehicle", "variable_name": "kgs", "reqs": [ "LPC_TB_STAY_ON_NEXT", "LPC_STB_STAY_ON_NEXT", "LPC_STB_TO_TB", "LPC_TB_TO_STB", "LPC_KIAS_KGS", "LPC_INIT_HOVER_MODE" ], "dataType": "double", "idType": "Output", "moduleName": "", "description": "", "assignment": "", "copilotAssignment": "", "modeRequirement": "", "modeldoc": false, "modeldoc_id": "", "modelComponent": "", "completed": true, "_id": "LPC_minivehiclekgs" }, { "project": "LPC_mini", "component_name": "vehicle", "variable_name": "kias", "reqs": [ "LPC_STB_STAY_ON_NEXT", "LPC_SWB_TO_STB", "LPC_STB_TO_SWB", "LPC_SWB_TO_WB", "LPC_INIT_LIFT_MODE", "LPC_INIT_KIAS", "LPC_KIAS_KGS", "LPC_KIAS_DERIVATIVE", "LPC_WB_TO_SWB", "LPC_KIAS_0", "LPC_SWB_STAY_ON_NEXT", "LPC_WB_STAY_ON_NEXT" ], "dataType": "double", "idType": "Output", "moduleName": "", "description": "", "assignment": "", "copilotAssignment": "", "modeRequirement": "", "modeldoc": false, "modeldoc_id": "", "modelComponent": "", "completed": true, "_id": "LPC_minivehiclekias" }, { "project": "LPC_mini", "component_name": "vehicle", "variable_name": "lift_mode", "reqs": [ "LPC_TB_STAY_ON_NEXT", "LPC_STB_STAY_ON_NEXT", "LPC_REACH_HOVER_12", "LPC_SWB_TO_STB", "LPC_STB_TO_SWB", "LPC_STB_TO_TB", "LPC_SWB_TO_WB", "LPC_TB_TO_STB", "LPC_INIT_LIFT_MODE", "LPC_LIFT_MODE", "LPC_WB_TO_SWB", "LPC_REACH_HOVER_06", "LPC_SWB_STAY_ON_NEXT", "LPC_WB_STAY_ON_NEXT" ], "dataType": "integer", "idType": "Output", "moduleName": "", "description": "", "assignment": "", "copilotAssignment": "", "modeRequirement": "", "modeldoc": false, "modeldoc_id": "", "modelComponent": "", "completed": true, "_id": "LPC_minivehiclelift_mode" }, { "project": "LPC_mini", "component_name": "vehicle", "variable_name": "semi_thrust_borne", "reqs": [ "LPC_STB_STAY_ON_NEXT", "LPC_SWB_TO_STB", "LPC_STB_TO_SWB", "LPC_STB_TO_TB", "LPC_TB_TO_STB", "LPC_LIFT_MODE" ], "dataType": "integer", "idType": "Internal", "moduleName": "", "description": "1", "assignment": "1", "copilotAssignment": "", "modeRequirement": "", "modeldoc": false, "modeldoc_id": "", "modelComponent": "", "completed": true, "_id": "LPC_minivehiclesemi_thrust_borne" }, { "project": "LPC_mini", "component_name": "vehicle", "variable_name": "semi_wing_borne", "reqs": [ "LPC_SWB_TO_STB", "LPC_STB_TO_SWB", "LPC_SWB_TO_WB", "LPC_LIFT_MODE", "LPC_WB_TO_SWB", "LPC_SWB_STAY_ON_NEXT" ], "dataType": "integer", "idType": "Internal", "moduleName": "", "description": "2", "assignment": "2", "copilotAssignment": "", "modeRequirement": "", "modeldoc": false, "modeldoc_id": "", "modelComponent": "", "completed": true, "_id": "LPC_minivehiclesemi_wing_borne" }, { "project": "LPC_mini", "component_name": "vehicle", "variable_name": "thrust_borne", "reqs": [ "LPC_TB_STAY_ON_NEXT", "LPC_REACH_HOVER_12", "LPC_STB_TO_TB", "LPC_TB_TO_STB", "LPC_LIFT_MODE", "LPC_REACH_HOVER_06" ], "dataType": "integer", "idType": "Internal", "moduleName": "", "description": "0", "assignment": "0", "copilotAssignment": "", "modeRequirement": "", "modeldoc": false, "modeldoc_id": "", "modelComponent": "", "completed": true, "_id": "LPC_minivehiclethrust_borne" }, { "project": "LPC_mini", "component_name": "vehicle", "variable_name": "wing_borne", "reqs": [ "LPC_SWB_TO_WB", "LPC_INIT_LIFT_MODE", "LPC_LIFT_MODE", "LPC_WB_TO_SWB", "LPC_WB_STAY_ON_NEXT" ], "dataType": "integer", "idType": "Internal", "moduleName": "", "description": "3", "assignment": "3", "copilotAssignment": "", "modeRequirement": "", "modeldoc": false, "modeldoc_id": "", "modelComponent": "", "completed": true, "_id": "LPC_minivehiclewing_borne" } ] }