Recito: Una piattaforma Open Source per la modellazione e la simulazione di processi Alessandro Assab, a.assab@sp­process.it Davide Dozza, d.dozza@sp­process.it Rodolfo Totaro, r.totaro@sp­process.it SP­Process Keywords: Recito, programmazione Actor Oriented Abstract Ptolemy II1 è una piattaforma open source che implementa il paradigma di programmazione Actor Oriented. Sviluppata dalla Berkeley University nell'ambito del progetto Ptolemy2, Ptolemy II è un prodotto Open Source utilizzato da numerosi enti di ricerca ed industrie per la simulazione e la progettazione di sistemi real­time, concorrenti ed embedded oltre attualmente trovare un campo di ricerca nella gestione di workflow3 4 scientifici. Il paradigma Actor­Oriented, introdotto da G.Agha5, è considerato un'estensione della programmazione ad oggetti ed è utilizzato in diversi ambienti software come ad esempio LabView, Simulink, ecc. A partire da Ptolemy II, l'attività di ricerca si è focalizzata sull'applicazione di questo paradigma alla modellazione di processi al di fuori del campo fisico/ingegneristico come ad esempio la realizzazione di processi di business o di processi di supervisione e controllo. A questo scopo le attività si sono concentrate su due strade: ● sviluppo degli attori necessari alla gestione dell'accesso ai dati via database, per la manipolazione di flussi XML e per la creazione e la manipolazione di documenti ODF ● sviluppo di un ambiente grafico per la programmazione actor­oriented e per l'esecuzione dei modelli in grado di essere facilmente specializzabile in uno specifico dominio. In questo lavoro verrà presentato il risultato della ricerca che è la piattaforma Recito. Essa è sviluppata interamente in Java usando esclusivamente tecnologie Open Source e funzionante indifferentemente su piattaforme Windows, GNU/Linux, MacOSX e Solaris. E' composta di tre componenti: Recito Designer che è l'ambiente grafico di realizzazione e simulazione dei modelli. E' un'applicazione RCP basata su Eclipse interamente sviluppata con componenti OS. E' progettata seguendo rigorosamente i principi di ingegneria del software (OO design, UML modeling, design pattern) che garantisce pieno controllo del ciclo di vita del software, ma soprattutto grande semplificazione delle fasi di aggiornamento delle nuove versioni dei prodotti Open Source utilizzati. ● Recito Core è il livello operativo. E' basato sul motore di Ptolemy II ed è il livello che fisicamente carica ed esegue i modelli creati con recito Designer. A questo livello è stato aggiunto il supporto all'accesso ai DB, manipolazione flussi XML supporto alla creazione documenti ODF attraverso l'interazione con OpenOffice.org ● Recito Server è il motore di esecuzione remota dei modelli. I modelli sviluppati con Recito Designer vengono inglobati da un interfaccia web service generata automaticamente con Axis e centralizzati su di un server. La loro invocazione ed interazione avviene attraverso un'interfaccia web service basata su protocolli standard (SOAP, WDSL, UDDI). Il modello quindi è visto come un servizio e pertanto risulta conforme ad un eventuale integrazione in architetture SOA. Inoltre questo approccio consente di creare veri e propri ambienti di simulazione ed esecuzione distribuiti. Nell'articolo saranno riportati alcuni casi di applicazione come ad esempio la creazione di processi grafici di creazione di report complessi, la creazione di modelli per la redazione guidata dall'utente di documenti e la realizzazione di modelli event­driven per la supervisione di sistemi e relativa gestione degli eventi e cycle based per la data raccolta e l'analisi di dati dal campo. 1 http://ptolemy.eecs.berkeley.edu/ptolemyII/index.htm 2 Edward A. Lee, Overview of the Ptolemy Project Technical Memorandum No. UCB/ERL M03/25, University of California, Berkeley, CA, 94720, USA, July 2, 2003. 3 Kepler: An Extensible System for Design and Execution of Scientific Workflows, I. Altintas, C. Berkley, E. Jaeger, M. Jones, B. Ludäscher, S. Mock, system demonstration, 16th Intl. Conf. on Scientific and Statistical Database Management (SSDBM'04), 21­23 June 2004, Santorini Island, Greece 4 Actor­Oriented Design of Scientific Workflows, S. Bowers, B. Ludaescher, 24th Intl. Conf. on Conceptual Modeling (ER'05), LNCS 3716, Springer, 2005. 5 G. Agha, Actors: A Model of Concurrent Computation in Distributed Systems, MIT Press, Cambridge, MA, 1986.