Fault tree variable redefinition allowance breaks the declarative language
rakhimov opened this issue · 1 comments
From the MEF Fault Tree description (chapter 4, section 1):
If a variable or a parameter is declared more than once,
tools should emit a warning
and consider only the last definition as the good one (the previous ones are just ignored).
This is strange for a declarative modeling language
since now the order of declarations matters.
It is more like assignments of imperative languages.
As tested with XFTA,
it doesn't allow 'redefinition'.
I went this direction as well with SCRAM.
I could imagine many subtle analysis discrepancies
due to the allowance of redefinitions.
Imagine working with multi-file models.
Now if the order of files is changed or not remembered,
the analysis may be inconsistent
if it contains redefinitions spread across files.
Totally agree.
For a modelling language it is dangerous to allow multiple declaration. Albizia (our computation engine) send a error iin this case.
The only use I see is for people who would like to use open-psa format as a scripting language to do computation. But it is not the purpose.