Reactions organised by process

This commit is contained in:
Artur Meski
2018-03-28 18:10:42 +01:00
parent 179c199ece
commit 99fbed638c
3 changed files with 78 additions and 24 deletions

43
rs.hh
View File

@@ -33,23 +33,24 @@ class RctSys
public:
RctSys(void);
void setOptions(Options *opts)
{
this->opts = opts;
}
void setOptions(Options *opts) { this->opts = opts; }
bool hasEntity(std::string entityName);
void addEntity(std::string entityName);
std::string getEntityName(Entity entityID);
void setCurrentProcess(std::string processName);
void addProcess(std::string processName);
bool hasProcess(std::string processName);
Process getProcessID(std::string processName);
void addReactionForCurrentProcess(Reaction reaction);
void pushReactant(std::string entityName);
void pushInhibitor(std::string entityName);
void pushProduct(std::string entityName);
void commitReaction(void);
std::string entityToStr(const Entity entity) {
return entities_ids[entity];
}
std::string entityToStr(const Entity entity) { return entities_ids[entity]; }
std::string entitiesToStr(const Entities &entities);
void showReactions(void);
void pushStateEntity(std::string entityName);
@@ -57,18 +58,10 @@ class RctSys
void addActionEntity(std::string entityName);
void addActionEntity(Entity entity);
bool isActionEntity(Entity entity);
void resetInitStates(void) {
initStates.clear();
}
unsigned int getEntitiesSize(void) {
return entities_ids.size();
}
unsigned int getReactionsSize(void) {
return reactions.size();
}
unsigned int getActionsSize(void) {
return actionEntities.size();
}
void resetInitStates(void) { initStates.clear(); }
unsigned int getEntitiesSize(void) { return entities_ids.size(); }
unsigned int getReactionsSize(void) { return reactions.size(); }
unsigned int getActionsSize(void) { return actionEntities.size(); }
void showInitialStates(void);
void showActionEntities(void);
void printSystem(void);
@@ -83,16 +76,24 @@ class RctSys
bool usingContextAutomaton(void) { return ctx_aut != nullptr; }
private:
Reactions reactions;
Reactions reactions; // TODO: to be removed later
ReactionsForProc proc_reactions;
EntitiesSets initStates;
Entities actionEntities;
CtxAut *ctx_aut;
EntitiesByIds entities_ids;
EntitiesById entities_ids;
EntitiesByName entities_names;
ProcessesById processes_ids;
ProcessesByName processes_names;
Process current_proc_id;
bool current_process_defined;
Entities tmpReactants;
Entities tmpInhibitors;
Entities tmpProducts;