A DTBN-based Framework of Quantitative Safety Analysis for AADL Model
osate2-quansafe
: source code of QuanSafe plugin for AADLaircraft system
: AADL implementation of the Aircraft System in paperimg
: images for Readme.md
-
Prepare the software environment
Setting up an OSATE development environment
Import
osate2-quansafe
project into working setschoose
osate2-quansafe
project -> run asOsate2
-
Import the example of the Aircraft System
In the window that opened in the previous step, choose File -> Open projects from system ->
choose
aircraft system
project -
Perform safety analysis
Open file
AircraftSafetyExample.aadl
Find system component
ac.SensorVA
-> Instantiate -> Run QuanSafe ->set mission time & number of time intervals & choose inference algorithm (jtree is default) ->
enter query statements by line -> OK -> the result will be generated under the folder
/reports
-
Normal query (can be used for risk analysis)
# Query the probability of an event occurring in a specific time interval. P(Incident't=4) # Result Query -> P(Incident't=4): [2.955040100133632E-10] use 274.0 ms # Query the cumulative probability of an event occurring during the mission time. P(Incident't=*) # Result Probability density: [9.206448812041374E-11, 1.7428129873055814E-10, 2.36456484364298E-10, 2.955040100133632E-10, 3.5557773543099343E-10, 4.186547726972737E-10, 4.859209954742138E-10, 5.581897055114441E-10, 6.360700352084653E-10, 7.200472325826871E-10, 0.9999999960272332] Cumulative distribution: [9.206448812041374E-11, 2.663457868509719E-10, 5.028022712152699E-10, 7.983062812286332E-10, 1.1538840166596266E-9, 1.5725387893569004E-9, 2.0584597848311142E-9, 2.6166494903425583E-9, 3.2527195255510236E-9, 3.972766758133711E-9, 1.0] use 122.0 ms
-
MPC query (Most Probable Cause, can be used for diagnostic analysis)
# Query the effect of basic events on the probability of occurrence of the root event with each time interval. MPC=? [E1,AOA1,FSF,PDM,WF,ACCF,PCM,DF]: # Result AOA1 => [0.0029676185790600464, 0.006707583815932024, 0.011390723584049817, 0.01692007095768267, 0.023168762245415746, 0.02999324827380967, 0.0372518330247496, 0.0448151842924779, 0.052571254212097615, 0.0604266257555586] FSF => [0.9715219984853115, 0.9383652546431436, 0.8956228020977516, 0.848664378860016, 0.799988881127936, 0.7512972428505426, 0.7037527388332399, 0.6581192103188741, 0.6148626558264632, 0.5742313568702224] PDM => [0.001144810892994996, 0.003864568663566395, 0.00852134858003032, 0.0149390236201991, 0.02287796189024324, 0.03206090699786052, 0.04221034596759706, 0.05307016398999334, 0.06441621888697584, 0.07605973145228151] WF => [0.0018165309351719226, 0.004979105410192904, 0.010009131270153, 0.016755356456507983, 0.024988836419249823, 0.03443840227525209, 0.044830652307167096, 0.05591257201962537, 0.06746252183528578, 0.07929382368826826] ACCF => [0.02753299807214603, 0.058168774216099235, 0.0964510523042767, 0.1371851943567743, 0.17811111344422353, 0.21780454664303472, 0.255379369547715, 0.29032768162828787, 0.3224076004806694, 0.3515597069496128] PCM => [0.027678840750501008, 0.058451217556971614, 0.09685742049215403, 0.13770249479933797, 0.17872695202287978, 0.21850773039716048, 0.25616019490770725, 0.2911780109891403, 0.3233208067361943, 0.3525305440360137] E1 => [2.2500370925452725E-8, 9.001234850184116E-8, 2.0259608288538922E-7, 3.6038929217329996E-7, 5.636078040442608E-7, 8.12532508563818E-7, 1.1074918774459693E-6, 1.4488447672808417E-6, 1.8369657966169432E-6, 2.2722340572734733E-6] DF => [0.001044920379641883, 0.0036653216532622455, 0.008223860363603043, 0.01454492041426067, 0.02238927871057436, 0.03147996927817144, 0.041539658496545936, 0.05231231702281703, 0.06357381445884379, 0.07513532905957095] use 8570.0 ms
-
tRAW query (can be used for sensitivity analysis)
# Query the tRAW values of basic events. tRAW=? [E1,AOA1,FSF,PDM,WF,ACCF,PCM,DF]: # Result AOA1 => [1.7357089108630772E-11, 6.010497532309358E-11, 1.2401329799299285E-10, 2.0699501282057718E-10, 3.076136751621436E-10, 4.2476043429908485E-10, 5.575245715457302E-10, 7.051284005238069E-10, 8.668899194962079E-10, 1.0421994122179595E-9] FSF => [0.9999999999079355, 0.999999999823097, 0.9999999997501798, 0.9999999996664519, 0.9999999995616576, 0.9999999994274611, 0.9999999992560743, 0.9999999990398529, 0.9999999987711382, 0.9999999984421867] PDM => [4.349703561419427E-10, 3.0206273863493764E-9, 9.373917416312765E-9, 2.091834221946504E-8, 3.8963657487754735E-8, 6.473765584419671E-8, 9.940362195457054E-8, 1.4407139079366376E-7, 1.998049851231114E-7, 2.6762820963747174E-7] WF => [9.964845213345835E-11, 3.9724341538540297E-10, 8.908289615292436E-10, 1.5784995166075934E-9, 2.4583838187862216E-9, 3.5286384702909227E-9, 4.787444359860378E-9, 6.233004367574124E-9, 7.863541755944703E-9, 9.677298971238992E-9] ACCF => [1.499887480142526E-4, 1.4996624376138962E-4, 1.499437378095945E-4, 1.4992123016182457E-4, 1.498987208204136E-4, 1.4987620978750894E-4, 1.4985369706496855E-4, 1.498311826546391E-4, 1.4980866655816427E-4, 1.497861487771148E-4] PCM => [1.6897465032626106E-8, 6.758985997509746E-8, 1.520771818666237E-7, 2.703594245187426E-7, 4.2243657807230976E-7, 6.08308629441751E-7, 8.279755618708832E-7, 1.081437355265525E-6, 1.3686939864149078E-6, 1.689745428102876E-6] E1 => [1.5187498981076084E-15, 2.429999343990623E-14, 1.2301867733603606E-13, 3.88799604687403E-13, 9.492172871327317E-13, 1.9682957481306825E-12, 3.64650827582571E-12, 6.220777130040891E-12, 9.964473194604812E-12, 1.5187415585076727E-11] DF => [8.699842114943628E-10, 3.0200232004797018E-9, 6.246466222280888E-9, 1.0451850945627344E-8, 1.5570661209167205E-8, 2.155333448690479E-8, 2.8359875851097627E-8, 3.595665841290228E-8, 4.4314594415204374E-8, 5.340799360461746E-8] use 8519.0 ms