A method of unifying one or more declarative rules and a procedural computational system so as to render a plurality of instructions provided by said procedural system and a plurality of declarative rules mutually consistent, the method comprising the steps of:
- upon execution of a procedural instruction modifying one or more variables,
- executing one or more declarative rules to update values of one or more other variables participating in said one or more rules,
- wherein said updating of values of other variables is deferred until at least one of said procedural instructions requires those one or more other variables.