アクティブなデータベースの複合イベント仕様: モデルと実装を読んでいました。その中で、複合イベントを指定する方法が説明されていますが、これは正規表現に似ています。基本的なことだけ説明させてください。イベント履歴があります。これらはプリミティブ イベントのセットであり、それぞれが一意のタイムスタンプを持っています (したがって、それらをシーケンスと考えることができますが、セット操作を使用できます)。そして、イベント表現があります。それらは歴史から歴史への機能です。( )E
に適用される式は、満足される場所のサブセットです。たとえば、プリミティブ式は a's: に一致します(タイムスタンプは暗黙的)。h
E[h]
h
E
a
a[a, b, a, c, b] = a, a
relative(E, F)
次のように定義されるこの演算子がありE_i[h]
ますE[h]
。タイムスタンプが のタイムスタンプ以下であるすべてのイベント発生を削除するh_i
ことにより、 から取得できます。それから。あまり形式的ではありませんが、 at でのイベント発生は、発生したat での何らかのイベント発生の直後に履歴が開始されたと仮定して満たされます。例(2 番目の b。その前に a があるため)。h
E_i[h]
relative(E, F)[h] = union over all i:s F[h_i]
relative(E, F)
h
F
h
E
relative(a, b)[b, c, a, c, b] = b
今、relative+(E)
私がポイントを理解していないこの演算子があります。次のように定義されています。
relative_1(E) = E
relative_i(E) = relative(relative_i-1(E), E)
relative+(E) = union over all positive i:s relative_i(E)
ただとどうrelative+(E)
違うのE
?私が理解している方法では、relative(E, E)[h]
は常に のサブセットになるE[h]
ため、それらの結合は に等しくなりE[h]
ます。