Agent Grid http://www.objs.com/agility/index.html PI: Craig Thompson Object Services and Consulting, Inc. (OBJS) firstname.lastname@example.org, http://www.objs.com DARPA coABS Program PM: Jim Hendler. Acknowledgements to Brian Kettler (ISX) and Frank Manola (OBJS). Server. Server. Component.
PI: Craig Thompson
Object Services and Consulting, Inc. (OBJS)
DARPA coABS Program
PM: Jim Hendler
Acknowledgements to Brian Kettler (ISX) and Frank Manola (OBJS)
Agent Grid - System Concept View
Agents + the Global Grid
Goals of Grid Vision Effort
capture shared vision for Grid from CoABS community to guide development of Grid prototypes
communicate vision to potential Grid users
GITI/ISX has put out a strawman draft for discussion
GITI/ISX Vision Team coordinating the process
Vision Doc Ver. 2.0 (June 1999) - released internally to CoABS
Current version is not necessarily a proper subset of CoABS Program Vision...
Will capture additional community inputs and iterate...
discussions at the June workshop
bottom-up inputs from prototype building experience
establish “affinity groups” to produce interface descriptions for specific services
coordination with ALP, CPOF, CAST, and other effortsGrid Vision: “Meta” Comments
moving from “sneaker net” to network-centric to information-centric systems exploiting interconnectivity
e.g., USAF Global Grid (C2 CONOPS), USAF SAB Battlespace Infosphere, ABIS Information Grid, etc.
enabled by faster, cheaper hardware and software technologies (telecomm, WWW, Java, etc.)
How do we go from isolated applications to interconnected and interoperating “super applications”* (aka “systems of systems”*)that can work together to solve complex tasks in dynamic environments and that are built with minimum effort and maximum reuse?
*need a new name for these conceptsThe Challenge
Rapidly configure a collection of military command and control systems in 24 hours to handle a new kind of crisis involving a coalition of the US and various countries that have never worked together before….
Need a “super application” tailored to the current crisis and battlespace...
Tasks to achieve:
establish interconnectivity (networks, etc.) over a wide area
establish interoperability among systems (syntax and semantics of data exchanged)
manage computing and data resources and protect them from misuse (by enemy and coalition members)
allow human C2 staff to interact with the super application
reconfigure the super application to handle changes in the mission, battlespace, coalition membership, collection of IT systems and resources (computing, comm, and data) available, etc.An Example
“Your forces might be dynamically reassigned to a new plan; your computer equipment…might briefly be recruited to run a meteorologicalsimulation by a load-balancing agent; due to your personal expertise inArabic, you might receive documents to translate, or perhaps not if theGrid realizes your time is already claimed by other responsibilities.”
“All resources - mental and material, human and non-human, permanentand ephemeral - are balanced by the Grid. Goals are reconciled byagents in the Grid and priorities are established.”
“Whatever kind of agent you are, when you enter the Grid, youimmediately become part of a larger, coherent system. And when you leave the Grid…the Grid prepares for your return by generating statusreports, reading and summarizing your mail, planning how to use yourresources, and so on.”Target Agent Grid Capabilities
including legacy systems/applications, objects, agents
components built by different people for different tasks over long periods of time
Must operate continuously, with high reliability, in dynamic environments
requirements always changing
system (re)configuration must be done quickly, with minimal programmer effort - ideally at runtime
Must interact with human users
humans need to understand and influence the operation
Must “play nice” with other super applications
share resources, avoid deadlock, etc.Super Applications: Key Requirements
e.g., in CoABS there are agents from RETSINA, OAA, TEAMCORE, etc.
they have different kinds of agents and different control strategies and agent communication languages
what interoperability mechanisms are needed for agent communication, etc?
standards, protocols, services
How do non-agent components play?
objects, legacy applications, etc.
e.g., via wrappers, proxies, etc.Some Challenges in Using Agents to Build Super Applications
Integration/OOTW TIEs (initially NEO domain)
1-2 dozen agents from different agent architectures
manually assembled for initial demo
custom-built interoperability agents (e.g. RETSINA-OAA)
Grid will simplify above by providing more general interoperability services and reducing the services that an agent developer must build
Scalability TIEs (agent control, mobility, etc.)
Grid will provide testbed to host a set of agents and collect data on those agents for hypothesis testing via Logging, Visualization, and other services
Other user application domains will supply requirements for Grid-enabled super applicationsSources of Requirements for the Grid
components can discover one another at runtime:
agents can declare their capabilities: functions performed, interfaces, languages, etc. (These capabilities and interfaces can adapt.)
middle agents can match needs to capabilities and provide brokering, facilitation, translation, etc.
components can establish interoperability in order to cooperate on the task at hand (exchange knowledge and provide services)
agents can communicate using shared languages, ontologies, & protocols.
agent can negotiate subtasking, resources, communication protocols
the organization/configuration and behavior of the team can change if the task, situation, or computing environment changes
agents can represent and reason about the goals and beliefs of other agents and users. They can self-organize into teams that have team goals.
agents can detect changes and adapt their behavior
agents can work offline, and some have mobilityAgent Technology Enables Super Apps
collection of standards, protocols, services, libraries, wrappers, and low-level infrastructure
augments, but does not replace, services within particular infrastructures: the Grid is not another “reference architecture” (i.e., heterogeneity is embraced)
e.g., The Internet provides interoperability (via gateways, services, and standards) between heterogeneous computer networks.
A dynamic collection of agents using this infrastructure
e.g., The Internet is both the plumbing and what uses itThe CoABS Agent Grid is…
Component interoperability (with semantics)
Teams of diverse, distributed components
Metadata directory services (white/yellow pages)
Ontology services (capability/need advertisement)
Facilitation services (find/recruit components)
Comm mechanisms/infrastructure (messaging)
Translation services (interoperability)Super Application Self-assembly & Reconfiguration
Reliability and Security
Understandability and Taskability
Team coordination services
Exception management, component lifecycle management, security services
Logging and event services
Visualization servicesSmooth-running, Efficient Super Applications
Infrastructure services and adapters
Exception mgmt., translation, mobility, component lifecycle
Logging, event, visualization, simulation, debugging
Policy and protocol management services
Grid mgmt. services (start, monitor, manage, maintain Grid services and infrastructure)Easy to Build/Maintain Super Applications
A set of connected resources
Advanced capabilities for integrating them
Agents + services such as:
Infrastructure (Jini discovery & join, messaging, …)
Metadata directory (naming, registration,…)
Facilitation (matchmakers, brokers, facilitators,…)
Lifecycle and Grid management
Logging & event management
VisualizationArchitectural View of the Agent Grid
deconstructionist view - what can you take away
and still have an agent system
Agent Reference Architecture
ALP, HLA, IA
agent life cycle* - start, stop, checkpoint,
brokering*, yellow pages*
access control lists*
CIA model agent suspects
query, profile (of metadata)*
(scarce) resource mgmt*, allocate*, deallocate*, monitor*,
local, global optimization, load balancing*, negotiation for resources*
via market model, ...
licensing & cost
speech acts*: ACL* - KQML, FIPA ACL, OAA ICL
xxx = Agility addresses these
* = Architecture WG in Pittsburg
* = Control WG in Pittsburg
* = Interoperability WG in Pittsburg
red = Sun Jini
green = other DARPA programs
Augment services provided by “local” agent architectures
Grid limited in its visibility & control of indiv. agents
Need an architecture/infrastructure that allows plugging in of services easily
various service access mechanisms (ACLs, APIs, etc.)
Distinction between services in and on Grid is blurry
e.g., route planning agent could be used by military planning agent or by Grid mobility service
Goal is to encourage “market” for Grid services
standard interfaces with multiple implementations
Leverage existing CoABS/external technologyGrid Services
message delivery, bandwidth adaptability, etc.
leverage: Internet, CORBA, HTTP, Java RMI, JINI, etc.
Grid Management (for administration of Grid)
enable human/agent control of Grid services, resources
leverage: visualization services, policy services, etc.Grid Operation Services
white pages, yellow pages
leverage: lightweight vocabularies, XML, RDF, LDAP, JINI, CORBA Naming/Trader, OODB/DBMS, etc.
Ontology Management (compon. discovery, interop.)
store & provide access to ontologies, inferencing
leverage: KB work, XML, etc.
Translation (for interoperability)
between agent comm languages (primitives, content, ontologies)
Facilitation (for interoperability, task achievement)
matchmakers, brokers, etc.
leverage: intelligent matching, blackboards, etc.Component Interoperability Services
agent/component instantiation/birth, death, cloning, status
Mobility (for dynamic adaptability)
agents move while running to other computing nodes via docks, itineraries, etc.
leverage: Java, security services
Security (for resource protection)
user/agent authentication, access ctrl, encryption, etc.
leverage: DARPA IA/IS work, CORBA/Java Security
Team Coordination (for teams to achieve tasks)
dynamic team formation and tasking, team monitoring
leverage: team-oriented programmingSuper Application Operation Services (1)
user/agent authentication, access ctrl, encryption, etc.
leverage: DARPA IA/IS work, CORBA/Java Security, etc
Exception Mgmt. (for fault tolerance/recovery)
detect and handle common agent exceptions
leverage: ontology of exception types & strategies
Logging/Event Mgmt. (for debugging and analysis)
capture agent activities, messages, etc. - can mine this data
enable sharing of common events (via triggers, etc.)
leverage: XML, CORBA Events, JINI Events, etc.Super Application Operation Services (2)
show agent activities/messages (for debugging, etc.)
show problem-solving activity/results (for end-users)
leverage: GUI technology (2D/3D, VR), HTML, etc.
Policy/Protocol Mgmt. (for customization)
library of policies and protocols for security, comm, etc.
support building super applications on the Grid tailored to particular domains/tasks
supports user admin of Grid and dynamic selection & negotiation on protocols by agents at runtime
leverage: protocol/policy representation work
includes instrumentation, simulation, visualization, etc.Super Application Operation Services (3)
Further integration with Internet/Web technologies, e.g.,
Use of XML in agent technologies
Internet as agent communication mechanism
Further integration with components / service architectures, e.g.,
Increasing use of Java technology (e.g., Jini)
Agent Grid (CoABS): “agentized Object Services Architecture”Directions
Information, Sensor, and Engagement grids
e.g., ABIS, Network Centric Warfare
Layered technical grids
adds behavior to data grid and links data and links them
Object enhancements to the Web an illustration
Agent grid (object grid plus “smarter objects”)Layered Grid Perspectives
A computational grid allows formation of larger “virtual computers” from combinations of physical computers
A data grid allows formation of federated data collections from combinations of existing data
An agent grid allows formation of new agents (teams) fromcombinations of existing agents
Ideally, the compositional mechanisms will supporta closure property
The resulting compositions can be treated as individualentities at that level for further compositionLayered Technical Grids
http://www.objs.com/aits/9901-iquos.htmlSome Referencessee http://www.objs.com/reports.html
agents augment objects with additional capabilities
Object Component Agent ?
Information includes anything exchanged, e.g.:
Data (control or domain-related)
Operation invocations on objects
Interoperability is based on various agreements(shared assumptions) among the interacting objects about the information exchanged
Disagreements may limit the possible interoperability,(partial interoperability is possible) or deny it entirelyWhat is Interoperability?