AgentService

Download Report

Transcript AgentService

AgentService
Andrea Gozzi, Alberto Grosso, Christian Vecchiola
l.i.d.o. – DIST University of Genova
Outline
•
•
•
•
Background
AgentService Architecture
Conclusions
Work in Progress
AgentService
Gozzi,Grosso, Vecchiola
2
Background
• Agent Concept
– An agent is an autonomous entity that
controls...
• .. its state (as objects do)
• .. its behaviour
– Interesting features
• reactivity
• pro-activity
• social-ability
AgentService
Gozzi,Grosso, Vecchiola
3
Background
• Multi-agent Systems
– Agents are designed to work togheter by
means of..
• .. competition
• .. negotiation
• .. cooperation
communities of agents (multi-agent systems)
are a productive way to exploit such capabilities
– Multi-agent systems provide..
• .. the context for agents execution
• .. services that support the activity of agents
AgentService
Gozzi,Grosso, Vecchiola
4
Background
• FIPA
– Foundation for Intelligent Physical Agents
(1996)
– Proposes standard strategies for agent
communication that apply to both the
industrial and the commercial world
– Defines..
• ..an abstract architecture
• ..agent communication language and protocols
AgentService
Gozzi,Grosso, Vecchiola
5
Background
• Agent Programming Frameworks
– Issues...
• definition of the agent model
• definition of the platform architecture
–
–
–
–
compliance with the FIPA specifications?
agent implementation and scheduling
communication system
services (persistence, white and yellow pages..)
• integration with “non agent” software and services
AgentService
Gozzi,Grosso, Vecchiola
6
AgentService
• Features
– Technology
• Common Language Infrastructure
– Platform
• FIPA abstract architecture compliance
• Extremely modular and customizable structure
– Agent model
• A common set of data defines the agent state
• Perform their tasks with a multi-behavioural activity
AgentService
Gozzi,Grosso, Vecchiola
7
AgentService
• Technology
– Why the Common Language Infrastructure?
• Component oriented platform
• New threading and communication features
– Application Domains
– Remoting
•
•
•
•
•
Language Interoperability
Portability
Open and shared source implementations
Integration with a rich set of services
CLI, C# are both ECMA and ISO standards
AgentService
Gozzi,Grosso, Vecchiola
8
AgentService
• Platform
– Designed by following the FIPA abstract
architecture specifications
– Extremely modular design
• Core Modules
–
–
–
–
Storage
Messaging
Peristence
Logging
• Additional modules
All these features are implemented
with a plug-in architecture:
• each feature is implemented as a module;
• a module does not belong to the platform core;
• core features and add-ins
– User Defined
AgentService
Gozzi,Grosso, Vecchiola
9
AgentService
Core Modules
Runtime Environment
for Agents
FIPA Service Components (Agents)
Agent Management System
- agents management
- scheduling of agent activities
- platform services supervision
- white pages services
Directory Facilitator
- agents localiztion
- yellow pages services
Agents
Additional Modules
AMS
DF
MTS
Message Transport System
- agent communication
- message dispatching
AgentService
Gozzi,Grosso, Vecchiola
AgentService platform
Platform Context
10
AgentService
• Modules
– They abstract platform functionalities
– They are hooked into the platform during
start-up
– They have access to the platform context
AgentService
Gozzi,Grosso, Vecchiola
11
Modules Life Cycle
Install
Process
Module is installed
Platform startup
Module is attached
Period of use
Platform running
Module is running
Platform shutdown
Module is detached
Uninstall
Process
AgentService
Module is uninstalled
Gozzi,Grosso, Vecchiola
12
AgentService
• Modules
– Why modules?
open ended-ness
• Core modules
– High level of customization
– Fine tuning of the platform performance
• Additional modules
– Extend platform functionalities without touching the code
base
– Easy introduction of features..
» ..that are transient
» ..that are specific
AgentService
Gozzi,Grosso, Vecchiola
13
AgentService
• Agent Model
– A software entity whose..
• .. state is defined by a managed set of data known
as Knowledge objects
• .. activity is performed by a set of concurrent object
called Behaviours
– Behaviours can
• .. express different tasks
• .. constitute sub tasks of a more complex tasks
AgentService
Gozzi,Grosso, Vecchiola
14
AgentService
• Agent Model
Agent
Knowledge objects
Observations
- General and flexible structure
- Simplicity
- Concurrent and multi-behavioural activity
- Reuse of ...
.. Knowledge types
.. Behaviour types
Behaviour objects
Runtime stubs
AgentService
Gozzi,Grosso, Vecchiola
15
AgentService
• Agent Model
– Knowledge Objects
•
•
•
•
•
“Hold the data”
Made up the agent state
Can hold any type of object
Shared among the agent’s behaviours
Subject to
– Synchronization
– Persistence (optional)
AgentService
Gozzi,Grosso, Vecchiola
16
AgentService
• Agent Model
– Behaviour Objects
•
•
•
•
“Hold the code”
Must declare the knowledge objects they use
Can be programmed like any other type
They have a special method that defines the entry
point for their execution
• Have access to the platform services
AgentService
Gozzi,Grosso, Vecchiola
17
AgentService
• Agent Model
– Runtime environment
• Accessible to every agent behaviour
• Exposes platform services
–
–
–
–
Messaging system
Persistence
Yellow and White Pages
Logging
AgentService
Gozzi,Grosso, Vecchiola
18
AgentService
• Agent Implementation
– Two different models
• Design Time: AgentTemplate
• Run Time: Agent
– An Agent is created upon an AgentTemplate
– The AgentTemplate defines the “type” of the agent
– Knowledges
– Behaviours
– The Agent is the run-time container of the
AgentTemplate and binds it to the platform
environment
AgentService
Gozzi,Grosso, Vecchiola
19
AgentService
• Agent Implementation
– Developers deal only with the AgentTemplate
– The Agent is completely managed by the
platform
– No reference to the agent can be obtained at
run time
AgentService
Gozzi,Grosso, Vecchiola
20
AgentService
• Agent Scheduling
– Each Agent is contained in a different
Application Domain
– Application Domains features
•
•
•
•
•
•
intra-process structures
execution boundaries for data and type isolation
lightweight processes
manageable as threads
different security profile
multi-threading
AgentService
Gozzi,Grosso, Vecchiola
21
Agent Activation
Creation of the
Application Domain
Agent Instance
AgentTemplate
template
Knowledge types and default instances
Behaviour types and default instances
Runtime stub
All the assemblies needed
to create agent defined by
the template X are retrieved
Registration
logging
persistence
AMS
DF
MTS
messaging
storage
User request:
create an agent of type X
AgentService
Gozzi,Grosso, Vecchiola
Upload of assemblies containing:
- AgentTemplate type
- Knowledge and Behaviour types
22
AgentService
• Agent Programming eXtensions
– Based on the C# grammar
– Full client of the object oriented model of the
CLI
– Definition of templates
• Agents
• Behaviours
• Knowledges
– Semi automatic handling of concurrent
knowledge access
AgentService
Gozzi,Grosso, Vecchiola
23
Agent Programming eXtensions
AgentTemplate class
Knowledge objects
- K1 myKnow1
- K2 myKnow2
Behavior objects
- B1 myBehavior1
- B2 myBheavior2
+ Initialize method
+ Finalize method
// other methods..
AgentService provides particular classes to
implement the previous agent model. It needs an
opportune programming pattern to develop a
“safe” agent.
agent AgentName {
knowledges {
K1 myKnow1;
K2 myKnow2;
}
behaviors {
B1 myBehavior1;
B2 myBehavior2;
}
init {
// agent setup and initialization
// mostly C# code
…
}
done {
// agent cleanup and resource release
// mostly C# code
…
}
APX provides a more agent oriented interface and
}
hides the underlying object oriented model of the
platform.
AgentService
Gozzi,Grosso, Vecchiola
24
Conclusions
• The key features of AgentService are
– The Agent Model
– The Scheduling of Agents
– Modular Architecture
• AgentService can be an effective agent
programming environment thanks to..
– ..the technology support of CLI
– ..its innovative conception of either the agent
and the platform environment
AgentService
Gozzi,Grosso, Vecchiola
25
Work In Progress..
• Agent Programming eXtensions
– Complete integration
• FIPA ACL Compliance
• Administrative Tools
– Remote administration and WS integration
– Interaction protocol designer (AUML)
• Agents, Knoweldges, Behaviours “off the shelf”
• Applications
– Biological system simulations
– Auction systems
– Scheduling systems
AgentService
Gozzi,Grosso, Vecchiola
26
thanks for your attention..
AgentService
Gozzi,Grosso, Vecchiola
27