scispace - formally typeset
Journal ArticleDOI

Software agents

Reads0
Chats0
TLDR
In this approach to software development, application programs are written as software agents, i.e. software “components” that communicate with their peers by exchanging messages in an expressive agent communication language.
Abstract
The software world is one of great richness and diversity. Many thousands of software products are available to users today, providing a wide variety of information and services in a wide variety of domains. While most of these programs provide their users with significant value when used in isolation, there is increasing demand for programs that can interoperate – to exchange information and services with other programs and thereby solve problems that cannot be solved alone. Part of what makes interoperation difficult is heterogeneity. Programs are written by different people, at different times, in different languages; and, as a result, they often provide different interfaces. The difficulties created by heterogeneity are exacerbated by dynamics in the software environment. Programs are frequently rewritten; new programs are added; old programs removed. Agent-based software engineering was invented to facilitate the creation of software able to interoperate in such settings. In this approach to software development, application programs are written as software agents, i.e. software “components” that communicate with their peers by exchanging messages in an expressive agent communication language. Agents can be as simple as subroutines; but typically they are larger entities with some sort of persistent control (e.g. distinct control threads within a single address space, distinct processes on a single machine, or separate processes on different machines). The salient feature of the language used by agents is its expressiveness. It allows for the exchange of data and logical information, individual commands and scripts (i.e. programs). Using this language, agents can communicate complex information and goals, directly or indirectly “programming” each other in useful ways. Agent-based software engineering is often compared to object-oriented programming. Like an “object”, an agent provides a message-based interface independent of its internal data structures and algorithms. The primary difference between the two approaches lies in the language of the interface. In general object-oriented programming, the meaning of a message can vary from one object to another. In agent-based software engineering, agents use a common language with an agent-independent semantics. The concept of agent-based software engineering raises a number of important questions.

read more

Citations
More filters
Journal ArticleDOI

Intelligent Agents: Theory and Practice

TL;DR: Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents as discussed by the authors ; agent architectures can be thought of as software engineering models of agents; and agent languages are software systems for programming and experimenting with agents.
Book

Introduction to Multiagent Systems

TL;DR: A multi-agent system (MAS) as discussed by the authors is a distributed computing system with autonomous interacting intelligent agents that coordinate their actions so as to achieve its goal(s) jointly or competitively.
Book

Developing Multi-Agent Systems with JADE

TL;DR: JADE (Java Agent Development Framework) is a software framework to make easy the development of multi-agent applications in compliance with the FIPA specifications and can be considered a middle-ware that implements an efficient agent platform and supports theDevelopment of multi agent systems.
Book

KQML as an agent communication language

TL;DR: The design of and experimentation with the Knowledge Query and Manipulation Language (KQML), a new language and protocol for exchanging information and knowledge, which is aimed at developing techniques and methodology for building large-scale knowledge bases which are sharable and reusable.
Journal ArticleDOI

Software agents: an overview

TL;DR: This overview paper presents a typology of agents, places agents in context, defines them and goes on, inter alia, to overview critically the rationales, hypotheses, goals, challenges and state-of-the-art demonstrators of the various agent types in this typology.
References
More filters
Journal ArticleDOI

Intelligent Agents: Theory and Practice

TL;DR: Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents as discussed by the authors ; agent architectures can be thought of as software engineering models of agents; and agent languages are software systems for programming and experimenting with agents.
Journal ArticleDOI

Mediators in the architecture of future information systems

TL;DR: A mediator is a software module that exploits encoded knowledge about certain sets or subsets of data to create information for a higher layer of applications as discussed by the authors, which simplifies, abstracts, reduces, merges, and explains data.
Journal ArticleDOI

Agent-oriented programming

TL;DR: The concept of agent-oriented programming is presented, the concept of mental state and its formal underpinning are discussed, a class of agent interpreters are defined, and a specific interpreter that has been implemented is described.
Journal ArticleDOI

Enabling technology for knowledge sharing

TL;DR: This article presents a vision of the future in which knowledge-based system development and operation is facilitated by infrastructure and technology for knowledge sharing, and describes an initiative currently under way to develop these ideas.

Agent Oriented Programming

TL;DR: This paper describes features of the agent oriented programming framework in a little more detail, and summarizes recent results and ongoing AOP-related work.