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