CoABS Grid Meeting Grid Requirements and Architectural Issues Philadelphia, PA - 3/24/99 Grid Requirements and Architectural Issues ALP as a Agent System/Grid (sort of) OMG Agent WG Status Craig Thompson Object Services and Consulting, Inc. (OBJS) thompson@objs.com, 972-379-3320, http://www.objs.com
Agents + the Global Grid Agent Grid - System Concept View Server Component Library Agents + the Global Grid
Requirements View Target operational requirements: Humans and agents connect to the agent grid anytime from anywhere and get the information and capability they need. Enable teams led by humans and staffed by agents. Intelligent automation -- easier application connectivity where networks of agents self-organized at run-time. Reduce the 60% of time in command and control systems spent manipulating stovepipes; incrementally replace stovepipes. Connect the $40B worth of DoD equipment that currently only interoperates with one or two other components, permitting better knowledge sharing. Another example is a process improvement in factory 1 is broadcast immediately to factories 2..N. Agent-enable object and web applications to reconfigure as new data and function is added to the system. Add capability modularly. Stable, scaleable, evolvable, reliable, secure, survivable, ... Scale to millions of agents so agents are pervasive and information and computation is not restricted to machine or organization boundaries. Survivable so if one agent goes down, another takes its place;
Agent Reference Architecture Architecture Principle: separation of concerns deconstructionist view - what can you take away and still have an agent system Agent Reference Architecture http://www.objs.com/agility/tech-reports/9808-agent-ref-arch-draft2.ppt ALP, HLA, IA policy*, management resource dial federates GRID AGENT SYSTEM single Vs. multi-agent heterogeneous* computing environ. agent systems ACLs content languages ontologies policies services open world assumption systemic grid features common services agent properties & kinds communication capability computation capability by role in system information agent data sources interface agent NLI, multimodal coop response task agent web/email agent middleware agent mobile agent, itinerary social, personality, motivation, forgetting intelligent agent ensembles # of agents* teams, peers, contracting, org. responsibility roles, capabilities, mutual beliefs hierarchy* conversational policies* societies closed vs.. open, communities of interest distribution messaging svcs* agent life cycle* - start, stop, checkpoint, name service** event monitoring leasing, compensation catalog services*, registry/repository* register*, offer/accept/decline publish*, subscribe* trading*, matchmaking, advertising*, negotiating*, brokering*, yellow pages* security** authenticate* encrypt access control lists* firewall* CIA model agent suspects transactions persistence* query, profile (of metadata)* data fusion replication* groups multicast (scarce) resource mgmt*, allocate*, deallocate*, monitor*, local, global optimization, load balancing*, negotiation for resources* scheduling time, geo-location rules, constraints planning* property list versioning, config autonomous decentralized* I*3 BADD AICE control*, coordination*, multi-agent synchronization cooperation, competition OMG JTF Jini scalability* adaptation, evolution* via market model, ... licensing & cost mobility** ONTOLOGY** Ontolingua, OKBC metadata representations interests, locations, availability, capability, price/cost XML and web object models IA secure*, trust speech acts*: ACL* - KQML, FIPA ACL, OAA ICL survivability infrastructure primitives reflection serialization threads interceptors proxies filters multicast wrappers legacy sys data sources planning* reactive* goal interactions* discrete vs. continuous* constraints iterative, revision workflow EDCS evolvability missing views MOP reliable* Quorum QoS* accuracy priorities learning by example ... More common services instrumenting, logging caching queuing routing, rerouting pedigree, drill down translation* ... xxx = Agility addresses these * = Architecture WG in Pittsburg * = Control WG in Pittsburg * = Interoperability WG in Pittsburg red = Sun Jini green = other DARPA programs time-constrained* content languages KIF, FOL, IDL, RDF DDB http://www.objs.com/agility/tech-reports/9810-agent-comparison.html http://www.objs.com/agility/tech-reports/9809-best-of-class-capabilities.htm
Agent/Grid Architecture Issues What are agents? - code and data packets that are autonomous, adaptive, cooperative, mobile, interoperable … We want all these properties in future agent-based systems. We need experience building systems with these properties. Pervasiveness - How do we insure that the architecture stays lite-weight for wide-spread adoption. Embracing heterogeneity - We must piggyback agent systems on already pervasive infrastructure like ORBs, the Web, email, and DBMS systems. We must identify the specific kinds of heterogeneity we want agent system architectures to support. Separation of concerns agent-agent separation - can agents access each other’s state directly agent-service separation - do agents implement the long list of services that the grid provides or is that done via underlying component-based middleware? grid-agent separation - agents are autonomous but they cooperate and compete for resources within the software grid. The grid provides some global systemic properties and some basic shared services. Is there an explicit grid or is it implicit in the way agents interact with each other? Are some “services” (like planning) optionally distributed into agents or are they available from the grid’s planing service? Can new services be autoloaded into a grid that does not have them? Semantic interoperability, ontology - do ontologies scale? How do they extend class libraries? Licensing - Agents, data sources, and component software need an economic model so broad communities can get value from them. A model of licensing might be critical to success in the large. Agent communication language (ACL) - Is the ACL compositional and extensible so one can define new speech acts from existing ones? How many speech acts is enough? 20 or 5000? Control points - where are the control points where different control algorithms might be substituted into the architecture Grid federation issues - How are software grids federated - flat versus hierarchical models? If different grids contain different policy choices or different services, how does that affect agents communicating across grid boundaries? Can we add new services and -ilities to a grid once it is deployed? how transparent is addition or subtraction of services and ilities Coordination - Insure Agent Reference Architecture augments DARPA ISO ATAIS architecture. Provide template for next generation unified OMG, FIPA, and W3C agent standards. Insure that reference implementations (toolkits) exist and are widely available.
Compare and contrast the ALP architecture and the CoABS grid ALP as a Grid? Compare and contrast the ALP architecture and the CoABS grid Comments the ALP architecture is not logistics-specific the current ALP implementation is (nearly) 100% Java for portability. Interoperability interfaces to non-Java environments (RDBMS, CORBA, C++, ...) are established by lower level interoperability mechanisms. Similarities an individual cluster is like an agent with plug-in components for expanding tasks, allocating resources, assessing status, and information access a society (federation) of clusters is like a multi-agent system (or possibly a grid?). Most "conventional” agent architectures impose somewhat more organization on the participants (e.g., in their use of Matchmaking components and rich ACLs) than the cluster architecture does. cluster relationships tend to mirror organizational and other dependency relationships - decentralized control possible but tends to be top down mirroring DoD command structures agents are wrappers of existing legacy functionality. (More correctly, clusters are containers. It's the plugins that wrap legacy functionality (and most of the other functionality as well; the clusters provide generic organization capabilities for the plugins, which actually do the work). Differences (at the present time) * clusters/agents are not currently mobile ALP clusters do not communicate via ACL. They communicate via directives and the log plan they are all contributing too; extending the directive vocabulary is a known issue in ALP, and one to which some kind of ACL could contribute a solution (this is noted in the design document). ALP does not currently use Traders (but see foil #8) ALP does not currently use agent frameworks (it uses Java, and Voyager now but is moving toward using Jini) there is no "list of services" that are available as in the OMG services architecture (naming, transactions, perisistence, query, ...) there is no particular provision for insertion of systemic properties into the architecture (so called iQos/ilities like security, survivability, scalability, evolvability, reliability, ...) but the architecture evidences several -ility related patterns (e.g., scalability via federation). no global grid optimization but cost functions and penalty functions provide some decentralized global control business rules are inside of plugins (when they exist at all) and not visible at the cluster level * the ALP architecture does not preclude these. It just has not addressed them yet.
References Agility Project Homepage http://www.objs.com/agility/index.html Strawman Agent Architecture http://www.objs.com/agility/tech-reports/9808-agent-ref-arch-draft3.ppt Characterizing the Agent Grid http://www.objs.com/agility/tech-reports/9812-grid.html Characterizing Grid Concepts http://www.objs.com/aits/9812-grid-report.html Systemic Properties http://www.objs.com/aits/9901-iquos.html CoABS-ALP Common Architectural Challenges http://www.objs.com/agility/tech-reports/9812-CoABS-ALP-Architecture-Challenges.html Agility Las Vegas http://www.objs.com/agility/tech-reports/9902-agents-for-the-masses.doc OMG Agent WG http://www.objs.com/isig/agents.html