Creazione di ambienti interattivi per
linguaggi specifici al dominio
Paolo Bottoni
Dipartimento di Informatica, Università di Roma ``La Sapienza''
[email protected]
Con la collaborazione di Dr. P. Di Tommaso Dr. D. Ventriglia, Sig. F. Guerrisi
[email protected], [email protected], [email protected]
Contributi di Prof. Stefano Levialdi, D.ssa Maria De Marsico
[email protected] [email protected]
Sommario
Sommario
•
•
•
•
Linguaggi diagrammatici specifici al dominio
Trasformazioni nei linguaggi diagrammatici
Un linguaggio per specificare trasformazioni
Un ambiente visivo per linguaggi diagrammatici.
Linguaggi diagrammatici
Scenario
Definizione di editor per linguaggi diagrammatici
Differenti linguaggi diagrammatici come variazione di un metamodello comune
Approccio uniforme alle transizioni
Linguaggio diagrammatico è definito da un alfabeto e da un
insieme di regole visuali
Alfabeto
Regole visuali
Linguaggi diagrammatici
Grafica eseguibile I
aab
A
B
a
ab
A
1
1
C
B
2
Legge di trasformazione basata su convenzioni non espresse nel grafico.
Relazioni semantiche espresse tramite relazione spaziale inside.
Diverse politiche di applicazione (sequenziale o concorrente)
Linguaggi diagrammatici
Grafica eseguibile II
Legge di trasformazione basata su convenzione uniforme: rimpiazza
occorrenze del lato sinistro con le corrispondenti occorrenze del lato destro.
Regole di embedding permettono politiche più sofisticate.
Linguaggi diagrammatici
Un metamodello per la semantica
1
Diagram
IdentifiableElement
embedding
extracted
1..*
1
VisualConfiguration
SemanticElement
ParatextElement
1..*
ConfigurationSupportElement
Token
ContextSupportElement
PreOrPostArrow
decorates
Current
Token Shape
ConstrainingElement
Holder
StateNode
Place
Cell
TransitionElement
TransitionArrow
Box
Linguaggio di Transizioni
Un sistema reattivo (SR)
Stato di un SR: multiset di risorse
1
2
n
Se soddisfatta la precondizione sulle risorse allora viene applicata
una transizione.
Stato A
Transizione (trasformazione)
1
n
2
1
n'
2'
Stato B
Per ogni SR possiamo individuare un insieme di transizioni
ammissibili
Linguaggio di Transizioni
Transizioni (trasformazioni)
Una transizione comporta:
Consumo delle risorse espresse nella precondizione
Produzione delle risorse specificate nella postcondizioni
Sistema stato A
Valutazione
precondizione
1
1
evento
n
Sistema stato B
2
Attivita' di
elaborazione
Esecuzione
Postcondizione
n'
2'
Linguaggio di Transizioni
Riconfigurabilità
Riconfigurare aspetti di comportamento
S
Definito
staticamente
S
WM
Transizioni
Riconfigurabili
Riconfigurare aspetti di coordinamento
Definito
staticamente
S1
S2
S3
S1
Transizioni
S2
WM
S3
Riconfigurabili
Il linguaggio wippog
WIPPOG
Il linguaggio WIPPOG e il suo modello computazionale sono basati
su una notazione astratta di transizione.
Definizione risorse
input
Definizione
transizioni
T1
Definizione risorse
output
Definizione risorse
interne
Precondizione
WHEN, IF, GET
T2
Tn
Postcondizione
PRODUCE
Elaborazione
PROCESSES
Comunicazione
OUT
Il linguaggio wippog
Transizione WIPPOG
WHEN: risorse che devono essere internamente disponibili al sistema
GETS: risorse prodotte esternamente che devono essere disponibili
all'agente.
IF: condizioni sulle variabili nelle componenti WHEN o GETS
PROCESSES: attività computazionali associate alle transizioni
PRODUCES: risorse che devono essere create come risultato della
transizione
OUT: risorse che sono rese esternamente disponibili come risultato
della transizione
Un ambiente integrato per la
gestione di linguaggi visivi
Scarica

bottoni