Burlingame, California
September 11-12, 2000
Co-chairs: Stephen McConnell, James Odell, Craig Thompson
Agent Working Group reports to ECDTF and Internet PSIG
OMG Agent WG homepage: http://www.objs.com/agent
OMG Document: agent/00-09-04
Vote: Jim Odell moved to recommend to TC to escalate Agent WG to become a Platform SIG. David Levine seconded. White ballot. Jim Odell will represent this vote at the Friday plenary meeting.
Discussion followed:
Introduction - Agents are a meeting point for distributed objects, databases, info retrieval, … maturity is like objects in the early 1980s. Agents are: autonomous, goal directed, taskable, situated in an environment, cooperative, communicate with other agents or software or people, adaptive. Mobility and intelligence are secondary properties but a requirement is separately developed. The focus is communication - also addresses heterogeneity via providing a common language. This involves understanding the vocabulary and how to use it to achieve goals. FIPA ACL is about knowledge sharing (fastc, rules, constraints, … semantics) where objects are about sharing mechanisms and state. Wish we could also share plans, beliefs, goals, and intentions, experiences, and strategies. Messages are transported by SMTP, TCP/IP, HTTP, IIOP… ACL defines a set of messages but patterns of messages are conversations/protocols. Need some model of other agents within an agent.
Foundations - We divide language into syntax, semantics, and pragmatics. KIF is focused on syntax, Ontolingua focused on semantics (both these make up propositional part), and KQML on pragmatics (propositional attitudes). Speech Act Theory and BDI (Belief - Desire - Intentions). Speech acts are understood in terms of intentional description of system). Agents have a knowledge store of facts and have propositional attitude <agent, fears, raining now>. We might ascribe properties to a system but the utility is, does it help explain how a thing works. As I make assumptions about code, data structures, … then many interop problems go away but without these assumptions, what do we do to get a system to be interoperable? The name of the game is to communicate BDI from one agent to another. In speech act theory, a sentence is not just T or F but the locution (utterance), illocution (conveying the intentions), and perlocution (results of the action). An ontology cast in the DBMS area - the table has a schema but you have to add a bunch of conceptual schema info that adds additional info that value is in US dollars and the part is part of an auto and … In XML terms you need something like RDF to say more about the tokens.
Knowledge Sharing Effort (KQML, KIF, Ontolingua) and FIPA - Aim was tools for sharing knowledge. KIF provides first order logic with set theory. Was intended as an Esperanto. Ontology is common vocabulary. Ontolingua was based on KIF and provided tools for defining collections of related terms. KQML is independent of transport, ontology and higher level protocols like contract net or auction. There is an assumption of a minimum infrastructure like name server, visualizer, certificate server - not part of definition of ACL. KQML syntax is Lispy and irrelevant but the performatives are important as well as the arguments in attribute value pairs (sender, receiver, ontology, language, content in some language, …). Most of the parameters are in every kind of performantive message. Insert/Uninsert/Delete-one or all, Tell/Untell, broadcast/Forward, Achieve/unachieve, broker-one/recommend-one, Advertise/unadvertise, deny/subscribe, stream/eos, standby/ready/next/rest/discard, ask-if/ask-one/ask-all. Not all agents understand all the commands. A question results in an error, refusal, an answer, or a deferral. Broker, Recommend, Recruit are facilitation performatives. Napster is a Recommend. Gneutella does not know who recommended it. You can actually compose the primitives into patterns. FIPA has a variant collection of speech acts - inform, query, subscribe, task delegation, request and refuse, negotiate, propose and accept or reject proposals. There are a bunch of KQML and FIPA compliant platforms, listed. Infosleuth, KaOS, LM, … plus similar list of FIPA platforms.
ACL Semantics - Cohen and Levesque define rational agency. One basic idea is the notion of a persistent goal, for instance, like wanting to become a president. Long description of Tell (and Inform) . So how do FIPA ACL and KQML relate? Their syntax is the same - but the meaning is different even between ask and tell so you cannot translate between them. These semantic frameworks are complex and unless your agent is programmed to be sensitive to belief and intention the semantic differences are irrelevant. (There is a movement in FIPA to get alternative semantics).
Future trends -
If we cannot say "an agent is an object which .." then how do we splice agents into objects environments. FIPA is poorly named but about objects, a mix of industry and academics. The focus is intentional agents and reasoning but pragmatically. The abstract architecture is bashing the architecture into ISAs and HASAs. Provides a well structured blueprint. It does not have to be implemented as OO components. All described in UML. But can be implemented in any technology, e.g., Java thru Java Community Process. A goal is to get a component business going.
Communication agents are inherently middleware in nature and will be deployed across the Internet and Web. It is natural to build agents out of objects even if an agent is not an object which. Wrap existing components when you can.
Essentially, all FIPA things will be translated into Java instances in a reference implementation. Will tie to OMG and services.
Discussion: Java Community Process (JCP) is going to result in a suite of agent services. See java-agent.org. This is a HP, Sun, Fujitsu, IBM proposed Java standard including a reference implementation. This will come up for conformance testing.
Future Work
This group is part of NIST’s Internet Commerce Manufacturing. This work is in Circuit Boards and Electronic Assembly, focused on Assembly but closer to the architecture level. The ICM testbed is aimed at conformance testing and finding software toolkits in the manufacturing process. How XML, RosettaNet, OAG BOD’s, IPC, GENCAM fit. Why agents: want software infrastructure that supports business processes. Look at agents as distributed software process. Interested in agents customizing forms, negotiating on cost and terms of service, workflow of change orders, hooking legacy systems together (so agent wrappers?), lots of language, data heterogeneity. Types of agents: interface agents, searching and management and discovery agents, brokering agents w interest matching, negotiation and analysis agents. Not mobility or belief. EX RFQ scenario - request for quote. Using Jackal open source from IBM being worked on at NIST. Agents seem to have these advantages: save steps and time and cost. NIST Testbed site (linked to Agent WG homesite) is a neutral challenge problem.
They deliver at FIPA level and below via toolkset - Cybele, an agent infrastructure distributed computing and interagent communication - hides threads, load balancing, within Java. DIVA is case tool that works above Cybele. Talking about 1200 agents working on a single system, car by car for Washington corridor. Cybele does plumbing. For CASE, they build 3 level architecture - role layer, adapter objects, ad domain layer. This will be open source soon. Has developed a plug and play capability to add new modules. Their main client is NASA. Had to make a lot of add ins to Rationale Rose, not very easy to extend.
Rose is complex and hard to extend, especially visual extensions. UML good for description language but too free form to generate code.
Jim showed a simulation of birds flocking, Lion king w wildebeests flocking, penguins in batman, … all these are autonomous agents with simple rules. Evolution of reaction, reasoning, learning, and evolution. Reactive: when event if condition then action. When you chain, you get an expert system. Evolution is learning across generations. Mechanisms are neural nets, genetic algorithms (via cross over and mutations), …, swarm intelligence - look at social insect behavior. Example is ants and pheromones but you can apply this to routing phone calls or painting in factories. Strong pheromones give you fastest paths. Called ant-based communication. Finds good solutions fast even for traveling salesman. Another simulation if termites moving wood effectively sorting the piles.
We are on the brink of a navigational complexity gap - systems will need late binding all the time as the world is getting more complicated and heterogeneous. Software build time too long - when ready the system is already obsolete. Programmers and developers are not liable for their work. The Internet changes everything. Into this world (high integrity and high security) comes Go! An Internet logic programming language.
Go! Is simple - function, relation and theta expression, uses strong typing. Programs are first class entities. Disciplined access to resources via some kind of guard. Also disciplined assignment. No public. Governed by language compiler implementation. Pretty concise. Will eventually be open source.