Creazione di ambienti interattivi per linguaggi specifici al dominio Paolo Bottoni Dipartimento di Informatica, Università di Roma ``La Sapienza'' Con la collaborazione di Dr. P. Di Tommaso Dr. D. Ventriglia, Sig. F. Guerrisi Contributi di Prof. Stefano Levialdi, D.ssa Maria De Marsico
Sommario Linguaggi diagrammatici specifici al dominio Trasformazioni nei linguaggi diagrammatici Un linguaggio per specificare trasformazioni Un ambiente visivo per linguaggi diagrammatici. Sommario
Scenario Differenti linguaggi diagrammatici come variazione di un metamodello comune Definizione di editor per linguaggi diagrammatici 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 a A B A B C Legge di trasformazione basata su convenzioni non espresse nel grafico. Relazioni semantiche espresse tramite relazione spaziale inside. Diverse politiche di applicazione (sequenziale o concorrente) aab ab 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
decorates Holder Token Un metamodello per la semantica CurrentStateNode TransitionArrow TransitionElement TokenPlace Box PreOrPostArrow Shape Cell SemanticElement ConfigurationSupportElement VisualConfiguration 1..* Diagram 1..* 1 1 extracted embedding IdentifiableElement ContextSupportElement ParatextElement ConstrainingElement Linguaggi diagrammatici
Un sistema reattivo (SR) n 2 1 Stato di un SR: multiset di risorse Se soddisfatta la precondizione sulle risorse allora viene applicata una transizione. n 2 1 n' 2' 1 Transizione (trasformazione) Stato AStato B Linguaggio di Transizioni Per ogni SR possiamo individuare un insieme di transizioni ammissibili
Transizioni (trasformazioni) evento n 2 1 n' 2' 1 Una transizione comporta: Linguaggio di Transizioni Valutazione precondizione Attivita' di elaborazione Esecuzione Postcondizione Sistema stato A Sistema stato B Consumo delle risorse espresse nella precondizione Produzione delle risorse specificate nella postcondizioni
Riconfigurabilità Riconfigurare aspetti di comportamento Linguaggio di Transizioni S2 S1 Transizioni WM S Definito staticamente S Riconfigurabili Riconfigurare aspetti di coordinamento S3 Definito staticamente S2 S1 S3 Transizioni WM Riconfigurabili
WIPPOG Il linguaggio WIPPOG e il suo modello computazionale sono basati su una notazione astratta di transizione. Precondizione WHEN, IF, GET Elaborazione PROCESSES Postcondizione PRODUCE Comunicazione OUT Il linguaggio wippog Definizione risorse input Definizione risorse output Definizione risorse interne Tn T1 T2 Definizione transizioni
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 Il linguaggio wippog
Un ambiente integrato per la gestione di linguaggi visivi