Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Le langage VDL Jean-Paul Sansonnet
2
Pourquoi un format spécial ?
Pour représenter La structure Le fonctionnement Pour raisonner sur un format maîtrisé Parcours de structures de données Granularité objet Schémas de données prédéfinis Raisonnement sur les actions Statique : Inv[f,g] ; Idem[f] Dynamique : Chroniques de l’exécution effective
3
Quel format ? Expressions arborescentes Granularité
Pour une représentation symbolique F[e1,e2,…en] où F ‘balise’ < e1,e2,…en > Granularité Encapsulation objet Méta données : middleware entre l’utilisateur et le composant effectif
4
La boucle Modale User Interface Médiateur Composant effectif Question
Commande Display Perception Perçu
5
Versions de VDL VDL 0.1 Arbre de concepts
VDL 0.2 View Query Language (VQL) VDLP Raisonnement procédural (Scripts) VDL concept 1 lexicalisation VDL 0.4 Granularité objet VDL 0.5 Schémas et observateurs
6
Concepts : Médiateur Un médiateur est composé de deux environnements :
Un ensemble de définitions de vues : c’est la représentation statique de la structure. Un ensemble d’instanciations de vues : c’est le runtime du médiateur. Il évolue au cours de l’exécution au fil du comportement modal de la boucle ou modless des processus physiques du composant
7
DEF[id, s, {farg,..}, (rule|inst)*;..]
Concepts : Vue Entité de structuration de base de VDL Syntaxe de définition : DEF[id, s, {farg,..}, (rule|inst)*;..] Instanciation de vue : NEW[id, Vi, args, ..] Prédéfinition de vues dans le Ground.
8
Concepts : Schémas
9
Concepts : Observateurs
Un observateur est un opérateur prédéfini applicable à toute vue dans le runtime d’un médiateur : fi(Vj) K V R L F P f1 f2 fi,R - fn
10
Squelette de Fshow SHOW[V_{i}]:= Switch[s ,
K|V, Text[NAME[V_{i}],"="VAL[VAL{i}]], R|L, Switch[ORIENT[V_{i}], VERTDOWN,Displaydown[Map[SHOW,VAL[V]]], VERTUP,Displayup[Map[SHOW,VAL[V]]], HOR,Displayhor[Map[SHOW,VAL[V]]] ], F, Button[NAME[V_{i}]], P, Text['a process'] ]
11
Exemple : Ground DEF[RED,K,{}, NAME=LEX[SYNSET['red']]; ISA=COLORS;
VAL=RGBColor[1.,0.,1.]] DEF[FIGURE,K,{alias_,shape_,color_,size_}, NAME=LEX[SYNSET[alias], SYNSET['figure'],SYNSET['drawing']]; SHAPE=shape; COLOR=color; SIZE=VAL[size]; SHOW=ON[COLOR[$],RESIZE[SHAPE[$],SIZE[$]]]] DEF[STACK,R,{alias_,size_}, NAME=LEX[SYNSET[alias],SYNSET['stack']]; VAL=NIL; DIM=size; MIN=0; ORIENT=VERTUP] Exemple : Ground
12
Exemple : Hanoi INITDEF[];(*init and loading of the Ground *)
DEF[move,F,{}, NAME=LEX[SYNSET['move'],SYNSET['displace']]; ARGS={{STACK, not EMPTY},{STACK}}; CHECK=(EMPTY[#2] Or SIZE[READ[#1]]<SIZE[READ[#2]])&; VAL=(POP[#1];PUSH[#2,IT])& ] DEF[hanoi,R,{}, NEW[RED, red]; NEW[RECTANGLE,rect,'disk']; NEW[FIGURE,d1,'disk',rect,red,NEW[BIG,z1]]; NEW[FIGURE,d2,'disk',rect,red,NEW[MEDIUM,z2]]; NEW[FIGURE,d3,'disk',rect,red,NEW[SMALL,z3]]; NEW[STACK,s1,NIL,3]; NEW[STACK,s2,NIL,3]; NEW[STACK,s3,NIL,3]; NEW[move, m]; NAME=LEX[SYNSET['game']]; VAL={s1,s2,s3}; ORIENT=HOR; PUSH[s1,d2];PUSH[s1,d3]); Exemple : Hanoi
13
Conclusion et Perspectives
Développer VQL 0.5 Notion de ‘Common Sense Requests’ Relations avec le monde XML Traitement de la référence modèle ‘Applet driven’ Modèle à résolution de contraintes sémantiques.
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.