• Aucun résultat trouvé

Le mod`ele de contexte tel que nous l’avons d´efini est un graphe de situations. Les arcs du graphe sont ´etiquet´es par les relations temporelles de la logique de Allen. Afin de faciliter les transformations ult´erieures, nous allons dans un premier temps homog´en´eiser les arcs en transformant le mod`ele en r´eseau de Petri ´equivalent.

Le r´eseau de Petri (ou RdP) est un outil graphique de mod´elisation de syst`emes dynamiques discrets (Petri, 1962). C’est un graphe orient´e compos´e d’arcs et de deux cat´egories de noeuds : les places et les transitions. Les places repr´esentent les variables d’´etat du syst`eme et contiennent un nombre positif ou nul de marques. Les transitions connectent les places entre elles et repr´esentent l’´evolution du syst`eme. Une transition est valide si les places en amont poss`edent au moins une marque. Lorsqu’une transition est “tir´ee”, une marque est supprim´ee de chaque place amont et une marque est ajout´ee `a chaque place en aval. Une d´efinition plus formelle est disponible dans (Murata, 1989)

Cette premi`ere transformation du mod`ele de contexte vers un r´eseau de Petri est de type m2m δ . Elle est manuelle et n’a pas ´et´e automatis´ee. Chaque op´erateur temporel de

Allen est remplac´e par un motif de r´eseau de Petri ´equivalent. Les situations sont repr´e-sent´ees par les places. La structure du graphe (via les transitions) mod´elise les contraintes temporelles d’enchaˆınement des situations. L’ensemble de ces transformations est r´esum´e

γ

. Jess, the Rule Engine for the Java Platform

δ

R´eseaux de Petri

dans les tables4.1et4.2. Remarque : les situations ´etiquet´ees Unspecified ne sont associ´ees `a aucun rˆole ou relation et sont donc activables quoi qu’il arrive dans l’environnement.

La sp´ecification de contexte est maintenant sous la forme d’un r´eseau de Petri. La prochaine ´etape va consister `a s´electionner un m´eta-mod`ele pour la reconnaissance. Il s’agit de transformer la sp´ecification en un programme charg´e de valider que les ´ev´ene-ments de perception (et donc l’enchaˆınement de situations) se d´eroulent dans un ordre compatible avec la sp´ecification. Nous avons retenu deux m´eta-mod`eles : les r´eseaux de Petri synchronis´es et les r´eseaux de Petri flous. Nous allons les pr´esenter au cours des deux prochains chapitres.

Reconnaissance de sc´enarios

Situation 1 Situation 2

Situation 1 Situation 2

Situation 1 Situation 2

Situation 1 Unspecified Situation 2

Before Overlaps Starts Situation 2 Situation 1 Unspecified Unspecified Situation 1 Situation 2

Situation 1 Meet Situation 2 Situation 1 Situation 2

R´eseaux de Petri Situation 1 Situation 2 Situation 1 Situation 2 Situation 1 Situation 2 Situation 1 Situation 2 Equals During Finsishes

Unspecified Situation 1 Unspecified

Situation 2

Situation 1

Situation 2

Table 4.2: Transformation Allen → Petri : equals, during et finishes

5

M´eta mod`ele : RdP synchronis´e

Le r´eseau de Petri d´ecrit dans la section pr´ec´edente est un langage permettant au d´eveloppeur de d´ecrire formellement les enchaˆınements de situations pertinents pour l’ap-plication qu’il est en train de concevoir. L’´etape suivante va consister `a transformer ce mod`ele de description en un mod`ele de reconnaissance. Rappel :

– Le mod`ele de description fournit par une analyse statique (hors ligne) l’ensemble des s´equences possibles de situations (`a travers le graphe d’accessibilit´e)

– Le mod`ele de reconnaissance est un mod`ele en ligne, reli´e `a la perception. Son rˆole est de v´erifier que l’interpr´etation des donn´ees de perception sous forme d’entit´es, rˆoles et relations conduisent `a un enchaˆınement de situations conforme `a ceux sp´ecifi´es par le mod`ele de description.

L’´evolution du r´eseau de Petri dans le cadre du mod`ele de reconnaissance doit donc ˆetre contrˆol´ee par la perception. Nous allons pour cela transformer le r´eseau de Petri classique issu de la mod´elisation en un r´eseau de Petri synchronis´e. Un r´eseau de Petri synchronis´e associe un ´ev´enement `a une transition. La transition est franchissable si classiquement l’ensemble des places en amont poss`edent au moins une marque et si l’´ev´enement associ´e a ´et´e ´emis.

5.1 Calcul de la synchronisation

Consid´erons par exemple deux situations S1 et S2 telles que S1 meets S2. La tran-sition entre les deux situations doit ˆetre activ´ee si la perception permet de conclure que S1 n’est plus valide et que S2 est valide :

T =¬valid(S1) ∧ valid(S2) 41

M´eta mod`ele : RdP synchronis´e

De mani`ere plus g´en´erale, l’´ev´enement associ´e `a la transition est la conjonction d’un pr´edicat associ´e aux places en amont de cette transition et d’un pr´edicat pour les places en aval :

T = P reT ∧ P ostT

Le pr´edicat P reT correspond `a ce qui est actuellement observ´e. P osT correspond `a ce que le syst`eme s’attend `a voir ´etant donn´e le contexte courant. La liste des pr´edicats P re et P ost sont fournis pour l’ensemble des op´erateurs de Allen dans les tables5.1 et5.2.

La derni`ere ´etape consiste `a transformer le r´eseau synchronis´e en un programme ex´ecutable. Ce programme a pour objectif de r´eagir aux ´ev´enements produits par la per-ception afin de calculer la nouvelle situation et l’action ´eventuelle associ´ee. Ce paradigme peut naturellement s’impl´ementer dans le cadre d’un syst`eme `a base de r`egles de produc-tion (type chaˆınage avant). Les ´ev´enements produits par la percepproduc-tion sont inject´es sous forme de faits. Le r´eseau de Petri synchronis´e est compil´e en r`egles :

– Un premier groupe de r`egles pour les r`egles de transition au sein d’un RdP. – Un second groupe pour le calcul des ´ev´enements de synchronisation.

Ces deux groupes de r`egles calculent la situation courante, ´egalement inject´ee sous forme de faits. Un troisi`eme groupe de r`egles propose finalement l’action associ´ee `a la situation courante.