A logic based language for networked agents

https://doi.org/10.1016/S0950-5849(98)00061-5Get rights and content

Abstract

This paper presents a logic based language, SAFIN, for developing networked software agents. It integrates agent-oriented programming, KQML and basic mobile techniques to support intelligent behaviors, software interoperatablity and code transportability. As prototype based logic objects, agents are composed of network connections, knowledge bases (facts and beliefs), databases, behaviors, constraints, services, goals and KQML performatives. An approach to non-monotonic inheritance with both predicate level and clause level knowledge reuse is proposed and formally defined. Multi-level components and the interfaces to FTP services and relational database systems are also provided for developing specific distributed agents.

Introduction

With the development of the Internet, a revolution has been taking place in the area of information. Meeting information demand has become easier on one hand, but has also become more complicated and difficult on the other. The inquirers for information are being confronted with an information overload. The traditional information techniques fail to a great extent on the Internet because of the dynamic nature and the heterogeneity of the information and the services. On the other hand, the interoperatablity and the knowledge sharing and reuse also become very important, as more and more people cooperate across the Internet, and various applications incorporate richer data formats and communication protocols. What users need is an infrastructure that allows clients and servers to extend the interfaces for specialized tasks.

This paper presents a logic based language, SAFIN, for developing networked software agents. It integrates agent-oriented programming, KQML and basic mobile techniques to support intelligent behaviors, software interoperability and code transportability. As prototype based logic objects, agents are composed of network connections, knowledge bases (facts and beliefs), databases, behaviors, constraints, services, goals and KQML performatives. An approach to non-monotonic inheritance with both predicate level and clause level knowledge reuse is proposed and formally defined. Multi-level components and the interfaces to FTP services and relational database systems are also provided for developing specific distributed agents on the Internet.

The rest of this paper is organized as follows. Section 2gives a brief survey of related work on agent languages and systems. Section 3describes SAFIN, and in particular the architecture and the features. Section 4specifies the components of networked agents. Section 5presents the non-monotonic inheritance and its formal specifications. Section 6discusses the knowledge processing. Section 7exemplifies the language by an application. Finally Section 8discusses the main contributions of our work.

Section snippets

Review of current work

The field of intelligent agents is a very hot topic in computer science at the moment. Shoham [1]introduced agent-oriented programming, and defined the language Agent0. The main components of Agent0 are a mental state and a set of actions. This language has been extended by PLACA [2], which introduces some operators for planning to do actions and achieve goals. Concurrent MetateM [3]is a temporal logic based language. Agents communicate with each other through a broadcasting mechanism and the

The SAFIN language

SAFIN, a logic based language, focuses on the prototype-based object model and the non-monotonic inheritance, as well as a number of agent properties, such as autonomy, social ability, mobility and collaboration. It adopts the federated system as the architecture and KQML 9, 10as the embedded communication language. In the parameters of KQML performatives, meta-variables are allowed (e.g. :content in Fig. 1). This is very useful in practical applications, especially in the case that the

Network connection

Network connections are specified by the `from', `to' and `goto' facts. When an agent gets started, it takes the `to' declaration as a guide of connecting with others, whereas the agents receiving connection requests will check the authority according to the `from' specification. This provides a basic mechanism for network security. The `goto' declaration indicates that the agent will be transmitted to other machines.

Knowledge base and database

A knowledge base is composed of facts and beliefs in logic. The interfaces to

The non-monotonic inheritance

New agents may be defined by reusing some components of existing agents, i.e. by inheritance. while a SAFIN agent inherits or shares the properties except goals of its supers, such as knowledge (facts and beliefs), database, constraints, behaviors, services and connection, it can exclude, that is not inherit, some specified properties by the `except' declaration. However, the super-agent's constraints are always inherited. On the other hand, an agent may override some inherited properties

Knowledge processing

After the operations specified in Section 5, the first thing is to deal with related facts and clauses of connections, knowledge and behaviors available in agents, that is, to eliminate the extension mark (`#') directly from the facts and clauses and transform the negative facts and clauses into normal clauses. Thus the problem solving methods for general logic programs would be extended for our purpose. For SAFIN, there are two ways of problem solving. (1) Single-solution: determine whether a

An application

To illustrate SAFIN agents, we first introduce two simple kinds of agents, airline_clerk and airline_customer, which are partially shown in Fig. 5 and Fig. 1 respectively. The airline_clerk agent acts as a server that processes requests from airline_customer agents about what the flights are, whether a flight has seats, confirming flight reservation and so on. There may be many airline_customer agents distributed on the network, which can communicate with the airline_clerk agent simultaneously.

Conclusions

We have presented the logic based language, SAFIN, for developing distributed agents. It provides several approaches to knowledge sharing and reuse by the well-accepted standard communication language, prototype-based object model, inheritance, and component techniques. The main contributions of this paper include: (1) the prototype-based object model for agents which are composed of network connections, knowledge base (facts and beliefs), database, behaviors, constraints, services, goals and

Unlinked references

25, 26, 27, 28, 29, 30

Acknowledgements

The author would like to thank Mr Guanling Chen, Mr Haijiang Qi for their efforts to implement the experimental system, and Dr Xiaocong Fan for his comments. The author is also grateful to Prof. Martin Shepperd and the referees for their useful comments and suggestions. The work has been supported by the Youth Foundation of National Hi-tech Research and Development Plan (863-306-02-06-4) and National Natural Science Foundation grant (69605003).

References (30)

  • Y. Shoham

    Agent-oriented programming

    Artificial Intelligence

    (1993)
  • S.R. Thomas, The PLACA programming language. In M. Wooldrige and N.R. Jennings, eds, Intelligent Agents, LNAI Vol. 890,...
  • M.A. Wooldrige, Knowledge-theoretic semantics for concurrent METATEM. In J.P. Muller, M. Wooldrige and N.R.Jennings,...
  • R. Li and L.M. Pereira, Knowledge-based situated agents among us. In J.P. Muller, M. Wooldrige and N.R. Jennings, eds,...
  • F.G. McCabe and K.L. Clark, April-Agent Process Interaction Language. In Proc. ECAI-ATAL'94, Amsterdam, The...
  • H. Haugeneder, D. Steiner and F.G. McCabe, IMAGINE: a Framework for Building Multi-Agent Systems. In S.M. Deen, ed.,...
  • A. Poggi, DAISY: an Object-Oriented System for Distributed Artificial Intelligence. In ATAL'94, LNAI, Vol. 890, pp....
  • M.R. Genesereth et al.

    Software agents

    C. ACM

    (1994)
  • T. Finin, J. Weber, et al., Specification of the KQML Agent-Communication Language, The DARPA Knowledge Sharing...
  • Y. Labrou and T. Finin, A Proposal for a New KQML Specification, Techinical Report CS-97-03, University of Maryland...
  • H. Jeon, JATLite: Java Agent Template Lite(Release 0.4), CDR, Stanford University, URL:...
  • J. Barbuceanu and J.S. Fox, The Design of a coordination language for multi-agent systems. In J.P. Muller, M.J....
  • D. Gauvin, H. Marchal and V.D. Donne, LALO: an AOP language, URL: http://www. crim.ca/sbc/english/lalo, March...
  • H.E. Davies and P. Edwards, Agent-K: An Integration of AOP and KQML, Available from:...
  • The Foundation for Intelligent Physical Agents (FIPA), Available from: http://drogo.cselt. stet.it/fipa/, or...
  • Cited by (7)

    View all citing articles on Scopus
    View full text