Skip to end of metadata
Go to start of metadata

Current Version - Under Revision

The steps in the normal transform and subsumption testing processes are not particularly onerous. However, queries require thousands or millions of such tests to be carried out. It is therefore likely that most practical implementations will require some type of optimization to support tests for subsumption between expressions .

The method described in this section is one approach to optimization. The central idea is the use of a repository to store expressions and relationships between expressions .

The advantages of this include the following:

  • All transformcomputations can be done off-line rather than at run-time;
  • Less

    transforms

    are done as each distinct candidate

    expression

    need only be transformed once when created and once more each time a new release alters the definitions on which it is based:
    • Other approaches either require:

or

      • storage of

        normal forms

        in each record entry and updating of each

        normal form

        instance whenever a new release affects the definitions on which it is based.

Neither of these approaches appears to be scalable over time, as record volumes increase. In contrast the proposed optimization is not affected by the total number or records but only by the total number of distinct expressions encountered.

  • Additional optimization is possible by pre-classifying the repository so that individual queries can test an

    expression

    with a single join to a table representing the

    transitive closure

    of all used

    expressions

    .

The approach described in the following section is only one way of implementing the central idea of optimization using an expression repository. There several ways to harness the same general technique and some of these may be better suited to particular requirements or technical environments.


Feedback