16

Agen - Purdue University · agen ts in suc h cases is the dynamic generation of the w ork o ws based up on a v ailable information. 2. Last, but not least, in some cases one can ac

Embed Size (px)

Citation preview

Page 1: Agen - Purdue University · agen ts in suc h cases is the dynamic generation of the w ork o ws based up on a v ailable information. 2. Last, but not least, in some cases one can ac

Agent Based Networks for Scientic Simulation and

Modeling

L. Boloni, D.C. Marinescu, J.R. Rice, P. Tsompanopoulou, and E.A. Vavalis

Computer Science Department, Purdue University

May 28, 1999

Abstract

The simulation and modeling of complex physical systems often involves many components

because (1) the physical system itself has components of diering natures, (2) parallel comput-

ing strategies require many (somewhat independent) components, and (3) existing simulation

software applies only to simpler geometrical shapes and physical situations. We discuss how

agent based networks are applied to such multi-component applications. The network agents

are used to (a) control the execution of existing solvers on sub-components, (b) mediate be-

tween sub-components, and (c) coordinate the execution of the ensemble. This paper focuses

on partial dierential equation (PDE) models as an instance of the approach and describes the

implementation of networks using the PELLPACK problem solving environment for PDEs

and the Bond system for agent based computing.

1 Introduction

A number of new initiatives and ideas for high performance distributed computing have emerged in

the last few years. Object-oriented design and programming languages like Java open up intriguing

new perspectives for the development of complex software systems capable to simulate physical

systems of interest to computational sciences and engineering.

Software agents seem to be at the center of attention in the computer science community. Yet

dierent groups have radically dierent views of what software agents are [9], what applications

could benet from the agent technology, and many have a dicult time sorting out the reality from

ction in this rapidly moving eld and accepting the idea that software agents might provide a

"magic bullet" for many problems. The concept of an agent was introduced by the AI community

a decade ago [3]. An AI agent exhibits an autonomous behavior and has inferential abilities. A

considerable body of work is devoted to agents able to meet the Turing test by emulating human

behavior. Such agents are useful for a variety of applications in science and engineering, e.g., deep

space explorations, robots, and so on.

1

Page 2: Agen - Purdue University · agen ts in suc h cases is the dynamic generation of the w ork o ws based up on a v ailable information. 2. Last, but not least, in some cases one can ac

Our view of an agent is slightly dierent [1]. For us a software agent is an abstraction for

building complex systems. An agent is an active mobile object that may or may not have inferential

abilities. Our main concern is to develop a constructive framework for building collaborative agents

out of ready-made components and to use this infrastructure for building complex systems including

Problem Solving Environments, PSEs.

In this paper we examine alternative means to exploit the advantages of code mobility, object-

oriented design, and agent technology for high performance distributed computing. To use a bio-

logical metaphor [2], [15] software agents form a nervous system and perform command and control

functions in a PSE. The agents themselves rely on a distributed object system to communicate

with another. Though the agents are mobile, some of the components of the PSE are tightly bound

to a particular hardware platform and cannot be moved with ease.

The primary function of a Problem Solving Environment is to assist computational scientists

and engineers to carry out multiple computations. We use the term work ow and metaprogram

interchangeably, to denote both the static and the dynamic aspects of this set of computations. We

argue that there are several classes of high performance computing applications that can greatly

benet from the use of agent-based PSEs:

Naturally distributed applications,

Data intensive applications.

Applications with data-dependent or non-deterministic work ows.

Parallel applications based upon domain data decomposition and legacy codes.

Many problems in computational science and engineering are naturally distributed, involve large

groups of scientists and engineers, large collections of experimental data and theoretical models, as

well as multiple programs developed independently and possibly running on systems with dierent

architectures. Major tasks including coordination of various activities, enforcing a discipline in the

collaborative eort, discovering services provided by various members of the team, transporting data

from the producer site to the consumer site, and others can and should be delegated to a PSE. The

primary functions of agents in such an environment are: scheduling and control, resource discovery,

management of local resources, use-level resource management, and work ow management.

Data-intensive applications are common to many experimental sciences and engineering design

applications. As sensor-based applications become pervasive, new classes of data-intensive applica-

tions are likely to emerge. An important function of the PSE is to support data annotation. Once

metadata describing the actual data is available, agents can automatically control the work ow,

allow backtracking and restart computations with new parameters of the models.

Applications like climate and oceanographic modeling often rely on many data collection points

and the actual work ow depends both upon the availability of the data and the condence we

have in the data. The main function of the agents in such cases is the dynamic generation of the

work ows based upon available information.

2

Page 3: Agen - Purdue University · agen ts in suc h cases is the dynamic generation of the w ork o ws based up on a v ailable information. 2. Last, but not least, in some cases one can ac

Last, but not least, in some cases one can achieve parallelism using sequential legacy codes.

Whenever we can apply a divide and conquer methodology based upon the partitions of the data

into sub-domains, solve the sub-problems independently in each sub-domain, and then resolve with

ease the eventual con icts between the individual workers we have an appealing alternative to code

parallelization. The agents should be capable to coordinate the execution and mediate con icts.

In this paper we discuss the application of the Bond system for the design of a network of PDE

solvers. In Section 2 we outline domain decomposition, a common approach to simulating large

scientic and engineering problems. The Bond system is introduced in Section 3, in Section 4 we

discuss the design of a network of PDE solvers and in Section 5 we present an application. We

conclude that the combination of Bond and PELLPACK allows one to quickly construct models

and simulations for complex physical systems. This success should be repeatable in a variety of

science and engineering areas.

2 Domain Decomposition and Collaborating Simulators

There are three computational approaches to simulating large scientic problems. The rst and

most common approach is to discretize the geometrical domain using grids or meshes to create a

large discrete problem. These grids or meshes are then partitioned to create a set of inter-connected

discrete problems. This is simple domain decomposition and the coupling between components

(discrete problems) is rather tight as the mathematical model along interface points or elements is

discretized into equations that involve details from both neighboring components. The second and

oldest approach is Schwarz splitting which decomposes the geometrical domain into components

with a small overlap. The mathematical models on each component can then be solved indepen-

dently in some way and the Schwarz alternating method is applied iteratively to compute the global

solution. Of course, some discretization method is applied to the solution process on each individual

component. The overlapping creates a serious complication in the Schwarz method even when the

global problem has a simple geometry. The method has become more feasible with the discovery

of non-overlapping domain versions. The third and newest approach is interface relaxation where

the geometrical domain is decomposed into sub-domains, each with its own mathematical model.

Along the interfaces between sub-domains one must satisfy interface conditions derived from the

physical phenomena (e.g., continuity of mass or temperature, conservation of momentum). The

models on each sub-domain are solved in the inner loop of the interface relaxation iteration method

to compute the global solution. These methods use one of a variety of \smoothing" formulas to

reduce the error in satisfying the interface conditions.

The goals of handling dierent physical models, using parallel computers and reusing existing

software all lead to the need for high exibility and loose coupling between components in the

computation. These three approaches have similar goals but are quite dierent in their generality

and exibility. The tight coupling of domain decomposition requires that neighboring components

have a lot of shared information about their discretizations. Further, this approach is quite awkward

3

Page 4: Agen - Purdue University · agen ts in suc h cases is the dynamic generation of the w ork o ws based up on a v ailable information. 2. Last, but not least, in some cases one can ac

when the models are dierent on neighboring components. The mortar method creates specialized

renements of the models and meshes along the interfaces to accommodate changes in models

across interfaces. Overlapping Schwarz methods are similarly constrained to a single physical model

and also create a tight coupling between neighboring sub-domains. The non-overlapping Schwarz

methods are restricted to a single mathematical model for neighboring sub-domains. The interface

relaxation approach imposes no coupling conditions, except those inherent in the mathematical

models and it provides maximum generality and exibility.

Since interface relaxation is relatively new and unfamiliar, we outline the method and then

present one specic instance. The method assumes that one can solve exactly any single PDE on

any simple domain or, more realistically, that given such a PDE problem, we can select a highly

accurate solver for it from a library. The interface relaxation method uses a library of \single,

simple-domain, exact" PDE solvers to solve composite PDE problems. It is an iterative method of

the classical type, based on relaxation, as follows:

1. Guess solution values (and derivatives if needed) on all sub-domain interfaces.

2. Solve all single PDEs exactly and independently on all the sub-domains with these values as

boundary conditions.

3. Compare and improve the values on all interfaces using a relaxer (discussed below).

4. Return to Step 2 until satisfactory accuracy is achieved.

The simplest relaxers do some sort of \smoothing" of values on the interfaces and averaging is a

good mental model for a relaxation formula.

The attraction of interface relaxation is threefold. First it allows the accurate coupling of

independent models and the reuse of PDE software that handles single-phenomenon models. Second

it uncouples the parallelism of the computation somewhat from that of the machines used. Finally,

it is intuitively consistent with a person's view of the geometry and physical models of a composite

PDE problem.

Interface relaxation is an iteration dened at the continuum (mathematical) level; its conver-

gence properties are a question of mathematical analysis, not of numerical analysis. Let UN and

VN be the PDE solution values at iteration N on opposite sides of an interface. Assume for sim-

plicity that the interface conditions to be satised are continuity of value (UN = VN ) and normal

derivative (@UN=@n = @VN=@n). Then two simple relaxation formulas for U and V are:

VN+1 = UN+1 = (UN + VN )=2 f (@UN=@n+ @VN=@n)

VN+1 = UN+1 = !UN + (1 !)[(UN VN )2 + (@UN=@n+ @VN=@n)

2];

4

Page 5: Agen - Purdue University · agen ts in suc h cases is the dynamic generation of the w ork o ws based up on a v ailable information. 2. Last, but not least, in some cases one can ac

where f , !, , and are relaxation parameters. Approximately 10 relaxation formulas appear in the

literature, 7 are cataloged in [20]. One of the important open questions concerns the comparative

performance of these methods and procedures for computing good relaxation parameters.

The convergence analysis of interface relaxation presents formidable mathematical challenges;

almost any question asked will be both hard and open. Even for the single-PDE case one global

PDE or domain decomposition work on convergence analysis has appeared rarely, starting about

10 years ago [14] and then more recently in 1992 [19].

Given that theoretical analysis is intractable for the moment, we use experiments to provide

guidance and insight for interface relaxation. Numerous experiments done in recent years indicate

that interface relaxation converges for a wide variety of problems and relaxers. The convergence is

sometimes very fast, other times not. The results in [17] show (for a single problem) that the rate

of convergence is independent of the number of sub-domains and this was veried by experiments

using up to 500 sub-domains. There is reason to be hopeful that, as we better understand interface

relaxation, it can become a very useful method for solving composite PDEs. (A crude form of

interface relaxation already in fairly widespread use simply involves \trading" current values across

interfaces without any relaxation. This method makes the most sense in time-varying problems,

but we are not aware of any attempts to analyze the eects of the errors involved.)

A 1997 result [23] illustrates the progress in the mathematical analysis of interface relaxation.

We consider the Helmholtz equation Lu = uxx + uyy u = f(x; y) on the rectangular domain

= [x1; x2] [1; 1] with zero boundary conditions. The domain is partitioned into 2 sub-

domains 1 and 2 along the line x = 0 (called ) and the solutions on the left 1 and right

2 are denoted by u1(x; y) and u2(x; y). Given initial guesses u(0)

1 and u(0)

2 with zero values as

the boundary of , the interface relaxation iteration is dened by the following set of four PDE

problems and boundary conditions. These boundary conditions comprise the relaxation formulas

and combine values on of previous solutions to provide better conditions for the next step.

Lu(2k+1)

1 = f in 1; u(2k+1)

1 = u(2k)1 + (1 )u

(2k)2 on ;

Lu(2k+1)

2 = f in 2; u(2k+1)

2 = u(2k)1 + (1 )u

(2k)2 on ;

Lu(2k+2)

1 = f in 1;@u

(2k+2)1@1

= @u

(2k+1)1@1

+ (1 )@u

(2k+1)2@1

on ;

Lu(2k+2)

2 = f in 2;@u

(2k+2)2@2

= @u

(2k+1)2@1

+ (1 )@u

(2k+1)1@2

on ;

The relaxation parameters and are determined to accelerate the convergence, experiments

and theory both suggest that = = 1=2 are good values. The following theorem has been

established.

Theorem. Set s = (x1 + x2)minfx1; x2g. If = 1=2 the sequences u(j)1 ; u

(j)2 converge provided

0 < 2=3 and

(1 )2s2 2(1 )s 2(1 2) < 2:

5

Page 6: Agen - Purdue University · agen ts in suc h cases is the dynamic generation of the w ork o ws based up on a v ailable information. 2. Last, but not least, in some cases one can ac

If = opt = (s2 + s 2)=(s2 + 2s) then the error decays exponentially with ratio (s 2)=2s.

This theorem provides a nice result for a very simple model problem but extending such analysis

further is quite dicult. These results are conrmed by experiments and the optimum is seen

to provide faster convergence than two other interface relaxation methods. Mo Mu [17] provides

another set of mathematical theorems with a dierent avor.

3 Bond Agents

Bond, [1], is a distributed-object, message-oriented system, it provides a constructive frame-

work for building collaborative network agents. A beta version of the Bond system was released

in March 1999 under an open source license, LPGL, and can be downloaded from the website

http://bond.cs.purdue.edu. Bond uses KQML [8], as a meta-language for inter-object com-

munication. KQML oers a variety of message types (performatives) that express an attitude

regarding the content of the exchange. Performatives can also assist agents in nding other agents

that can process their requests. A performative is expressed as an ASCII string, using a Common

Lisp Polish-prex notation. The rst word in the string is the name of the performative, followed by

parameters. Parameters in performatives are indexed by keywords and therefore order-independent.

The infrastructure provided by Bond supports basic object manipulation, inter-object com-

munication, local directory and local conguration services, a distributed awareness mechanisms,

probes for security and monitoring functions, and graphics user interfaces and utilities.

Shadows are proxies for remote objects. Realization of a shadow provides for instantiation of

remote objects. Collections of shadows form virtual networks of objects.

Residents are active Bond objects running at a Bond address. A resident is a container for a

collection of objects including communicator, directory, conguration, and awareness objects.

Subprotocols are closed subsets of KQML messages. Objects inherit subprotocols. The discovery

subprotocol allows an object to determine the set of subprotocols understood by another object.

Other subprotocols, monitoring, security, agent control, and the property access subprotocol un-

derstood by all objects.

The transport mechanism between Bond residents is provided by a communicator object with

four interchangeable communication engines based upon: (a) UDP, (b) TCP, (c) Infospheres,

(info.net), and (d) IP Multicast protocols.

Probes are objects attached dynamically to Bond objects to augment their ability to understand

new subprotocols and support new functionality. A security probe screens incoming and outgoing

messages to an object [11], [12]. The security framework supports two authentication models, one

based upon username, plain password and one based upon theChallenge Handshake Authentication

Protocol, CHAP. Two access control models are supported, one based upon the IP address (rewall)

and one based upon an access control list. Monitoring probes implement a subscription-based

monitoring model. An autoprobe allows loading of probes on demand.

The distributed awareness mechanism provides information about other residents and individual

6

Page 7: Agen - Purdue University · agen ts in suc h cases is the dynamic generation of the w ork o ws based up on a v ailable information. 2. Last, but not least, in some cases one can ac

objects in the network. This information is piggy-backed on regular messages exchanged among

objects to reduce the overhead of supporting this mechanism. An object may be aware of objects it

has never communicated with. The distributed awareness mechanism and the discovery subprotocol

re ect our design decision to reduce the need for global services like directory service and interface

repositories.

Several distributed object systems provide support for software agents. The Infospheres project

(//www.infospheres.caltech.edu/) and Bond are academic research projects, while IBM Aglets

(www.trl.ibm.co.jp/aglets/index.html) and Objectspace Voyager (//www.objectspace.com)

are commercial systems.

A rst distinctive feature of the Bond architecture, described in more detail in [1] is that agents

are native components of the system. This guarantees that agents and objects can communicate

with one another and the same communication fabric is used by the entire population of objects.

Another distinctive trait of our approach is that we provide middleware, a software layer to facilitate

the development of a hopefully wide range of applications of network computing. We are thus forced

to pay close attentions to the software engineering aspects of agent development, in particular to

software reuse. We decided to provide a framework for assembly of agents out of components, some

of them reusable. This is possible due to the agent model we overview now.

We view an agent as a nite-state machine, with a strategy associated with every state, a

model of the world, and an agenda as shown in Figure 1. Upon entering a state the strategy or

strategies associated with that state are activated and various actions are triggered. The model is

the "memory" of the agent, it re ects the knowledge the agent has access to, as well as the state of

the agent. Transitions from one state to another are triggered by internal conditions determined

by the completion code of the strategy, e.g., success or failure, or by messages from other agents or

objects.

The nite-state machine description of an agent can be provided at multiple granularity levels,

a course-grain description contains a few states with complex strategies, a ne-grain description

consists of a large number of states with simple strategies. The strategies are the reusable elements

in our software architecture and granularity of the nite state machine of an agent should be

determined to maximize the number of ready made strategies used for the agent. We have identied

a number of common actions and we started building a strategy repository. Examples of actions

packed into strategies are: starting up one or more agents, writing into the model of another agent,

starting up a legacy application, data staging and so on. Ideally, we would like to assemble an

agent without the need to program, using instead ready-made strategies from repositories.

Another feature of our software agent model is the ability to assemble an agent dynamically

from a "blueprint", a text le describing the states, the transitions, and the model of the agent.

Every Bond-enabled site has an "agent factory" capable to create an agent from its blueprint. The

blueprint can be embedded into a message, or the URL of the blueprint can be provided to the

agent factory. Once an agent is created, the agent control subprotocol can be used to control it

from a remote site.

In addition to favoring reusability, the software agent model we propose has other useful features.

7

Page 8: Agen - Purdue University · agen ts in suc h cases is the dynamic generation of the w ork o ws based up on a v ailable information. 2. Last, but not least, in some cases one can ac

Agent Plane p.

Finite state machine

Agent Plane 1.

Model

Strategy 1.i

Finite state machine

State

State

Strategy 1.n

Strategy 1.1

Strategy 1.2

Agenda

StateState

MetaobjectsKnowledge

-base

Neuralnetwork

?

State

Strategy p.1

Strategy p.2State

Figure 1: The abstract model of a Bond Agent

First, it allows a smooth integration of increasingly complex behavior into agents. For example,

consider a scheduling agent with a mapping state and a mapping strategy. Given a task and a set of

target hosts capable to execute the task, the agent will map the task to one of the hosts subject to

some optimization criteria. We may start with a simple strategy, select randomly one of the target

hosts. Once we are convinced that the scheduling agent works well, we may replace the mapping

strategy with one based upon an inference engine with access to a database of past performance.

The scheduling agent will perform a more intelligent mapping with the new strategy. Second, the

model supports agent mobility. A blueprint can be modied dynamically and an additional state

can be inserted before a transition takes place. For example a "suspend" new state can be added

and the "suspend" strategy can be concatenated with the strategy associated with any state. Upon

entering the "suspend" state the agent can be migrated elsewhere. All we need to do is send the

blueprint and the model to the new site and make sure that the new site has access to the strategies

associated with the states the agent may traverse in the future. The dynamic alteration of the nite

state machine of an agent can be used to create a "snapshot" of a group of collaborating agents

and help debug a complex system.

We have integrated into Bond the JESS expert shell developed at Sandia National Laboratory

as a distinct strategy able to support reasoning. Bond messages allow for embedded programs

written in JPython and KIF.

Agent security is a critical issue for the system because the ability to assemble and control

8

Page 9: Agen - Purdue University · agen ts in suc h cases is the dynamic generation of the w ork o ws based up on a v ailable information. 2. Last, but not least, in some cases one can ac

agents remotely as well as agent mobility, provide unlimited opportunities for system penetration.

Once again the fact that agents are native Bond objects leads to an elegant solution to the security

aspect of agent design. Any Bond object, agents included, can be augmented dynamically with a

security probe providing a defense perimeter and screening all incoming and outgoing messages.

The components of a Bond agent shown in Figure 1 are:

The model of the world is a container object which contains the information the agent has

about its environment. This information is stored in the form of dynamic properties of the

model object. There is no restriction of the format of this information: it can be a knowledge

base or an ontology composed of logical facts and predicates, a pre-trained neural network,

a collection of meta-objects or dierent forms of handles of external objects (le handles,

sockets, etc).

The agenda of the agent, which denes the goal of the agent. The agenda is in itself an

object, which implements a boolean and a distance function on the model. The boolean

function shows if the agent accomplished its goal or not. The distance function may be used

by the strategies to choose their actions.

The nite state machine of the agent. Each state has an assigned strategy which denes the

behavior of the agent in that state. An agent can change its state by performing transitions.

Transitions are triggered by internal or external events. External events are messages sent by

other agents or objects. The set of external messages which trigger transitions in the nite

state machine of the agent denes the control subprotocol of the agent.

Each state on an agent has a strategy dening the behavior of the agent in that state.

Each strategy performs actions in an innite cycle until the agenda is accomplished or the

state is changed. Actions are considered atomic from the agent's point of view, external or

internal events interrupt the agent only between actions. Each action is dened exclusively

by the agenda of the agent and the current model. A strategy can terminate by triggering

a transition by generating an internal event. After the transition the agent moves in a new

state where a dierent strategy denes the behavior.

All components of the Bond system are objects, thus Bond agents can be assembled dynamically

and even modied at runtime. The behavior of an agent is uniquely determined by its model

(the model also contains the state which denes the current strategy). The model can be saved,

transferred over the network.

A bondAgent can be created statically, or dynamically by a factory object bondAgentFactory

using a blueprint. The factory object generates the components of the agent either by creating

them, either by loading them from persistent storage. The agent creation process is summarized

in Figure 2

9

Page 10: Agen - Purdue University · agen ts in suc h cases is the dynamic generation of the w ork o ws based up on a v ailable information. 2. Last, but not least, in some cases one can ac

Agent Factory Beneficiary object

Blueprintrepository

Agent

Strategy database

2

13

4

5

6

Figure 2: Creating an agent remotely using an agent factory. (1) The beneciary object sends a

create-agent message to the agent factory, (2) The blueprint is fetched by the agent factory from a

repository or extracted from the message, (3) The strategies are loaded from the strategy database,

(4) The agent is created (5) The id of the agent is communicated back to the beneciary, and (6)

The beneciary object controls the new agent.

4 A Network of PDE Solving Agents

The methodology to create an agent in Bond is: (a) write down a brief description of the actions

in each state, (b) create a state transition diagram for each agent, (c) search Bond databases for

strategies suitable for new agents, and (d) write new strategies whenever necessary.

The basic functionality of individual agents involved in a network of PDE solvers is seen from

the design of the SciAgents system [7]. Thus we were able to identify with relative ease the

strategies needed and then write them in Java. The agents in this network, are of three kinds:

PDECoordinator, PDESolver and PDEMediator. The operation of the network of agents shown in

Figure 3 is presented next.

A PDECoordinator agent is started by means of a GUI. Once started the agent reads and

parses a problem description le and writes the information into its model. This input le contains

information about the number of solvers and mediators, the characteristics of the interfaces, the

initial guesses on the interfaces, the relaxation methods and the names of the machines that will be

used to solve the global problem. The next step is the creation and the conguration of PDESolver

and PDEMediator agents. Since the agents are alive, the PDECoordinator uses their addresses

10

Page 11: Agen - Purdue University · agen ts in suc h cases is the dynamic generation of the w ork o ws based up on a v ailable information. 2. Last, but not least, in some cases one can ac

PDE CoordinatorAgent

PDE MediatorAgent

PDE MediatorAgent

PDE MediatorAgent

PDE Solver Agent

PDESolver

PDE Solver Agent

PDESolver

PDE Solver Agent

PDESolver

Figure 3: The network of agents used for distributed PDE solvers

to setup the communication among them. Then the coordinator waits for messages from the

mediators, regarding the status of the convergence to the solution of the problem, or from the user.

The messages from the user are to change the values of specic variables of the input le, such as

the tolerance or to force the execution to stop.

The PDESolver agent is created, congured and started by the PDECoordinator. Its model

contains addresses of the legacy programs used to solve the problem locally, paths the input/output

les, addresses of the visualization programs, etc. In the rst state, the PDESolver starts-up

the Pelltool which compiles the .e le that describes the local PDE problem, and creates the

executable that will be used later on by the ExecuteTool. These tools and le designations are all

part of the PELLPACK system. In the next state, the solver extracts the points on the interfaces

from the le that contains the mesh/grid points, and writes them into a le. Then the solver noties

the mediators that the les are ready. The PDESolver agent remains idle until being notied by the

mediators that the list with all the points and their initial guesses are stored in a le at a specic

location. Then the solver uses these les of points and initial guesses to run the ExecuteTool to

solve the problem. When the execution is nished, the solver sends a message to the mediators that

new values are computed, and then waits for their response. Depending on the message from the

mediators, the solver will solve again the problem, remain idle waiting for the other solver to reach

convergence, or plot the local solution. The PDECoordinator is able to terminate the PDESolver

by sending a proper message.

The mediator agent, PDEMediator, is created and congured by the coordinator agent. The

mediator agent has a complete description of the interface, the relaxation method used, the two

solvers to collaborate with, the location of the input/output les, the location of the legacy pro-

11

Page 12: Agen - Purdue University · agen ts in suc h cases is the dynamic generation of the w ork o ws based up on a v ailable information. 2. Last, but not least, in some cases one can ac

grams, the tolerance used to decide convergence, and the initial guess function. This information is

provided by the coordinator agent. After the mediator is started, it waits for the boundary points

from the two neighboring solvers. In the next state, the mediator combines the two point lists and

then uses the initial guess to compute values at these points. Afterwards, the mediator sends a

messages to the two solvers that the les with the points and their values are ready. The mediator

remains idle waiting for new values from the two solvers. When it receives new values it moves to

the next state, reads the new data and compares them with current data. Then the mediator agent

uses the relaxation method to calculate the new boundary conditions. If convergence is reached

on this interface then the mediator sends messages to the solvers and informs the PDECoordinator

about the local convergence so it will be able to decide on global convergence. A message from the

coordinator will make the mediator exit (in case of global convergence) or wait for new data from

the two solvers. In the latter case the procedure is repeated until convergence.

5 An Application: The Helmholtz Model in Underwater Acous-

tics

A standard approach in modeling propagation and scattering of acoustic waves in the ocean is

based on the use of the Helmholtz equation, or its approximations, coupled by appropriate boundary

and interface conditions; see e.g. [4, 5]. To be specic we consider the problem of modeling the

propagation of acoustic waves in the area dened by the lines (sea level), (bottom of the sea)

and @3 (the boundary of an obstacle that scatters incident waves) as those given on the left

of Figure 4. The line represents the bottom and plays the role of the interface between water

(the domain marked as 1) and soil (domain 2). For simplicity we assume that is a straight line

and that 2 consists of homogeneous isotropic soil. The propagation of waves in the area can be

eectively modeled by the following PDE problem

u(x) + k2u(x) = f(x) x 2 ; (1)

B u(x) = g (x) x 2 and Bu(x) = g(x) x 2 (2)

and@u(x)

@r iku(x) = o

r

12

uniformly as r = jxj ! 1: (3)

Equation (1) is known as the Helmholtz (or reduced wave) equation where k = 22 C is called

the number of a wave of frequency . k2 is complex in the case of damped waves. Depending on

the physical properties of the obstacle and the soil the interface/boundary conditions (2) can be of

Dirichlet, Neumann or Robin type. To model the dierence in the physical acoustic properties of

soil and water the coecients of these boundary conditions might be discontinues implying a jump

on the normal to derivative of the solution. Assuming that the obstacle is not penetrable by the

waves there is no such jump on . The additional condition (3) is required to assure mathematically

12

Page 13: Agen - Purdue University · agen ts in suc h cases is the dynamic generation of the w ork o ws based up on a v ailable information. 2. Last, but not least, in some cases one can ac

Ω

Ω

Ω

1

2

3

A B

CD

E

F

ε

γ

δ

0.2

0.4

0.6

0.8

1

0

0.2

0.4

0.6

0.8

1−0.1

−0.05

0

0.05

0.1

0.15

0.2

0.25

xy

Figure 4: Plots of a cross section of the 3-d acoustic domain (on the left) and of the amplitude of

the computed solution for a 2-dimensional simplied model with k = 20 (on the right).

13

Page 14: Agen - Purdue University · agen ts in suc h cases is the dynamic generation of the w ork o ws based up on a v ailable information. 2. Last, but not least, in some cases one can ac

the uniqueness of the solution of the above Helmholtz problem. Relation (3) is known as Sommerfeld

radiation condition and physically species an outgoing wave.

One usually restricts the unbounded domain of interest into a rectangular domain ABCD

shown in the gure by introducing lines BC, CD and DA which are articial boundaries that truncate

the physical unbounded domain. The selection of optimum (with respect to modeling capabilities)

conditions on these articial boundaries is an open problem. Several choices are available rang-

ing from simple Robin-type conditions to powerful non-local ones realized by appropriate integral

equations on the articial boundary lines.

In a typical application the computational domain is large ranging from a few to several hundred

miles. To ensure that the associated discrete model captures all physical phenomena this domain

needs to be discretized using a relatively ne grid. Typical mesh sizes are no more than one tenth of

the wavelength which leads to very large linear systems of complex algebraic equations. It should be

also pointed out that the PDE lacks certain important properties (symmetricity and positivity) and

involves boundary conditions of mixed type. Therefore fast Poissontype solvers like FFT are not

readily applicable. Due to the above, the task of numerically solving these linear systems in the case

of high frequency waves can easily exhaust the capabilities of any modern uni-processor computer

system. Therefore ecient and high performance solvers are necessary for this problem and already

signicant research eort have been devoted to searching for them. Domain decomposition methods

have the potential to play the role of such solvers. Nevertheless it was realized quite early that some

of the most popular domain decomposition methods could not be used due to either divergence or

slow convergence. It turns out that domain decomposers should be careful in selecting appropriate

conditions on the interface among subdomains lines so the resulting local problems are well posed

and have reasonable condition numbers. In addition, they should guarantee that waves can easily

propagate from one subdomain to the other even in the case that they oscillate rapidly on an

interface. The possibility of imposing non-local conditions on the articial boundary or interface

lines simply make the domain decomposition approach more complicated and the analysis more

challenging. Theoretical and experimental domain decomposition studies for the Helmholtz model

have been published with an increasing frequency lately.

We illustrate the above by presenting on right of Figure 4 the acoustic domain and on the left

the contour plot of the amplitude of the computed by a standard Galerkin/nite element method

[6]) numerical solution (representing acoustic pressure) of this simplied 2-dimensional Helmholtz

model. This model assumes that a point source is placed at (0; ys). the sea bottom is a horizontal

line, we impose second order absorbing boundary conditions on BC and there are no obstacles in

the computation domain. The true solution to that well posed problem is analytically available.

Note that PDE models similar to the one described above are frequently used in general time

harmonic acoustic and electro-magnetic wave scattering problems ([18]). Most of the domain de-

composition methods we consider can be readily used for such problems.

14

Page 15: Agen - Purdue University · agen ts in suc h cases is the dynamic generation of the w ork o ws based up on a v ailable information. 2. Last, but not least, in some cases one can ac

Acknowledgments

The work reported in this paper was partially supported by a grant from the National Science

Foundation, MCB-9527131, by the Scalable I/O Initiative, by a contract from the Department

of Energy ASCI Academic Strategic Alliance Program, LG 6982, and by a grant from the Intel

Corporation.

References

[1] L. Boloni and D.C. Marinescu, An Object-Oriented Framework for Building Collaborative Net-

work Agents, Intelligent Systems and Interfaces, (A. Kandel, K. Homann, D. Mlynek, and

N.H. Teodorescu, eds.), Kluewer Publishing House, 1999, (in press).

[2] L. Boloni, R. Hao, K.K. Jun, and D.C. Marinescu, Structural Biology Metaphors Applied to

the Design of a Distributed Object System, Proc. Second Workshop on Bio-Inspired Solutions

to Parallel Processing Problems, in LNCS, Vol. 1586, Springer Verlag, 1999, pp. 275283.

[3] J.M. Bradshaw, An Introduction to Software Agents, in (J.M. Bradshaw, ed.), Software Agents,

MIT Press, 1997, pp. 346.

[4] A. Bayliss, C. Goldstein, and E. Turkel, The Numerical Solution of the Helmholtz Equation

for Wave Propagation Problems in Underwater Acoustics, Comp. Math. Applic., 11, 1985, pp.

655665.

[5] , On accuracy Conditions for the Numerical Computation of Waves, J. Comp. Phys., 59,

1985, pp. 396404.

[6] V. Dougalis, N. Kampanis, P. Tsompanopoulou, and E. Vavalis, Linear Systems Solvers for

Finite Element Discretizations of the Helmholtz Equation, in Proceedings of the 3nd European

Conference on Underwater Acoustics, 1996, pp. 279284.

[7] T.T. Drashansky, An Agent Based Approach to Building Multidisciplinary Problem Solving

Environments , Ph.D. thesis, Purdue University, 1996.

[8] T. Finn, Y. Labrou, and J. Mayeld, KQML as an Agent Communication Language, in (J.M.

Bradshaw, ed.), Software Agents, MIT Press, 1997, pp. 291316.

[9] Franklin, S. and A. Graesser, Is it an Agent, or Just a Program?, in Proceedings of the Third

International Workshop on Agent Theories, Architectures and Languages, Springer Verlag,

1996.

[10] M.R. Genesereth, An Agent-Based Framework for Interoperability, in (J.M. Bradshaw, ed.),

Software Agents, MIT Press, 1997, pp. 317345.

15

Page 16: Agen - Purdue University · agen ts in suc h cases is the dynamic generation of the w ork o ws based up on a v ailable information. 2. Last, but not least, in some cases one can ac

[11] R. Hao, K.K. Jun, and D.C. Marinescu, Bond System Security and Access Control Model,

Proc. IASTED Conference on Parallel and Distributed Computing and Networks, 1998, pp.

520524.

[12] R. Hao, L. Boloni, K.K. Jun, and D.C. Marinescu, An Aspect-Oriented Approach to Distributed

Object Security, Proc. 4-th IEEE Symp. on Computers and Communications, IEEE Press,

1999, (in print).

[13] E.N. Houstis, J. R. Rice, S. Weerawarana, A. Catlin, M. Gaitatzes, P. Papachiou, and K. Wang,

PELLPACK: A Problem Solving Environment for PDE Based Applications on Multicomputer

Platforms, ACM Trans. Math. Software, 24, 1998, pp. 3073.

[14] D.L. Lions, On the Schwarz Alternating Method III: A Variant for Non-Overlapping Domains,

in (T. Chan et al., eds.), Domain Decomposition Methods for PDEs, SIAM, Philadelphia,

1990.

[15] D.C. Marinescu and L. Boloni, Biological Metaphors in the Design of Complex Software System,

Journal of Future Generation Computing Systems, Elsevier, 1999 (in press).

[16] D.C. Marinescu, An Agent-Based Design for Problem Solving Environment, Proc. Workshop

on Parallel/High Performance Scientic Computing, POOSC'99, 1999, (in press).

[17] M. Mu, Solving Composite Problems with Interface Relaxation, SIAM J. Sci. Comp. 20, 1999,

1394-1416.

[18] O.G. Ernst, Fast Numerical Solution of Exterior Helmholtz Problems with Radiation Boundary

Conditions by Embedding, Ph.D. thesis, Stanford University, Stanford, CA, 1974.

[19] A. Quarteroni, F. Pasquarelli, and A. Valli, Heterogeneous Domain Decomposition: Princi-

ples, Algorithms, Applications, in (D. Keyes et al., eds.), Proc. Fifth Intl. Symp. Domain

Decomposition Methods PDEs, SIAM, Philadelphia, 1992.

[20] J.R. Rice, P. Tsompanopoulou and E.A. Vavalis, Interface Relaxation Methods for Elliptic

Dierential Equations, Appl. Numer. Math., 1999, to appear.

[21] J.R. Rice and E. Vavalis, Collaborative Agents for Modeling Air Pollution, Syst. Anal. Modeling

Simulation, 32, 1998, 93101.

[22] J.R. Rice, E.A. Vavalis, and Daoqi Yang, Analysis of a Nonoverlapping Domain Decomposition

Method for Elliptic Partial Dierential Equations, J. Computational Appl. Math, 87, 1997,

1119.

[23] P. Tsompanopoulou, L. Boloni, D.C. Marinescu, and J.R. Rice, The Design of Software Agents

for a Network of PDE Solvers, Proc. Workshop on Agent Technologies for High Performance

Computing, at Agents 99, 1999, pp. 5768.

16