OMG Agent Working Group

Minutes of Meeting #11

Minutes:  Craig Thompson

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


News


Agenda


Attendees

Executive Summary

Agent Working Group voted to recommend itself to the OMG plenary as a platform SIG, upgraded from a Working Group. We heard a tutorial on Agent Communication Languages and learned about the FIPA Abstract Architecture and a move by Sun-IBM-Fujitsu-HP to seed the area with an Agent Services Architecture and Java reference implementation. Plus we had several informational presentations and discussed the agenda for the Orlando meeting, to focus on topics including mobility, security, and domains/policy and invite experts in these areas.

Introduction to Agent WG Program of Work, Craig Thompson and James Odell

Craig reviewed the work to date of the Agent Working Group - see the homepage at http://www.objs.com/isig/agents.html, especially the standing documents section. Progress includes the mission statement, liaison with FIPA, Agent Technology RFI, Agent Technology green paper, and a White Paper roadmap for agent technology. In more detail, James Odell described progress on the Agent Technology Green Paper, which overviews the scope of the technology area and invited inputs.

Discussion/Vote: Escalate Agent WG to Agent SIG and review draft Mission Statement, Craig Thompson and James Odell

Currently Agent WG reports to Internet PSIG and Electronic Commerce DTF. We discussed whether Agent WG should escalate to a Platform SIG. Thompson described discussions at previous meetings that indicated it should and outlined the main issues and consensus reached previously: Thompson then reviewed a draft mission statement for a new Agent SIG based on the working group charter and updated by Thompson and Odell and posted on the OMG server. A little discussion but no wording changes.

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:

Next Meeting - Orlando

Potential topics:


Presentations

The rest of the minutes are notes - might not be as coherent as the presentations themselves, which will be linked in ASAP.

Tutorial: Agent Communication Languages, Yannis Labrou

See OMG document agent/00-09-05

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 -

Issue:

FIPA Abstract Architecture, David Levine, IBM

See OMG document agent/00-09-06

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

Q: why is an agent not an object? If it was, it would have one method called accept a message. The communication between autonomous things (that might have different implementations) and late bindings.

Agent-based Manufacturing Application Developed at NIST, Liz Fong, NIST

See OMG document agent/00-09-07

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.

Extending Rational Rose to Support MAS Design in UML, Renato Levy, Intelligent Automation Inc (IAI)

See OMG document agent/00-09-08

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.

Swarm Intelligence, James Odell

See OMG document agent/00-09-09

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.

Go! - LP for the Internet Area, Frank McCabe, Fujitsu

See OMG document agent/00-09-10

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.