Università degli Studi di Genova – Facoltà di Ingegneria DIST - Dipartimento di Informatica, Sistemistica e Telematica “A Design Tool to Develop Agent-Based Workflow Management Systems” Marco Repetto, Massimo Paolucci, Antonio Boccalatte WOA 2003 Villasimius (CA), 10-11 Settembre 2003 “A Design Tool to Develop Agent-Based Workflow Management Systems” Obiettivi del Progetto Lo studio di una metodologia per la definizione di sistemi multiagente, che forniscano strumenti per la gestione di workflow in ambiente manifatturiero. La progettazione e lo sviluppo di un’applicazione software che supporti: la modellazione della conoscenza di agenti autonomi intelligenti l’implementazione di tali agenti, mediante il programmazione logica (sistemi esperti rule-based) Repetto, Paolucci, Boccalatte paradigma 10-11/9/2003 di 2 “A Design Tool to Develop Agent-Based Workflow Management Systems” Outline Stato dell’Arte Architetture multi-agente (MAS) Sistemi per il workflow management La metodologia proposta per la definizione di architetture multiagente in applicazioni di workflow management Case study: realizzazione di un’architettura multi-agente per l’esecuzione di un processo di Supply Chain Management (SCM) Repetto, Paolucci, Boccalatte 10-11/9/2003 3 “A Design Tool to Develop Agent-Based Workflow Management Systems” Architetture MAS Architetture software per agenti: - Deliberative - Reattive - Ibride (BDI – Belief Desire Intention) Architetture di coordinazione tra agenti: – Hierarchical – Federation (Facilitators, Brokers, Mediators) – Autonomous Agent Repetto, Paolucci, Boccalatte 10-11/9/2003 4 “A Design Tool to Develop Agent-Based Workflow Management Systems” Sistemi di Workflow Management (1) Workflow Management Coalition (WfMC) - Una task-force composta da membri di numerose industrie ed organizzazioni private con l’obiettivo di definire degli standard per i workflow. Workflow - Definito dalla WfMC come “l’automazione di un business process, nel corso della quale i documenti, le informazioni ed i task sono veicolati tra i partecipanti per eseguire delle azioni, secondo ruoli predefiniti dalle procedure aziendali”. Repetto, Paolucci, Boccalatte 10-11/9/2003 5 “A Design Tool to Develop Agent-Based Workflow Management Systems” Sistemi di Workflow Management (2) Workflow Management Coalition Workflow Reference Model Repetto, Paolucci, Boccalatte 10-11/9/2003 6 “A Design Tool to Develop Agent-Based Workflow Management Systems” Sistemi di Workflow Management (3) I requisiti dei Manufacturing Information Systems (MIS) - Integrazione a livello aziendale - Integrazione verticale: l’integrazione degli impianti con i business process. - Integrazione orizzontale: l’integrazione con fornitori e clienti per consentire il supporto di procedure automatizzate (virtual enterprise). - Robustezza (Fault tolerance) - Struttura aperta e dinamica (Scalabilità) - Organizzazione distribuita (Intranet, Internet, Extranet) Repetto, Paolucci, Boccalatte 10-11/9/2003 7 “A Design Tool to Develop Agent-Based Workflow Management Systems” Sistemi di Workflow Management (4) Agenti e workflow management: due approcci due architetture – Agent-based workflow Agent-enhanced workflow Gli agenti si software integrano realizzano ad un workflow il controllo esistente completo per dei mezzo processi, di opportune interfacce dall’approvvigionamento di comunicazione, delleinteragiscono risorse alla gestione con le applicazioni delle informazioni primitive di e acquisiscono processo. la responsabilità di attività e risorse. Agent A Agent A Activity A Activity A Agent B Agent B Activity B Activity B Agent N Agent N Activity N Activity N Existing Workflow System Repetto, Paolucci, Boccalatte 10-11/9/2003 8 “A Design Tool to Develop Agent-Based Workflow Management Systems” Outline Stato dell’Arte La metodologia proposta per la definizione di architetture multiagente in applicazioni di workflow management Case study: realizzazione di un’architettura multi-agente per l’esecuzione di un processo di Supply Chain Management (SCM) Repetto, Paolucci, Boccalatte 10-11/9/2003 9 “A Design Tool to Develop Agent-Based Workflow Management Systems” L’architettura proposta Le caratteristiche che descrivono la soluzione proposta: - Agenti autonomi intelligenti. - Agenti implementati da sistemi esperti rule-based (codificati in linguaggio CLIPS – C Language Integrated Production System) Modular Autonomous eXpert - Behavior con architettura reattiva: compatibile l’implementazione mediante sistemi esperti con Agenti MAX - Sistemi multi-agente distribuiti - Agent-enhanced workflow: contesto frequente in ambiente manifatturiero - Integrazione con DBMS (DataBase Management Systems) Repetto, Paolucci, Boccalatte 10-11/9/2003 10 “A Design Tool to Develop Agent-Based Workflow Management Systems” La metodologia proposta Business Process rappresentato mediante UML Activity Diagram Agente MAX DATABASE Assegnazione di behavior ad agenti MAX che realizzano il Workflow (ruoli, attività) Agent Developer Studio Repetto, Paolucci, Boccalatte Agente MAX 10-11/9/2003 11 “A Design Tool to Develop Agent-Based Workflow Management Systems” Assegnazione di behavior ad agenti MAX Behavior per Agente 1 Behavior per Agente 2 Fork Activity Diagram di un business process Join Repetto, Paolucci, Boccalatte 10-11/9/2003 12 “A Design Tool to Develop Agent-Based Workflow Management Systems” Agent Developer Studio (1) Ambiente di sviluppo per agenti con un’interfaccia grafica che semplifica la modellazione del behavior di agenti MAX - Funzionalità di connessione a database relazionali per esplorare la struttura di tabelle e dati. - Supporto grafico alla realizzazione di schemi composti da blocchi funzionali. - Traduzione automatica di un generico schema nel codice del sistema esperto corrispondente. Repetto, Paolucci, Boccalatte 10-11/9/2003 13 “A Design Tool to Develop Agent-Based Workflow Management Systems” Agent Developer Studio (2) L’interfaccia grafica a menu per la piattaforma Microsoft Windows Un Menu pop-up per la configurazione di ogni blocco dello schema Repetto, Paolucci, Boccalatte 10-11/9/2003 14 “A Design Tool to Develop Agent-Based Workflow Management Systems” Agent Developer Studio (3) L’approccio grafico alla rappresentazione delle regole di un sistema esperto Vincoli esplicitati sui dati appartenenti alla base di conoscenza dell’agente Configurazione delle azioni Repetto, Paolucci, Boccalatte 10-11/9/2003 15 “A Design Tool to Develop Agent-Based Workflow Management Systems” La shell CLIPS per sistemi esperti rule-based - Sviluppata dalla NASA nel 1986 - Ambiente di sviluppo e di esecuzione per sistemi esperti basati su regole - Dotata di un motore inferenziale che esegue le regole in modo data-driven - Software open-source CLIPS non presenta alcuna funzionalità per l’integrazione con: - un’infrastruttura distribuita per la comunicazione tra agenti - i Workflow Management Systems esistenti Repetto, Paolucci, Boccalatte 10-11/9/2003 16 “A Design Tool to Develop Agent-Based Workflow Management Systems” Estensione delle funzionalità della shell CLIPS ad uso degli agenti MAX Sono state introdotte le seguenti caratteristiche: - Connessione a database relazionali (MS SQL Server, Access, ...) - Applicazioni desktop e office automation (es. E-mail, spreadsheet) - Scambio di messaggi asincroni mediante code create con tecnologia MSMQ (MS Message Queue Server) Repetto, Paolucci, Boccalatte 10-11/9/2003 17 “A Design Tool to Develop Agent-Based Workflow Management Systems” La corrispondenza tra l’architettura ed il Workflow Reference Model In fase di sviluppo Agente MAX - Il Workflow Engine è rappresentato dal motore inferenziale della shell di esecuzione CLIPS. Repetto, Paolucci, Boccalatte 10-11/9/2003 18 “A Design Tool to Develop Agent-Based Workflow Management Systems” Outline Stato dell’Arte La metodologia proposta per la definizione di architetture multiagente in applicazioni di workflow management Case study: realizzazione di un’architettura multi-agente per l’esecuzione di un processo di Supply Chain Management (SCM) Repetto, Paolucci, Boccalatte 10-11/9/2003 19 “A Design Tool to Develop Agent-Based Workflow Management Systems” Case Study: Supply Chain Management Un esempio di e-procurement 1. Definizione di un business process e modellazione mediante Activity Diagram. 2. Assegnazione di ogni area funzionale coinvolta ad uno o più agenti MAX, in base a criteri di assegnazione delle risorse e del carico computazionale. 3. Modellazione della conoscenza dei behavior in Agent Developer Studio. 4. Generazione dei sistemi esperti in linguaggio CLIPS, a partire dai behavior modellati. Repetto, Paolucci, Boccalatte 10-11/9/2003 20 “A Design Tool to Develop Agent-Based Workflow Management Systems” Case Study (2) Definizione di un business process e modellazione mediante Activity Diagram Fox, M., Barbuceanu, M., Teigen, R., “Agent-Oriented Supply-Chain Management”, The International Journal of Flexible Manufacturing Systems, 12 (2000), pp. 165-188. Repetto, Paolucci, Boccalatte 10-11/9/2003 21 “A Design Tool to Develop Agent-Based Workflow Management Systems” Assegnazione dei behavior role-based ad agenti MAX Order Acquisition 1 Logistics Agent Agent Contractor B1 Resources 1 Agent Agent Resources 2 Contractor A1 Contractor B2 Agent Agent Agent Contractor A2 Order Acquisition 2 Agent Agent Order Acquisition 3 Agent Repetto, Paolucci, Boccalatte 10-11/9/2003 22 “A Design Tool to Develop Agent-Based Workflow Management Systems” Case Study (4) Modellazione della conoscenza per il LOGISTICS AGENT utilizzando Agent Developer Studio Il blocco è configurato con la seguente query SQL “select * from ORDERS” Repetto, Paolucci, Boccalatte 10-11/9/2003 23 “A Design Tool to Develop Agent-Based Workflow Management Systems” Case Study (4) Modellazione della conoscenza per il LOGISTICS AGENT utilizzando Agent Developer Studio Il blocco è configurato con la seguente query SQL “select * from PRODUCTS where PRODUCTCODE=<!ORDERS#PRODUCTCODE!>” Repetto, Paolucci, Boccalatte 10-11/9/2003 24 “A Design Tool to Develop Agent-Based Workflow Management Systems” Case Study (4) Modellazione della conoscenza per il LOGISTICS AGENT utilizzando Agent Developer Studio Il blocco è configurato con la seguente query SQL “select * from SUPPLIED_COMPONENTS where COMP_CODE=<!PRODUCTSS#COMP_CODE!>” Repetto, Paolucci, Boccalatte 10-11/9/2003 25 “A Design Tool to Develop Agent-Based Workflow Management Systems” Case Study (4) Modellazione della conoscenza per il LOGISTICS AGENT utilizzando Agent Developer Studio Il blocco è configurato con il seguente messaggio in formato XML “<receiver>R1_Agent</receiver> <messageType>BUY</messageType> <ordercode><!ORDERS#ORDERCODE!></ordercode> <comp_code><!SUPPLIED_COMPONENTS#COMP_CODE!> </comp_code>......” Repetto, Paolucci, Boccalatte 10-11/9/2003 26 “A Design Tool to Develop Agent-Based Workflow Management Systems” Case Study (4) Modellazione della conoscenza per il LOGISTICS AGENT utilizzando Agent Developer Studio Il blocco è configurato con il seguente messaggio in formato XML “<receiver>OA2_Agent</receiver> <messageType>ALTERNATIVE</messageType> <ordercode><!ORDERS#ORDERCODE!></ordercode> <comp_code><!SUPPLIED_COMPONENTS#COMP_CODE!> </comp_code>......” Repetto, Paolucci, Boccalatte 10-11/9/2003 27 “A Design Tool to Develop Agent-Based Workflow Management Systems” Case Study (5) Generazione del sistema esperto in linguaggio CLIPS Un frammento del codice prodotto per il precedente agente LOGISTICS Codice generato dal blocco START Codice generato dal blocco IF Repetto, Paolucci, Boccalatte 10-11/9/2003 28 “A Design Tool to Develop Agent-Based Workflow Management Systems” Conclusioni Lo sviluppo mediante l’approccio grafico non richiede all’utente la conoscenza dei sistemi esperti. L’architettura ad agenti soddisfa i requisiti di un moderno Manufacturing Information System, offrendo scalabilità e semplicità gestionale richieste dalle PMI (Piccole e Medie Imprese). Le tecnologie utilizzate sono tra le più comunemente impiegate in contesti industriali del settore manifatturiero. Repetto, Paolucci, Boccalatte 10-11/9/2003 29 “A Design Tool to Develop Agent-Based Workflow Management Systems” Sviluppi Futuri Integrazione con la piattaforma ad agenti Agent Service, sviluppata con tecnologia .NET Estensione delle funzionalità per gli agenti MAX (es. registrazione degli agenti in ambiente Microsoft Active Directory) Integrazione con strumenti di modellazione di business process che supportano lo standard UML. Repetto, Paolucci, Boccalatte 10-11/9/2003 30