Page MenuHomePhorge

State.hpp
No OneTemporary

Size
3 KB
Referenced Files
None
Subscribers
None

State.hpp

#ifndef STATE_HEADERFILE
#define STATE_HEADERFILE
#include "rosa/agent/experimental/SlaveAgentSlotOfAgent.hpp"
#include "rosa/agent/experimental/SubState.hpp"
#include <vector>
#include "rosa/agent/experimental/LinearFunctionBlock.hpp"
class State {
private:
vector<SubState*> vInputSubStates;
vector<SubState*> vOutputSubStates;
//unsigned int discreteAveragePartitionSize;
unsigned int discreteAveragePartitionCounter;
/*
StatisticValue continuousStatisticValue;
vector<AverageValue*> vDiscreteAveragePartition;
bool addDiscreteAveragePartition();
*/
bool addSubState(vector<SubState*>* vSubStates, SlaveAgentSlotOfAgent* slot);
bool variablesAreRelated(vector<SubState*>* vSubStates, float thresholdToBeRelated);
bool checkSubStatesForNotDrifting(vector<SubState*>* vSubStates, unsigned int discreteAveragePartitionSize, /*unsigned int compareDistanceDiscreteAveragePartition,*/ float thresholdNotDrift);
float confValidState;
float confInvalidState;
bool stateIsValid;
public:
State();
/*
bool setDiscreteAveragePartitionSize(unsigned int discreteAverage);
unsigned int getDiscreteAveragePartitionSize();
*/
bool addInputSubState(SlaveAgentSlotOfAgent* slot);
bool addOutputSubState(SlaveAgentSlotOfAgent* slot);
void resetDiscreteAveragePartitionCounter();
bool addNewdiscreteAveragePartition();
bool injectValues(unsigned int discreteAveragePartitionSize);
bool injectValuesAndMakeNewDiscreteAveragePartition(unsigned int discreteAveragePartitionSize);
bool inputVariablesAreRelated(float thresholdToBeRelated);
bool outputVariablesAreRelated(float thresholdToBeRelated);
unsigned int getNumOfInjections();
bool checkAllVariablesForNotDrifting(unsigned int discreteAveragePartitionSize, /*unsigned int compareDistanceDiscreteAveragePartition,*/ float thresholdNotDrift);
//DATE18
float checkSubStatesForDriftingFuzzy(vector<SubState*>* vSubStates, unsigned int discreteAveragePartitionSize, LinearFunctionBlock* Drift);
float checkAllVariablesForDriftingFuzzy(unsigned int discreteAveragePartitionSize, LinearFunctionBlock* Drift);
float variablesAreRelatedFuzzy(vector<SubState*>* vSubStates, LinearFunctionBlock* SameState);
float inputVariablesAreRelatedFuzzy(LinearFunctionBlock* SameState);
float outputVariablesAreRelatedFuzzy(LinearFunctionBlock* SameState);
bool insertValueInState(LinearFunctionBlock* FuncBlockConfValStateDev, LinearFunctionBlock* FuncBlockConfInvStateDev, LinearFunctionBlock* FuncBlockConfValStateTime, LinearFunctionBlock* ConfInvStateTime, unsigned int historySize, unsigned int discreteAveragePartitionSize);
//bool insertValueInState(float confValid, float confInvalid, unsigned int historySize, unsigned int discreteAveragePartitionSize);
float getConfInputVarAreSim2State(LinearFunctionBlock* FuncBlockConfSim2StateDev, LinearFunctionBlock* FuncBlockConfSim2StateTime);
float getConfInputVarAreDif2State(LinearFunctionBlock* FuncBlockConfDif2StateDev, LinearFunctionBlock* FuncBlockConfDif2StateTime);
float getConfOutputVarAreSim2State(LinearFunctionBlock* FuncBlockConfSim2StateDev, LinearFunctionBlock* FuncBlockConfSim2StateTime);
float getConfOutputVarAreDif2State(LinearFunctionBlock* FuncBlockConfDif2StateDev, LinearFunctionBlock* FuncBlockConfDif2StateTime);
unsigned int getLengthOfHistory();
bool isStateValid();
float getConfStateValid();
float getConfStateInvalid();
private:
float getConfVarAreSim2State(vector<SubState*>* vSubStates, LinearFunctionBlock* FuncBlockConfSim2StateDev, LinearFunctionBlock* FuncBlockConfSim2StateTime);
float getConfVarAreDif2State(vector<SubState*>* vSubStates, LinearFunctionBlock* FuncBlockConfDif2StateDev, LinearFunctionBlock* FuncBlockConfDif2StateTime);
/*
bool injectValue(float value);
bool valueIsRelated(float value, float thresholdToAverage);
bool isNew();
unsigned int getNumberOfInjections();
void deleteState();
*/
};
#endif

File Metadata

Mime Type
text/x-c++
Expires
Sun, Jun 21, 5:51 AM (20 h, 53 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
331178
Default Alt Text
State.hpp (3 KB)

Event Timeline