|
WSF
|
#include <WsfCyberAttack.hpp>


Public Member Functions | |
| Attack ()=default | |
| ~Attack () override=default | |
| Attack (const Attack &aSrc)=default | |
| Attack & | operator= (const Attack &aRhs)=default |
| Public Member Functions inherited from WsfObject | |
| WsfObject () | |
| This is the constructor for the WsfObject class. | |
| ~WsfObject () override | |
| This is the destructor for the WsfObject class. | |
| const char * | GetScriptClassName () const override |
| const std::string & | GetType () const |
| WsfStringId | GetTypeId () const |
| Get the string ID of the 'type' of the object. | |
| void | SetType (WsfStringId aType) |
| const std::string & | GetBaseType () const |
| WsfStringId | GetBaseTypeId () const |
| const TypeList & | GetTypeList () const |
| bool | IsA_TypeOf (WsfStringId aType) const |
| WsfObject & | operator= (const WsfObject &aRhs) |
| Assignment operator. | |
| template<typename T> | |
| void | Serialize (T &aBuff) |
| For XIO (de)serialization. | |
| const std::string & | GetName () const |
| WsfStringId | GetNameId () const |
| void | SetName (WsfStringId aName) |
Common infrastructure methods. | |
| Attack * | Clone () const override |
| bool | ProcessInput (UtInput &aInput) override |
| virtual bool | Initialize (double aSimTime, WsfSimulation &aSimulation) |
Accessors for the default probabilities. | |
| double | GetProbabilityOfScanDetection () const |
| double | GetProbabilityOfScanAttribution () const |
| double | GetProbabilityOfAttackSuccess () const |
| double | GetProbabilityOfStatusReport () const |
| double | GetProbabilityOfAttackDetection () const |
| double | GetProbabilityOfAttackAttribution () const |
| double | GetProbabilityOfFutureImmunity () const |
Accessors for the probability frequencies. | |
| random::ProbabilityFrequency | GetFrequencyOfScanDetection () const |
| random::ProbabilityFrequency | GetFrequencyOfScanAttribution () const |
| random::ProbabilityFrequency | GetFrequencyOfAttackSuccess () const |
| random::ProbabilityFrequency | GetFrequencyOfStatusReport () const |
| random::ProbabilityFrequency | GetFrequencyOfAttackDetection () const |
| random::ProbabilityFrequency | GetFrequencyOfAttackAttribution () const |
| random::ProbabilityFrequency | GetFrequencyOfFutureImmunity () const |
Accessors for the random time intervals. | |
| WsfRandomVariable & | GetRandomVariableScanDetection () |
| WsfRandomVariable & | GetRandomVariableScanAttribution () |
| WsfRandomVariable & | GetRandomVariableAttackSuccess () |
| WsfRandomVariable & | GetRandomVariableStatusReport () |
| WsfRandomVariable & | GetRandomVariableAttackDetection () |
| WsfRandomVariable & | GetRandomVariableAttackAttribution () |
| WsfRandomVariable & | GetRandomVariableFutureImmunity () |
Accessors for attack duration requirements. | |
| double | GetDuration () const |
| double | GetResourceRequirements () const |
Accessors for the time delays. | |
| double | GetTimeDelayScan () const |
| double | GetTimeDelayDelivery () const |
Accessor the time delays, with a draw for a new value. | |
| double | GetLastTimeDelayScan () const |
| double | GetLastTimeDelayDelivery () const |
Accessor for effect types for this attack | |
| const std::vector< std::string > & | GetEffects () const |
ExtendedDrawDefinition | |
Provides a user implemented draw value determination method for ProbabilityFrequency::cOTHER case. This is resolved in wsf::cyber::Random, as determination of a whether or not a draw needs to occur is cached and stored via that object. Access to that functionality is not public, so this provides a hook that is referred during processing to allow a user to define their own. | |
| virtual double | ExtendedDrawDefinition (const std::string &aTarget={}) |
| virtual void | ProcessFrequencyInput (WsfRandomVariable &aRandomVariable, random::ProbabilityFrequency &aFrequency, UtInput &aInput) |
Additional Inherited Members | |
| Public Types inherited from WsfObject | |
| typedef std::vector< WsfStringId > | TypeList |
| The list of types returned by GetTypeList. | |
| WsfObject (const WsfObject &aSrc) | |
| Copy constructor (for Clone()). | |
A class that defines the effect types that make up a cyber attack.
A 'cyber attack' is composed of one or more 'cyber effects' that define what the attack does to the victim. In many cases an attack has only one effect, but this makes it possible to define an attack that is composed of several simple pre-defined effects.
|
default |
Referenced by Attack(), Clone(), and operator=().
|
overridedefault |
|
default |
References Attack().
|
overridevirtual |
Return a copy of this object. Must be implemented by all derived types. If cloning is impossible, a WsfUncloneableException should be thrown.
Implements WsfObject.
References Attack().
Referenced by operator=().
|
virtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
References WsfSimulation::GetScenario(), WsfScenario::GetScriptContext(), and ok.
Referenced by operator=().
References Attack(), Clone(), Initialize(), and ProcessInput().
|
protectedvirtual |
Utility method for code reuse when parsing frequency input. Virtual to allow user redefinition to support input parsing of the cOTHER frequency. Within the base implementation, usage of cOTHER will throw an exception.
References wsf::cyber::random::cINTERVAL_PER_SIMULATION, wsf::cyber::random::cINTERVAL_PER_TARGET, wsf::cyber::random::cOTHER, and WsfRandomVariable::ProcessInput().
Referenced by ProcessInput().
|
overridevirtual |
Process input from a generic source.
Examine the current input command. If it is NOT one of the commands recognized by this class then it simply returns 'false'. If it is one of the commands recognized by this class then it processes the command and returns 'true'.
| aInput | a reference to a UtInput object. |
| UtInput::ExceptionBase | (or an object derived from it) if the command was recognized but contains some sort of error. |
We should check that associated effect types for this attack exist before continuing, but cannot do so due to the lack of accessibility to the scenario object at this point. Effects will need to be validated prior to use.
Reimplemented from WsfObject.
References ProcessFrequencyInput(), and WsfObject::ProcessInput().
Referenced by operator=().