woa 2003 una piattaforma per lo sviluppo di applicazioni multi-agente boccalatte - gozzi - grosso...
TRANSCRIPT
WOA 2003
Una piattaforma per lo sviluppo di applicazioni
multi-agente
Boccalatte - Gozzi - Grosso
10/09/2003
2
WOA 10-09-2003
Agent Service
Agent Service
• Fornire un’infrastruttura software in grado di offrire soluzioni efficienti ai comuni problemi che si riscontrano nella programmazione di sistemi multi-agente
Definizione del modello di agente e sua implementazione
Realizzazione di una piattaforma ad agenti (Agent Service)
3
WOA 10-09-2003
Agent Service
• Problematiche della programmazione orientata agli agenti– Gestione della comunità di agenti
Ambiente concorrente (schedulazione, sincronizzazione)Localizzazione e comunicazionePersistenza
MAS e Agenti software
4
WOA 10-09-2003
Agent Service
CLI e C# • Common Language Infrastructure
– .Net, Rotor, Mono, portable.Net
• Standard ECMA– Common Language Infrastructure - ECMA-335 – C# Language Specifications - ECMA-334
• Common Language Runtime – Threading system– Remoting– Autenticazione, Sicurezza, Integrità dei tipi– Application Domain
5
WOA 10-09-2003
Agent Service
Il progetto della piattaforma Agent Service
• L’architettura della piattaforma
• Il modello di agente
• La schedulazione delle attività degli agenti
• La libreria Agent Service
• I servizi di comunicazione
6
WOA 10-09-2003
Agent Service
L’architettura della piattaforma
AgentAgentAgent
ManagementSystem
AgentManagement
System
DirectoryFacilitatorDirectoryFacilitator
Message Transport SystemMessage Transport System
FIPA
7
WOA 10-09-2003
Agent Service
Il modello di agente• Isolamento
– Autonomia degli agenti
• Comportamenti concorrenti– L’agente è multi-comportamento
• Funzionalità– Gestione dello stato degli agenti– Capacità ad accedere ai servizi della piattaforma– Interazioni con componenti esterni non ad agenti
(es.DBMS)
8
WOA 10-09-2003
Agent Service
Scheduling• Application Domain
– Il CLR consente l'esecuzione di applicazioni multiple all'interno di un singolo processo
– Forniscono in esecuzione barriere per l'isolamento dei dati, dei tipi, dell'autenticazione …
Intra-process ma garantiscono isolamento
9
WOA 10-09-2003
Agent Service
Agent Service-Agente• Knowledge
– Strutture dati condivise– Accesso concorrente,
transazionale– Deadlock avoidance– Persistenza
• Behaviour– Attività propria dell’agente– Esecuzione concorrente– Accesso controllato alle
Knowledge– Accesso ai componenti di
servizio
10
WOA 10-09-2003
Agent Service
Agent Service-DOMAgent
Platform
Behaviour - The base abstract class representing a behaviour ConversationBehaviour - The behaviour class which deal with messaging Scheduler - The class, one per agent, managing the behaviours’ life cycle
Knowledge - The base abstract class representing a knowledge KnowledgeItem - The class representing a generic knowledge item composed by
ID, type, and instance value KnowledgeManager - The class managing the knowledge and granting its
persistence and consistency
MTS - The class providing themessage transport service
AgentMessage, MessageBody,MessageEnvelope - Classesinvolved in the agent messagedefinition
ConversationManager - Theclass dealing with messages’delivering in order of thebehavior that owns theconversation
DF - The class providing the agentdirectory service
ServiceDescription, SearchConstraint -Classes for the yellow pages service
AMS - The class providing the agentmanagement service
AgentDescription - Agent description forwhite pages service
Behaviour
AMS
DF
MTS
Knowledge
Agent - The real Agent class, managingbehaviors' activity, Knowledges, and theaccess to the platform services
AgentTemplate - The base abstract class foruser defined software agents
AgentPersistent - The class containing agentinformation which have to be persistent
AID - The class defining the agent identifier AgentState - The class representing the agent
state
Platform - The class representing theabstraction of the agent platform, providinggeneral services and logic container to agents
PlatformDescription - The class representingthe FIPA description of the agent platform
PlatformPersistent - The class containingplatform state and configuration informationwhich have to be persistent
11
WOA 10-09-2003
Agent Service
Implementazione Agente
+Inizialize()+Ending()
-behaviourList-knowledgeList
AgentTemplate
+Initialize()+Ending()+Methods()
-know1-behav1-attributes
MyAgent
+Body()
Behaviour
+Body()+Methods()
-knowledge-attributes
MyBehaviour
+AddItem()
-itemList
Knowledge
+Constructor()
-knowledgeItem
MyKnowledge
12
WOA 10-09-2003
Agent Service
Processo di attivazione dell’agente
AgentTemplate
AssemblyBehaviourTypes
Application Domain
Agent Instance
AgentService Platform
Assembly
Assembly
KnowldgeType1
KnowldgeType2
Platform Interface
13
WOA 10-09-2003
Agent Service
Directory Facilitator
Agents
Active Directory
AgentService
DF Agent• Registrazione, modifica
e cancellazione della descrizione del servizio
• Ricerca
• Active Directory– Platform – Agent
14
WOA 10-09-2003
Agent Service
Message Transport Service• Scambio di messaggi• Filtri sui messaggi• Messaggio
• Agente– Coda di messaggi– Conversation Manager
Agent1Queue
MessageDelivery
MessageQueue
MTS Agent
Agent2Queue
AgentNQueue
...
?
15
WOA 10-09-2003
Agent Service
• Portabilità• FIPA ACL• Servizio Windows – Autenticazione Utente/Agente• Strumenti di amministrazione e sviluppo
– Integrazione con Servizi Web– Tool grafico per generare protocolli di interazione (AUML) – …
• Libreria di Agenti, Knowledge, Behaviour
Sviluppi