#include <src/PRGraphVisitors.h>
Definition at line 144 of file PRGraphVisitors.h.
| concurrency::RunSimulator::RunSimulator |
( |
EventSlot & |
slot | ) |
|
|
inline |
| bool concurrency::RunSimulator::visit |
( |
DecisionNode & |
node | ) |
|
|
overridevirtual |
Reimplemented from concurrency::IGraphVisitor.
Definition at line 351 of file PRGraphVisitors.cpp.
354 bool allChildDecisionsResolved =
true;
355 for (
auto child : node.getDaughters()) {
358 if (childDecision == 1 && node.m_modeOR && node.m_modePromptDecision) {
363 if (childDecision == -1) {
364 allChildDecisionsResolved =
false;
368 if (allChildDecisionsResolved)
371 return allChildDecisionsResolved;
std::vector< int > controlFlowState
State of the control flow.
Reimplemented from concurrency::IGraphVisitor.
Definition at line 383 of file PRGraphVisitors.cpp.
388 auto dataPromoter = DataReadyPromoter(*
m_slot);
390 if (State::INITIAL == states[node.getAlgoIndex()]) {
391 states.updateState(node.getAlgoIndex(), State::CONTROLREADY);
392 if (dataPromoter.visit(node)) {
393 states.updateState(node.getAlgoIndex(), State::SCHEDULED);
394 states.updateState(node.getAlgoIndex(), State::EVTACCEPTED);
400 }
else if (State::CONTROLREADY == states[node.getAlgoIndex()] && dataPromoter.visit(node)) {
401 states.updateState(node.getAlgoIndex(), State::SCHEDULED);
402 states.updateState(node.getAlgoIndex(), State::EVTACCEPTED);
AlgsExecutionStates algsStates
Vector of algorithms states.
std::vector< int > controlFlowState
State of the control flow.
| bool concurrency::RunSimulator::visitEnter |
( |
DecisionNode & |
node | ) |
const |
|
overridevirtual |
| bool concurrency::RunSimulator::visitEnter |
( |
AlgorithmNode & |
node | ) |
const |
|
overridevirtual |
The documentation for this class was generated from the following files: