Systèmes à base de traces modélisées§

Master AI - Knowledge dynamics

auteur:Pierre-Antoine Champin
adresse:Université Lyon 1 - LIRIS
licence:Ce travail est sous license Creative Commons Attribution-ShareAlike 3.0 France
1

Introduction§

2

Architecture d'un SBTM§

_images/principle.svg

Exploitation de l'expérience tracée

3

Architecture d'un SBTM§

_images/tbs.png

Système à base de traces

4

Architecture d'un SBTM§

_images/modelling.png

Modélisation

5

Architecture d'un SBTM§

_images/transformation.png

Transformation

6

Architecture d'un SBTM§

_images/collection.png

Collecte

7

Mise en œuvre§

kTBS: A kernel for Trace Based Systems

http://tbs-platform.org/ktbs

8

Modélisation§

9

Introduction§

Une trace est constituée d'obsels (éléments observés).

Chaque obsel est muni:

10

Introduction§

_images/exemple-trace.svg

Exemple de trace

11

Modèle de trace§

Pour être exploitable, les traces doivent être explicitement modélisées.

Le modèle de trace définit:

(modélisation objet classique)

12

Modèle de trace (2)§

_images/exemple-modele.png

Exemple de modèle de traces

13

Modèle de trace (3)§

Le modèle de trace peut également définir:

(spécifique aux SBT)

14

Modèle de trace (4)§

Dans l'exemple ci-dessus :

15

Modèle de trace (5)§

_images/exemple-modele-2.png

Expression en UML des contraintes spécifiques SBT

16

Langage de définition de modèle§

Ne pas confondre :

17

Langage de définition de modèle (2)§

Les deux types de langage sont intéressants pour les modèle de trace, mais pour des raisons différentes :

18

kTBS: retour d'expérience§

19

Choix de modélisation§

L'élaboration d'un modèle de trace est une activité de conception, impliquant des choix, guidés par :

Exemple : modèle de l'activité de chat

20

Traitement des traces non-conformes§

Lorsqu'il est confronté à une trace non-conforme à son modèle,

21

Traitement des traces non-conformes (2)§

22

Transformation§

23

Introduction§

Une trace transformée est définie par:

24

Méthodes de transformation§

25

Filtre (Sélection)§

Ne conserve que les obsels vérifiant certaines contraintes.

NB: selon le modèle, même ce type de transformation peut produire une trace non-conforme à partir d'une trace conforme (par exemple : un X est toujours précédé d'un Y).

26

Fusion§

Fait l'union des obsels de plusieurs traces.

NB: même si toutes les sources sont du même type et conformes, la trace fusionnée peut être non-conforme (par exemple : deux X ne peuvent pas se chevaucher temporellement).

Exemples :

27

Enrichissement§

Conserve tous les obsels de la source, et y ajoute des informations (attributs, relations, nouveaux obsels).

Nécessite un langage pour décrire les enrichissements.

Exemples :

28

Ré-écriture de motifs§

Crée de nouveaux obsels sur la base d'un motif recherché dans la source.

Exemples :

29

Composites§

Composer plusieurs méthodes (séquentiellement ou parallèlement).

Exemple :

30

Discussion§

Les méthodes décrites ci-avant couvrent en grande partie les besoins des SBT.

On peut cependant évoquer la nécessité :

31

Indicateurs§

32

Méthodes dérivées§

Une méthode dérivée est constituées :

Permet de faciliter l'utilisation de méthodes très génériques (enrichissement, ré-écriture, composite) en crystalisant une manière particulière de les utiliser.

33
Exemples de méthodes dérivées§

Détection d'humeur

Types de conversation (Dispute/Neutre/Badinage)

34

Transformations automatiques§

Transformation guidée par les modèles

35

Transformations automatiques§

Calcul de modèle

36

Traitement de flux§

Le traitement de flux (stream processing) peut sembler proche des tranformations de traces. Cependant, les deux diffèrent par certains hypothèses sous-jacentes :

En revanche, le traitement de flux peut s'avérer intéressant dans l'étape de collecte.

37

Calcul incrémental§

38

Évolution d'une trace§

Quelconque:
des obsels sont ajoutés ou retirés de la trace.
Monotone (logiquement):
des obsels sont uniquement ajoutés à la trace.
Monotone temporellement:
des obsels sont uniquement ajoutés après les obsels existants (en considérant la date de fin).

NB: on pourrait définir la monotonie temporelle par rapport à la date de début, mais la date de fin semble plus pertinente (collecte).

39

Propagation de la monotonie§

40

kTBS: retour d'expérience§

41

Cycle de vie des traces§

42

Traces premières/transformées§

Trace première :
trace générée depuis l'extérieur du SBT; la première d'une lignée de traces obtenues par transformations successives.
Trace transformée :
trace générée par le SBT à partir via une transformation.
Lignée de traces :
graphe acyclique induit par la relation source sur un ensemble de traces.
43

Collecte§

Ajout d'observé à une trace première (monotonie temporelle ou uniquement logique).

NB: On est donc parfois amené à re-définir un nouveau modèle (« modèle de collecte »), puise d'instancier le modèle initialement prévu par transformation.

→ Un modèle n'est donc jamais intrinsèquement un « modèle de trace première ».

44

Obsels duratifs et modèle de collecte§

Il est souvent plus complexe de collecter des obsels ayant une durée (bufferisation) que des obsels instantanés.

Dans l'exemple du modèle de trace Chat, on pourrait imaginer de

45

Amendement§

Modification arbitraire d'une trace première (monotone ou non).

Importance du droit de regard de l'utilisateur sur sa trace.

46

Émancipation§

Changement de statut d'une trace transformée en trace première.

47

Scindement§

Changement de statut d'une trace première en trace transformée (fusion), dont les sources sont des segments temporels de la trace initiale.

48

Représentation du temps§

Qu'est-ce donc que le temps ? Si personne ne me le demande, je le sais. Mais si on me le demande et que je veuille l'expliquer, je ne le sais plus.

Augustin d'Hippone

49

Flexiblité§

Différentes représentations du temps doivent pourvoir co-exister au sein d'un SBT.

50

Origine d'une trace§

Toute trace est munie d'une origine.

Cette origine peut être :

L'origine est arbitraire; elle ne sert qu'à interpréter les bornes temporelles des obsels (et de la trace, voir ci-après).

51

Extension temporelle§

Toute trace est munie d'une extension temporelle qui indique, par rapport son origine, la période effectivement tracée.

Lorsque la trace est en cours de collecte, son extension temporelle peut être ouverte.

52

Domaines temporels chronométriques§

Toute trace est fondée sur un domaine temporel, défini par son origine, et l'unité définie par son modèle.

Un domaine temporel chronométrique est définie par rapport à une unité temporelle (ms, jour, année...).

NB: avec des origines relatives, il n'est pas toujours possible de convertir d'une unité à l'autre (exemple : mois et jours).

53

Domaine temporel généralisé§

Un domaine temporel est un ensemble discret et totalement ordonné d'instants.

Autres domaines temporels possibles :

54

Pour résumer§

55

Transformations liées au temps§

56

Méta-modèle§

Pourquoi « méta »

Parce que notre modèle (des systèmes à base de traces) parle de modèles (de traces).

57

Base de traces§

_images/trace_base_uml.png
58