• No results found

Agent Oriented Software Engineering. A Motivation for and an Introduction to a Novel Approach to Modeling and Development of Open Distributed Systems

N/A
N/A
Protected

Academic year: 2022

Share "Agent Oriented Software Engineering. A Motivation for and an Introduction to a Novel Approach to Modeling and Development of Open Distributed Systems"

Copied!
20
0
0

Loading.... (view fulltext now)

Full text

(1)

KARLSKRONA RONNEBY

Research Report

5/94

Area: Computer Science

“Agent Oriented Software Engineering”

A motivation for and an introduction to a novel approach to modeling and development of open distributed systems

Rune Gustavsson

ISSN 1103-1581

ISRN HKR-RES --94/5--SE

Hijgskolan i Karlskrona/Ronneby, S-371 79 Karlskrona Tel: 0455 - 780 00 Fax: 0455 - 780 97

(2)

Rune Gustavsson

Agent Oriented Software Engineering

A motivation for and an introduction to a

novel approach to modeling and develop-

ment of open distributed systems

(3)

2~19)

Introduction

The purpose of this paper is to give a short motivation for and an intro- duction to a novel approach of how to view and develop flexible open distributed systems of the future. We propose that the emerging style of Agent Oriented Sofnyare Engineering (AOSE) has high potentials as a

candidate for future models of system development.

We indicate in this paper some recent and upcoming applications of AO- SE. Furthermore, we round off the paper by giving an overview of an ongoing project within an AOSE frame work, Societies of Computation (SoC) at the University of Karlskrona/Ronneby. We also give an over- view of an experimental SoC-platform, developed together with Sydkraft AB, for applications in Intelligent Distribution Automation .

Background

The software world is one of ever increasing importance to almost every aspect of the emerging information based societies of today and tomor- row, ([ 191). Of particular interest are the creations of so called infor- mation highways where an integration of the worlds of computing and communication take place.

Many thousand software products are available to users today, providing a wide variety of information and services in a wide spectrum of do- mains. While most of these programs provide their users with significant value when used in isolation, there is an increasing demand for programs that can interoperate - that is exchange information and services with other programs and thereby solve problems that can not be solved alone.

Part of what makes interoperation difficult is heterogeneity. Programs are written by different people, at different times, in different languages.

Consequently, they often provide different interfaces. The difficulties created by heterogeneity are exacerbated by the dynamics in the software environment. Programs are frequently rewritten, new programs are added, and old programs are removed.

Furthermore we have to face aspects of the so called Software Crises due to insufficient methods and tools for industrial development and mainte- nance of software, especially facing distributed and open applications.

Object oriented programming is one of promising techniques of the last decade for better software development practices. However, OOP has some well known drawbacks when it comes to product development, es- pecially for distributed applications. It is by now evident that the metho- dologies of concurrent object oriented systems does not meet software en- gineering criteria for efficient and easy maintainable software for open distributed systems, ([ 11). For instance, the increasing use of shared soft-

(4)

ware in a distributed user environment demands maintenance of software on the fly, i.e. without stopping the system. This kind of interoperability is not easily achieved with current software and styles of SE.

Natural extensions of object oriented programming styles have recently been proposed, ([20], [21]). Those novel ideas can be denoted as Agent Oriented Software Engineering (AOSE) for Multi Agent Systems (MAS), and seems to imply very promising views supporting efficient and cost effective styles for development and maintenance of open distri- buted systems. AOSE is an emerging collection of ideas and techniques invented to facilitate the creation of software able to interoperate in set- tings as indicated above.

At present, agent oriented implementations and pilot systems have been developed for different types of applications ranging from decision sup- port, learning support, network (resource) management, concurrent en- gineering, integrated production, battle field simulations, and intelligent interfaces providing user support, ([3], [7], [lo], [12], [18], [23], [24], [25]). The agent are often composed of re-usable problem solving com- ponents and are embedded in information systems.

Basic principles of Agent Oriented Systems (AOS)

The AOS view is to regard a distributed system as an open society of communicating (semi)autonomus agents. We thus have a distribution of computation as well as of control. In this system view, agents can be eit- her humans or software components. 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.

Agent oriented systems can be regarded as a natural evolution of com- putation paradigms. Our ability to create software to model ever inc- reasing complex real world applications is tightly coupled to our ability to invent and use powerful abstraction mechanisms, coupled with metho- dologies and tools for software development.

During the seventies Wirth coined the well-known metaphor Programs = Algorithms + Data structures (1)

This metaphor expresses the possible trade-off between algorithms and data structures for efficient computing. Much research has been devoted to exploring different aspects of this metaphor for computing. Structured programming and typed languages are some of the spin-off to the soft- ware engineering community of these efforts. Equation (1) also expresses

(5)

4(19)

some short comings with this type of approach. The algorithm expresses both the knowledge of what and how to do the computation. This hard en- coding of control makes the corresponding software difficult to change and maintain.

During the late seventies and early eighties a declarative style of prog- ramming was advocated as a mean to overcome those shortcomings. Ko- walski highlighted the principles behind logic programming with the equation

Algorithms = Logic + Control (2)

This explicit separation of the What and How increases software produc- tivity and quality as well as possible reuse of the Logic part. An other illustration of equation (2) is the paradigm of rule based programming.

This style of programming enabled the development of the first genera- tion of knowledge based systems. The control, implemented as a match- select- execute cycle, allows for modular design and bi-directional inte- raction with the user.

During the eighties we have witnessed the emergence of object oriented design as a way to increase software productivity (and reusability) by encapsulate data and computational mechanisms as objects. However, present day object oriented methods are not well suited for distributed open applications. The agent oriented systems view seems to better ex- press the right abstraction , and hence to be more appropriate for this type of applications.

The AOS view of computation can be summarized as

Computation = Agents + Communication (3)

The equation expresses the distribution of computation as well as of cont- rol and also concurrency as well as openness. Agents can be, as said a- bove, humans or programs.

While agents as programs can be as simple as subroutines, typically they are larger entities with some sort of persistent control. The salient feature of the language used by agents is its expressiveness. This is the key idea supporting an implementation independent high level (knowledge level) view of the distributed system at hand ([27]). This in turn enables metho- dologies and tools for development and maintenance of open distributed system with components implemented in different styles and languages.

(6)

The underlying idea behind the equation (3) above is that we can under- stand and design the emerging behavior of a complex distributed system at a high level as the behavior of an intentional system. In an intentional system, we describe entities as being rational and having attitudes such as intentions, beliefs, goals and having capabilities for making commitments.

The intentional stance on open distributed systems has proven to be an promising abstraction tool, which provide us with a convenient and prac- tical computational model to support AOSE.

The agent language can be compared to a human like language in style and purpose. Human languages are expressive enough for humans to ex- change different types of information in order for purposeful collabo- ration, as in equation (3) above. In linguistics, we separate between the purpose and the content of the information exchanged, in this case called speech acts. Agent languages can be classified as enabling different classes of simplified speech acts between agents.

Agent languages 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 indi- rectly programming one another in useful ways.

Agent based software engineering (AOSE) is often compared to object oriented programming ([20], [21]). Like an object, an agent provides a message based interface independant of its internal data structures and algorithms. The primary difference between the two approaches lies in the level of abstraction and concequently in the language of the interface.

In general object oriented approaches the meaning of a message can vary from one object to another. In agent based software engineering, agents use a common (high-level) language with an agent independent semantics.

The concept of Agent Oriented Software Engineering (AOSE) raises a number of important questions:

l What is an appropriate agent communication language for a class of applications?

l How to build agents capable of purposeful communication in this language?

l What communication architectures are conductive to cooperation Today several approaches, with different focus, towards (fragments of) a methodology for AOSE are emerging from several research groups th- roughout the world. Agent oriented approaches comes under different notations, depending on background or application. Some of these nota- tions are - multi agent systems, distributed reactive systems, intelligent

(7)

6(19)

interfaces, adaptive interfaces, knowbots, knobots, softbots, software agents, userbots, taskbots, personal agents, active objects, and network agents -just to name a few.

Societies of Communication

Societies of Communication (SoC) is a research program at the university of Karlskrona/Ronneby for development of and experimentation with AOSE approaches ([S]; [9], [lo], [cl]).

The SoC research and development involve activities performed in three parallel strands: foundational research, generic technologies, and appli- cation domains. In the following three sections we briefly describe the issues of the different strands.

Foundational Research

The computational view of AOSE, as expressed in the equation Computation = Agents + Communication (3)

highlights fundamental questions concerning multi agent systems such as - What are the relations between classes of computations, agents and lan- guages? In short development of agent theories for interesting applica- tions, ([28]). Our standpoint is that agenthood is a relativistic characteri- zation of software modules. A software is an agent with respect to a language if it is best described and understood as rational under the intentional stance.

From assessments of experiences in the design of multi agent systems, we believe that an adoption of the so called Belief- Desire-Intention (BDI)- architecture for a description of a state of an agent offers a better con- ceptual framework to address and solve issues related to situated reaso- ning in multi agent systems, than other alternative approaches, ([5], [22]).

In particular, this approach provides the philosophical and theoretical foundations as well as the flexibility to model different types of rational behavior. We thus, in SoC, start from the BDI-architecture and extend it to distributed situated systems.

As mentioned above, the agent communication language plays an impor- tant role for development of multi agent systems. In SoC we will speci- fically address issues around communication, i.e. semantics, team for- mation, articulation work, content based communication, and coordi- nation. The first generation of SoC communication languages, ADA ([ 1 l]), is simple but powerful enough for experiments and development of interesting applications

(8)

Generic Technologies

The foundational research provides the logical and conceptual framework to investigate critical issues in the design multi agent systems. A number of generic technologies have been and will be developed to support the implementation of multi agent systems, ([3], [5], [12], [18], [22], [28]). We will however develop and test generic technologies, which can be assessed in the SoC framework.

A Society of Computation (SoC) is a high (knowledge) level description of co-existence. The architectural components of Societies of Computat- ion are Agents and a Knowledge Media, KM. Agents are of three generic types; Personal Assistants PA’s, Mediating Agents MA’s and Artificial Agents AA’s.

The following figure gives the generic architecture of a SoC.

To other SoC’s

Mediating Agents Personal Assistents

Knowledge Media:

Services

Figure 1. Architecture of Societies of Computation

Knowledge Media provides Mechanisms of Interactions (MoI) or high level communication and inference services. Examples are the Colla- borative Desktop (Co-Desk) and DIVE environments developed at SICS within the Multi-G framework, ([ 151). CoDesk provides a workplace utilizing video as a communication media and shared objects as a work- place. DIVE is a distributed environment based on Virtual Realities.

Another class of knowledge media are emerging on top of communication

(9)

%19)

networks such as Internet. Examples are Telescript, World Wide Web, Gopher, and Mosaic application as well as the ongoing efforts concerning electronic marketplaces such as CommerceNet and PartNet. In short, Knowledge media are enhancements of technologies of distributed sys- tems and communication infrastructures enabling embedding of classes of agents (M, U41, U71,[191, WI).

A generic SoC architecture has several layers ([ 1 I]), Figure 2 below. The SoC project concentrates on the three upper layers of the architecture of this figure. The Agent communication layers are implemented on existing and emering standards of distributed (object oriented) computing and net- working, i.e. OMGs CORBA architecture for distributed computing.

Personal Assistants are the agents direct serving human users of a Society of Computation. Recent research in HMI, KBS and human centered de- sign have identified agents such as PA’s for dialogue management and in- telligent help and guidance, ([2], [4], [13], [16]).

Application

Agent programming layer

Agent communication layer

Basic communication layer

Figure 2. Generic SoC architectures

Artificial Agents are in the spirit of contemporary Distributed AI (DAI) or Decenteralized AI (DzAI), ([5]).

The Mediating Agents provide the public and service sector of the SoC.

They enables the cooperation of PA’s and AA’s, utilizing the MoI’s of the Knowledge Media at hand. The Mediating Agents also serves as gateways to other Societies of Computation, ([26]).

(10)

The agents, PA’s, MA’s and AA’s have all a head-body architecture. Of special interest for development of SoC is the concept of social laws, introduced in some AOSE architechtures, guiding team formation and cooperation in a Knowledge Media.

Application Domain

The energy market in Sweden moves towards a deregulation. This intro- duces a greater system complexity with several new players and market oriented activities. As a consequence, the need for efficient new customer oriented services, control and management is increasing. Large distribu- ted systems utilizing technical communication and local computers will be the backbone for intelligent distribution and marketing of future power oriented services.

The electrical network can be compared to a transportation company delivering goods from different producers. In this new situation, auto- mation of distribution, and intelligent support for management and cont- rol will be needed. Intelligent communication between geographically separated centers is one of the tools in efficient operation of the distri- bution of energy.

Sydkraft AB, producing and distributing electricity for the Swedish mar- ket, participates in the development of SoC by building test beds for the integration and co-ordination of artificial agents applied on energy sys- tems, ([lo]). The SoC efforts are parts of the Intelligent Distribution Automation (IDE) project at Sydkraft AB.

Agent Oriented Applications

The agent oriented view of systems as (open) societies of co-existing agents has already shed new insight on the design of different types of distributed systems. Two important application areas where several suc- cessful test beds of multi agent systems have been designed and tested are Human Machine Interaction ([23]) and collaborative design., ([6], [7]).

The emergence of Information Highways strengthen the impacts of those classes of applications as well as establish new applications such as the electronic market-place, where the use of agent oriented approaches are gaining momentum ([ 191).

Agents that reduce work and information overflow

One important area is the emerging view on Human Machine Interaction as a cooperation mediated by a Personal Assistant (PA), in the SoC ter- minology. The PA view on HMI enables interface designs enhancing, and going beyond, the current metaphor of desk top direct manipulation interfaces, ([ 161).

(11)

lO( 19)

Computers are becoming the vehicle for an increasing range of everyday activities. Acquisition of news and information, mail and even social inte- ractions and entertainment have become more and more computer based.

At the same time, an increasing number of untrained users are interacting with computers, and this number will continue to rise as technologies such as hand held computers and interactive television become popular.

Or rather, in order for those technologies to be accepted by new (un- trained) users new ways of viewing HMI has to be developed!

The current dominating interaction metaphor of direct manipulation is a passive one and requires the user to initiate all tasks explicitly and to mo-

nitor all events. This metaphor will have to change if untrained new users will make (effective) use of the computers and networks of tomorrow.

The desktop metaphor takes advantages of users’ previous knowledge that office artifacts (of the desktop):

l are visible

l have locations

l may contain things, and

l are passive

Knowledge of a different sort comes into play when we use an agent me- taphor. Our common sense knowledge of what agents can do tells us that, unlikely passive objects, they can:

l hide

l have goals and intentions

l initiate things

l know things

l learn things

l go places

l dynamically respond to unanticipated situations

l offer and receive advise

l make choices and commitments, and

l deliver results in a form we can use

That is, we have an intentional stance towards agents. Agents in the form of Personal Assistants assist users in a range of different ways: they hide the complexity of difficult tasks, they perform tasks on the users behalf, they can train or teach the user, they help different users collaborate, and they monitor events and procedures. Several successful PA has been de- signed and tested so far. Among application areas are; electronic mail handling, meeting scheduling, news filtering, event handling, and recom- mendation of books and other forms of entertainment.

(12)

There are also several agents (softbots), developed as interfaces to Inter- net, providing services such as finding, selection and presentation of in- formation. Of special interest are agents providing the right information to the right person at the right time and using the right information channel (Knowledge Media), when we have users using different type of mobile communication equipments.

Agents that support teamwork

Collaborative design is an active area of successful prototypes of multi agent systems.

Collaborative design is a complex group activity involving participants with heterogeneous skills. Any useful support system must take that he- terogeneity into account. There are at present several test beds that de- monstrates that multi agent systems are viable for design tasks.

A specific problem that often come into focus when developing, or rather enhancing, design systems is the software that is already written, the so called legacy software. The conversion of such legacy software into a- gents can be done in principally three different ways:

l implementation of a transducer that mediates between an existing program and other agents

l implementation of a wrapper, i.e. inject code into a program to allow it to communicate in an agent language, or

l rewrite the software as an agent

A framework for several approaches towards multi agent systems and their architectures is the NSF-ARPA Knowledge Sharing Effort, ([ 171).

Methodolgies for Agent Oriented SE

The so called Sofmare Crises is a common term to denote the difficulties concerning development and maintenance of software products that ful- fills user needs and can be developed using a manageable and controlled process. In short, development of the right product with the right quality using the right processes and resources and at the right total cost.

Recent results in Software Engineering such as CommonKads , ([27]), highlights several important aspects of software engineering in order to improve the total quality of software during its whole lifecycle.

CommonKads provide a methodology and tools that

l supports the whole life cycle

l supports different views (or models) of the application at hand

(13)

12( 19)

l supports reuse of components at different levels, and

l supports a risk driven development process with quality measures The agent oriented view of systems as co-existing agents is partly sup- ported by the CommonKads methodology. In SoC an adaption of Com- monKads for agent oriented implementations is investigated.

As in KommonKads and state-of-the art in methodologies for knowledge based component development, we view computation as a model building activity. The conceptual equation

Computation = Agents + Communication (3)

thus illustrates that the different agents contribute to the model building by collaboration on different tasks and using different viewpoints and competences.

In order to capture different aspects of the application at hand, we need to model different aspects of the application and its context. Following Com- monKads we have the following models or viewpoints of a SoC applica- tion

l Organization model

l Task model

l Agent model

l Expertise model

l Communication model

l Multi Agent System model

The organization model identifies relevant processes and organization structures for the application at hand. The task model identifies task de- composition to the appropriate level, such that each sub task can be allo- cated to some agent. The task distribution also identifies appropriate items to be communicated, content and purpose as well as allocation to agents.

The agent model identifies capabilities and roles of agent and agent teams.

The communication model uses the communication language and the task distribution to set up appropriate communication patterns (protocols). In the expertise model the content of the heads of participating agents are modeled using components of expertise. The application is implemented using the Multi Agent System model and the Agent Programming support system.

In the first version of SoC we concentrate on testing ideas of Task, Com- munication and Multi Agent System models.

(14)

A SoC-testbed for Multi Agent Systems

The SoC perspective on development of theories, methodologies and tools for an usable AOSE for real world applications is in summary. We have to increase our understanding of different trade-off in the design of multi agent system by designing and evaluating application specific multi agent architectures.

The equation

Computation = Agents + Communication (3)

illustrates some of the basic issues of a design methodology for multi agent systems. A fundamental design issue concerns for instance the trade-off between local computation and distributed control for a given class of computations. This in turn has relevance on the expressive power of the agent language needed in order to distribute control and informa- tion items between the society of agents involved in the computation.

As a first testbed of Multi Agent Systems we have chosen applications identified in the Sydkraft project Intelligent Distribution Automation (IDA),

WI, WI).

Power Distribution Automation. DA-SoC.

Power distribution grids are evolving very rapidly into multi service integrated networks. As such they are converging with public and private tele/data communication networks, both with respect to transport mecha- nisms and in higher level inter-operability between networks.

Distribution Automation (DA) is commonly defined as the automation of all processes (both technical and administrative) at energy (gas, electri- city, district heating) distribution companies’ sites. There are at present a number of DA related projects world-wide. The Intelligent Distribution Automation project at Sydkraft is one of them. The IDA project aims at developing future DA services, using distributed computing and mobile telecommunications. Among future DA services we can identify:

l Remote meter reading

l Fault detection and location

l Grid restoration

l Minimizing losses

l Load management

l Remote or automatic control of devices in order to achieve higher quality of services

l Advanced customer services

(15)

14(19)

The project DA-SoC aims at providing structured multi agent systems supporting a wide range of future DA services within the IDE project.

The first version of DA-SoC is a testbed concentrating on one DA servi- ce, load management which has a suitable level of complexity, both from the SoC as well as from the DA point of view.

Design of the DA-SoC testbed

In the first versions of DA-SoC we are concentrating on development of Artificial Agents (AAs) and Mediating Agents (MAs) in the sense of SoC, Figure 1. The agents have a comparatively small processing power allo- wing implementation on emerging industrial standards of communication and computing infra structures such as LonWorks. The overall architec- ture of an DA-SoC agents is given in the following figure, Figure 3 be- low.

The DA-SoC agents will be implemented on top of different communi- cation media, besides LonWorks, allowing different styles of agent prog- ramming as indicated as the third layer of Figure 2 below.

Head

Body

Communication

Figure 3. Architecture of an DA-SoC agent

The Agent head architecture is given by the following figure, Figure 4.

Design of the Agent Communication Language DAAL

As mentioned above, an important aspect of the design of multi agent sys- tem is the design of an appropriate agent communication language. For the first application, using a DA-SoC testbed, we have designed a simple but powerful language supporting among other things:

(16)

Interpreter -_) Database

Monitor

Model of other

Figure 4. Architecture of the heads of DA-SoC agents

l Powerful addressing methods; name, group or content

l Flexible programmable cooperation structures

l Speech act style of communication

The models of agent body state, of other agents and of the agents mental state are all declarative, and expressed using the modal operator BEL.

The syntax BEL(Agent, Time, Fact) is illustrated by the expression BEL(ME, Now + 10, fact)

Reasoning within the agents head is procedural and goal-driven. When the goal GOAL(A, t, fact) is set, it is entered into the goal queue, at time t, for execution. If the agent A has the competence of knowing how to ac- hieve the goal fact, there is the corresponding problem solving method encoded as a (partial) Agent Plan , or Intention, in agent A’s plan library.

At time t the GOAL is matched with the plan declaration and the matched plan is then executed. Upon execution appropiate messages are sent to the agents body for execution and/or to other agents providing or asking for services of other agents according to the plan.

A feature of the DAAL language is the ability to program interaction between agents as Interaction Plans. The set of interaction plans defines the commitments of cooperation that can take place between agents or team of agents in a DA-SoC society.

The DA-SoC programming environment

A prototype programming environment, see Figure 2, for Agent Orien- ted Programming of DA-SoC societies is developed as an Windows appli-

(17)

16(19)

cation on a IBM compatible PC. The Dynamic Data Exchange (DDE) communication mechanism is used for data transportation services.

The environment makes it easy to develop applications. Agents can be created, debugged and entered into the society of already executing

agents. Agents can also be independently stopped, modified and restarted.

The DA-SoC programming environment is going to be ported onto other platforms such as LonWorks and platforms supporting emerging stan- dards in distributed computing (CORBA) and communication.

Acknowledgments

The author acknowledge many fruitful discussions, along the lines of this paper, with the SoC team, especially Staffan Hagg and Fredrik Ygge, and with researchers, such as Jan Olsson, at SICS.

(18)

References

There are a number of sources for work on agent theories, architectures, and languages. Input comes from conferences on Artificial Intelligence, Human Machine Interaction, Object Oriented Programming and Software Engineering. There are also more specialist conferences and workshops such as the International Workshop on Distributed AI (IWDAI) and workshops on Modelling Autonomous Agents in Multi-Agent Worlds (MAAMAW). The first International Conference on Multi-Agent Systems (ICMAS) will be held 1995.

The following list is a, somewhat arbitrary, list of references relevant to this paper.

[l] Agha, G., Wegner, P, Yonezawa, A. (eds) : Research Directions in Concurrent Object Oriented Programming. The MIT Press, 1993.

[2] Cypher, A. (ed.): Watch What I Do: Programming By Demonst- ration, MIT Press, Cambridge, MA, 1993.

[3] Covo, Gersht, Kheradpir, Weihmayer: New Approaches to Re- source Management in Integrated Service Backbone Long Haul Communication Networks, Proceedings IEEE Network Operations and Management Symposium, NOMS ‘92, Memphis, Tennessee, April 6-9. 1992.

[4] disessa, A. A.: Local sciences: Viewing the design of human- computer systems as cognitive science. In J. M. Carroll (ed.) Desig- ning Interaction.. Psychology at the Human-Computer Interface, Cambridge University Press, Cambridge, UK, 1991.

[5] Gasser, Huhns: Distributed Artificial Intelligence Vol II. Pitman, London, 1989.

[6] Gruber, Tenenbaum, Weber: Toward a Knowledge Medium for Collaborative Product Development, Proceedings of the Second International Conference on Artificial Intelligence in Design 1992, Kluwer.

[7] McGuire, Koukka, Weber, Tenenbaum, Gruber, Olsen: SHADE:

Technology for Knowledge-Based Collaborative Engineering, Stan- ford Knowledge Systems Laboratory 1992.

[S] Gustavsson, R.: Societies of Computation - A Framework-. In Proceedings of AAAI-93 Workshop on AI and Theories of Groups &

Organizations: Conceptual & Empirical Research, 1993.

(19)

18(19) [9] Gustavsson, R., Hagg, S.: Societies of Computation - A Framework for Computing & Communication. U n i v e r s i t y of Karlskrona/Ronne-

by, Research Report l/94.

[lo] Hagg, S., Ygge, F., Gustavsson, R., Ottosson, H.: DA-Sac: A Testbed for Modelling Distribution Automation Applications Using Agent- Oriented Programming. In Proc. of the Sixth European Workshop on Modeling Autonomous Agents in a Multi-Agent World, M A A M A W -

‘94, Odense.

[I I] Hagg, S., Ygge, F.: An Architecture for Agent-Oriented Program- ming with a Programmable Model of Interaction. In Proc. of AICS, Dublin, 1994.

[12] Jennings, Wittig: ARCHON Theory and Practice in Distributed Artificial Intelligence: Theory and Praxis (Eds Gasser and Avouris), Kluwer Academic Press, 1992.

[ 131 Laurel: New Directions. Interface Agents: Metaphors with Character. The Art of Human Computer Interface Design. Addison- Wesley 1990.

[14] Malone: Computer support for organizations: Towards an orga- nizational science. In Carroll (Ed.), Interfacing Thought: Cognitive Aspects of Human Computer Interactions. MIT Press, 1987.

[ 151 Marmolin, Sundblad: Sharing Knowledge in a distributed en- vironment for collaboration,

COMIC-SICS/KTH-4- 1, 1993.

[16] Myers, D. A.: Demonstrational interfaces: a step beyond direct manipulation, IEEE Computer, 61-73, 1992.

[ 171 Neches, Fikes, Finin, Gruber, Patil, Senator and Swartout:

Enabling Technology for Knowledge Sharing, Al Magazine, vol 12, no 3 Fall 1991.

[ 181 Parram, J. , Demazeau, Y., Miiller, J-P. (eds): Modeling Auto- nomous Agents in a Multi-Agent World. Proc. of the Sixth European Workshop on MAAMAW- 94, Odense.

[19] Randell, B., Ringland, G., Wulf, B.: Software 2000 - A view of the Future-. Output of a forum sponsored by ICL and the Commission of the European Communities, 1994.

(20)

[20] Riecken, D. (ed): Intelligent Agents. Communications of the ACM , July 1994, Vol 37, No 7.

[21] Shoham, Y.: Agent oriented programming, an overwiev and summary of recent research, Proc, Fifth ACM Symposium on Prin- ciples of Database Systems, 1992.

[22] Simoudis (ed): Workshop on: Cooperation Among Hetero- geneous Intelligent Agents, AAAI - 91.

[23] Wahlster, W.: Computational Models of Multimodal Commu- nication. Invited talk, In Proc. of 11th European Conference on Artificial Intelligence, ECAI-94, Amsterdam.

[24] Weihmayer , Ghaznavi, Sheridan: A Distributed Architecture for Cooperative Management of Strategic Communication Networks. In Proc. of MZLCOM ‘93, October 11-14, 1993, Boston, MA.

[25] Weihmayer, Tan: Modeling Cooperative Agents for Customer Network Control using Planning and Agent-Oriented Programming, Proceedings GLOBECOM ‘92, Orlando, Florida,1992.

[26] Widerhold: Mediators in the architecture of future information systems, IEEE Computer, March, 1991.

[27] Wielinga, Schreiber, Breuker: KADS: A modelling approach to knowledge Engineering. Knowledge Acquisition, 4( 1 ), 1992, Special issue ‘The KADS approach to knowledge engineering’.

[28] Wooldridge, M., Jennings, N. (eds): Agent Theories, Architec- tures and Languages. Proc. of ECAI’94 Workshop, Amsterdam.

References

Related documents

The project Communication and Distributed Computing for Efficient Management of Energy Systems, supported by governmental agencies, has been instrumental for introducing and

This approach extends our results reported previously for event-triggered multi-agent control to a self-triggered framework, where each agent now computes its next update time at

Specially constructed extremum seeking schemes for single and multi-agent systems are presented, where the agents have only access to the current value of their individual

Självfallet kan man hävda att en stor diktares privatliv äger egenintresse, och den som har att bedöma Meyers arbete bör besinna att Meyer skriver i en

Traditionally, ERP systems were reserved to large organizations. SMEs couldn’t afford or have access to them and they were obliged somehow to content

Moreover, since the critical variables that govern these complex systems’ qualitative behavior can be of a very elusive nature, we also introduce a method of online engineering,

Bounds for the uncertainties in the DRGA of a multivariable process are derived for a given nominal process model with known uncertainty region.. The resulting uncertainty region

För att säkra en hög kvalitet på ytter - panelbräder tar SP Trätek fram regler för kvalitetsmärkning tillsammans med två branschorganisationer och nio träföre-