
    i                         d Z ddlZddlZddlZddlZddlZej                  j                  dej                  j                  e
              G d d      Zy)z^
CorvOS - 7-Day Stress Simulation
Multi-peak attack and recovery scenario with 168 NV sensors
    Nc                   <    e Zd ZdZd ZdefdZdededefdZ	d Z
y	)
StressSimulation7Daysz1.0c                 <    || _         d| _        g | _        g | _        y )N   )syshours
hourly_logattack_events)selfsystems     2/home/workspace/corvos_sys/stress_simulation_7d.py__init__zStressSimulation7Days.__init__   s    
    returnc                    g }|j                  dddddd       |j                  dddd	d
d       |j                  dddddd       |j                  dddddd       |j                  dddddd       |j                  dddddd       |S )z/Generate 5 coordinated attack peaks over 7 days   
      g333333?DDoS)day
hour_starthour_end	intensitytype      g      ?Decoherence         g?Retrocausal_Hijack         g333333?Phase_Spoofing      皙?Sensor_Poison   ?Eigenvalue_Manipulation)append)r   attackss     r   _generate_attack_schedulez/StressSimulation7Days._generate_attack_schedule   s    q%(&: 	; 	qq%(-A 	B 	q%(2FH 	I 	qr%(2BD 	Eq%(/C 	D 	q%(2KM 	Nr   r   hourc                 v    | j                         D ]&  }|d   |k(  s|d   |cxk  r	|d   k  sn !|d   c S  y)Nr   r   r   r   g        )r/   )r   r   r0   atks       r   _get_attack_intensityz+StressSimulation7Days._get_attack_intensity(   sK    113 	(C5zS S%6$%PZ%P;''	( r   c                   K   | j                         }t        d       t        d       t        d       t        d       t                d}d}t        dddd	d
dd	ddd	ddd	ddd	d        t        dd dd dd dd dd dd        t        | j                        D ]  dz  dz   dz  }| j	                  |      }|dkD  r%t        d||dz  z
        }t        d||d z  z
        }nt        d|d!z         }t        d"|d#z         }d$z  dk(  s|dkD  sx|d%k  rd&n|d'k  rd(nd)}t        fd*|D        d+      }|dkD  r	| d,|d-d.nd+}t        ddd	dd	|dd	|d/d	|d0d	|        | j                  j                  ||||d1        t                t        d       t        d2       t        d       | j                  D 	cg c]  }	|	d3   	 }
}	t        d4 | j                  D              }t        d5 | j                  D              }t        d6t        |
      d7       t        d8t        j                  |
      d7       t        d9|
d:   d7       t        d;|        t        d<|        t        d=d>d|d?z  z
  z  d@dA       t                |D ].  }t        dB|dC    d,|dD   dEdF|dG   dEdH|dI    dJ|dK   d-
       0 t        d       | j                  S c c}	w w)LNzF======================================================================z,  SIMULACAO DE ESTRESSE - 7 DIAS (168 HORAS)z6  168 Sensores NV | 5 Picos de Ataque | Multi-Recoveryg+?g
ףp=
?z  Horaz>6z | Diaz>3Ataquez>22Lambdaz>8BioSyncz>7Statusz------z-+-z---z----------------------z--------z-------z--------------------r'   r   r   g333333?g?r(   gQ?gMb`?r+   g{Gzt?r$   q=
ףp?CRITICOg
ףp=
?ALERTAOKc              3   d   K   | ]'  }|d    k(  s|d   cxk  r	|d   k  sn n|d    ) yw)r   r   r   r   N ).0ar   r0   s     r   	<genexpr>z,StressSimulation7Days.run.<locals>.<genexpr>O   s7     o11U8s?qZ^GnabcmanGnQvYos   000 z (z.0%)z>8.5fz>7.2%)r0   r   hour_of_daylambda2bio_syncattack_intensityz  RESUMO - 7 DIAS DE ESTRESSErG   c              3   2   K   | ]  }|d    dkD  sd  yw)rI   r   r   Nr@   rA   hs     r   rC   z,StressSimulation7Days.run.<locals>.<genexpr>a   s     T!!<N:ORS:SAT   c              3   2   K   | ]  }|d    dk  sd  yw)rG   r;   r   Nr@   rK   s     r   rC   z,StressSimulation7Days.run.<locals>.<genexpr>b   s     IQQy\D5HqIrM   z  Lambda2 minimo: z.5fz  Lambda2 medio:  z  Lambda2 final:   z  Horas em ataque: z  Periodos criticos: z  Taxa de recuperacao: d   r   z.1f%z  Dia r   r   02dzh-r   z): r   z | Intensidade: r   )r/   printranger   r3   maxminnextr	   r-   sumnpmean)r   r.   current_lambdarH   rF   rI   statuscurrent_atk_type
attack_strrL   lambdasattacks_totalcriticalr2   r   r0   s                 @@r   runzStressSimulation7Days.run.   s    002h<=FGh6"+Sr
#hs^3xm3yY[n\_`h_ijk5'UG3vhc%E7#fXNO$**% 	D2:"C)K#99#{K  !#!$T><Lt<S+S!TsH/?$/F$FG "%UNU,B!CtX%56 byA~!1A!5&4t&;%3d%: #'oo$  P`bcOc 014DS3IKik
4)3s2hc*S1A^TYDZZ]^fgl]mmpqwpxyz&& [-8(8( 3	@ 	h-.h)-9A1Y<99TtTTI$//II"3w<"456"2777#3C"89:#GBK#456#M?34%hZ01'Q#-=(>s'C1EF 	JCF3u:,b\):3(?r#j/RUAVVY[M!1#k2B31GI J	J 	h! :s   DK0B5K0K+DK0N)__name__
__module____qualname__VERSIONr   listr/   intfloatr3   rb   r@   r   r   r   r   	   s8    G 4 , C E Br   r   )__doc__numpyrY   asyncior   osrandompathinsertdirname__file__r   r@   r   r   <module>rs      s@       277??8, -g gr   