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