Triangle Tables As a Representation
of a Plan
In the triangle
table representation the union of column 1 is the set of conditions
true of M0 that support this plan. Let r
be the row index and c the column index of this table.
Any non empty cell r,c (r > c) denotes that operator
r depends on the prior execution of operator c.
Note that deletion of a previously added clauses by a subsequent
operator is not explicitly represented. So a "clobbers"
relation to a precondition is not explicitly represented. Similarly,
if some operator c had deleted a precondition for operator
r (r > c) that was true in M0,
this will also not be explicitly represented.
at i is the rectangular sub array of the table defined
[(row i, column 0), ( row i,
column i-1 ), (row n, column 0
), (row n,
column i-1 ) ]
where n is the last row of the table.
The significance of a kernel
is that if all of the expressions in the kernel are true, then
the ith tail of the plan is applicable. The ith
tail of the plan is the operator sequence opi...opn-1.
Note that the Triangle Table
does not explicitly represent the partial states associated with
the plan...they are distributed over a row...i.e., if the row
cells or row i are unioned, then you obtain a partial