La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Elena Quarantotto, Telecom Italia/IT Innovation 1 Mini-Scuola WOA 2009 WADE: Una piattaforma open source per workflow e agenti Elena Quarantotto (Telecom.

Presentazioni simili


Presentazione sul tema: "Elena Quarantotto, Telecom Italia/IT Innovation 1 Mini-Scuola WOA 2009 WADE: Una piattaforma open source per workflow e agenti Elena Quarantotto (Telecom."— Transcript della presentazione:

1 Elena Quarantotto, Telecom Italia/IT Innovation 1 Mini-Scuola WOA 2009 WADE: Una piattaforma open source per workflow e agenti Elena Quarantotto (Telecom Italia)

2 Elena Quarantotto, Telecom Italia/IT Innovation 2 Piattaforma JADE – principali caratteristiche Piattaforma WADE – workflow e amministrazione Creazione di applicazione di esempio WADE-based con lausilio di WOLF Agenda

3 Elena Quarantotto, Telecom Italia/IT Innovation 3 JADE Java Agent DEvelopment framework Elena Quarantotto (Telecom Italia)

4 Elena Quarantotto, Telecom Italia/IT Innovation 4 JADE Java Agent DEvelopment framework Framework (librerie + runtime) che facilita lo sviluppo di applicazioni distribuite basate sul paradigma ad agenti Interamente scritto in Java Puo essere eseguito su PC, server e telefonini (MIDP 1.0) Conforme allo Standard FIPA Distribuito in Open Source con licenza LGPL Utilizzato in Telecom Italia come piattaforma per 2 applicazioni mission critical nel dominio OSS Developing Multi Agent Systems with JADE pubblicato da J.Wiley nel Febbraio 2007

5 Elena Quarantotto, Telecom Italia/IT Innovation 5 Principali caratteristiche INFORM REQUEST PROPOSE AGREE REFUSE Meccanismi di discovery publish/subscribe Gestione e monitoraggio del ciclo di vita Mobilita Fault tolerance Ricca suite di tool grafici per la gestione della piattaforma Facile da integrare con sistemi esterni Astrazione di Agenti e Behaviour (task eseguito da un agente) Distribuzione trasparente delle componenti (agenti) su un vasto insieme di device Comunicazione Peer-to-peer basata sullo scambio asincrono di messaggi

6 Elena Quarantotto, Telecom Italia/IT Innovation 6 La Comunita Il progetto Open Source Primo rilascio nel Dimensioni: > downloads > 3000 sottoscrizioni alla mailing list Licenza LGPL Versione corrente 3.7 rilasciata a fine giugno Il Board di JADE (2003) Missione: promuovere, governare e implementare le evoluzioni di JADE Tra i membri Telecom Italia (leader) e France Telecom

7 Elena Quarantotto, Telecom Italia/IT Innovation 7 Architettura JADE Container Main Container PLATFORM AMS DF PLATFORM 2 JADE AMS DF Main Container JADE host1 host2 host3 host4 Passaggio di oggetti Protocollo Proprietario FIPA (http/iiop)

8 Elena Quarantotto, Telecom Italia/IT Innovation 8 Il modello di comunicazione Basato sullo scambio asincrono di messaggi A1 A2 Prepara il messaggio per A2 Prende il messaggio dalla coda dei messaggi e lo processa JADE distributed runtime (PROPOSE :sender A1 :receiver A2 :content Cinema evening :language English :ontology Cinema- ontology ) Il formato del messaggio e conforme al linguaggio ACL (FIPA)

9 Elena Quarantotto, Telecom Italia/IT Innovation 9 FSMBehaviour SequentialBehaviour ParallelBehaviour Esecuzione e composizione dei Task Un agente nel suo ciclo di vita puo eseguire behaviours o assumere lo stato inattivo (jade.core.behaviours.Behaviour) Simple behaviours Metodo action(): Determina il lavoro del task Metodo done(): Determina la terminazione del task Composite behaviours B1 B2 B3 B1B2 B3 B1 B2 B4 B3

10 Elena Quarantotto, Telecom Italia/IT Innovation 10 Il servizio di pagine gialle A1: - serviceX - serviceY A2: - serviceZ A3: - serviceW - serviceK - serviceH Servizio di Pagine Gialle Pubblicazione dei servizi esposti A1A2A3A4A5A6 Ricerca degli agenti che espongono un determinato servizio Utilizza il servizio richiesto DF

11 Elena Quarantotto, Telecom Italia/IT Innovation 11 WADE Workflows and Agents Development Environment Elena Quarantotto (Telecom Italia)

12 Elena Quarantotto, Telecom Italia/IT Innovation 12 E unestensione di JADE Unapplicazione WADE-based e ancora unapplicazione JADE-based Tutte le features di JADE sono disponibili in WADE Aggiunge a JADE La possibilita di definire i task degli agenti secondo la metafora dei workflow Componenti e meccanismi che facilitano lamministrazione di applicazioni WADE-based che per loro natura sono distribuite I due aspetti possono essere usati separamente Non e un unico grosso workflow engine, ma sono dei micro-workflow engines racchiusi negli agenti Open Source da Maggio Fine Giugno rilascio di WADE 2.5 Tutorial disponibile allurl WADE

13 Elena Quarantotto, Telecom Italia/IT Innovation 13 Workflow Un workflow e la definizione formale di un processo in termini di attivita da eseguire, relazioni tra di loro che specificano il flusso di esecuzione, e condizioni di attivazione e terminazione Rappresentazione grafica, facilmente comprensibile sia da esperti di dominio che da programmatori Auto-documentativi Meccanismi automatici per facilitare il monitoraggio del sistema e linvestigazione di problemi Procedure di rollback automatiche a fronte di fallimenti in caso di esecuzione in contesti transazionali

14 Elena Quarantotto, Telecom Italia/IT Innovation 14 WOLF (WOrkflow LiFe cycle management environment) Lambiente grafico di sviluppo Eclipse plugin Configurazione e gestione di un progetto per lo sviluppo di unapplicazione WADE- based Creazione ed aggiornamento grafico dei workflow Workflow permettono la condivisione delle logiche con gli esperti di dominio Workflow = Vista grafica e codice della classe sono allineati Utilizzatori target: Sviluppatori

15 Elena Quarantotto, Telecom Italia/IT Innovation 15 Associare la natura WADE ad un progetto JAVA in eclipse si attivano le funzionalita offerte da WOLF Configurazione del progetto WADE Scelta della tipologia di applicazione: JADE plus Workflow o Full Featured WADE Aggiunta delle librerie WADE al classpath del progetto (fornite direttamente da WOLF o esterne) Aggiunta della cartella di configurazione WADE al classpath di progetto Progetti WADE-based

16 Elena Quarantotto, Telecom Italia/IT Innovation 16 Classe Workflow public class FailCaffeWf extends WorkflowBehaviour {.... private void defineActivities() { registerActivity(new CodeExecutionBehaviour(this, Controlla), INITIAL); registerActivity(new CodeExecutionBehaviour(this, Prepara)); registerActivity(new CodeExecutionBehaviour(this, Errore), FINAL); registerActivity(new CodeExecutionBehaviour(this, Versa), FINAL); }.... private void defineTransitions() { registerTransition(new Transition(this, AbbastanzaCaffe), Controlla, Prepara); registerTransition(new Transition(), Controlla, Errore); registerTransition(new Transition(), Prepara, Versa); } … protected void executeControlla() { } protected void executePrepara() { } protected void executeVersa() { } protected void executeErrore() { } protected boolean checkAbbastancaCaffe() { }.... } FailCaffeWf Prepara Controlla Versa Errore Abbastanza Caffe

17 Elena Quarantotto, Telecom Italia/IT Innovation 17 Workflow classe Java che estende WorkflowBehaviour Activity metodo void della classe del workflow Behaviour registrato nelloggetto workflow, responsabile di invocare il metodo dellactivity passando i parametri in base al tipo di activity Transition Metodo booleano della classe del workflow che implementa la condizione (se presente) Transition registrata nelloggetto workflow, responsabile di invocare il metodo associato alla condizione Formal Parameters Field della classe Workflow con Informazioni di layout (es. posizione delle activity, routing points delle transizioni, …) definite Elementi della classe Workflow

18 Elena Quarantotto, Telecom Italia/IT Innovation 18 CodeActivity Il metodo dellactivity contiene direttamente il codice che deve essere eseguito WebServiceActivity Il metodo dellactivity invoca un web service Puo essere statico o dinamico (non necessita limport del WSDL la generazione di classi) SubflowActivity Il metodo dellactivity invoca lesecuzione di un altro workflow Puo essere sincrono o asincrono La scelta dellagente a cui delegare il workflow puo essere effettuata a runtime SubflowJoinActivity Il metodo dellactivity sospende lesecuzione del workflow in attesa del completamento di uno o piu workflow asincroni partiti precedentemente Tipi di Activity

19 Elena Quarantotto, Telecom Italia/IT Innovation 19 Ereditarieta dei Workflow FailCaffeWorkflow Prepara Controlla Versa Errore Abbastanza Caffe Aggiungi Zucchero CaffeZuccheratoWf public class CaffeZuccheratoWf extends FailCaffeWf {.... private void defineActivities() { changeActivityOrder(Versa, INTERMEDIATE); registerActivity(new CodeExecutionBehaviour(this, AggiungiZucchero), FINAL); }.... private void defineTransitions() { registerTransition(new Transition(), Versa, AggiungiZucchero); } … protected void executeAggiungiZucchero() { } … } La classe del workflow esteso contiene solo le differenze con il workflow base

20 Elena Quarantotto, Telecom Italia/IT Innovation 20 WADE-application startup wade-home |---startMain.bat/sh | |---cfg/ |---main.properties |---types.xml | |---configurations/ |---sample.xml | |---lib/ |---wade.jar |---JadeLeap.jar |... |---log/ |---projects/ | failcaffe-home |---cfg/ |---main.properties |---lib/ |---failcaffe.jar |---failcaffe.properties # FailCaffe project property file project-home=D:/develop/FailCaffe platform-id=FAILCAFFE agents=p1:com.tilab.wade.performer. WorkflowEngingAgent wade-home> startMain failcaffe


Scaricare ppt "Elena Quarantotto, Telecom Italia/IT Innovation 1 Mini-Scuola WOA 2009 WADE: Una piattaforma open source per workflow e agenti Elena Quarantotto (Telecom."

Presentazioni simili


Annunci Google