|
WSF
|
#include <Task.hpp>
Public Member Functions | |
| Task () | |
| Task (const RunConfig &aRunConfig, int aTaskIndex, int aTargetIndex, int aSiteIndex, int aRepetition) | |
| const RunConfig & | GetRunConfig () const |
| int | GetTaskIndex () const |
| int | GetTargetIndex () const |
| int | GetSiteIndex () const |
| int | GetRepetition () const |
| void | Execute (int aThreadId, WsfScenario &aScenario, const InputConfig &aInputConfig) |
| int | GetThreadId () const |
| TaskOutput & | GetTaskOutput () const |
A task represents the smallest indivisible unit of work that may be performed independently of another task.
ENGAGE maintains the same overall execution architecture as ESAMS. The execution loop is nested as follows: Runs Targets (flight path or target grid) Sites (most often only 1, but may be many) Shots/Salvos Monte-Carlo Repetitions
The first three are truly independent. That is, the processing for a particular Run/Target/Site is independent of another, and therefore are defined to be what we call a 'task'.
The last two in general are not independent, and are run as part of the task. For instance, shots after the first must have knowledge of the flight path up until the shot. This path may include reactions to previous shots. In addition, not all Monte-Carlo repetions may be executed (for example, if the FINDPK option is specified).
It may be theoretically possible to push the definition of a task down if the number of shots taken per site is 'one' and the equivalent of the ESAMS 'REPALL' is specified (run ALL Monte-Carlo repetitions).
|
inline |
|
inline |
| void engage::Task::Execute | ( | int | aThreadId, |
| WsfScenario & | aScenario, | ||
| const InputConfig & | aInputConfig ) |
References WsfFrameStepSimulation::AdvanceTime(), WsfFrameStepSimulation::Complete(), engage::RunConfig::CreatePlatforms(), WsfWeaponEngagement::Find(), WsfSimulation::GetEndTime(), WsfWeaponEffects::GetInterceptPk(), GetRunConfig(), GetTargetIndex(), GetTaskIndex(), engage::Simulation::GetWeapon(), WsfWeaponEngagement::GetWeaponEffects(), engage::Platform::GetWsfPlatform(), WsfFrameStepSimulation::Initialize(), engage::TaskOutput::InsertPk(), WsfSimulation::IsActive(), and WsfFrameStepSimulation::Start().
Referenced by engage::TaskManager::Execute(), and engage::SimulationThread::Run().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Referenced by Execute().
|
inline |
|
inline |