12#ifndef WSFCYBERATTACK_HPP
13#define WSFCYBERATTACK_HPP
15#include "wsf_cyber_export.h"
121 const std::vector<std::string>&
GetEffects()
const {
return mEffectTypes; }
131 virtual double ExtendedDrawDefinition(
const std::string& aTarget = {});
138 random::ProbabilityFrequency& aFrequency,
146 double mProbabilityOfScanDetection{0.0};
147 double mProbabilityOfScanAttribution{0.0};
148 double mProbabilityOfAttackSuccess{1.0};
149 double mProbabilityOfStatusReport{1.0};
150 double mProbabilityOfAttackDetection{0.0};
151 double mProbabilityOfAttackAttribution{0.0};
152 double mProbabilityOfFutureImmunity{0.0};
157 double mDuration{0.0};
160 double mResourcesRequired{0.0};
175 random::ProbabilityFrequency mFrequencyOfScanDetection{random::cALWAYS};
176 random::ProbabilityFrequency mFrequencyOfScanAttribution{random::cALWAYS};
177 random::ProbabilityFrequency mFrequencyOfAttackSuccess{random::cALWAYS};
178 random::ProbabilityFrequency mFrequencyOfStatusReport{random::cALWAYS};
179 random::ProbabilityFrequency mFrequencyOfAttackDetection{random::cALWAYS};
180 random::ProbabilityFrequency mFrequencyOfAttackAttribution{random::cALWAYS};
181 random::ProbabilityFrequency mFrequencyOfFutureImmunity{random::cALWAYS};
190 mutable WsfRandomVariable mRandomVariableScanDetection{};
191 mutable WsfRandomVariable mRandomVariableScanAttribution{};
192 mutable WsfRandomVariable mRandomVariableAttackSuccess{};
193 mutable WsfRandomVariable mRandomVariableStatusReport{};
194 mutable WsfRandomVariable mRandomVariableAttackDetection{};
195 mutable WsfRandomVariable mRandomVariableAttackAttribution{};
196 mutable WsfRandomVariable mRandomVariableFutureImmunity{};
203 std::vector<std::string> mEffectTypes;
WsfObject()
This is the constructor for the WsfObject class.
Definition WsfObject.cpp:88
Definition WsfRandomVariable.hpp:33
@ cCONSTANT
The random values will always have a constant value.
Definition WsfRandomVariable.hpp:38
@ cNON_NEGATIVE
Value must be greater than or equal to zero.
Definition WsfRandomVariable.hpp:50
The main controller for a simulation.
Definition WsfSimulation.hpp:109
const std::vector< std::string > & GetEffects() const
Definition WsfCyberAttack.hpp:121
random::ProbabilityFrequency GetFrequencyOfAttackDetection() const
Definition WsfCyberAttack.hpp:87
WsfRandomVariable & GetRandomVariableScanDetection()
Definition WsfCyberAttack.hpp:94
WsfRandomVariable & GetRandomVariableStatusReport()
Definition WsfCyberAttack.hpp:97
WsfRandomVariable & GetRandomVariableAttackDetection()
Definition WsfCyberAttack.hpp:98
WsfRandomVariable & GetRandomVariableFutureImmunity()
Definition WsfCyberAttack.hpp:100
double GetProbabilityOfScanAttribution() const
Definition WsfCyberAttack.hpp:73
double GetDuration() const
Definition WsfCyberAttack.hpp:105
double GetLastTimeDelayScan() const
Definition WsfCyberAttack.hpp:116
double GetTimeDelayDelivery() const
Definition WsfCyberAttack.hpp:111
double GetProbabilityOfAttackAttribution() const
Definition WsfCyberAttack.hpp:77
WsfRandomVariable & GetRandomVariableScanAttribution()
Definition WsfCyberAttack.hpp:95
double GetProbabilityOfAttackSuccess() const
Definition WsfCyberAttack.hpp:74
double GetTimeDelayScan() const
Definition WsfCyberAttack.hpp:110
double GetProbabilityOfStatusReport() const
Definition WsfCyberAttack.hpp:75
double GetProbabilityOfScanDetection() const
Definition WsfCyberAttack.hpp:72
WsfRandomVariable & GetRandomVariableAttackSuccess()
Definition WsfCyberAttack.hpp:96
random::ProbabilityFrequency GetFrequencyOfFutureImmunity() const
Definition WsfCyberAttack.hpp:89
double GetLastTimeDelayDelivery() const
Definition WsfCyberAttack.hpp:117
random::ProbabilityFrequency GetFrequencyOfScanAttribution() const
Definition WsfCyberAttack.hpp:84
double GetResourceRequirements() const
Definition WsfCyberAttack.hpp:124
Attack * Clone() const override
Definition WsfCyberAttack.cpp:60
random::ProbabilityFrequency GetFrequencyOfScanDetection() const
Definition WsfCyberAttack.hpp:83
~Attack() override=default
Attack(const Attack &aSrc)=default
Attack & operator=(const Attack &aRhs)=default
random::ProbabilityFrequency GetFrequencyOfAttackSuccess() const
Definition WsfCyberAttack.hpp:85
random::ProbabilityFrequency GetFrequencyOfAttackAttribution() const
Definition WsfCyberAttack.hpp:88
virtual bool Initialize(double aSimTime, WsfSimulation &aSimulation)
Definition WsfCyberAttack.cpp:67
double GetProbabilityOfAttackDetection() const
Definition WsfCyberAttack.hpp:76
double GetProbabilityOfFutureImmunity() const
Definition WsfCyberAttack.hpp:78
WsfRandomVariable & GetRandomVariableAttackAttribution()
Definition WsfCyberAttack.hpp:99
bool ProcessInput(UtInput &aInput) override
Definition WsfCyberAttack.cpp:80
random::ProbabilityFrequency GetFrequencyOfStatusReport() const
Definition WsfCyberAttack.hpp:86
A class that represents the cyber engagements between two platforms.
Definition WsfCyberEngagement.hpp:37
Definition WsfCyberAttack.hpp:32
ProbabilityFrequency
Enumerated frequency of draws that are possible in Cyber.
Definition WsfCyberAttack.hpp:35
@ cINTERVAL_PER_TARGET
Definition WsfCyberAttack.hpp:40
@ cALWAYS
Definition WsfCyberAttack.hpp:36
@ cINTERVAL_PER_SIMULATION
Definition WsfCyberAttack.hpp:39
@ cOTHER
Definition WsfCyberAttack.hpp:41
@ cONCE_PER_SIMULATION
Definition WsfCyberAttack.hpp:37
@ cONCE_PER_TARGET
Definition WsfCyberAttack.hpp:38
Definition WsfCyberApplicationExtension.cpp:24
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32