From 9bf3667535a3e9298ddd38ed516d4267d79186fe Mon Sep 17 00:00:00 2001 From: Isaac Amundson Date: Wed, 19 Jun 2024 17:06:02 -0500 Subject: [PATCH] commented out resolute --- .gitignore | 1 + .../.aadlbin-gen/.AGREE_Definitions.aadlbin | Bin 4464 -> 4580 bytes .../.aadlbin-gen/.CASE_Scheduling.aadlbin | Bin 933 -> 945 bytes .../.aadlbin-gen/.Data_Types.aadlbin | Bin 3846 -> 3964 bytes Cyber-Resilient-UAV/.aadlbin-gen/.FC.aadlbin | Bin 1585 -> 1601 bytes Cyber-Resilient-UAV/.aadlbin-gen/.GS.aadlbin | Bin 3381 -> 3399 bytes .../.aadlbin-gen/.HAMR.aadlbin | Bin 1679 -> 1689 bytes Cyber-Resilient-UAV/.aadlbin-gen/.MC.aadlbin | Bin 6850 -> 5141 bytes Cyber-Resilient-UAV/.aadlbin-gen/.SW.aadlbin | Bin 13407 -> 13421 bytes Cyber-Resilient-UAV/.aadlbin-gen/.UAS.aadlbin | Bin 2575 -> 2591 bytes .../.aadlbin-gen/.UAS_Buses.aadlbin | Bin 1661 -> 1581 bytes Cyber-Resilient-UAV/.aadlbin-gen/.UAV.aadlbin | Bin 2882 -> 2901 bytes Cyber-Resilient-UAV/.aadlbin-gen/.gitignore | 13 + .../Requirements/.CASE_Requirements.aadlbin | Bin 3025 -> 1501 bytes .../.aadlbin-gen/Requirements/.gitignore | 1 + .../resources/.AGREE_PLTL.aadlbin | Bin 0 -> 3281 bytes .../resources/.AGREE_Stdlib.aadlbin | Bin 0 -> 5598 bytes .../.aadlbin-gen/resources/.DReal.aadlbin | Bin 0 -> 2116 bytes .../resources/.Linearizer.aadlbin | Bin 0 -> 2257 bytes .../.aadlbin-gen/resources/.Resolint.aadlbin | Bin 0 -> 1687 bytes .../resources/.Resolute_Stdlib.aadlbin | Bin 0 -> 4320 bytes .../resources/packages/.Base_Types.aadlbin | Bin 0 -> 3695 bytes .../resources/packages/.ErrorLibrary.aadlbin | Bin 0 -> 5496 bytes .../packages/.PhysicalResources.aadlbin | Bin 0 -> 957 bytes .../resources/properties/.ARINC429.aadlbin | Bin 0 -> 907 bytes .../resources/properties/.ARINC653.aadlbin | Bin 0 -> 2612 bytes .../resources/properties/.ARP4761.aadlbin | Bin 0 -> 2560 bytes .../.Code_Generation_Properties.aadlbin | Bin 0 -> 1046 bytes .../resources/properties/.Data_Model.aadlbin | Bin 0 -> 1661 bytes .../resources/properties/.EMV2.aadlbin | Bin 0 -> 2944 bytes .../resources/properties/.MILSTD882.aadlbin | Bin 0 -> 2585 bytes .../resources/properties/.Physical.aadlbin | Bin 0 -> 985 bytes .../resources/properties/.SEI.aadlbin | Bin 0 -> 3537 bytes .../properties/.behavior_properties.aadlbin | Bin 0 -> 921 bytes .../.AADL_Project.aadlbin | Bin 0 -> 3764 bytes .../.Communication_Properties.aadlbin | Bin 0 -> 3679 bytes .../.Deployment_Properties.aadlbin | Bin 0 -> 4079 bytes .../.Memory_Properties.aadlbin | Bin 0 -> 3689 bytes .../.Modeling_Properties.aadlbin | Bin 0 -> 1384 bytes .../.Programming_Properties.aadlbin | Bin 0 -> 2462 bytes .../.Thread_Properties.aadlbin | Bin 0 -> 2883 bytes .../.Timing_Properties.aadlbin | Bin 0 -> 2952 bytes .../CASE_Model_Transformations.aadl | 482 +++++++++--------- Cyber-Resilient-UAV/MC.aadl | 40 +- .../Requirements/CASE_Requirements.aadl | 66 +-- 45 files changed, 309 insertions(+), 294 deletions(-) create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/.gitignore create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/Requirements/.gitignore create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/.AGREE_PLTL.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/.AGREE_Stdlib.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/.DReal.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/.Linearizer.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/.Resolint.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/.Resolute_Stdlib.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/packages/.Base_Types.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/packages/.ErrorLibrary.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/packages/.PhysicalResources.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.ARINC429.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.ARINC653.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.ARP4761.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.Code_Generation_Properties.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.Data_Model.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.EMV2.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.MILSTD882.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.Physical.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.SEI.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.behavior_properties.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/Predeclared_Property_Sets/.AADL_Project.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/Predeclared_Property_Sets/.Communication_Properties.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/Predeclared_Property_Sets/.Deployment_Properties.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/Predeclared_Property_Sets/.Memory_Properties.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/Predeclared_Property_Sets/.Modeling_Properties.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/Predeclared_Property_Sets/.Programming_Properties.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/Predeclared_Property_Sets/.Thread_Properties.aadlbin create mode 100644 Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/Predeclared_Property_Sets/.Timing_Properties.aadlbin diff --git a/.gitignore b/.gitignore index 5d8c9e9..6b02e5f 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /agree.log /diagrams/ /instances/ +/.metadata/ diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/.AGREE_Definitions.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/.AGREE_Definitions.aadlbin index 8fb3dedd196697308b4ae5c10b721d46949f4285..d9af858c37abcbbcee7eb53f778bce8495cdf24c 100644 GIT binary patch delta 2339 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 J9|HgY005)7^Zx(< delta 507 zcmV@6aWYa2ms7HI99O^F#!b3JUCX9Ljfj#JxgRU6o!wZqppY| z%63*RELbFBVPT`g&Wwu6%3iI`VPEp*@O=X_4jZO$Y!@hnsMw)21gKQ5j$L#_-RLb9mLLM!zYe6X<>i=~L18XE`5 zvfI-+EuAypVHZ^2-1v=CY%8P08<12 x08mQ-0u%rg00;;O0L(l%R+BFSHVw=?I9Ae(jV7D{002{yasxRA69WJM005yK;B^21 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/.Data_Types.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/.Data_Types.aadlbin index 4931990b87b086b008fe69d64da04d4ad76ce674..e849714e2dc29b47c0ee0dc7834433acd088c04a 100644 GIT binary patch delta 2455 zcmV;I3263)9{e5-P)h>@6aWYa2mpwP(^#<%d<6uEh|^e;js+%v-ES0C6u-1Zpfs3D zXpF|EVoZ$gbX&pFn8?x(+R$Qc1r5=x)1BMx;CyxFF5Ol{ln@L-5HS!F(Zr~UO8k5f z-XuQwj6Rt7v?FavZk)d3mTj&pD+fUoUK|&HH~*Z zfWO^(bjJ@p02Hm2r@&rIlhLAS>myRdoHV++0PV-|#j2)413i8ub5t6Wk(_;Q)q+k+ zmK6;E(1)EG58>4KGYiLI4%PW|XR~?r;^n_SF8QQ^OgNu^`fKmOBTEQbBa-AEPpQVD zDP=Na)6!sSpkINn zm!q!1qJ=}=w9@7NM4-DiR1ur#t(lmVouwJs+PvlW+duWae5Vt1On`39l$8lNhfI44 zY(q;ps3lW>Q;OEp`vLIGZgqdUFN;NI8Jq$gD<{EZJRd!n3_^Hh&$&6cT)?kcfwIfjG(D_~;6+Yh@qp}s<|73u)Gsg&)v>V0kQIb| z{>xh3XBJc4-$r=2YZ6Wa+^^Ue5vDY(U@S@Q*V(T#91)UHV7U#^==rTP3j?| zY37Q%b7rF+s^;3H9;)MUQ4i~_w@F#gsE&hwePg4n%f<+?$NrY z&_Cz@{v-eEh236LXbq2ZkYPszg|uXuHgX;AZ<^GH2ZtnS);4jdXmuW<(%>_u0yT#I zKS}K9tn1}Ss_uFXl_Q3VJghtrm)(?R7`kM%FQt>2nYnl*b5mV16Er{T8le3LWCxai zo2IcyX-8d3FN2dIU6KZ*{pN}Rl~Q}NGFIu>s3zlbwy5ImT=lf_^vXDnnNz*0o*DpW z+cT%@YQ%{5at>N}yvp*zxQ#kY#Aah2B&&SvU;M8QoX@~jk>HencU0C2aQ!=QuI87e z74oVfxoeW?xb3){X&_r&D0oI3s8&6HcPeqJ_+<@{Mvu#`q@HLv;D%Q|G_4|N%Nm|P zY=KLYfIBSf_J|-*TrE5t@WiiUW{Qcy$@9wh27<`uV~_&cypP0~^JpTH{NqN>{3GZ#puenKH@_ z4f4PtLu--Mhc77&2V9%+0VjQb7o7NlGk6yq3OM}5cjLxAmK`5PHv_R!3LkM-3PeE*h37)(90i3ZO}^tw^rFQ0+b`@? z-Zi1PBy34yjAE4a=sJH!rIXOn=Jri2Ruub=KgEbZC85d94aCT8?<--y@ z7WVO{*KPjFo`_GPls!K<*+_fAWD_jy<4?A0V(}5L?c)#8EwOTcBWdEEAD~gxeH-fF z9+GB^i@In1*d|sa`0R=oOzKd*?;Bw?@15VpwM+_Pe-BzT(}Ljnl~MDXq?hJd^!77+0p zqZnfHh1gXlX?r4u2(~WUyhp7ct3I;5(|g~EK(G6k)1-CRKcSHoX7iz7n z;>PQD>Tc~&jeK(pTNld@6AFI0;)d+~3ZLS=vDaxXA4@%dZZ2FaE;0yoEy=o#zP+~I+^a*~v{#!Cx=pDR`j-5z z55Bt^{BS4_sfQ3P7bI;|ZnR`1XgbJ$H7{^NNM$T=`bmW{;DSkIpwIZV zRWkI_PFFRwx$QT!e+J1lBtR8!NdXWqYg!?ElH05z1)E}F*DH#|q%0z|a!J9(^003Anrd0p{ delta 2336 zcmV+*3E%eo9)=zcP)h>@6aWYa2ms7HI99O^d<6u|JUCX9js+%vOK%)S5boFxA;AhV zQ7i;PLUI5J(2Un6A+ZEx;|I2g!PtZYm!)^6y`E%Vp6QL(79b&z5DGf>)Ji51Mk#lf%#xvDbU)5JtT|2w}?oV*g_rQYVRTQL| zhU+7xhEWYG9`c=ks;42vMV@c?7}@0Y8uAQi8auFTqSeL)bI8{`!^MVUU%QEZ`{D7U z-;V-NbGHiM3D<;p-SMm$wJAwe z9g5sJ=v=@0@n5&=ia>BGfg%&_WANAp#_o)&2Im#SUU$@gVsY-gI;BibsA`d%T!Gpp zSV2VbV;A9Ns8q3GDn-wO+vkatS$U35@v04yw7t&I4N`!A}g1w3n(8 z5o2u;i_qU#hVH>bzyJ8t`0ICu!O#LYVmeS?fEsqZC2$yT5KA^3Q?I$todqBidw1|N zcv-9Yo8T>fFtoJ^o=InV$*q=6Lj#jE1XjXp8W^k*7ZB*fg-1HA9NQzcuH7Mu-UcY9 z(_47~A$Q4s&9M7VFR2^8ykLQ5kVb!Tu?vU635ng3(RNLSp@P& zcS~p6fzsAfWp$xM7UKf^U3FP(Z812PNm~(+-_s#Fjs@paT2RE8EEj6DiZ-j{H81#& zM~Y^D+wu;0nWrrxoby2MmEz>qWghnVE>RQla@KgXY_>J;f>o~8h;Y|~l%?1fUP@gH zi@Hv(_rrY-7cY%=N@Q!k0~R@GF2W;YdlnE`&x@w%Yy}%lKJ~mMPGmiAEh40z@0KpI ze_b|wpD4tqe{Be(=o{X5#`nPUsYW&H$P3PYc8o~=`QYzAD!*Pi5spZ9$U2W^9TgZ! zZg(9I2dYiP6#u=(%1*#(bf^Fc?6`_wd z1H>NAs)r^RvBl!@szj^~bYPXs=<1l@O`L;1YE1p)AvV;3m}4nKBskABTkCG?`TGtT$M?%BQPR62s{(MTtzNfq?y`zO#Dt$q2Ft< z>Nd{(Oa66We+_)tckCO#dli~hwEGCW*H*?gs};jmgCgMg!8}QGZ0s53YAD1-|sq z)0CwD2_@+V3QRRqe{{xQ@el#pgyg?cbLkRk3jGkB;8gIQX^(0Un5h&_cIE$n0uOIJ zNzMONtBkyQ0jQFesLMmP7+OqITOuj6;PpNhFK&D#h8tAm2aFrMT$Y6(F0e(qDY$>F zTGkx0Yq3e+PT1iHU`KOm(y=F-Suh=lOVd-_U@o%eHl2p5de@0Srey33``Amverg|k z(Yb$dRL}=uK#|2anI{va{xdMTqC-y-bLS%7Mmd({AF+@0(zv%;)XC!$s;tMg1pu#?2jNsz0EYz^XP~&v| zsKMzmR$k=zQVcn$zz-NXIC(4!Jv=eviKdq##&TYt#uFDvpIRX@g9!zHC!o0xDEf_l zVITcnT~i`7;-X)mKgS}aHt=}Zo?q8=rT?%GSY_bhuPkNZ4MEf>u{-k|yT)bii#1^?cBV=zKkwr3-#j5MAg`^~vmlIe$!+ z7j3>4M4Pk^`Q@e!=IpP`eXuWqF*5q#obu$BphlPqfBqX`&fenF3Cp00j7~VGRJkkx zeo3uxPCf9ggrYuZy)b9jWod>*<*Spl9!zR8%;h^sc(LVEL2RLa!aoQtFc&XnZhQ?1 z?2ys;=86-a3u>gxZyDQ$yx?7tfVZR_LtY^NOhU3Bw9P_RUnOsY!Y{L3Y<(&2aCkh7 z!7(dfu3=Y7ZJRMTq6ce+zap1}2i~sMqPADkXrN3WCBOrNkqu~h7~EGTk*bA}YLQ3{ z{~*uaujY-qH)4r#az(|1mc>KgF$-Cax7}OLVZE8o*cx|#+?Yu3a!{dg;9GJ~ZN0Ob zO5K*Mn0LqVP)or5nqyfcnzRtk%-~bRB?=q{D(ySke*mftd4#+;5f))i4;C@KOSdCR z(_VB-5J|m5mk~tN8zacly79PKT7-nQY1oJtZ9TN3 z0nZ34W>f}$fAI|J?5Je(rM$ZM?3#k`wF zn;2bf;&v%PsL>N>noc5ip-j~Y)3s#OuSA)Iy%arRD5&*_*+NIfRQ%iH?LMg9iP0^j zUzirq^tzmKo5o5$RJ3EK-Xxtv8jiBIB59IS%%!QtIc>8Ulk^m@qr;*0A5cpN2posA z7qSQd0J(So08mQ-0u%rg00;;O0L(l%R+IV;HV(`@I942ovlp@m006molRghP26PSp G0002e@6aWYa2mpwP(^#<%I06KSh|^e;N&+N*wN=k+6G0T7Catwn z)LL4+C`kMPg1fN_N)FmIZEB%nX{;w9PIh0CX=iuVnMt#$AoMCCdJzP@c=j$H#e?VS zLGa{1;2+?@A2Yjce%N%AG`fdnXPEcB@B8+>H*db9A;D3W@sa@+C7uAom*7i-gJ2bI zf#CrcL`ZPecMdpz!IW&^0)^%61G6A3PCQAN`}8Gzd3XNs+fjskuX-679>ucAxRWw> z;LJ>|0Q`aqCX|3HFRY~RnAwbhu}u*|2NapPeUO>ERagZ}HgVY+V$YvE`|&#Dau;3f zjY}e%LFdX+dMVS?YlFB&W~S4#i{_M(Oqga`Z7yMJ4VOTFaUNgA>)5DBLX9-%xVETB z`kS9ly!eP;#nHe58Wdy$d{0Rns1EA4M6qnfSD|B#&>L8kZ(?s~`0M)*llQjb>IgbS z8Md?7l8i5)5m{E`%Z%E-cYPY60PdiE>rdYo_t8TXt5S5eXSI2+QlP{_$tclF!I^E@ zIc2yqI>b2y0KG1vmz;1poj505qSu%>V!Z delta 902 zcmV;119|+x46zIjP)h>@6aWYa2ms7HI99O^I06LBJUCX9N&+N*t(7rv(?Ar*uT4uS zs(?_nVqrjmB9O47b|{LFXh@s3QW2%0BT6s!OLFDxGk532>43zF5P}5>2^MB{#E2M} z3j-1pUw{w5P~dF0ZUU*}rg*S?r+a_@-rw&%zx{!R1xH23YZ@4oI07_Jf+sZ&g1OuP z%>gcmkYKCl5^#clDcQmm3TwLu=0O;oIFc~?*(><^{>sUBV+eUp^D@df6w4~(R!-lO z)0Z$e!3I+=7Bq}aiV!-c2p0MvSh!u;1Vgp~Y!9;+PoMvM69U{pQwabv#R9rim(t1U zy1&+lU1fScKfj_+YuSvh=hfyaHtypZDA4gu+`yVE3Dxp{oa5GtBJ&=7KKJqyew{)C z%VYoD(Y>7MU>_krgBi)-DquGSqMM`RQSzxy0jM85ImRhRUtQdb!|E<@X z)j`+$WKH062%O00iLUZ7{9&|e-o?H~WEHr-+cu(qem&m#Ui= zOaJ|u16{i~J<~DRGVA$L`KBvC92RIccA#{O5}jB+8JO!fk%7H|@8`Fa+iR$t<$)JW7B z9nq62u*R`v5xeG#sN$Ezk4>f%^<&xsi}BV065Rs)Um`Yp21KOe7Bhh!5i>!$UYCDl z99MkiiKq_w&El;~ByrYYmgU;S2+I8^N@+<)`mCKuV!{N6vXULXR`3OF(ZsJns)sO9u#;_lOT60{{T(3jhF6O928D02BZS2nYboJUCX9zXdi9 c%se<&nD>YeAp-ya>I;(t1~>+v1poj504;Z=u>b%7 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/.GS.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/.GS.aadlbin index 8ed3910824a6efd7d03669933eb3d13dc373385d..f14c5e02d2c16dea49f5d86b91efc523f2217b94 100644 GIT binary patch delta 2010 zcmV<02POEm8pj$AP)h>@6aWYa2mpwP(^#<%`ve4th|^e;4FxQJCQVCAsZ^>~ELM+N({=aXKC$?7~#e((FZZwvEui9s|Mu+Hzc}B{l6`Arf5Pt3Uc`sEZ)<<{J0&x#%^rXB z*yz!>oMiKw6U`m`^QWIre(-RX%&d^ZUg&gI95)T)HF7B3in?u&xnw~!=EJu3xPis2*U zhU>AnH6~ex{TlVfq04UwtVMvnZ49a$h-(K zzoCX!en&mNK$BK(yrA`T4M=HDw=K#A{Vk!W+<1*wY? zFy%6T?Z{|7YDO+-ppL_C&}kMZ#L1x9=W53n(EHR5WA%W0WElupA~h7KrPzLY+O}X2 z`J)H8YFgD&tm`z+u8zsXfA2r~YvcFNp3i0CJ^r5O0NUxc;*(Jrrx~#7r1ip?vpb~b z{LMx_>uCajc}_S}c8EKh`58#sxf!rDcR}udo3)Io4!NZW!CtU0hFbyc6gqPI9mTcF zo|7bOozd9ZzKsvG;b!yJS|lHu;dUz9ju>9Lu`){8+A4LaCf64OwA2_8gANkyw*@Ww=S`u!-5T@h2wn9Iz7pQ9SyEcc;%D5@ya5(zn5Mq zME7Irl27->C1=Qky>!XtFbE3VkCj_;sr2hmbm3Te-XtANfleHrF*E0if=Zq!6sWulD0Qv+<#Fp*Y6JMM=a>P@*NYxg-F{1Ia@DzF1(L}a>z7U^iMqNMV= ztl@GOR+&X{BZvqA!C)@Ra*Sw#gJ;T-EJtQnvRwcvgTpEm#X}SCFCD+aAScX!o#dZ3 zV#lAdso;?5NGSuUH0Uy;l~7fNUumQavOEW683`vSOX<~1fWx>%f>ssY6CtMP_-Qw& z&p;u23TyJjn-L!|$7IS1Kbp2m8MnF(kDLQD*Eg7-) z@-WOb@CBxPxG1YZ8D~g_%N9j{Gm;9DL?*?Bp<=C)Qzft!aj${7K01v>ku)^j`8+g$ zzFOgUu{0}VEHM%p8$~IKsvF3PV2lLNtgc?TORSoc1fX>rGRv!`6Gk04Qle$^AL2E| zH4`2UhI$;kRqZOJdj*YbtTcs-5r{UfFVduKiAyXL{t%k5yS$Dlt@Gf2L_Fy_gjlY! zfs%;<3$T#1vUIFfZkud$W7)<~G37ZMYX?B89Sh1?2yIHa4KJ`!9L*^Q7ODG!kw!|@ ztht5}tS>68+=RKMbV!DGCN*gsoy1oi5Lh8fE>k!)2uAeE@4T8&b7~Q5Xg3&C#7ymc z0f{S3CIA^M?_XnE$ZA4=QMehRuZBUjIlQq1vQERCtCUtu}SM0tg{ zg@(nc#IYag)KQrcL486g=hLmg-zgK`Tl~tya!m%5S>}_NcP>wkwqMs7XSN%%8GR) z4IZn7Z-by7oa2qTN%JjWeB6np^Gtm z(6=(AzV=`8TwRd_@*p5{!oCnGw~q^%WICCq_dife2MCTELH{{)2LJ%zRR91`O928D s02BZS2nYa(h|^e;vkW#4h=|izjzRx9bO!(c;8m0N3^)e03;+NC04P1py#N3J delta 1992 zcmV;(2RHb~8nqe@P)h>@6aWYa2ms7HI99O^`ve5cJUCX94FxQJ=0`(HsZ^>~<-jRW zR7CCkKmu~1+onk)wIXy|dO%`3@y;d=_S)FqX43-*xFLk#f`kMY&fF14#DOC!9FREi z5AX+YC@{7+yPMtdc*gI|mK>su<9+_-oA=&)@6GtTzsPJHk@X+N^1B)GbPz9wFouM{unIf@^PV?=dGC0`PD)`0}$a{{A)x z@FuyS0AOLGPF~nel5o|w)4wgZ-3shlZS97=Y%MO>c8yUA3L-lXB| z+#f&wbnf26X)?7=PIv)ru2UxoqD?ZN>~h4rf!FMYuU{r4GxtRLJN?-0#_y5$$<#h2 zm(+&X2s_(F5ImZO-H;CqX_q=wJBMVoFwF38}m zvHPyWZXblK4{9m{HI-4EklD;gIVwh$bWmBFe(1@W%b}(BF`u;)dW5;7AWsZzmLq+e zSc*vbq-;fjLoP}unBT$TIEW-9&h;#ngWDr3df;+@B3G0UDsg#o*l;=EyQ(N| zE#?GXDnX{q-l0Vm4^+*E+-&`>d|~RviYy^!R#Y5NH6dmObNZGPu&HIlfzfiP?~s>O zp+-S}r`@dQkCumW{ea60Uqa+lM~s!D^vP>gP$~p=4poWQr^jtekY`^#&SlC*B{A4y zQF?VqjQ#V;qd#|k`}Db7j6Kp-D)&@w4}&O4pI@A0o?l)$BH_tBnLGv@*FqMOpD|rM1~Kau&~BLFE~hvZuG9XoaCB+ zlXR%p=nKup6}R1V+dGhq{c6clI67iG>|Glny){A7m&gYbCp}lC|0l-xCdl|Q`FP@t zUk%#r9PHy~JyRIJ^u@|__V;u`PA9IXfkhXTGF-@ZQ_p@i&2RkC?hh{0$P;4wTP0!>#ByuQ&?mcWg0<5NC*aV zA<8kb00&3P$uvi%SJD=>lEHrQhB8AV&liqgV~``}&hbw>5%tGxYD~zur-(p*Y7JUs zv=FM!@C%KIAggmA%1Ag)DWtbr0_^)G60{=s9&s_vi65T^{Rot@r?DoFJbC0#W%np_ zItWw6nH$-WQL>mM?#5>bZ81k?qU!vM#t3lgB1H$yxq=Z_ULN|n2EM?Ehl{crh&V$s zELs%JNGeDY85I|XinT&cwZImC_A3_s$!t03EIuB07qf>|A%SAR&GBIEQmXaoaO2?JTZIg{| zEZZ0=Mx3*;b^w&xv7nrV(56(|@B$mf(VS{vk-9G!X+)@I%{7c*eNk!UCe1CvAsOD8 ztVrYF@VM@PzzR`unZl_-FuYfN=hcLo)ALwEyTPC$W^CsRNSrX40A#TG{2JRr))R`- z&5-J97*w0XiyP6pUd^3$)m7uw31f@pxrz$rvH-6x) zYMccRP~mD9dq&!%P=#i$2WD(r7rOdkX-rN13d><8$}7YzG%QXPj{PX7j>3!x>cfHx zPf#|Kc5yHo^T4hGXvL7#j-@M@-bq1IU2jl;!&ePm5e<<*!2U^pmF6%2E_}iiw-+(w z16T-Z9t}b$?SV`vjv6q zNXb_7y#j<#)(ItzV>cMt+h~|pZ9rAnuF%q>CJ8kXO_Nn{IGqYJZ3WCzltzV1rSvE5 z0UPc07&_sp+4#nP?=fSY-Y~t-hqk9VsWW--m7(<7zuKa#R2SP)h*<6aW+n00;;O0L(l%R+GgHHV(`@ aI95M8nYLmF0044SlL-wt2BQoB0000Fmdb4a diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/.HAMR.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/.HAMR.aadlbin index d295244e5014445d8cdef844940967b5da0f284e..f3526fb7bf77ef7b25a3fa321a270116ae28871e 100644 GIT binary patch delta 751 zcmV@6aWYa2mpwP(^#<%H3I~Qh|^e;M*}2(wU#|^(?A%?8*S9&9K%!ND#6ogk*g+4G))2(e49-z& zQ-b=Bzg&Lx8NHc?sT{;T(#AfMHm90#br%p8nQ+8s3 zsaV&PfZ3jZP6uda1S*A%aHuI2PL(Sb`I`b`loO{UTOg80A8tCWlVxmF4TYZpiMOD{u|-qSyl(Fl_2cN8CV^)vTMjA zR&RMRWu)%p+PyAS%Kpl$vuNP|15ir`2oxfBGK>NM0M`lt08mQ-0u%rg00;;O0Emdw hSd$F~HVue~(^wQDcQT9u007sMPzE^$2L=ED003lDQn~;D delta 741 zcmV@6aWYa2ms7HI99O^H3J09JUCX9M*}2(t(Hw|6G0fqpQbIX zFI1`^c<_`Kq2g|7PYsGqo74mvEQuut59?(2Nit!(Go787Z4QE05z&hv=*6>l@hBcV zR}X?GzknaWgD*3igtV44FPlB=4zoM|=l7p^_L+J26Q+FuTTE08v|Y-5Gy;i%Gz9vr zE^IV73ZMECJ=HFMprFL1O;U0(-~J$lzAY%1lzGozbMMas1iWz_7P(7gnTfrG z*^x6dL^$Z7V`h@Myg`WL0>C-NkRE{{eYaFYTOL6;oMtbdz4-OEg|G`t10lq93$9hA zA!!4!o&D4o3{NQjBVq0+5WyIMcwqzm; zXJl1zSDEVs{PsFPC^)O{x)}uiK0Jb0<36koZq(Rme+mnOI1WQ-53$fmtnEa?Y)7X> zF>?x^12>0%;7ehd)Lm(9P-zvZBdZZX=T8XsCw3t<0&$K6Rsr|xI#aEJN`Z*vS9%Kf zcTj@F5DvlsQc$ll4(<#8$@Qn*g&RZAW{MF3W0_)qCIV|iFm19u&OG#_b?<;joxr){ zYU9pV{UdBL2W=})8mi@as*I}g=||1ip2GbdAlw>%$w8QE(Np%~NyTwzNH;=(qa8Iv zj;oEk26xrdo~@ov)Eaz3@D$?KmZ`SNJ0l%T$|!X2kz>K1C%=DGzCK+Dj|EMoy&N^! zYJ&~uOh^qC?>TvkE32lNRNYxmVg*H9zp&JN>XS_(j1>`e{j`PKAU?G_tEc4KbLVur zboKcstFG3XK=2PxO9u!p#+NaI0ssIq3IG65O928D02BZS2nYboJUCX97X~&B%se<& XF2cIR^a&00000p_NB; diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/.MC.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/.MC.aadlbin index bb7dc41eaa6b5eda70b5ec36a88336cdbff167ed..bc3edec767a72ca1c393eb6794fc8c6f51f146c7 100644 GIT binary patch delta 5059 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 W{%_17@Ms)zco{VzIGE%=#s2`)j=cK- delta 6777 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 Yb07WRIsxGS$_)d4ginvm0r^k(KTo>N2LJ#7 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/.SW.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/.SW.aadlbin index c8c5bd3bdc558e969cfe7104968fbfd1b4f58f1f..b5d68cf72e96bb4b5e760f2ef4acff48032fa635 100644 GIT binary patch literal 13421 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 rm-_s_Xa4V1{|6iVzvia literal 13407 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 Wrziss@gFacf6eEgo@V)v^*;cN diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/.UAS.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/.UAS.aadlbin index e7f91f8756bee5857bb1d761c4a9c1adb54335ed..ada02570d89f46b1996414b36798d2d86c7481c3 100644 GIT binary patch delta 1638 zcmV-s2ATPf6rU6hP)h>@6aWYa2mpwP(^#<%Ndp9kh|^e;TLUM5kK05PpG|hvZ7E1g zMFEMP!iR)Zd(#RPMM!PBn_X5aqH0)FEjMUe*Z`Ype&3GX8G7ENtW&n5T~{Z4J2y5LV>*+97J_Rz&}w0b zUQUDB98j(F-Wj+k0a%IvmSXZpA;`k#f;V#F)Ao9kjh5rxQo%pO63kqx@mi|>rQ?eqAF4#tP>%s*}56{ z$UiN*N)vQ_1OibI`lf!vIkJ%%XYbJ_@v|)p`abSpYo0?>1R2zQ-!X8MleA6n zSwT#Hk9MnU)8ya`!Zg?#KEueb)eRCrtF`6Wc8t4q6Wb=XyOL@7_0(|8GoZV}XaCZl ziFjDxgQDY6Hw@(aV+J(3-b6mZc7zPvUl72q=>DVksQ6iUU z;&Q__mw@+bKHlj+F#yZVyA9qiJpa(d!B@L~Q#9+1Luz6h5*XrGBIYrzz)qa`c$bAq z&z)kXNv|#q=_fDuYCgFuV*dXu_o}em73G-ak^3QdP&DcEQfmfn!=WXvO^s2-JuIlQ zq&rP_*5gXPc4sI264NI~{`EBSXPnjB)Bg{r6EhL`5RjrH5Dy(@g7B!IAh0GJv_-Ff z?RrjNo6Y!via0c~=PXm9@aG;eqA@s?XjH{hpG-8Up<0;9mMaL+C@YvBhMf;>w`eyO z4t)uD9>xvgIIFeVaf8@T)|R8SWdfd~+w=k(8=(H*7?Y=rY)Xyylh_l!C2v2!BhnULf!3GYR^vg^TKZ`S!SMgdf% zF8z4A8|4~*m}{mTONQ3;Rfb_MoV>9}9Az0O2k=l#Q`rtCR%Q;4v>JJw3$c*ynutDx z4g%Lo7y$y->E{d?2>>=3oXBzaks&X!zR^QH#~T!q$7a-$t+Rw6CA#1l;qc6VI!qe` z%ZY>^X{JKb!7xH47Hft#GFRcuT2-=P`6-|sZjKVj`7*4qSXPs9SfUU}!CVlky%oU3 zinWrw#;bnvooAl7*!K%-7x8PkpdwXDim5KDsnG;$C^aXGCpqbAc_xU`_X*2@nmT~t zsS?Bd>R0+YV;IOzJ!1*8uNlUFn*v6&yCbpFnq4WRRXG_o27`dS0v-QN5Aw*MbcO9u$-&5Gat1pok~HUI!nO928D02BZS2nYa( kh|^e;jR`gmh=|iz?9Gbb{sjO4q&Ab$2{;Cg2><{90L04|=>Px# delta 1622 zcmV-c2C4a<6ps`RP)h>@6aWYa2ms7HI99O^NdpATJUCX9TLUM5Z`?!_pX?@TS_)FA zTHwGbSA)kCWXTkdQbbgy4dN1Q*WS5l6&< zbK!u*iGP4U0P#7tcfHxo%-Ca(lS<9OaweWP@BQBIy?O5`-~IuX0v~L+{y;;9g}nf2 zLxP4x^HJc2zJWA<5BUKO2y*Cq2l*IU_z?Ciba(v0ItmOQdjz}AXJ4UTzrXU#cjo~Z zdIwj)WzT}7@A`IApNP}9pl>1vnfgwvqd{m|0DwiRLc4$p?YDb-$RI~Fc(mkx@#*J( zev@d>0k7uKV3odrS9S^Unz|k>XxQnydaJd5OTVhEt?GJzi!R=Q#zQzjRMiW6a35+R z!IswYeK@*BbsK*8^NU~p1i!9>g>7mNK14&0TDEYo7(EH7(=@5*%V77TW8LvQKK zZ$JEa>A|BqsBM6AmJ7`dXb{)m24~4GReIO8%%OMfIsmb}<>(o`4u`?}-~&)QFo2%d z%B~moENp;(HIcD*;%~<0b|}6S*Z8Q#qXwOuic1tZBT(@kcrCArTI7tEMf!C{lnVAc zBM+ro)nct`3Ct6)vy?)hA)}PGZF`m&xkR(*J7gn=z!~J`bX=Z@6et?+c$%_ivrv5Y zksqxd36Fn2{^$3>FP~ga!s9P_;=Gq@gXj7rQel;U3)V|lU!RGp)y4oJdaAZdx!1a33RIYfL`#T^g=r)CvOEz;S-i*1$(9ft(z%x{f@{ z9YuM6s5@T6C}_3}5<;tc({-Fg+3pSOnAjN=v+32-rll7}LV>KZ|MOi6Co3 zf~<;weKN?}$VXO13E-5;x&!)^U`nr!PS`VCTJSkk2TGklWywXw&-Q%N3buK7BYH`I zDuC@Z5w>$?>Al(CqYilvU~~KN>_*OHR0eFCVwzE!c?>X)=OW?p$;$aic9%98(NvIt7huxtOjAy`moz)W zbZRS&PGuXIN|_6s(rn~mE`@^FG#P$K1p-$}2nT@Q~@>^ z9M5sjDFa?AeZ@w$>yIkQV{>fD=2;4m5?=6xaByY?(+a`mNW%9tlObYd7_O3k^EJbo zGFRc;URAVV*(t#tZjO@3`DIXHp{yq3ut*`1g1JhlwpKzXmamoMHD2{oES`DfV&5;U zQ{=DZii*@yR1})1rbd&jq0~eck8-7}`FmYq3&o<6TA%Giw!>AFQWA_7r!P5{D9P0POR(gnC8BrP&|$k$Su4UY zy^=e;lFP98<)NU}Jf61HlxlMoRk2oDVb`l*h$rfxB%D@VlUWR8RYAyqY2~VzhHwo{ z>l>kGSRz#owX>&+#pk$Hk73KS*xc&wIMn$oHbtSrETAix=__ius=UX`%H~n9!eNlA zNr-4DCo}or&7~PEQ+a5{{c`-2M87bPlE0j1polLGynilO928D02BZS2nYboJUCX9oe4G$%se<&764Cz U?gan<{908LU4+W-In diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/.UAS_Buses.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/.UAS_Buses.aadlbin index 77c9371613eaf39f1048595369a1e7b5a2c9a6b6..a7c7cc9318b66046c784f78ebace1a1a86074180 100644 GIT binary patch delta 1467 zcmV;s1w{J&46O_fP)h>@6aWYa2mpwP(^!!X9e+|yZ`3dl-Eo{voMe}!OAqwGrQ#Y_ zttzCRHY`O#Dpl1`t}Ayl3l`3Y60gwm5BS$OP6F);kiaL;o0;b~Z~PteO)xnMMg-vK zv)0uG=R#yEmc^#zN%H23pT;MDNf8cFV$d70{vtjhbqkSWaF?X3*V_ggZ(e>aFuU2_ zD}T98ajj)p5Fm#g&^PsXIJ31&C7MQVB-XA2j&Eo_?5dvFyM5d8j-Pj|by;DpcS+Nf zYbh)@1^VnaIAv82y5O>*z)ZckuF6`Adxgh;obl!98RtXK@iIv-SA8V0xmcEYzItC~ zLP@=2p;h)#s4bE)jOR8n^jg?|P~w3XUVodpx`>9w&$|!){Ib~QSX=#9Qk$C^Ifr}C z$F1B~{DdzaSrVV`0j-BU)N`4&n!|t{7)RgbmBJhg-MMAWjykjBHuvJGZM{V^NCcF+j7(tcPr;*4z#lpPr~9ncJp)E(zxaER5JRvK zU^+2c%vLeGE2Jg|5Jm%Cih4vA%YWRt>DpgAuxa)9Q~v-^O9u#&BY>)-0RR9?0{{R} zO9KQH00;;O0EmdwSd$+DB!A6U&rj4q6n-oqf+!-9c=2FXV`4(PLWl+rumX!H2w{cm zI&_EK!M0PTv(iOlG+qoLL=T#n=*6>lBx^x688@2^Ub7Gbb1Nb&L`oXvA?4XCPI zR*1Pk)nsyHLhV%&aeq}!ip6Q9-9kAm7<4V7+ej&JqAN+pP;o*)b{>2@`TPTV*$55e z&}5Sp>{xJXoOe_+H{JtDWq}A#-Wwx z1*1IGvyL@51mH$JD6jI?aqK0y2eIW9NbNEO8LKd_6Aco6nSYpeZM@Eg0vugs+64aEKM3xgX)3zs3sT*$FXfjAr}MG6Le7p_GES{XMi9eM(g zOCxNEkZ4=lYjQYL5jdF05?tLaky5`#q(IwNv|#Y}VJbTC(JRqW72JoA>n;cPSY3mA z0W-N;F(!Ym{(tzI`?Pl29g{0!pRvfsgi~J}i!v_J{<%iZ^!AB4!>HiNi)qZ`!^!k$ z##d-YZC5i<%)Pprt}fqsSl8vP>1NUiL<4ly17+pZCFRP zO%@1dO4-cINz%5dM%>C%67cY!=uj=fz%Vt8%p}c<>VMrUz2|D6)$|7=vXyDp1*)@S++)D8oyY194cRzjm3ca4lSbF1 zkwd3}4S&jt6-GPVI2_hwO&VTJIy=uVC!|5aB$}&{Z?qcTT_Q5piJ1%OSVn(5i!GfN z<-w{>23v`cpG_#c+eEZW>7E6A;U0{{Re5&!@c0000000000 V000000NnwTQ3fUkn*{&>001l_r|JLz delta 1555 zcmV+u2JHE*4E+oaP)h>@6aWYa2ms7HI98Dk9e-0zZ__{!&Dc)jwVe>CtAyt zvxeIP@7Zr~kCYuagdyn@Y}d={QYyo?0#E+fB zvy&=c&{9@8~d7T2+tPn*(Pv;+Irpfnau5aN`_781-~(Gy`Y3`p5IJRfiV@WLiG{KYjpEO9u#WId>h`0RRA&0{{R} zO9KQH00;;O0L(l%RsaA1000000F(0p9DmhUO>fjj7=FnI-yaPK)JqR26eOgMw*dqS z2eRY?A_aX(Wl_p>zonL@KH@34hGG zMkK|IF5?CxR}+I7qFhOZrabuhDf#f~_}-Vh0V1(ff#ZT<-Q?1rbUuZ1E@J7CfOyXJ zYOQ`gR74?+Jq7?<4UpLZfXx2TxJg{yh2!lg|K-8Mzn*t+)Zt`t9OLON99z^{OgfI; zMl@)0r&^s^a3)Y?+;OUA^9puv;eQq}un*kCcQ6VyWvD78ZZ8;|(Y<%yJpK(o8-^|O zFrw%(iG*RfWog7-HS9=FicEyDl?WHHTD*kC=(gWqzd3Z{?Jx|@!A{1pH-}x#=EO##GFx7({-Mv=M=cVTFW!`VT2*G1T1)P+hG{VTCeB0$ZkZ+}#ej~(fz z_*HMv4zz6-mI8-r_YK~kJUG0vgxRA|`RiIk7@HcXX3ispU6;JX~S z)`<8d(0G-=eSz=l3Y?F=3Fihv-)X!J(t77gw0y)N%#=jD@tW`J37)|scDJ+k!a%dO zNu=HF8gd`+|NTen{ZB{YA%C}Q&N*7H-~Dws3ofjBkqD&ia+wu-ettOJEpai;i^dC(btpW=7+rWsa> zHYt%PHA~o6mEtaqs|i(1t~O2PUX3TGx$oC6anF>IZkHRZXEGIE%YW1n$=*Na*CqL{ zaR0xSJbCsbW+7R92ai^;2o|VY;qCH8Lj>7_}UtT0d?ctWk&1ceZWK}CUvcXjw$+s9ubVU?f1}t3|54&e_OCuR*2m; zb=JlH=_|zHka^mY*!T1J7dU-P)7&t9+=|NB$F(r}erOBSUPxb(`I+jQ;CyWg)JaZ) z3q)8)uM~(@tal33POeMzFHlPd2olc_`j`U%0FMy>08mQ-0u%rg00;;O0L(l%R&Y6Y z9oGQ>0G5-q1uY=VJUCVo&k*{U0{{Sz5dZ)b00000000000000001*O{0R|=p>jeM+ F0054D-J$>h diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/.UAV.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/.UAV.aadlbin index 8ce3f0ee8a13486eccf9931439f5b574f60a5ab1..2077415af3c21709d4e13cd70f1af6920d0484d2 100644 GIT binary patch delta 1785 zcmV@6aWYa2mpwP(^#<%@B;*hh|^e;0t6&~?OV%_+e8?j&F-oX zD$uG>K!Q_vNJzE!AygD0wP|((D|JQHWjPWi_9U5IziN-W$x18&$^{`F7bGOOaORFU zA`YAj2P97X1N;FTfR62r^BPaa9ynQwmc`@ZitpTB9p`xC5sE~wjXTS1zE z9SjXR0-my;~G!_x)d<{px4<%`#ZprCY-%sO!*8E*-A~KM7c-Yjo+{ zwZYuiq1V}i&g!|}fBfmnI}esYsSYk0Hq`4-BeuH>E|3nz-?0t7>s-G9KxprL@H2Sq zcD=jc6qJsCEl|m@;fCWk4XlB6-o9^#W6pNIPg$pIhpVm(@9pBiT!iTy2Q38GGN4rg z7rnrPy5FO*V!qjPPzxy9fQwj1Tq+hOlk&>@HqzeeBUGo zb2wv-hSh7C(z=D*;O$T<{qynPf3$!75U+9LeT~01X^5w?6bNGmJRMZ`8#jFqdGn&H zG(=Ym9Hj-JuB$ifV+-k#c=s2H-qj4~dANmcK;QB%Ya%h6<1Fc!z4!_v#1|-$er={-wW$7{3qvq8Q)k4|8p*$)s2HJX^ydAC&vg z3gW)MT6vqQjNJ=d&^UXCDg9NA_|Rz7Y|DypH*R7}$5vbN9DIeF0Fw-;&e^*$e;DAs zqWuvC$AEz#HFV?=Y=y{#Q*f`Aa(z|`%CXLW&4aTYB7G;yL{*EoykqHOydTYh_l;5B z4+R0#Q}VvKz_iaJ+&AYI?i&lky9M4YT=uD6CyR_-H0wL}sEKVzV1Q$RA|BH(joC6! zUq`FVn)Jm9cXQ_9J|;3&!P@?Rv=0$KpJ?A&7}94i?pt#e_sxZ2zBBW1--^S1wi2^{ zINE*!?iS5Ct>E_kre>RtZBb)XUq6^b=OAik4!Q?&4!Az0g)qF~pph{A=b-I8(MKRf zdm-v3k2&JQf*iqWU6=Q2l|4*h*;b80@CgN%gC};Tx6ntN;Z3|^_~WCw_+taypQS(Q zwMyNV_Pe=Sh1M6l*~qA>uUs0=0r=Q)?1;nY6E3WV0q0%rtS9f4Ct7k zTztg=!)Bbdqm-O5f}X{6N>?$AGN4L@AX5%m&}B}rvAKE4AB!NmAp#yZqpD5oS8WN> zmnb!ivFQRLDUfAYWO+qOmqcoR1Nl6V7H|=lPFK&onNP7TR?_Ao=1FCXr0^scPa?q( zXN*`KA{;wHCis35Fu_TM3=tG_!IUcIVZ;HDPZ7fNt|)TmsWEx9h%2%DVadp`l&()C zCLfVa%J{qs=B!i>PP#OD%UUg;LX}mNr3tCT!$eSfa@j@lXHv#OPB`Fy*=G_{oTm)s zRR<ERl)c zFUqh8kMVyP5w9`wsVrH4mgPQHn1LixdS*LlxGQsICdpsL5nF8UK5GESu{Wj0nxwbr z)-AgP8Vj7F`@S;YQ}W&MoPv>Av`QzOWNDaKZcOKFpqJ_HK~kM*oUlycRnBc!f#rs* z?WDaI*n7;UMa6FgrfguRs(=_dmgB{T^z99&JjwnK2LxJUY-h_l)EGk8gg(hk-G@+12MAh*C@GBw002}!002-+0Rj{N6aWYa2mpwP(^!+h3N{Xi bh|^eFhA1hG1^@t5Ka&ItI0nNC00000!A(>o delta 1766 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 X000000000P29vP`CI&wX00000G-PL# diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/Requirements/.gitignore b/Cyber-Resilient-UAV/.aadlbin-gen/Requirements/.gitignore new file mode 100644 index 0000000..7c92d4b --- /dev/null +++ b/Cyber-Resilient-UAV/.aadlbin-gen/Requirements/.gitignore @@ -0,0 +1 @@ +/.CASE_Requirements.aadlbin diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/resources/.AGREE_PLTL.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/resources/.AGREE_PLTL.aadlbin new file mode 100644 index 0000000000000000000000000000000000000000..e843cd9635c402d10f3de87e1d140f6cb55128cc GIT binary patch literal 3281 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 BDR}?@ literal 0 HcmV?d00001 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/resources/.AGREE_Stdlib.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/resources/.AGREE_Stdlib.aadlbin new file mode 100644 index 0000000000000000000000000000000000000000..99c8094e21be48720db10d1941b118d2c76fb962 GIT binary patch literal 5598 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 VT~2}|kOlyxB!?`yOJz2qzX6lX>G%Ku literal 0 HcmV?d00001 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/resources/.Linearizer.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/resources/.Linearizer.aadlbin new file mode 100644 index 0000000000000000000000000000000000000000..42f3e7ecaf0941c59bacd732143f03f34e613dba GIT binary patch literal 2257 zcmZ{mX*d*W8^KtQVlk7}UdG&rdz3=tD|NF!9+}HJg?&r&W{jNU>$;l-O0D(Y&=;$GPz%SxI zyt{ef5Ez0t$<3SOmpX#C8dDMHS)a$-)I?OqzYz>@(%OOJDNl`5Z<0a+Kg6Hfj8B4_iEF(q z;n{51+}LZZl*W))G4;?b5qa(62rqJIlrJvf(_)Hm0y-AQ#CGwHKb^h3#ZJIgxoq7_ zRB+eY_0`--@B9(jukgrjbJ8w3T((^<-oCKgr%?J@o>{VZzJvu%{f&TEa`I9R5xJi8ssKL%FFgd+U_CJ5p_3-=&PcP zh^hMlLI`%(Tv}O)j+lPIJPr2V+~wd*yQ0*suWysAEGTla%<~VY>YgdX_n316b>{w& z74#slI!(EjR9%GzaGS2cm>2T(Wxv4*+g*D}OwgImF%1e~TA~iH<4wOXxBJxVg2QeV z9KP>3rL4XB;Y(@V|Oi5NEo z*3Az?#QTu&1n=>jegextv@^eCr5EBJjLaQ*L9XG9|)H{yGaRkUUl{63&W)B@`>%S<;MPFhU;=@WR-`8!#p4 zf=+MQ>Lz#$9Je`e-14NvWYB>~^WE>S_D9!%(GNTzE+A()_j|8=+J0l<{@j3%xvE4E z`i)usUX%V3%IcYPi_xPw*?pMRBqHwnXFa-{M1tBh-0y~}#w#%_oov29jD7%&vZ(zejH~HXr6ZSX{%gs{CKCT`ATWLrQ-wK0lt?;O-A?S zxeJstgVt4pax*PH*5WKcuhprWF%>`7myCa384?x;7eZ-H9rtbijPCJ(<*@w4N}Y24 zZfaM9=L9_hrcOu^CdfsZujiU*o{;3>u`QV0*1?)XNwZ7;N%bl}w)2VDvU(d;FPTJd&N#l?%c$FGE zVz{2qKB`!^$K7El^<4k#MiClp4*!gGGOI*PkL5kENkf_Hku1L-hc70QokCx|23U)J z-YR+WGR5vp9g|kr-WFD2wVx-teB?(BeBL09D8rYvKdAROqy7>otG;mC{x=KXi->r5^>n!Va4=|;A$0&xXxacG(=ZsTUKTpD$9`-1rzsmm!LdQ zPH^QZorG+hO6aGDj>1dhYQM7POCg-n3J&h!g$ofafH`mv3rmn zyMSQ~kn;E~N`cgL=N5gmvV!rri!$|SRU|XZ5(SZqVnVWRW$EKH_|0w|T81w|m!4D8 zh3yVaFnwJ7vmKJho zVx|T?OypiKn>%Z)zAdJFG3Zn^X>xHdp=1DmhXEAU*`WvfU!CJ_Om2{I*utaF{4rQV zAw2nNs`|Joi80OWpx+t!^@%a%UxOOtv5rNKDPei_dFBr@mCeqQt7Sy)a@O8& zQCS^~H^)j$efcIfQwkkXoUox8Hh!g~_EH2Y5{b&s!mh_O9*ngzGUB$g&x&y&u>w;@ z)&Urs%ZW>+Q1bF_*uVc%2*fCYGP|-{1z3-|OEbx7 L;KTC*=x6sYGnf=W literal 0 HcmV?d00001 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/resources/.Resolint.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/resources/.Resolint.aadlbin new file mode 100644 index 0000000000000000000000000000000000000000..35b9aceafde170c5c5ffd0d8b12cbb305cd8854a GIT binary patch literal 1687 zcmZ{ldpHw%7{_Nb7IuWWf=u@YsGYZpo=j1!0F{E>5>bH2Yn-tX^ue((GH=lwiij3Y=K27o{yfQ*diUVu%K zS@(WKe*=72Xry0gB>6^;qw}D})`y%iACrc80Pq~fTPU!X52WjTOX||1?$Da(Q3`cW zHR9`dp`t%VscszweLWHLQVm|}U1lU15FPEm%AK8FPFGpDAt)ouLXMkt*Yq-G$V0Si zIHB{O9wFQ@E-`fY4*2k%hMtwnk^vOBE=`0PV5U0VLhvhsk(stLV@+zQ?Ux}nh)il* zR{(|4BA?Yv}A6r@@)7(C)jV4l5^MBJH16V&}HYeBE%4+2(Yc5Hgzk-5)fOob^*Ne z%+D}fJkAKqELh>%$Ok~-PH? zO;L(Rj`f!&1%IHJdpEJ7*;0SU8{2OxIu(V0=^uSb*jdZLt&2ZL=MRR9tXyMFOf17GwZO>XPs_HkSmJUk25C@nrSpr+NCDGjIS z@G4flIh{mNB*pM~eIMV8SKVY;(#t1DwOP`Id^*Q)eq70tItg^Yt?j7Lc`Pz!ewr3F zR|e4-!(b_Swyo4&xhtb3EEBmbr=->v@v9lZCv_5-cB{I^Q$s6sz)Q zJ4`iPYPP}EI?Q#HsO*!z6c1X4d}kHKH7x3Y-}2Ni))>n}e4>1m(Bby-&2=G7fl%ej z5!Cgg{KUuCLSr;Sx2L}`8?M(F#;L4o1xvNtsqDUwitU0sTB6%RtP$s(mx#hVO`&hA5h)iQ&Cjv(2&{CmxD3sc3Q6>wC*J#7N70F zUN?bi#(1`GA==0jH2RS%UMLVFwr2|g@{@~{Np?wNX<{USITBQL$;-=NCsj2NwLEn~aJpDa0NR-|KIbrp>rPhK%@!!ytlW>NbmItJ>$+i=$r zkc7Bvlcjstk@!Pl0|_x84DcfcHsi7p1OL?KQ22M}=BXPv{m|U{U;hOc#t|&B@d~(p JDC_m_+h2Ly>8$_& literal 0 HcmV?d00001 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/resources/.Resolute_Stdlib.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/resources/.Resolute_Stdlib.aadlbin new file mode 100644 index 0000000000000000000000000000000000000000..b286b75e68988d67992227a1f9909543ee239c0e GIT binary patch literal 4320 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 literal 0 HcmV?d00001 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/resources/packages/.Base_Types.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/resources/packages/.Base_Types.aadlbin new file mode 100644 index 0000000000000000000000000000000000000000..9487e30756628a4b874e2f4be5ab7a55ee9e1c22 GIT binary patch literal 3695 zcmZ{nXHXMdw}nA^2{j2dAVm~JP-)?s=B60Tnfnf}Wn9A~tpsLGdp!|MAYA zF4vqeUjEKr{(dFtKdt$6fYGu!BQ6=#S0>z~t)vl6c7Z~X1}59y`XHKYj+Z}pFB93C z7YssqPN> zbX;?%s@lsV81&%K{ue6fMF-=!vb(y2tru7rd@#Xl5bU?tGBCN~eg8Hv@xN4Ub0$ZaIo+rtmM^W@;8)((ZMJ!C$kBoXHB0^w9H1$VzTL@1;CoMxE3`W7C zD4{aZ5;c@&J|DQQbQumt5oJ7BJ4{9UCRi#BAITbw6C2<=TUJx7!NRT9ond7cGrG3g z^6YT$&Gw>rxuT?l8wAvx@z!db8Y%&>TMJ4T)LDo*hc2Q)8JE*<=o&VVxi2}+Ih)E2 z#62HMqP5pPrtTh)>uB{@zfAc!4(Ln!$eZ%_gHs2lAha^lFnsf##&@}RI{~no;_sz$ zwB~nbwqTujl5)+Ur$9f^rvW>0MgA(_x6*@zdzwq`y;)P(%~Y2{!IKpUo~wHV^ao5@ zbHVaw#XD_YxiUS@6<57f@Y*Y{RS}^iqmS1CR8LHdf?{4%(F$fIthzkG-IeGcbD9lG z^$!^omg{|P4OJ0K{{hsKEyLEg;^0oMJx?9ncwg3;Z zYZF0RP_>@9jn38I{>$_T6aSSt$({O_OnlF7YJ-+ief4RlcsygUYcc1^HzPzEkTE+j z>`xX8jjqe9W;_qn@TNV&l&J#G%}mpkWn0YeHP4y&C0(+W%C;)oQ9swTJ`h1TE-*QY zbtmUfoxmUWgXB!+rHciZ%_X&YzCwuiILEc#&rf{Y#Rb__Os9j(YYi6<*HawESjs=W zJSAT$-#hCP$qoFW3K1R`6c`&o3PANX)3_?qR(S@eHC=|EYKTLqHlk+u{v!9c%tGB-^#%tGh1VhpW=8FM5CnBC&RJC~DX6Mif z>@@Q&bj{ItA*Kz-^-_9XZcj_Z%_uZyc=&2)X}O87o6+>@MfHYrMu>Q8^Fv>oTi?g^ zs&@;9^=9mz4_B)RBn=3#`mpX+w_~w;=ZhFDroVl)<~IdZIs@3hL9(!@oEx0#rcgeY z8YlV24V;3yIB6=$=Q_G=j*>7oZ(h!hA62;N&1|q%0C%qXoOjt0mXgEOh@t}9M>}uy>EADW+j@=4 zk|XjGh{Ai&Cou2r+{wm_R8i5w@^&KSdGUkA-`|GXYA|73bEnD^Sk}DRT2Cj7^o7;b zqN?o!5@}2JphZquc*t+G=UFs6Cx0iseN?KSka@N&yd|KYq4e-{WZ>orkKG7_^5)Bu0=Jue`KL^7ubdzjD?WoU?%4->1NnHnmT}foaCdS!Vd8@1$F^2_ z+FiiqrvTe)(+TK16y&Uhy{Gfam6;4j!X?E~6zDq-Sl7LxLX+ zm!0@-5XEUqKm@@s;f^apAiOMtTdlK{YGp;i(@=!dq~Qv$+x!p=$+_x5mBalWhMY|M zWAfJcXM;yf-|_ zzVMxH9$)|4TW!>g#HdEHT%|%<7_F+=^0E!3J3|a1{_fA54>IgP5#?Qs)hdZA?_*f0 ztdZl?4omZJR7`+U&q;dY=iJI?S-szl7r3#ubTL$VelsA1lV)WXPRtN8A#SE< zzv(RYqwZncz`~P4m8 zKiQ;N!6%gZ6Td4j!Z+eXy zHf)quN57H1^CXxbj_pn)$~wCH-tJ;R^=;UU{NkG71g&ie|Bupo&w`N+s$J-#zIs8xjGg|pCfkmxSpd1B68ei*i}OS z-8O6zzyC9K$4lI$<)F_b-t{#bF&0?XZ3nKH;V(gu0NUD)*Y(7IsqYG=(ysZuIKGEf z?Z*hF?(0uB+49y$A{`jRB*pVd|{Ade4p0;fO6ITt81&?=eK>Zg^9K zZP&m{|C=Q~0|aFB)gLZu-B(u{Z(2=V1(mf*JoHK{>)$)Y4s0G6Y=b^^K$0QjpY5BN zE&y^|D(R>%#n7}kZ^9UO$~(<{aj+DaXOm>G)xqG;3F+>wIm6-&#l35?N z$6y;3rlwAxrGeGHs!2OO7R-V0F|mxI!8KoKI{>xAKG4}g2^iI_Gh(@Zc#}M67m&P`{dVlmC>WDRwY|xTdl=95455g>3 zww7@d63L^&hae7vGp$5-0Wb8D>Lvy_8*a9zGlf39l z^&+9xAy(z5x7szeJcW5rVne1V9>r$6PW-ysDZ@so+YIHbNI`=k(_dFNOkUJ`)Tuyc z#(Tp(iwz~LH66yTU8}QKFWhb4iq0&s5vyf++fsp#Rbc3HjYdX9-_SPOvJM5`@@hn0 z|Jv`R_K*{D>v*f9N8!4Ol+l}hEofTt?m+RCnBS3dFSXysfy)d^fe!f((XFSThQUmu zaD5CU>S%UfG{NBr#Fp$3tV?q=we5{4F# zkmv7x`TyQq@9q2H-VgVjd+%BIthM*n*TTl3#2_Fbz=(~VHpBQANdB%J+#UJtARayr z9zNc^7QaK6d#Id#Sh<;A%EW!ZAZ#!uXz1z{Cgs|2!C?RxBA3*C_k34X1DBIoH8Q1wJ>*d6hDXgQmtJr!tBPf$sWptSjsN}y6SyI@o zxlLLV&*N>mG8gY`Lspl1&Ck$Ch^ z%9LH3cnW86pF2-TPsEmFAccM6Z$-H>AISQ?AIhy(jZgX@YQ4wh2)6-u(2Uqr<=p0y zd-C1l@bq!N*-t$Of5;Fe8^C_x;JIP)Lj8Lb0hEIeZkxQ~rc7bP^Te%Ft%ZT~>7#Na zY%Yw!OJqFvNa8$ju}X|QmzDkI;6RXth{v%AF&qpISkBiRKX}iP$whq2V?txip^01g4F)Pk6hBw$()|u9WPl?Ez zj}%)*?TPNh7D^3|387Ht-!rkBUdrm?Nru$b1yxEJ)#f=WO|9D=kvHWz{wO|c)1~XA z0lvzSJeAkR%Zfmw3fQCUcsTp^X4+%BAzq$FEzt)Wa0W}8#fM)U)4zr+G&A8gHJA-E zr0*q6oD*~Q8jnb=_qm<%?!q!@ zkvo`O@}#MV*=1F@hvAmktf6h@1I<4A(Y=#0&K_QSP8q1^gHl1N8tMNL*%UuS=2=rz z6<&U-i|4SmY^>{ZZv~CZ3t(jf1R(gF3?FelLl6vK+qbWE8Las{$Xk8CegkR6*ro<4 z$PIG1%;`02MvdZrGf9YQ2PW&7r8JA~kx@FY#&h|=#B+IeWf(fX9W*JftP!JliUkg3 z48*N*HNY1rfLj+5NyGo{Hi*bxT|ebs4~?|p>UYyUaP6o9Ah+|j!lbQc5r|eNwFDOA z@26Zt@Gpg%_BCWF!>~Zw=Kd>Fk7te8*$pkd1thQiFxStUwhv`eFx^hys0b)Ki)%bJ zqtGC-j2`r%QgWatt*JBlp(JW(Di?z3-FsQ^lx6$Z#k9hL@-IKd`luSIYvUd9<$TEo zGG*@_F~+NnmKdpE>7km=tR+&{ws}%&zjJ`UF8MjRD#EIx+`Lqv7QAum`}}ym$ZVD` zB@U%$`GvQNejPXlfQ(OrhZp=d9(mG;1Wta2Ag%A}>#+sEge-!mo$kIEcZFLLrrm!1 z*2yPc51b*oe2R6XzF3TvTt9C{3gWC2EI}$ZK{O3!KZU%qpt&~N0iBF@?C|VF*%Oe{ zE6@Nv7eQK|nO39?PvD1En|_e2xNoRTvbmD+<3C^)>~rw+n{|8F7~lwfSnT{CcNR83 z##3Qt^%|zg{rTWM&7JrpQ`)LFwRo)z(=M0Buo;?;t!SV={Fj6T%?&jw9~Dc2fH@LW z_sKii#B78TT4AE-W`(N4^&~6qt?Z5j!P+aYj~? zWbf>fqguh%_MIwHl%&L-vZ`QfQ6JuUs%z`0_VI>j^SHK=00&OG)XcPO-9X~*p4~-l z-ze04FDV^}k7etH72vmW`gYD+vV-P+Y}ZVWf9`5z=^OW=^w&)<{}Qbig$As%7_Z|k z&Jcrn`9V!0lU{d<-za%$PZO8N#>V06n zbEG7P-StJdvFRtnTi5FeX2kW64Iz=tS;8qvPBkHlb&n{YEL2iW9I9*V$n-C(lZ91T*nsVa7z->Z3?nX)=?6*%iFvC#EKqD&Q#hlf>?%Pr z>wXEg23bPf{-`??=eNNZvXSl|9IzJ!d;=bM3*|V~u=wK%Jd?W8_#t*^E}0Bq77N=}UI{fdEHU-Ix;fvNEgiC{+7 z<{~z8((i!+*KEH>JS8iy?OL;X}rNrINJ8d}? zXJDzDIVY{ckZup>tmIADD7Q!=*{iQZ22f5XeV2)d3v9D^3zf$`oWlHG!&C*F$D96> z7A2X$0epj+D`npPff&V*V2`g)GTyLi9P^|GDh7P2)pK0cIqEfQgm|4Zo`J~MjF$Pt zj@d=ci2UW0CPr=f0<^H(3ciy#egzaF9}Nq1aDxh-T~#6`ni~v%U@o7<(`g84y%aWZ z6&(%=n~?UgoR=5nX1@?yqlK2n4T%Oh&Fv6|?D~Tob_jEE3%Zy6r~H+fj5y$Wl>G7$ zHKO-rL*F9hBM%+vbu!JB$8GD+=w4 ziO8152$9O6*AsjsFMUR7D%SD74t?Jv<$uUakdDZ5Lnn+7NAKI!Zq)RSmxxrrM2dD3 zUkw%})2o!k9V%dEv)>5MBtNSF*_dJX+H>$2W5>E>u*IW?POZvL-|QYlxu1`m>C z&lxPDNON`>Uy5PMvLTj5p^>;MZ;(9ChYjuNUniY}r^4NQ?AU3k2Kz=X6Qsq^;!Qz0 zE~2un9J?}?_y-d>>2O8Av8rU^&+t#BfZVDmgw&-E_2oIKj5)g@>Mxo=0O@2~!p_oXB!2O+;*Z-IJRRTIqam;90%3~;pI4`B>Y=uz zlTJ_$KSKM`YsyalAiQV8ni9c%@Nrw8kG*^HF_Y-CJpqav|1fR)4k7J;LHKLM5o(Ha z_MQu=9a@^pVW@zu(8#{DgYGzeF}n*M`;GD#iM5g8d0KAnGI{&%%iG9z!$<+BHnNor} zEb2WKz&G8L9$pjiu=t~KWVCf)XNoD}o zGQ-I3%DURxqkt27iHqSGj4Xn^mFRfs5y;y9IIPZ~XzSL^pJdhOz+H-6?1S&zCk4(D z9s$ptm~RKs>xn3r+q=lXsuKlq$a8Nvs>==GMI6V;SYvB`c;?Jzo{gn(zUJMNV|5sB` z{?!yv2XBZk)Xst5-oe`r>f-6+0`Zu&8ig#YQhwz4oEt4R=pnD6m_J2C80V|G&rV(c z8?F@h*g-`}89uU@Zq;nP#4sL$%a!p3Te;jag`7Vl3qqtp@OiTn(@XIwkW3^08vhzw z>O^?!SD*E589zg|dFsCn0Fn zGZTX$wfRYg2<;nhJP-rj4Pb=MdF3mJQJQDY9S+&EM5-ad zZ<%cZF3z6Ti5jeXs-aJ$JevKI1-9Rx6%EU9&A~Y^FAPOEd`X)$YhtWWr<-z)p`CaO@4dEx08r%$eR2PZuU3RkC|_K$*>Zx+>$!xx)9f>?6?O$o`Rk z;iRPkMlTIgseo-B7AA*~by+s$=7t;)K*aB)jWeE@Z?a@7ymD)nf3Tgf3YqTI! z_a`?(#6LLQn^OWNuoTcc)HOZ9MU*{(oj70ri@rciTs7t8yd6dapU|9zS_8X0zF==I zf}p8egO{-0;h^$GeJhe|^y%7R$#{Qe;whhq*+$QYx@2DZEuT3a7ED;M<-(aE>UMdB zDFzZkhmrM#s9HQ2=LN!Ev>gmMX}Yz<-91~rms@}dE@_Xazyro+laIBpyd3Nfbq9>A zPLCvhx74Gv{gI7@E(OjJ@2jC+>W*Y|ho(n?4k{p@g*&T>+AFkUn_bPU_U!j;j;Xt? zMMc&o@N;-$R5XuS1M>Ne4S{8o#|Yodb@CesgK^XST7XAys4bIASQdYlQ@r`Jsy~cG z#lw9efSiCa%3gUGN1jQtJeSnXInq7P1x4!E$ey_OYFtIutv7&LqA(Uj_FsC1Uy{KTpW3) z4wYr^=!kNNS*zIw08|k&M8qju=ufJ^E#OI?yt#^fc3UXE(wWKf(ct5nEcW&d=s!&m zpy!?S86d1yYC$#e;ZgB$lOU38;pdjH-H&%OofGe z@agIt0&5&gGyptzPH#UZ^DaFBoX=2@YRUCq5hln~fVYOpLb*;ut*gfS(UD&H5RQ6L zg*Khn_}WK3Ig_KzQ?y%um_0Zvee`b0cP%id9lf6^(dhfhf;}>7(YDYat14vUvuR?#;Lj;|^{HLe^A~Oe)P;j|M!#5} zEbLJUKX%Rf`w@!K-lB6KSW8WU4>xN^Jc+}f&ws+(wmG>j&^=gHt(qfaMBN|fJ>2Eo zqN|IKx==vMK)PjsqsMlOh+U@6r`a)=OETxnni8ES#y^{<>D^;L^i>XN&mj=$0Y*72 zHM~f5S;VdQ5AtK@FXlIKx#~yTX-j+U0^=w^jhmetGrP^znk$^{SXBxi)1=hzvVEZ5AQOT+@=i7Ql?q6d*=X;dgfj?=v8`F3U zr*cnB?{dBP?L=7jQ+xgXg9=3^Zgt1CSrhyCXC2voi=*$8i`&#$lVAFTP7Rit-YN3O z=MLA@>IY}vmR z71qE1*4gKmeLowXVZoi7Tiw$#>6jq*yr%SNbIz?*NIPNm(k69doU(S{Nnan4SlOHi z74i3jm-tuoR2n$<%4pXcADO0TS z^TLI~=0|4Vk}i7w_Tvh1);=z3oxbgp_Ij52>~8HpO0(xb-Xl4CZsU^HVCf3}$St93GIhU&D@9d& zc=_gY|BoW6Wz!bEd!oiF%x)Zd<@D9VZ|sf>OiioT(p~5se$gat-=6;kzpi~VxpJ!@ zB=gO-z>3`I4?Fyo<5z{6&+wkksP*;m)2L~RJ9ZbyXB`zw5th2?J6YX}Ylgh(PQR_` z2D`UbT)Vi#E9$=OT;qD7`wM4D9{erU#rbj5w634IH($SK(wQUw^OVZD+Z83(f3?*y zT-SPV>wO$Mzk2;e`x$>FS9oq*zo_^z+q&tC*n{^q)dWpB?DywCmz4RtkG8M=i+&H< zpKaKGKRWtl(wjTgSKJH2OG{hdgObZz>5Ectfk}mf9h6)cnM4>6nFTp1fiep!K+Zbo gI+0BUB{c;217u=Lcmdw5Y#>!kKv)B$wV6RY037C!ivR!s literal 0 HcmV?d00001 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.ARINC429.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.ARINC429.aadlbin new file mode 100644 index 0000000000000000000000000000000000000000..70171ea4e92f5985a1439e938c1fddc30e693875 GIT binary patch literal 907 zcmWIWW@Zs#;Nak3=;*i{!GHvKfb7)VG~MLqvToc7aPgZ**9H~0sdi{59{fYjw>TO~!n&+KjIest)c(ZeC|6&z= z4(LmDMh1oeoZ%n>R8f>#oL^d$oT{6WTAW;zSx}OhpSN|wM(^8>BFE=nyb`h`fa|W+ zQiYNo!Y>zjOG`U5XGVpbP`mej`f^Ll`to~wO_n=5wg*{>#I`i)&D}k{@905Gy{7-o z^$oMX|6b~-uB*E9;m3D7zW=SWfB#(d$=ueiZLfKfRePPEaoQSo`)$wdIkTYjlAzkc zcqi@FN!Ch1JAQn3mW<6=s%y#Uvy1Pn__oWZ;??50 z3Mm`?PMlgX_ncw-r0=}4=3(r?lNRdghP}>@J9oxNaTXWDF{c}?|2cMlu)B3&MqcXM zXI~#~Z(c3GcTM#LiJWUm|Jj0dm5h&9{yLSiX<6mUkaZs=&0?SYan7%)=G2^Eds9H3 zmD{Xq>Kf78TN@sgpPyH2FM52jK@jhcBKEzU-4ZW*mQG!8!TgisgO9xjq8~=RZ#mf? z|Hra&*DcxB7*@3@VrRQLJa22+ED1Z1k$LsYv#Z$+K3gVS+w%2Z?m_hvrFMr;O)xtw zb<1pZYQ;Z&?o*eRoY=`@Q_el-fusLQ@yb7ZGxRrD>CEWb()Uc2mtpyZ>$~J%XuBL{ zTD9F=d5dDJG{dDMy|-ioBInE2^MWFL<w%FylLZvvj7%a7h@_947(huM6(DB> hbe+hif)Wb?Z~*PXmUIHVS=m6Un1HYbNdII4@c`vtc^m)$ literal 0 HcmV?d00001 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.ARINC653.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.ARINC653.aadlbin new file mode 100644 index 0000000000000000000000000000000000000000..ffd079ff7047dd971c4f425f45bef320ae135c77 GIT binary patch literal 2612 zcmZ{mX*d*&7RSdv6j{bjmPttV=EYzLMNtMN`!+`QW$fXd#y-?cWScO^SS}%Cf30s! z#uh`$PS)&8A=}lbw|k#^|L4Ow=XuUKU(WOVo

jvfR60)c?|c&Y{9H(flhkzOvc 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 BsTBYK literal 0 HcmV?d00001 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.Code_Generation_Properties.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.Code_Generation_Properties.aadlbin new file mode 100644 index 0000000000000000000000000000000000000000..daeeadef741f0f9c5c0108d5a89ede5ce25e82be GIT binary patch literal 1046 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 Xi$+jGieDW7fb>_y{Cf9je^>to&mCoi literal 0 HcmV?d00001 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.MILSTD882.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.MILSTD882.aadlbin new file mode 100644 index 0000000000000000000000000000000000000000..58eb3094a08a7ba444f96dd333a45fff115aa487 GIT binary patch literal 2585 zcmZ|RXE+;N9|rK)qhge3#f}*x8l$C%Jt}r-?M_Nkhv8U}R(jBqfd80R9Ne+1bMaU)wK{+zZKAkAfhH4dTyE zi%weahj1?q+62LkMhwCzKx9=si4#5#97^^A@J@7`swNiR|MRIawzI= z-RdoQhvAv4#lk})z%*@-Pnju-v!TqERSI65%8fEs@#mjFOdvO;Ie&u4|=&-sv* z^hWLrtjjmlr`K-2>re~f5ITpAE*!hM!?g=fI!L)DDm(vkw2!uJQOHr*>vSyHWfq(v zSw$1Gb{p82BhEtTlFtvBPY;Hkgc{ltPjSWm+TscvfGBS7LuUTbd}YFh;xE4fks5~m z<%{ZcbmTX7T;W+iFl)+?lKP@HqlV$epcQGny^Jb2{rs#adCEbhgwvcvXCs{Wy`B|n ze`UMHXnGp)d>ajr+qR7V)W+9+RZgj?2g%$(QJ}|D6(}0c;A)OEkM7bf{E{) z>Z)s+@CO;zux(w0zv!&1bSE3CFLKk3v>oEC?V9V2Ur5O(j+x9y>`%de+Jh69b3=pkRxbVZ&V_wn z%g#b?PFixM)>4X^!VbbkF|F1TgA-_iVZVep$FxL9yAv{#eF-PZL56jmlKtZ#!Q|*1 zc@o3DFD(3QK-Sh4Ny9yF?$McM^>Dq)4g+D#yE?WfO>Id|aBt^{dtpF|*t)(WJpXa9 z`ykM{e#ID~{59g%)UsFEFCbT0Jpwgld^BnmC!lnc1j^nPgyK}K4YRt#OD_F@=t`wk zq?k&XEE&=V4?AIs2N!2Jv6NCrmkUGW@8S^$8+1OS--UzWJeSVDV- z1l~rwd&+uvhPb1BfeG1hL|+D}vj_ z#cw=^>d`=q0&lr1{AN(Lf-lWcX>UHC1A9bsNz&cz5(DGG>-Y8^u4Lcc-8-M$Zg{-{LmDuEhI#)@^BQ%xKb>XZ(8Ufe~F%1C=&f zturnBg#{NLjC{0Uc_W*d+J0@MwjRUYe)=0#+JTTz&>sMicyQ^|Kc>!WHfX?Aq8_tJlz! zJ|Uhn@x1@%ZLT?l7jQ>nN#1>j5lPWTmG%2=0CGbV*x%{?@9AJ`0xo0V}lanekyJyuraj z5lN;tVov?|Vch32PqNmS+(_$m^tmaB!qT8#6*dYq4k}1WWBZ*Wziu_j;DG&J<=5zI5H|51vcCK_y6v)9^(MuCuYNzQ4u- zJFdI{!@*Qw#y)>-#YJHZ7J3p+wu(A%uje|4Bj-Dp2@9RJX*)lA1xOU3=NiXlS0p4n z*&dmtGb}42NrDJJta;>W&s`N2C;}&}f@mwZ?RG!BguCZLnLA?SOrPJJVXtT~TXGD9(;hUv;VWA?FHNyBc=d>lK>h|G)Lk!dFLTuW zIkl5PjUA-VsLRGWMKhXi3I6sj{YV=}JoD};{I_>h)Lejni`btQ{w`wwnLlgUf4}_m g*WXtDoBL<8{+FEQNILr8x2Vq+?rcvy^A`a42iQ-a5C8xG literal 0 HcmV?d00001 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.Physical.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.Physical.aadlbin new file mode 100644 index 0000000000000000000000000000000000000000..2837f470ed9efa32c8e80c2f3886398f3d4061b6 GIT binary patch literal 985 zcmWIWW@Zs#;Nak3=;*i{!GHvKfb7)VG~MLiGJZ zT9<(FPOVjY`X2o#lZ{=!?w{mFj%U)L=1WSxyUe;RI!(o_eVuO5lt*j+t2>zlQ)G<1HjLDXioW*d=u$;Us)eWtuLLw zW83q_w{t2CPPf*-OJR~RY}|Oqdfn^TdFOur)y;XBeECGvt=O|Q1?S~GlC?JGZl8RQ z?{sIiNoUXEDa-yy2Y9n{Z2I^6k}x9!!(ku}z!{h#z`!g@EzU13N>0^HNi9w;$}A|! z%+K38$5LEZ={X(NT$ErwOK^% z)(we8y_}t9*S@t}iik)~epLT~{f6axUFmDjW(t&bot%5}jOFv)#_@H|SFJN7u8U2{ zNVV-eAQEBmY1v~Tp=oo%=V^9-<+E&!l1&W0{OxF?>8H-%X;V+$t6efby*%B2Ib+k? zcZZx;PyF6%9Wybk{Fc__o&6tAs0dBo7<|^R&c7n4DB;D@Qngu|x}JvJ`mE)sD-bQk zpq6ywt9DCl{S})9E$y4;g`aJI{Jq}p`{sRZ%dgKat=rIabjrhF)O zLK~771UB2A6RD2SP}c5y(&&9L?O)&@``gktqz$8gR`c#F)eL#-w2Ec=avcF#VXncp`b*ocIb89+%%35buMv;q7>G=I)+zU~qb zf4^Wizu=%!>(j^lcUZcFYF<0A7(uzivSQFMDzxU<5E(It?>1&n8hXxwXCe`CX;;a- z-7JCOcVdPMZzeDC7QF^*3sDI)1}js^b5fFCQZFUFo=WjKcuIe!*Cup_NfyHD5AY5F$LJ_C6=2yKI?i?S1s!43DJIdGeB@5MM zwu^+16jjHUnvyY52=gNQ`Z^3>UDa>4Ws)J$%ff}aqx z>C=`l7IDI%$dI*Z>A<Gq*Ux3wmqeVltj!W6Gz-tPH9hQ5X$|)Ug^=pihy*2>f+=?_Ju^E z51BdZY;|BaZ9a1TNzc)(3Ub={02=l0b9#Q_D>ex6`6BK(q69!nnw=*~tJ@;_YdE4g zb57JDNQX}4VAO{UMPfnOO+_iE%&I)%jq3&75hqJixj+A*cKL8&MY>(nrB5M*t(}2e z%oucbZ$FeD#MpkQ z;NGU1jQF-gD_CZz_Fbd{o2BJ{Ozblunoe4|(xz{ue-n9_Ay}V{k8UHf!b!G9MFXu3 zKVHA{o0$2I9A?!tuDEpa`hDs!y~xa(TmB^3lZ6(U(hd>YL%}hYNDx@!v+$ukh@1MT ztw>d2fb^Z(^#KD%7=M(%57%26vbP`ELso)?*BchI5NW6yO2-5pcG<0XHb=o_>K2k{ zLIBd5+6wWbo3HVCG{YT6ib}+$5%8Plp><$cof{B~qkPj;Y<_J9eSR)@pHIk5xB{QE#K~ zc&*hHD14m903RlYeyrz{t9)?i{tiXgrxTN(wlp5(#!+$Y1K;}lc=<$5qp6?Mox`5b z36wWcK(PEE!8SWNio-wkxw4yRNQdUz^fgTgsFfo0i@-3rN2lPPkxcL$LGl*lt6#L+&908)?<5} z$bDB>WVpm%D!E)DlJr@?j(c}UX8<@*b(G_7QqxUOl{r{0O@^3qCfR4h81%cJ5=f4T z-p;$j26or>`*h3?ttwjkp0%oxOohlFZ{;@v0pMlBESX`S=<{>>7& z2e(c>V+bvt;xzEXJoyv{LANUhVHR{KV(k2iOW=xqYUK4K*YELAd-uV0=4KXsvZbiN zP1>Q)aNsyXx9e^5@ezqp7f;@d0B!!w8OEwdSf}&~!V9LIiz}gdk?mpHh?A3aZ*<<7 zNQ+WO#LFVPVOja=%^ z)~D2+rBy3m=EuM@o0P$;(eovW@wrL6E|MtJRwSOgjDF-*`B);laR|Ei-*nlZLX&G+lZ#z|?0Z}>ty!fjYz~s>S63XJn_I{(_q>!=LFBkhKz+=Q3vRA>YYgE*uYDP(8{Co4#Fh5u0Ea3 zWAFm|rtINdT~Oi)MkWGl3fm%ML=Aomcu5O3qM&@El#vFd002}O0RZs-HE8BP1`Try z@(+PQ+$3Dxf*>%@fM8F5zqMRr{{>yPfii;<1%C)Kw-I9yb~W9#q&i&JE*?w2Tzhy{uY1Wq++ zDfZDVeh{M*X*S6g>iLFCOK-icA=HI99ZdBfV5p3|p_hKjA#Tm?lsBPPW>r+Xd)iBy zsf)=LQ*x*v?8s@AcPJT(D&NbNX~%M{kg zvEK6bHDGJzF?=7xeZU&Cp~=O`9Gr$zi+lWVweU)6qHwFEcHU&W@exy^7g3}RD(d$o z3X-))Q~XpA(GRVUzS6J3~Mx&zQr>h?=?_ex6ik1{QwZhf-cHObzbEY#zhvnFH?fTKFxU6 z*RmL*?K7Du1SjbLTqyEeC7aLL@Zmpb3Be6)PD>PEYQoIX!x^%huCpUKU1<;_m?UQSEiLbJMQ3-g=|12T8e$W z9#!*Uv)jf(wBWn^vAF7x{b(&ZcJk+73YZ*Yt7QG;Ekv$3T}!Y8j*^Bb;)Z$>`LbF2 z?sW(gN8I0@1MY{|fK#6YLJ(P2pq#{IjadE?#?orVq}+8SgT3eRX5{R%9HBdIUc;gz zzj8M|B|_mqEYr1qz^$>ArV6(s)u9Is$ZOLNkvcDZemJusT|#M&Y+Pg`D%}2j#kYP_ zdxe^)n=R3>FReYA#)ipSal{ZQ&Fta2(t|bjO~dx^TlH*uii@(C9!g?qRA*pFUm(!a z&zkAQ!NRf#n`sEG1923#8TaBX$5Q6d%C2yr*Uk3#DB|Q_v&;HYWoLqV0=+GD4w5l6 zo%dn~?6pP`gC&Z@R@)k}^`xWvq<7Z$wlFWJrxFkhN2lkHe>)Ng{m)invW=(4%Qmw} znpc$f*|OB@mz*4g|MA^P_yRmD6n$N-bMn;EWxfg?GdS=er)MPgVJs+{4 zU244Eo{q56q($n@;J)YmG%2M(8jJ$n7GL?L)L%O9w;4FwlK}uYxxaKK zB4!5sJ3#%D+c3z9v+G~7|64_WoZx?P9&AKL{`VH~pN06dYta6!{sq=j Bg>C=< literal 0 HcmV?d00001 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.behavior_properties.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/.behavior_properties.aadlbin new file mode 100644 index 0000000000000000000000000000000000000000..9cb40882bb22c5d31405993d7e418e1f44ef37fc GIT binary patch literal 921 zcmWIWW@Zs#;Nak3=;*i{!GHvKfb7)VG~MLM@9zlv=)7XO>-4eyqdC=a1h0o_q4UW9Y+n?*AQ(I%Vf(zSeL$ z^K?^4Yu}?EdY$X0P5&RE)AVxk)wVUamp|DN5OMJ*@7oV+uax~xof`7n`0qLm`At2H zpV>a$+~qM_Jo)SDqgmD6L1n4Sjdk~Kw!eDz-USY~<=R(6QZ7!7DxD<$ZRL`ZwHlV} zcK@eJJoz_yhktmsz=53}RwnNP?kLV^vlPAI@x5o$Le7o{8+D)9K5qPVu;9^R!%eZ< zF20dC_L;qChUc2srlKjHsVZq#7nHiYIsUaRXo_?z za0ZwNP(@K{aeir0a;k1hYH@N=Wn8b`HeUd6Z zS*fAHx$~6Q{dZ^Y_MLg_lXkCaaqEnF1r@QTgjpe)m)fT&wr(|Z`q%!4@#UP@y>pIo z3UvhA*gdP=^Zxkt`vHYwvu>5m^q6AeXW)NGc=Mr`chs6B6X%wwY-)%; zMp){QYM9g{tKS7mdi(Ux)Kqgk@U3T#a#Jkb^7iVEz{>EnJr^$Wd2W!1Tx7h-=oz!- z@!qSBeJKqaJqq2kc3b{Q?#N|j2rSt1hre%n{L$M=3#Hr6YyEoh_qhH1^*r)U-|Z#l z)f-0a`M0}ax#q-`g>eEi&REU5{<_!nUyts&;<~f9b2+&@SKr>ztfRg%;%?NPSni8| zc7NXaIQWkVU-D{$hfn5xP!ln}HeW-{v9x6w|8_av{Iv_buU`yNtN;7sXT|FrnMG#8vg??`HwUs=d&Y1yg`A8pI5WRYoQe w21G_cj&V>%Kn2Lz0$nGvsh|{r0ER%ju%(XxZ&o&tDkdPT0n+S1_b@O30Pxp(>Hq)$ literal 0 HcmV?d00001 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/Predeclared_Property_Sets/.AADL_Project.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/Predeclared_Property_Sets/.AADL_Project.aadlbin new file mode 100644 index 0000000000000000000000000000000000000000..ff24afe148192426643b13d478a7475a06fd2b13 GIT binary patch literal 3764 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 literal 0 HcmV?d00001 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/Predeclared_Property_Sets/.Memory_Properties.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/Predeclared_Property_Sets/.Memory_Properties.aadlbin new file mode 100644 index 0000000000000000000000000000000000000000..d128f3b35d6dc22ebd996ae11b0ef85fc2360a9e GIT binary patch literal 3689 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 SY#>!kKv)B$uK|-g0|Nl{om_VS literal 0 HcmV?d00001 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/Predeclared_Property_Sets/.Programming_Properties.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/Predeclared_Property_Sets/.Programming_Properties.aadlbin new file mode 100644 index 0000000000000000000000000000000000000000..4f9edc11391330e80c94029122f5116b29352af7 GIT binary patch literal 2462 zcmZ{mc{mh$7stn-WVxmq4U)2CD`{jITQ&A=G?Qg)aT$ZD+mLOBDZ<4r8yxXHB=K}gt_&QR0FfF1|-(DZsgtqO*6Mvh|wDM4Ahhndg_UsRs*}S&7l-@ zH9&m=&ni2sfqtt-5wRdl46FGsiGGRfB{Iyzod^jger83l$bU@WN0yc+wN#RRhq$|b z{yQ@NUac`{$Oy*#?N&1arj5S#M!(gsxuwcNuWo1!cL3XaM*WCD7^_%RzPq-L>A?`| zExCbGr&QZBRFsFN!<y)5HK`Q&M%4@2a}F)rt8+ zGkX0^iah@@vs=@J@DETLWYMf zK0j`mIv1HG-j!imSl)H5LBLLKVOD4-8=Ad=&(@NL`23=nS{g1_Q_=|6ST~lMx9%&P z(|%(rhjPhJ;Zw%88>v2Jc&`-TQi<2u!MjNHbqN)W|Apu@*QBZPyzka}d(#u}SmzW_ zKitrQ(+PXOC27HHuk|RfgMBg|a*P@4@N#-S?0!GQq}i9Y+_<|tG62`~C85O2%dE7-e}Itk6ZFpE7c5d~`fUgTa)YyomFym)%5;;CiNqvLi> zIt}r=?c#Ujw!7XWeMlGHWvT5d3?4~Xg}SXuZ^vA@uk&YZ+GmvZjFgIT&_#AmPt$n$ z8E0*Y8~jS|_3K)6u!$PU7OjTR&Mak#C5FQi!^=Yq(}M_C(wu)cRBXsl{M`ew3AClh z`6Md%zDg#j#{Zwdaq&R2}-9Rx>(hQ#W`}(p48T3Uuh@tQ^DYSj*=I{Kgxpq=2To-hfC*jnwIUb3LC|^+J$Xbb>=5XAf%}FMUVOd-GCXa# zU1(asQ90ownLb3ZJGXioE|P%^KhmZM{oTcTvlmo@mgw`esoD)4Th|5m&B%^tW2rd9WpJR0c34a27jxJ!DdS;p zQ4yo8qVmW!03@KBjS`QWN~%(0Yc%$2+?Z}SwJd&qo> zc+%ge?(@eV&OgefH&QPdPPMFdL`Dy4WXP>v>*A@NspYh~y*@gSsjqce#!YB`N~iCU ztY6VUWr<+@Kne1rX`bw_FlD8?UFgmBi9kILrLo2Mi>QQfS0B2Pd|W;kP-RV|eG^I6 z9q><@A=vvV&?hdQhro{m>GM|%(9dCYr{H)JBr38@X3LN zMs8U>y^0mx-TIH3yY1jwxJ8c^8`m4BeXxm8rN%B= z{uQ%3)D&B>zYX}Dv}r&j*XU&*1l77WTkjteoim^S^OMcLT{1}2`SO&iOrvCibGIzM zZ5+VobUj(%(QbKJ6MQSmRiF57ik_3|T0*|-aiJ&F6AO)po8pYf^VXdX_1r7&6^{7* z>sPg>&Zicv)ViZ=tPo4kJYBN0wD=L|o|Zx(2L~$_Y|DPeQmP)6IX|(7)(GCfC|Q&h zZu3?f2EH{gbWAlai6*$L&>yk~r@aY-Y4O1sZsipmW$H_;h&cljR9$5mU7C}8`-jEg zydkoIzLwq@!H8Fs;mpXHBBt+cVd_dWXVI)Fl5HBH_NTV2OCyycGC?sXkq4Yr@@aQM zCur^0IXi6vPMWSA-FKbkq|7$$*G(!i1K^quFIzBEI0?WxhuX5a%7{iXP(!U7^j%<| z3RQLI{YUu$08iC@D)0fpfPdZ4&&1ewL;tCtz0rUF{CVm=QU2BD4+8x!z94M`5A1gV Ne?;VuSM<<+^$*C#eq{gv literal 0 HcmV?d00001 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/Predeclared_Property_Sets/.Thread_Properties.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/Predeclared_Property_Sets/.Thread_Properties.aadlbin new file mode 100644 index 0000000000000000000000000000000000000000..d0967ce29d74d9fa020e56f86a2949e556337a0e GIT binary patch literal 2883 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 N{R+abT+8~q`!`V?Kq>$L literal 0 HcmV?d00001 diff --git a/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/Predeclared_Property_Sets/.Timing_Properties.aadlbin b/Cyber-Resilient-UAV/.aadlbin-gen/resources/properties/Predeclared_Property_Sets/.Timing_Properties.aadlbin new file mode 100644 index 0000000000000000000000000000000000000000..c8819356c436a17ff3698ec42581d7fa61f1bb99 GIT binary patch literal 2952 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 <= - ** comp " exists in the model" ** - has_mitigation_type(comp, mitigation_type) and exists(m : component) . m = comp - - - -- Make sure there is no communication pathway that avoids the component - component_not_bypassed(comp : component, comp_context : component, msg_type : data) <= - ** "Component " comp " cannot be bypassed" ** - let comp_srcs : {component} = get_filter_sources(comp_context, comp, msg_type); - let non_comp_srcs : {component} = get_non_filter_sources(comp_context, comp, msg_type); - size(intersect(comp_srcs, non_comp_srcs)) = 0 - - -- This provides evidence that the high-assurance component was correctly generated for the appropriate os - -- and that the proof was emitted and checked. - component_implemented(comp : component, tool : string) <= - ** "Component property implemented" ** - implementation_language_assurance(comp) --- and component_proof_checked(comp, tool) - - -- Checks that a proof has been generated showing the component implementation - -- matches the AGREE contract - component_proof_checked(comp : component, tool : string) <= - ** "Component proof checked" ** - is_seL4_component(comp) => analysis("ToolCheck", tool) - - has_mitigation_type(comp : component, mitigation_type : property) : bool = - has_property(comp, mitigation_type) and property(comp, mitigation_type) = 100 - - is_comm_driver(comp : component) : bool = - has_property(comp, CASE_Properties::Comm_Driver) and property(comp, CASE_Properties::Comm_Driver) = true - - -- Returns the set of components that are ancestors of a target component through communication pathways that don't pass through a filter - get_non_filter_sources(target : component, filter : component, msg_type : data) : {component} = - let srcs : {component} = {c for (conn : connections(target)) (c : source_component(conn)) | has_type(conn) and type(conn) = msg_type and not is_source_component(conn, filter) and not is_source_component(conn, target)}; - recursive_backwards_reach(srcs) - - -- Returns the set of components that are ancestors of the filter on a target component - get_filter_sources(target : component, filter : component, msg_type : data) : {component} = - let srcs : {component} = {c for (conn : connections(target)) (c : source_component(conn)) | has_type(conn) and type(conn) = msg_type and is_source_component(conn, filter)}; - prev_reach(srcs) - - recursive_backwards_reach(curr : {component}) : {component} = - let prev : {component} = union(curr, prev_reach(curr)); - if prev = curr then - curr - else - recursive_backwards_reach(prev) - - prev_reach(curr : {component}) : {component} = - {y for (x : curr) (y : backwards_reachable_components(x))} - - backwards_reachable_components(comp : component) : {component} = - {c for (conn : connections (comp)) (c : backwards_reachable_components_via_connection(comp, conn))} - - backwards_reachable_components_via_connection(comp : component, conn : connection) : {component} = - if is_port_connection(conn) then - if is_destination_component(conn, comp) and not is_source_component(conn, comp) then - {source_component(conn)} - else - {} - else - {} - - -- Evidence that an attestation manager component exists for a given communication driver - attestation_manager_exists(comm_driver : component, attestation_manager : component) <= - ** "An attestation manager on " comm_driver " exists" ** - -- check that the attestation manager only has attestation request/response connections to the comm driver - is_comm_driver(comm_driver) and has_mitigation_type(attestation_manager, CASE_Properties::Attesting) - - -- Evidence that communication from the comm driver cannot bypass attestation components - attestation_components_not_bypassed(comm_driver : component, attestation_manager : component, attestation_gate : component) <= - ** "Attestation components cannot be bypassed" ** - -- all outgoing connections from the comm driver to components inside the - -- parent of the comm driver connect to the attestation manager or attestation gate - let out_conns : {connection} = {conn for (conn : connections(comm_driver)) | source_component(conn) = comm_driver and not (destination_component(conn) = parent(comm_driver))}; - forall(conn : out_conns) . (not is_software_component(destination_component(conn)) or has_mitigation_type(destination_component(conn), CASE_Properties::Attesting) or has_mitigation_type(destination_component(conn), CASE_Properties::Gating)) - - -- Checks if the specified virtual processor is a CASE Virtualization and is bound to a processor - vm_bound_to_processor(virtual_machine : component) <= - ** virtual_machine " is bound to a processor" ** - has_mitigation_type(virtual_machine, CASE_Properties::Isolating) and exists(p : processor) . is_bound_to(virtual_machine, p) - - -- Checks that bindings exist between specified virtualized components and virtual processor - components_bound_to_vm(bound_components : {component}, virtual_machine : component) <= - ** "Components are bound to virtual processor " virtual_machine ** - forall (c : bound_components) . check_vm_binding(c, virtual_machine) - - -- Checks that the specified component is bound to the specified virtual processor - check_vm_binding(c : component, virtual_machine : component) <= - ** "Component " c " is bound to virtual processor " virtual_machine ** - is_bound_to(c, virtual_machine) - - -- Checks that subcomponents of specified virtualized components are not bound to processors other than the - -- specified VM - subcomponents_not_bound_to_other_processors(bound_components : {component}, virtual_machine : component) <= - ** "Subcomponents are not bound to other processors" ** - let subs : {component} = get_subcomponents(next_subcomponent(bound_components)); - forall (s : subs) . not exists (v : component) . (is_bound_to_processor(s, v) and not (v = virtual_machine)) - - -- Get set of descendants - get_subcomponents(curr : {component}) : {component} = - let next : {component} = union(curr, next_subcomponent(curr)); - if next = curr then - curr - else - get_subcomponents(next) - - next_subcomponent(curr : {component}) : {component} = - {y for (x : curr) (y : subcomponents(x))} - - implementation_language_assurance(comp : component) <= - ** comp " implementation is appropriate for OS" ** - is_seL4_component(comp) => is_cakeml_component(comp) - - is_cakeml_component(comp : component) : bool = - if is_thread(comp) then (has_property(comp, CASE_Properties::Component_Language) and property(comp, CASE_Properties::Component_Language) = "CakeML") - else if is_process(comp) then size(subcomponents(comp)) > 0 and forall(t : subcomponents(comp)) . is_cakeml_component(t) - else false - - -- checks that a component will run on seL4 by checking that the processors it is bound to have the seL4 OS property - is_seL4_component(comp : component) : bool = - let proc : {component} = {c for (c : component) | is_bound_to_processor(comp, c)}; - (size(proc) > 0) and forall (p : proc) . (has_property(p, CASE_Properties::OS) and property(p, CASE_Properties::OS) = "seL4") - - is_bound_to_processor(c : component, p : component) : bool = - is_bound_to(c, p) and (is_processor(p) or is_virtual_processor(p)) - - alert_connected(monitor : component, alert_port : feature) <= - ** "Monitor Alert port is connected" ** - contained(alert_port, monitor) and length(connections(alert_port)) > 0 - - independent_reset(monitor : component, comp_context : component) <= - ** "Monitor reset port cannot be triggered by source of observed signal" ** - let reset_ancestors : {component} = {comp for (conn : connections(monitor)) (comp : recursive_backwards_reach({source_component(conn)})) | destination_component(conn) = monitor and name(destination(conn)) = "Reset"}; - length(intersect(reset_ancestors, {comp_context})) = 0 - - is_software_component(comp : component) : bool = - is_process(comp) or is_thread_group(comp) or is_thread(comp) - - is_high_assurance_component(comp : component) : bool = - has_mitigation_type(comp, CASE_Properties::Filtering) or has_mitigation_type(comp, CASE_Properties::Monitoring) or has_mitigation_type(comp, CASE_Properties::Gating) - - each_thread_in_separate_process(root : component) <= - ** "Each thread runs in a separate process" ** - let comps : {component} = get_subcomponents({root}); - forall (c : comps) . ((is_system(c) or is_thread(c) or is_process(c)) and is_process(c) => (length(subcomponents(c)) = 1 and is_thread(head(as_list(subcomponents(c)))))) - - **}; +-- annex Resolute {** +-- +-- --------------------------- +-- -- MODEL TRANSFORMATIONS -- +-- --------------------------- +-- +-- -- Strategy for proper insertion of a filter +-- strategy add_filter(comp_context : string, filter : string, conn : string, msg_type : data) <= +-- ** "Filter " filter " is properly added to component " comp_context ** +-- let ctx : component = ModelAccess.getComponent(comp_context); +-- let flt : component = ModelAccess.getComponent(filter); +-- let cnx : connection = ModelAccess.getConnection(conn); +-- filter_exists(flt, ctx, cnx) and component_not_bypassed(flt, ctx, msg_type) and component_implemented(flt, "SPLAT") +-- +-- -- Strategy for proper insertion of attestation manager +-- strategy add_attestation_manager(comm_driver : string, attestation_manager : string, attestation_gate : string) <= +-- ** "Attestation Manager added for communications driver " comm_driver ** +-- let driver : component = ModelAccess.GetComponent(comm_driver); +-- let manager : component = ModelAccess.GetComponent(attestation_manager); +-- let gate : component = ModelAccess.GetComponent(attestation_gate); +-- attestation_manager_exists(driver, manager) and attestation_components_not_bypassed(driver, manager, gate) and component_implemented(manager, "attestation") and component_implemented(gate, "SPLAT") +-- +-- -- Strategy for proper insertion of virtualization +-- strategy add_virtualization(bound_components : string, virtual_machine : string) <= +-- ** bound_components " contained in VM " virtual_machine ** +-- let vm_comps : {component} = ModelAccess.getComponentSet(bound_components); +-- let vm : component = ModelAccess.getComponent(virtual_machine); +-- vm_bound_to_processor(vm) and components_bound_to_vm(vm_comps, vm) and subcomponents_not_bound_to_other_processors(vm_comps, vm) +-- +-- -- Strategy for proper insertion of a monitor +-- strategy add_monitor(comp_context : string, monitor : string, alert_port : string) <= +-- ** "Monitor " monitor " is properly added to " comp_context ** +-- let ctx : component = ModelAccess.getComponent(comp_context); +-- let mon : component = ModelAccess.getComponent(monitor); +-- let alert : feature = ModelAccess.getPort(alert_port); +-- component_exists(mon, CASE_Properties::Monitoring) and alert_connected(mon, alert) and independent_reset(mon, ctx) and component_implemented(mon, "SPLAT") +-- +-- -- Strategy for proper insertion of a monitor with a gate +-- strategy add_monitor_gate(comp_context : string, monitor : string, alert_port : string, gate_context : string, message_type : data) <= +-- ** "Monitor " monitor " is properly added to " comp_context ** +-- let ctx : component = ModelAccess.getComponent(comp_context); +-- let mon : component = ModelAccess.getComponent(monitor); +-- let alert : feature = ModelAccess.getPort(alert_port); +-- let gate : component = ModelAccess.getComponent(gate_context); +-- component_exists(mon, CASE_Properties::Monitoring) and alert_connected(mon, alert) and independent_reset(mon, ctx) and component_not_bypassed(mon, gate, message_type) and component_implemented(mon, "SPLAT") +-- +-- -- Strategy claim for proper insertion of a switch +-- strategy add_switch(comp_context : string, switch : string, message_type : data) <= +-- ** "Switch inserted after " comp_context ** +-- let ctx : component = ModelAccess.getComponent(comp_context); +-- let gate : component = ModelAccess.getComponent(switch); +-- component_exists(gate, CASE_Properties::Gating) and component_not_bypassed(gate, ctx, message_type) and component_implemented(gate, "SPLAT") +-- +-- -- Strategy for proper transformation of model for seL4 build +-- strategy sel4_transform(comp_context : string) <= +-- ** "Component " comp_context " transformed for seL4 build" ** +-- let ctx : component = ModelAccess.getComponent(comp_context); +-- each_thread_in_separate_process(ctx) +-- +-- +-- ---------------- +-- -- SUB CLAIMS -- +-- ---------------- +-- +-- -- This connects to evidence that AGREE was previously run on the current version of the design. +-- goal agree_property_checked(c : string, property_id : string) <= +-- ** "Formal verification proves model satisfies requirement" ** +-- agree_passes_on_current_model(c, property_id) and confidence_in_agree_results() +-- +-- goal agree_passes_on_current_model(c : string, property_id : string) <= +-- ** "AGREE is run on most recent version of model and passes" ** +-- let comp : component = ModelAccess.getComponent(c); +-- AgreeLib.hasAgreeProperty(comp, property_id) and analysis("AgreeCheck", type(parent(comp))) +-- +-- -- Check to see if there is a filter immediately before +-- -- the component on the communication pathway. +-- filter_exists(filter : component, comp_context : component, conn : connection) <= +-- ** "A filter " filter " is connected to component " comp_context " by connection " conn ** +-- let filters : {component} = recursive_backwards_filter_reach({comp_context}); +-- let filter_parents : {component} = {(component)parent(f) for (f : filters) | has_parent(f) and (parent(f) instanceof component) and has_mitigation_type((component)parent(f), CASE_Properties::Filtering)}; +-- let all_filters : {component} = union(filters, filter_parents); +-- has_mitigation_type(filter, CASE_Properties::Filtering) and --connected(filter, conn, comp_context) +-- member(filter, all_filters) and exists(c : all_filters) . is_source_component(conn, c) +-- +-- recursive_backwards_filter_reach(curr : {component}) : {component} = +-- let p_reach : {component} = {c for (c : prev_reach(curr)) | has_mitigation_type(c, CASE_Properties::Filtering)}; +-- let prev : {component} = union(curr, p_reach); +-- if prev = curr then +-- curr +-- else +-- recursive_backwards_filter_reach(prev) +-- +-- -- Check to see if the specified component exists +-- component_exists(comp : component, mitigation_type : property) <= +-- ** comp " exists in the model" ** +-- has_mitigation_type(comp, mitigation_type) and exists(m : component) . m = comp +-- +-- +-- -- Make sure there is no communication pathway that avoids the component +-- component_not_bypassed(comp : component, comp_context : component, msg_type : data) <= +-- ** "Component " comp " cannot be bypassed" ** +-- let comp_srcs : {component} = get_filter_sources(comp_context, comp, msg_type); +-- let non_comp_srcs : {component} = get_non_filter_sources(comp_context, comp, msg_type); +-- size(intersect(comp_srcs, non_comp_srcs)) = 0 +-- +-- -- This provides evidence that the high-assurance component was correctly generated for the appropriate os +-- -- and that the proof was emitted and checked. +-- component_implemented(comp : component, tool : string) <= +-- ** "Component property implemented" ** +-- implementation_language_assurance(comp) +---- and component_proof_checked(comp, tool) +-- +-- -- Checks that a proof has been generated showing the component implementation +-- -- matches the AGREE contract +-- component_proof_checked(comp : component, tool : string) <= +-- ** "Component proof checked" ** +-- is_seL4_component(comp) => analysis("ToolCheck", tool) +-- +-- has_mitigation_type(comp : component, mitigation_type : property) : bool = +-- has_property(comp, mitigation_type) and property(comp, mitigation_type) = 100 +-- +-- is_comm_driver(comp : component) : bool = +-- has_property(comp, CASE_Properties::Comm_Driver) and property(comp, CASE_Properties::Comm_Driver) = true +-- +-- -- Returns the set of components that are ancestors of a target component through communication pathways that don't pass through a filter +-- get_non_filter_sources(target : component, filter : component, msg_type : data) : {component} = +-- let srcs : {component} = {c for (conn : connections(target)) (c : source_component(conn)) | has_type(conn) and type(conn) = msg_type and not is_source_component(conn, filter) and not is_source_component(conn, target)}; +-- recursive_backwards_reach(srcs) +-- +-- -- Returns the set of components that are ancestors of the filter on a target component +-- get_filter_sources(target : component, filter : component, msg_type : data) : {component} = +-- let srcs : {component} = {c for (conn : connections(target)) (c : source_component(conn)) | has_type(conn) and type(conn) = msg_type and is_source_component(conn, filter)}; +-- prev_reach(srcs) +-- +-- recursive_backwards_reach(curr : {component}) : {component} = +-- let prev : {component} = union(curr, prev_reach(curr)); +-- if prev = curr then +-- curr +-- else +-- recursive_backwards_reach(prev) +-- +-- prev_reach(curr : {component}) : {component} = +-- {y for (x : curr) (y : backwards_reachable_components(x))} +-- +-- backwards_reachable_components(comp : component) : {component} = +-- {c for (conn : connections (comp)) (c : backwards_reachable_components_via_connection(comp, conn))} +-- +-- backwards_reachable_components_via_connection(comp : component, conn : connection) : {component} = +-- if is_port_connection(conn) then +-- if is_destination_component(conn, comp) and not is_source_component(conn, comp) then +-- {source_component(conn)} +-- else +-- {} +-- else +-- {} +-- +-- -- Evidence that an attestation manager component exists for a given communication driver +-- attestation_manager_exists(comm_driver : component, attestation_manager : component) <= +-- ** "An attestation manager on " comm_driver " exists" ** +-- -- check that the attestation manager only has attestation request/response connections to the comm driver +-- is_comm_driver(comm_driver) and has_mitigation_type(attestation_manager, CASE_Properties::Attesting) +-- +-- -- Evidence that communication from the comm driver cannot bypass attestation components +-- attestation_components_not_bypassed(comm_driver : component, attestation_manager : component, attestation_gate : component) <= +-- ** "Attestation components cannot be bypassed" ** +-- -- all outgoing connections from the comm driver to components inside the +-- -- parent of the comm driver connect to the attestation manager or attestation gate +-- let out_conns : {connection} = {conn for (conn : connections(comm_driver)) | source_component(conn) = comm_driver and not (destination_component(conn) = parent(comm_driver))}; +-- forall(conn : out_conns) . (not is_software_component(destination_component(conn)) or has_mitigation_type(destination_component(conn), CASE_Properties::Attesting) or has_mitigation_type(destination_component(conn), CASE_Properties::Gating)) +-- +-- -- Checks if the specified virtual processor is a CASE Virtualization and is bound to a processor +-- vm_bound_to_processor(virtual_machine : component) <= +-- ** virtual_machine " is bound to a processor" ** +-- has_mitigation_type(virtual_machine, CASE_Properties::Isolating) and exists(p : processor) . is_bound_to(virtual_machine, p) +-- +-- -- Checks that bindings exist between specified virtualized components and virtual processor +-- components_bound_to_vm(bound_components : {component}, virtual_machine : component) <= +-- ** "Components are bound to virtual processor " virtual_machine ** +-- forall (c : bound_components) . check_vm_binding(c, virtual_machine) +-- +-- -- Checks that the specified component is bound to the specified virtual processor +-- check_vm_binding(c : component, virtual_machine : component) <= +-- ** "Component " c " is bound to virtual processor " virtual_machine ** +-- is_bound_to(c, virtual_machine) +-- +-- -- Checks that subcomponents of specified virtualized components are not bound to processors other than the +-- -- specified VM +-- subcomponents_not_bound_to_other_processors(bound_components : {component}, virtual_machine : component) <= +-- ** "Subcomponents are not bound to other processors" ** +-- let subs : {component} = get_subcomponents(next_subcomponent(bound_components)); +-- forall (s : subs) . not exists (v : component) . (is_bound_to_processor(s, v) and not (v = virtual_machine)) +-- +-- -- Get set of descendants +-- get_subcomponents(curr : {component}) : {component} = +-- let next : {component} = union(curr, next_subcomponent(curr)); +-- if next = curr then +-- curr +-- else +-- get_subcomponents(next) +-- +-- next_subcomponent(curr : {component}) : {component} = +-- {y for (x : curr) (y : subcomponents(x))} +-- +-- implementation_language_assurance(comp : component) <= +-- ** comp " implementation is appropriate for OS" ** +-- is_seL4_component(comp) => is_cakeml_component(comp) +-- +-- is_cakeml_component(comp : component) : bool = +-- if is_thread(comp) then (has_property(comp, CASE_Properties::Component_Language) and property(comp, CASE_Properties::Component_Language) = "CakeML") +-- else if is_process(comp) then size(subcomponents(comp)) > 0 and forall(t : subcomponents(comp)) . is_cakeml_component(t) +-- else false +-- +-- -- checks that a component will run on seL4 by checking that the processors it is bound to have the seL4 OS property +-- is_seL4_component(comp : component) : bool = +-- let proc : {component} = {c for (c : component) | is_bound_to_processor(comp, c)}; +-- (size(proc) > 0) and forall (p : proc) . (has_property(p, CASE_Properties::OS) and property(p, CASE_Properties::OS) = "seL4") +-- +-- is_bound_to_processor(c : component, p : component) : bool = +-- is_bound_to(c, p) and (is_processor(p) or is_virtual_processor(p)) +-- +-- alert_connected(monitor : component, alert_port : feature) <= +-- ** "Monitor Alert port is connected" ** +-- contained(alert_port, monitor) and length(connections(alert_port)) > 0 +-- +-- independent_reset(monitor : component, comp_context : component) <= +-- ** "Monitor reset port cannot be triggered by source of observed signal" ** +-- let reset_ancestors : {component} = {comp for (conn : connections(monitor)) (comp : recursive_backwards_reach({source_component(conn)})) | destination_component(conn) = monitor and name(destination(conn)) = "Reset"}; +-- length(intersect(reset_ancestors, {comp_context})) = 0 +-- +-- is_software_component(comp : component) : bool = +-- is_process(comp) or is_thread_group(comp) or is_thread(comp) +-- +-- is_high_assurance_component(comp : component) : bool = +-- has_mitigation_type(comp, CASE_Properties::Filtering) or has_mitigation_type(comp, CASE_Properties::Monitoring) or has_mitigation_type(comp, CASE_Properties::Gating) +-- +-- each_thread_in_separate_process(root : component) <= +-- ** "Each thread runs in a separate process" ** +-- let comps : {component} = get_subcomponents({root}); +-- forall (c : comps) . ((is_system(c) or is_thread(c) or is_process(c)) and is_process(c) => (length(subcomponents(c)) = 1 and is_thread(head(as_list(subcomponents(c)))))) +-- +-- **}; end CASE_Model_Transformations; \ No newline at end of file diff --git a/Cyber-Resilient-UAV/MC.aadl b/Cyber-Resilient-UAV/MC.aadl index 138f34e..d2d3c0e 100644 --- a/Cyber-Resilient-UAV/MC.aadl +++ b/Cyber-Resilient-UAV/MC.aadl @@ -102,26 +102,26 @@ public Actual_Memory_Binding => (reference (Mem_HW)) applies to SW; HAMR::Bit_Codec_Raw_Connections => true; CASE_Properties::OS => seL4 applies to Proc_HW; - annex resolute {** - check HAMR_Guidelines - argue MissionComputer_Impl_cyber_resilient(this) - **}; +-- annex resolute {** +-- check HAMR_Guidelines +-- argue MissionComputer_Impl_cyber_resilient(this) +-- **}; end MissionComputer.Impl; - annex resolute {** - - goal MissionComputer_Impl_cyber_resilient(sys : system) <= - ** "The " sys " is acceptably cyber-resilient" ** - strategy : "Argue over security requirements"; - security_requirements_complete(sys) and MissionComputer_Impl_security_requirements_satisfied(sys) - - goal MissionComputer_Impl_security_requirements_satisfied(sys : system) <= - ** "Security requirements are satisfied" ** - MissionComputer_Impl_security_requirements_satisfied_in_model() and security_requirements_satisfied_in_implementation(sys) - - goal MissionComputer_Impl_security_requirements_satisfied_in_model() <= - ** "Security requirements are satisfied in the system model" ** - Req_Attestation() and Req_Filter() and Req_Monitor() and Req_Separation() - - **}; +-- annex resolute {** +-- +-- goal MissionComputer_Impl_cyber_resilient(sys : system) <= +-- ** "The " sys " is acceptably cyber-resilient" ** +-- strategy : "Argue over security requirements"; +-- security_requirements_complete(sys) and MissionComputer_Impl_security_requirements_satisfied(sys) +-- +-- goal MissionComputer_Impl_security_requirements_satisfied(sys : system) <= +-- ** "Security requirements are satisfied" ** +-- MissionComputer_Impl_security_requirements_satisfied_in_model() and security_requirements_satisfied_in_implementation(sys) +-- +-- goal MissionComputer_Impl_security_requirements_satisfied_in_model() <= +-- ** "Security requirements are satisfied in the system model" ** +-- Req_Attestation() and Req_Filter() and Req_Monitor() and Req_Separation() +-- +-- **}; end MC; \ No newline at end of file diff --git a/Cyber-Resilient-UAV/Requirements/CASE_Requirements.aadl b/Cyber-Resilient-UAV/Requirements/CASE_Requirements.aadl index 6a1b6d1..5b1b37b 100644 --- a/Cyber-Resilient-UAV/Requirements/CASE_Requirements.aadl +++ b/Cyber-Resilient-UAV/Requirements/CASE_Requirements.aadl @@ -2,37 +2,37 @@ package CASE_Requirements private annex resolute {** - goal Req_Attestation() <= - ** "[attestation] Communication sources shall be trusted" ** - context Generated_By : "GearCASE"; - context Generated_On : "2022-09-09-180532"; - context Req_Component : "MC::MissionComputer.Impl.SW.RadioDriver"; - context Formalized : "False"; - add_attestation_manager("MC::MissionComputer.Impl.SW.RadioDriver", "MC::MissionComputer.Impl.SW.AttestationManager", "MC::MissionComputer.Impl.SW.AttestationGate") - - goal Req_Filter() <= - ** "[permit_well_formed_data] Messages shall be well-formed" ** - context Generated_By : "GearCASE"; - context Generated_On : "2022-09-09-180532"; - context Req_Component : "MC::MissionComputer.Impl.SW.FlightPlanner"; - context Formalized : "True"; - agree_property_checked("MC::MissionComputer.Impl.SW.FlightPlanner", "Req_Filter") and add_filter("MC::MissionComputer.Impl.SW.FlightPlanner", "MC::MissionComputer.Impl.SW.Filter", "MC::MissionComputer.Impl.SW.c7", Data_Types::RF_Msg.Impl) - - goal Req_Monitor() <= - ** "[monitor_correctness] Output of uncontrolled component shall be monitored for incorrect behavior" ** - context Generated_By : "GearCASE"; - context Generated_On : "2022-09-09-180532"; - context Req_Component : "MC::MissionComputer.Impl.SW.FlightPlanner"; - context Formalized : "False"; - add_monitor_gate("MC::MissionComputer.Impl.SW.FlightPlanner", "MC::MissionComputer.Impl.SW.Monitor", "MC::MissionComputer.Impl.SW.Monitor.Alert", "MC::MissionComputer.Impl.SW.FlightController", Data_Types::Mission) - - goal Req_Separation() <= - ** "[separation_kernel] Software shall run on a formally verified separation kernel" ** - context Generated_By : "GearCASE"; - context Generated_On : "2022-09-09-180532"; - context Req_Component : "MC::MissionComputer.Impl.SW"; - context Formalized : "False"; - sel4_transform("MC::MissionComputer.Impl.SW") - - **}; +-- goal Req_Attestation() <= +-- ** "[attestation] Communication sources shall be trusted" ** +-- context Generated_By : "GearCASE"; +-- context Generated_On : "2022-09-09-180532"; +-- context Req_Component : "MC::MissionComputer.Impl.SW.RadioDriver"; +-- context Formalized : "False"; +-- add_attestation_manager("MC::MissionComputer.Impl.SW.RadioDriver", "MC::MissionComputer.Impl.SW.AttestationManager", "MC::MissionComputer.Impl.SW.AttestationGate") +-- +-- goal Req_Filter() <= +-- ** "[permit_well_formed_data] Messages shall be well-formed" ** +-- context Generated_By : "GearCASE"; +-- context Generated_On : "2022-09-09-180532"; +-- context Req_Component : "MC::MissionComputer.Impl.SW.FlightPlanner"; +-- context Formalized : "True"; +-- agree_property_checked("MC::MissionComputer.Impl.SW.FlightPlanner", "Req_Filter") and add_filter("MC::MissionComputer.Impl.SW.FlightPlanner", "MC::MissionComputer.Impl.SW.Filter", "MC::MissionComputer.Impl.SW.c7", Data_Types::RF_Msg.Impl) +-- +-- goal Req_Monitor() <= +-- ** "[monitor_correctness] Output of uncontrolled component shall be monitored for incorrect behavior" ** +-- context Generated_By : "GearCASE"; +-- context Generated_On : "2022-09-09-180532"; +-- context Req_Component : "MC::MissionComputer.Impl.SW.FlightPlanner"; +-- context Formalized : "False"; +-- add_monitor_gate("MC::MissionComputer.Impl.SW.FlightPlanner", "MC::MissionComputer.Impl.SW.Monitor", "MC::MissionComputer.Impl.SW.Monitor.Alert", "MC::MissionComputer.Impl.SW.FlightController", Data_Types::Mission) +-- +-- goal Req_Separation() <= +-- ** "[separation_kernel] Software shall run on a formally verified separation kernel" ** +-- context Generated_By : "GearCASE"; +-- context Generated_On : "2022-09-09-180532"; +-- context Req_Component : "MC::MissionComputer.Impl.SW"; +-- context Formalized : "False"; +-- sel4_transform("MC::MissionComputer.Impl.SW") +-- +-- **}; end CASE_Requirements; \ No newline at end of file