Browse Source
When building a model from the GUI with the explicit engine, constant were sometimes not updated correctly: (1) Open xprism, switch to explicit engine (2) Load a model with undefined constants, e.g., brp.pm (3) Build the model, setting constants (e.g., 2 and 3) (4) Build the model again, setting *other* constants (e.g., 22 and 3) In step (4), the log file reflects the changed constants, but the generated model has the same number of states as in step (3) and is fact built with the constants of step (3). The cause: If the PRISM file is not reloaded, then the currentModelGenerator remains the same. In ModulesFileModelGenerator.initialise(), called from setSomeUndefinedConstants() in step (3), the modulesFile is overwritten with the modulesFile where the constants set in step (3) have been replaced in the AST with the concrete values. In step (4), there are no more AST-elements with undefined constants and hence the modules file does not reflect the changed constants when the constants in the constant list are changed. The fix is to keep a copy of the original modules file in the ModulesFileModelGenerator which is freshly deepCopyied and processed in the subsequent calls to initialise(). Regression introduced in SVN r10996 when switching to the ModulesFileModelGenerator infrastructure. git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11159 bbc10eb1-c90d-0410-af57-cb519fbb1720master
1 changed files with 13 additions and 2 deletions
Loading…
Reference in new issue