• Aucun résultat trouvé

Formalisation de la notion de reconnaissance de chronique

2.3 Définition de la sémantique du langage à travers la notion de reconnaissance de

2.3.2 Formalisation de la notion de reconnaissance de chronique

Nous pouvons maintenant poser la sémantique de notre langage des chroniques en définissant la

notion de reconnaissance d’une chronique tout en intégrant la nouvelle représentation arborescente

des reconnaissances. La définition de la sémantique est délicate pour deux raisons principales :

— d’une part, le processus de reconnaissance doit permettre d’évaluer des prédicats sur des

attributs d’évènement provenant de différentes parties de la chronique ;

— d’autre part, les chroniques doivent être reconnuesen ligne. Avec ces deux contraintes à

l’es-prit, nous définissons pour chaque chronique un ensemble de reconnaissances qui correspond

à toutes les reconnaissances de la chronique représentées sous forme d’arbres et munies de

leurs attributs de reconnaissance associés.

Comme l’on souhaite que le processus de reconnaissance puisse être effectué au fur et à mesure

tout en étant exhaustif, la construction des ensembles de reconnaissances est progressive, ce qui

s’exprime par une définition inductive dépendant de l’instantdjusqu’auquel les évènements du flux

sont considérés. La constitution de ces ensembles ne nécessite donc pas de connaître par avance

l’intégralité du flux d’évènements.

Nous définissons donc, par induction pour chaque chronique, l’ensemble de ses reconnaissances

sur un flux d’évènements et jusqu’à une date donnés. Les évènements de cet ensemble sont des

couples(r, X)oùrest un arbre de reconnaissance etXest l’ensemble d’attributs de reconnaissance

associé. Chaque définition peut se décomposer en trois parties :

— l’expression des contraintes temporelles liées à l’opérateur;

— la vérification du prédicat;

— la définition de l’ensemble d’attributs de reconnaissance.

Définition 16 (ensembles de reconnaissances). SoitC∈Xune chronique. Considérons, pour

tout prédicatP, un(P× V)-modèleMdans lequel il existe une interprétation Pˆ deP.

L’ensemble des reconnaissances de C sur le flux d’évènements ϕ jusqu’à la date d est noté

RC(ϕ, d)et est un sous-ensemble deA(E).

L’ensemble d’attributs associé à une reconnaissancerest notéXr. Nous utilisons les notations

suivantes : X♦

r ={(♦, v)∈Xr:v∈Ae(P,V)}, qui est un singleton, etX∗

r =Xr\X♦

r .

Les ensembles de reconnaissances et les ensembles d’attributs associés aux reconnaissances sont

définis par induction comme suit :

— Unévènement simple Avérifiant le prédicatP est reconnu si un évènement de nomA

a lieu dans le flux avant l’instantdet si ses attributs vérifient le prédicatP. Les attributs

de reconnaissance sont réduits à une unique propriété anonyme contenant les éventuels

attributs créés par la fonctionf et les attributs de l’évènement du flux.

SiA∈N, alors :

R(A,P,f)(ϕ, d) ={((e, t), X(e,t)) :e=A∧ ∃i ϕ(i) = (e, t)∧t≤d∧Pˆ[D◦α((e, t))]

∧X(e,t)={(♦, X) :∃Xe∈Ae(P,V) (X =Xe∪α((e, t))∧f◦D◦α((e, t)) ={(♦, Xe)})}}

En d’autres termes, les reconnaissances d’un évènement simple suivent les règles suivantes :

— le nom de l’évènement est correct ;

— la date de l’évènement est inférieure à l’horizon (t≤d) ;

— le prédicat, s’il existe, est vérifié sur les attributs de l’évènement (Pˆ[D◦α((e, t))]).

Et en supplément, l’ensemble d’attributs associé à la reconnaissance est constitué de la

manière suivante. Il contient :

— les attributs de l’évènement dans le flux (α((e, t))) ;

— les attributs créés par la fonctionf (f◦D◦α((e, t))).

— UnedisjonctionC1||C2vérifiant un prédicatP est reconnue lorsque l’une des deux

sous-chroniques est reconnue et vérifie P. La structure de l’arbre indique quelle branche de la

chronique a été reconnue. Les attributs de reconnaissance sont réduits aux attributs dont

les noms sont utilisés à la fois dans C1 et C2, comme détaillé dans la Section 2.2 (p.51),

avec les attributs anonymes créés par la fonction f. On rappelle que la fonctionρpermet

d’accéder au nom d’une propriété.

R(C1||C2,P,f)(ϕ, d) ={(hr,⊥i, Xhr,⊥i) :r∈RC

1

(ϕ, d)∧Pˆ[X∗

r]

∧Xhr,⊥i={x∈X∗

r :ρ(x)∈ Ce(C1||C2)} ∪ D◦f[X∗

r]}

∪ {(h⊥, ri, Xh⊥,ri) :r∈RC

2

(ϕ, d)∧Pˆ[X∗

r]

∧Xh⊥,ri={x∈X∗

r :ρ(x)∈ Ce(C1||C2)} ∪ D◦f[X∗

r]}

— Uneséquence C1C2vérifiantP est reconnue lorsqueC2est reconnueaprès avoir reconnu

C1 et que les deux reconnaissances vérifientP. Les attributs de reconnaissance sont ceux

des reconnaissances deC1 et deC2 avec les attributs anonymes créés par la fonctionf.

R(C1C2,P,f)(ϕ, d) ={(hr1, r2i, Xhr1,r2i) :r1∈RC

1

(ϕ, d)∧r2∈RC

2

(ϕ, d)

∧Tmax(r1)< Tmin(r2)∧Pˆ[X∗

r1∪X∗

r2]

∧Xhr1,r2i=X∗

r1∪X∗

r2∪ D◦f[X∗

r1∪X∗

r2]}

— UneconjonctionC1&C2vérifiantP est reconnue lorsque à la foisC1etC2sont reconnues

et vérifientP. Les attributs de reconnaissance sont construits comme pour la séquence.

R(C1&C2,P,f)(ϕ, d)={(hr1, r2i, Xhr1,r2i) :r1∈RC

1

(ϕ, d)∧r2∈RC

2

(ϕ, d)

∧Pˆ[X∗

r1∪X∗

r2]

∧Xhr1,r2i=X∗

r1∪X∗

r2∪ D◦f[X∗

r1∪X∗

r2]}

— Une absence (C1)−[C2] vérifiant un prédicat P est reconnue lorsque C1 est reconnue

sans aucune occurrence de C2 vérifiantP durant la reconnaissance deC1.Attention, dans

le cas d’une absence, la signification du prédicat est donc particulière. Les attributs de

reconnaissance sont alors réduits à ceux de la reconnaissance deC1, comme détaillé dans 2.2,

complétés des éventuels attributs anonymes créés par la fonctionf.

R((C1)−[C2],P,f)(ϕ, d) ={(hr1i, Xhr1i) :r1∈RC

1

(ϕ, d)

∧∀r2∈RC

2

(ϕ, d) (Tmin(r1)>Tmin(r2)

∨Tmax(r1)<Tmax(r2)

∨¬Pˆ[X∗

r1∪X∗

r2])

∧Xhr1i=X∗

r1∪ D◦f[X∗

r1]}

Pour les ensembles de reconnaissances associés aux autres possibilités de bornes

de l’absence évoquées en 2.2, seule la contrainte temporelle change :

— pour(C1)−]C2[, elle devientTmin(r1)≥Tmin(r2)∨Tmax(r1)≤Tmax(r2);

— pour(C1)−[C2[6, elle devientTmin(r1)>Tmin(r2)∨Tmax(r1)≤Tmax(r2);

— pour(C1)−]C2], elle devientTmin(r1)≥Tmin(r2)∨Tmax(r1)<Tmax(r2);

— Une chroniqueC1meetsC2est reconnue lorsqueC2est reconnueexactement après C1et

P est vérifié. Les attributs de reconnaissance sont construits comme pour la séquence.

R(C1meetsC2,P,f)(ϕ, d)est défini comme la séquence mais avec la contrainte

tem-porelleTmax(r1) =Tmin(r2).

— Une chronique C1 overlapsC2 est reconnue lorsque à la fois C1 et C2 sont reconnues

avec des reconnaissances se chevauchant temporellement et P est vérifié. Les attributs de

reconnaissance sont construits comme pour la séquence.

R(C1overlapsC2,P,f)(ϕ, d) est défini comme la séquence mais avec la contrainte

temporelle Tmin(r1)<Tmin(r2)<Tmax(r1)<Tmax(r2).

— Une chroniqueC1startsC2est reconnue lorsque à la foisC1etC2sont reconnues avec la

reconnaissance deC1débutant en même temps que celle de C2 etfinissant avant, etP est

vérifié.

R(C1startsC2,P,f)(ϕ, d)est défini comme la séquence mais avec la contrainte

tem-porelleTmin(r1)=Tmin(r2)∧Tmax(r1)<Tmax(r2).

— Une chroniqueC1duringC2est reconnue lorsqueC1est reconnuependant une

reconnais-sance deC2, etP est vérifié.

R(C1duringC2,P,f)(ϕ, d)est défini comme la séquence mais avec la contrainte

tem-porelleTmin(r1)>Tmin(r2)∧Tmax(r1)<Tmax(r2).

— Une chronique C1finishesC2 est reconnue lorsque à la fois C1 et C2 sont reconnues et

que la reconnaissance deC1commence après celle deC2etse termine au même instant, et

P est vérifié.

R(C1finishesC2,P,f)(ϕ, d) est défini comme la séquence mais avec la contrainte

temporelle Tmin(r1)>Tmin(r2)∧Tmax(r1)=Tmax(r2).

— Une chronique C1equalsC2 est reconnue lorsque à la fois C1 et C2 sont reconnues sur

exactement le même intervalle de temps, etP est vérifié.

R(C1equalsC2,P,f)(ϕ, d)est défini comme la séquence mais avec la contrainte

tem-porelleTmin(r1)=Tmin(r2)∧Tmax(r1)=Tmax(r2).

6. C’est cette construction qui correspond à celle de l’absence dans [CCK11] présentée dans la Section 1.5.3 et

notée(C1)−[C2].

— Une chroniqueC1lastsδ est reconnue lorsqueC1est reconnue,P est vérifié, et la taille de

l’intervalle de reconnaissance estexactement δ.

R(C1lastsδ,P,f)(ϕ, d) ={(hri, Xhri) :r∈RC

1

(ϕ, d)

∧Tmax(r)−Tmin(r) =δ

∧Pˆ[X∗

r]∧Xhri=X∗

r ∪ D◦f[X∗

r]}

— Une chroniqueC1at mostδest reconnue lorsqueC1est reconnue,P est vérifié, et la taille

de l’intervalle de reconnaissance estau plus δ.

R(C1at mostδ,P,f)(ϕ, d) est défini comme la chronique « lasts » mais avec la

contrainte temporelleTmax(r)−Tmin(r)< δ.

— Une chroniqueC1 at leastδest reconnue lorsqueC1est reconnue,P est vérifié, et la taille

de l’intervalle de reconnaissance estau moins δ.

R(C1at leastδ,P,f)(ϕ, d) est défini comme la chronique « lasts » mais avec la

contrainte temporelleTmax(r)−Tmin(r)> δ.

— Une chronique C1thenδ est reconnue lorsque exactement δ unités de temps s’écoulent

après une reconnaissance de C1. L’arbre de reconnaissance conserve l’évènement d’instant

temporel pur(τ, t)correspondant à l’instant de la reconnaissance. Ceci permet, entre autre,

d’avoir une définition correcte deTmax.

R(C1thenδ,P,f)(ϕ, d)={(hr,(τ, t)i, Xhr,(τ,t)i) :t≤d∧r∈RC

1

(ϕ, t)

∧t=Tmax(r)+δ∧Pˆ[X∗

r]

∧Xhr,(τ,t)i=X∗

r ∪ D◦f[X∗

r]}

— Une chronique denommage de propriété C1→x est reconnue lorsque C1 est reconnue.

Les attributs de reconnaissance sont les attributs anonymes de la reconnaissance deC1mais

renommés x, avec les nouveaux attributs anonymes créés par la fonction f.

R(C1→x,P,f)(ϕ, d) ={(hri, Xhri) :r∈RC

1

(ϕ, d)∧Pˆ[X∗

r]∧Xhri=R(X♦

r , x)∪ D◦f[X∗

r]}

— Une chronique decut C1!C2est reconnue lorsqueC1etC2sont reconnues successivement

et lorsque la reconnaissance deC2 est la première après celle de C1 En d’autres termes, il

n’y a pas d’autre reconnaissance deC2 entre les deux reconnaissances sélectionnées.

R(C1!C2,P,f)(ϕ, d)={(hr1, r2i, Xhr1,r2i) :r1∈RC

1

(ϕ, d)∧r2∈RC

2

(ϕ, d)∧Tmax(r1)<Tmin(r2)

∧∀r′

2∈RC

2

(ϕ, d) (Tmax(r1)< Tmin(r′

2)⇒(Tmin(r2)< Tmin(r′

2)

∨(Tmin(r2) =Tmin(r′

2)∧Tmax(r2)≤Tmax(r′

2))) )

∧Pˆ[X∗

r1∪X∗

r2]∧Xhr1,r2i=X∗

r1∪X∗

r2∪ D◦f[X∗

r1∪X∗

r2]}

— Une chronique dechangement d’étatC1!!C2est reconnue lorsqueC1etC2sont reconnues

successivement, la reconnaissance de C1 étant la dernière avant une reconnaissance deC2,

et la reconnaissance de C2 étant la première après une reconnaissance deC1. En d’autres

termes, il n’y a aucune autre reconnaissance deC1ni de C2entre les deux reconnaissances

sélectionnées.

R(C1!!C2,P,f)(ϕ, d)={(hr1, r2i, Xhr1,r2i) :r1∈RC

1

(ϕ, d)∧r2∈RC

2

(ϕ, d)∧Tmax(r1)<Tmin(r2)

∧∀r′

2∈RC

2

(ϕ, d) (Tmax(r1)< Tmin(r′

2)⇒(Tmin(r2)< Tmin(r′

2)

∨(Tmin(r2) =Tmin(r′

2)∧Tmax(r2)≤Tmax(r′

2))) )

∧∀r′

1∈RC

1

(ϕ, d) (Tmax(r′

1)< Tmin(r2)⇒(Tmax(r′

1)≤Tmax(r1)))

∧Pˆ[X∗

r1∪X∗

r2]∧Xhr1,r2i=X∗

r1∪X∗

r2∪ D◦f[X∗

r1∪X∗

r2]}

— Une chronique d’évènement de reconnaissance @(C1)est reconnue lorsqueC1 est

re-connue, mais son intervalle de reconnaissance est réduit à l’instant de reconnaissance.

R(@(C1),P,f)(ϕ, d) ={((e, t), Xγ

r) :

r∈RC

1

(ϕ, d)∧(e, t)∈ F(r)∧t=Tmax(r)∧Pˆ[X∗

r]

∧Xγr=Xr∪ D ◦f[X∗

r]}

Remarque 5. Intuitivement, le cut C1!C2 permet de reconnaître la première reconnaissance

de C2 suivant une reconnaissance de C1, et le double cut, ou changement d’état, permet de

re-connaître la première reconnaissance de C2 suivant la dernière reconnaissance de C1.

Cepen-dant, il n’y a pas toujours d’unique première ou d’unique dernière reconnaissance. En ce qui

concerne C2, pour les deux opérateurs, les premières reconnaissances sont celles qui commencent

et qui s’achèvent aux instants les plus tôt après la reconnaissance de C1 considérée. Ainsi, sur

le flux ϕ = ((a,1),(b,2),(d,3),(d,4),(e,5),(e,6)), la chronique C = A! (B D E) est

recon-nue deux fois : RC(ϕ,6) = {h(a,1),hh(b,2),(d,3)i,(e,5)ii,h(a,1),hh(b,2),(d,4)i,(e,5)ii}. Pour

le changement d’état, les dernières reconnaissances de C1 considérées sont celles se terminant

à l’instant le plus tard, sans considération de leur instant de début. Ainsi, la chronique C =

(A B) !!D, sur le flux ϕ = ((a,1),(a,2),(b,3),(d,4),(d,5)) est reconnue deux fois : RC(ϕ,5) =

{hh(a,1),(b,3)i,(d,4)i,hh(a,2),(b,3)i,(d,4)i}.

Remarque 6 (NP-complétude). Notons que le problème de la reconnaissance de chroniques

dans un flux d’évènements est NP-complet.

En effet, il est immédiat que l’on peut vérifier en temps polynomial qu’un arbre r est une

reconnaissance de C dans un fluxϕ.

De plus, le problème est NP-difficile car le problème SAT peut s’y réduire. Considérons une

formule logiqueP sous forme normale conjonctive. Elle possèdenlittéraux. Prenons comme

évè-nements des évèévè-nements e possédant comme attributs une valeur de vérité pour chaque littéral.

Prenons ensuite comme flux d’évènements une suite finieϕd’évènementsecouvrant toutes les

ré-partitions de valeurs de vérité possibles pour lesnlittéraux. Considérons la chroniqueC= (E, P).

Si l’on sait reconnaître C dansϕen temps polynomial, alors on sait également résoudre SAT en

temps polynomial car la chronique C est reconnue dans ϕ si et seulement si la formule P est

satisfiable.

Le problème reste NP-complet si l’on ôte la possibilité d’exprimer des contraintes à l’aide de

prédicats. Il faut alors encoder la formule logique à l’aide des opérateurs du langage des chroniques,

en particulier la conjonction, la disjonction et l’absence.

Nous achevons ici la définition de la sémantique du langage des chroniques, qui donne un sens

à la notion de reconnaissance d’une chronique dans un flux d’évènements.

Par la suite, lorsque les valeurs du prédicatP et de la fonction de transformation d’attributsf

n’auront pas d’incidence sur le propos, nous nous permettrons de noterC au lieu de(C, P, f)afin

d’alléger les notations.

Documents relatifs