KarrLab / wc_sim

A multi-algorithmic simulator for whole-cell models
MIT License
6 stars 2 forks source link

Run-time error checking of caching #95

Open artgoldberg opened 4 years ago

artgoldberg commented 4 years ago

When caching, species populations must not be modified in between eval() calls. Detect caching errors with a dynamic_model.cache_violation FSM with transitions:

initial: INIT
update species pop:
    INIT -> POP_UPDATED
    POP_UPDATED -> POP_UPDATED
    EVALED -> EVAL_N_UPDATED
    EVAL_N_UPDATED -> EVAL_N_UPDATED
    UPDATED_N_EVALED -> EVAL_N_UPDATED
eval:
    INIT -> EVALED
    POP_UPDATED -> UPDATED_N_EVALED
    UPDATED_N_EVALED -> UPDATED_N_EVALED
    EVAL_N_UPDATED -> ERROR