Characterizing the Agent Grid

Craig Thompson
Object Services and Consulting, Inc.

draft1 - November 25, 1998
draft2 - December 31, 1998


Abstract

This working paper covers the more general notion of a grid, then focuses on the Agent Grid, its properties, and issues related to it, ending by providing three reasonable interpretations of the Agent Grid.

Contents


The problem

In the read-ahead package and at the CoABS Kickoff Meeting in Pittsburgh in July 1998, the idea of "the grid" was presented as a means of making agent systems much more interoperable and pervasive.  People talked about a global grid, services that the grid provides to agents, and grid resources that must be managed.  Additionally, it was assumed that the grid architecturally would have something to do with control and interoperability of agents and/or agent systems, and perhaps something to do with insuring systemic qualities: secure, adaptable, scalable, survivable, reliable, evolvable, etc.

But even after the meeting most people had only a foggy notion of the grid's role in agent architectures and few knew much about services the grid might provide.  So far, there have been only a few attempts that we know of to characterize the grid [3, 4, 7, 8].

This paper is one more attempt.  Its goal is to help characterize the coABS grid.  Its approach is to look at the grid from several views to see what we might be able to learn.  Benefits of increasing our understanding of the grid are:

Examples of grids

It seems instructive to look at some common sense notions of grids for guidance.  The dictionary definitions of "grid" mostly seem to imply some notion of a "network", whether physical or logical. Generally, grids are collections of things and their interconnections or interrelationships that can be used together in some sense.

General grid properties

From the examples of grids above, we can begin to identify aspects, properties, and characteristics of grids to see what would be desirable in a CoABS grid (since we get to define that term, possibly multiple ways) ***.  These observations might begin to be the basis for architectural design principles and patterns for agent-based grids.  At very least they add to our vocabulary about grids creating terms for the grid ontology and can be mined for potential requirements and use cases to consider in defining the grid architecture.
*** (FM) What we ultimately want is not just properties or characteristics that we can associate with grids in the abstract, but rather properties that we want to associate with grids that distinguish them from other software concepts we are already familiar with (e.g., agent architectures, the Internet, the OMA). If there aren't any such characteristics, what's the point of introducing a new term?  The writeup in the original read-ahead material actually suggested some characteristics like that (e.g., One could see that one couldn't do those things with an unenhanced OMA, and had an idea of the additional things that would have to be added to the OMA to do them).
This section only focuses on general grid properties.  CoABS Agent Grid properties are described later. The above indicates that: Many issues are not clear yet: Many more questions are listed below.

The idea of the CoABS agent grid

The DARPA ISO Control of Agent Based Systems Program is focused on developing agent technology as a main ingredient to insure Information Superiority in the DoD Vision 2010.

The notion of a grid is important with CoABS as one of the architectural constructs that might make a variety of C4ISR systems easier to build, scale, maintain, evolve, adapt, survive, ....  The presumption is that the Agent Grid is an enabler for many kinds of complex systems, including C4ISR systems.  These systems are characterized by:

Some of the operational capabilities we intuitively think we want from a coABS grid are (list is unsorted, redundant, evocative): Earlier we had listed several kinds of information-bearing grids.  It is clear that several of these can participate to provide some or even much of the operational capabilities listed above, even if they use no agent technology. The CoABS program assumes that these other kinds of technology (distributed objects, simulation, network management, ...) are useful and will be needed.  The thesis is that in addition agent technology will be needed as well.  It remains to be defined what exactly we mean by agent technology but the main point is that it must co-exist with other useful already pervasive technology.  This indicates the view that the agent grid is, in some way, a technology layer (word used loosely, not in a layered architecture sense) that enables other grids.  That this might be the case can be seen in the list of grids above - in each case we can imagine agent technology adding value to the grids above.  The digital grid, meta computing grid, semantic grid, and agent grid are technology grids.  The information grid, supply-chain grid, software grid, Borg Collective grid, and Everything is alive grid are application grids enabled by the technology grids, which now include the agent grid technology layer.
*** (FM) I think "the agent grid", and this characterization into technology and application layers, as used here, is too imprecise. The CoABS grid use cases, for example, seem to suggest that in the CoABS context we're talking about both an "agent grid" as a technology grid (agents as providing "grid" services), and as an application grid (i.e., it's both a "grid provided by agents" and a "grid provided for agents"). Also, I don't see why it's clear that the agent grid is technology and the software grid is application. Why couldn't it just as easily be the other way around? I further think we're going to be mixing and matching stuff in terms of smaller units of granularity than whole "levels", and "levels" implies an architectural organization that may or may not be true.
If that is so, then there are three challenges: (There are actually many other challenges as well - how to make the technology layer pervasive, metrics, ...)

Viewing the Agent grid from different perspecitives

It is helpful to consider some candidate senses of the agent grid.  It is entirely possible that we use the word to mean several different things distinctly and/or simultaneously.  But it is worth trying to be more precise so we can say which sense of grid we are talking about.

Viewing the grid as a collection of agent-related mechanisms

One view of the CoABS grid (sense A) is that it refers to a collection of glue mechanisms or constructs (interfaces, protocols, mechanisms, ...) that make it easier to connect software together.  (It's the glue, stupid!)  In this view, a thesis of coABS is that agent technology will provide some missing ingredients in an evolving list of architectural mechanisms that will make software composition much easier in the future.

A partial list of agent-related mechanisms might include:

But we can identify other technology also useful to build and connect together software or build information access frameworks.  This technology includes messages, queuing, wrappers, proxies, interceptors, before and after filters, serialization, reflection, resources, policy management, feedback loops, call backs, etc. Object services might include: If the CoABS grid is a name for the agent technology layer consisting of mechanisms and services (sense A1), then challenges are: If the coABS grid is a specific construct or mechanism for making services and resources available (sense A2), then it belongs in the list of agent technologies above, possibly synonymous with framework. Challenges related to these views of the grid are:

Viewing the grid as a composition or federation of agent systems

Another view of the agent grid (sense B) is as a kind of super/meta agent system or backplane into which agent systems themselves fit.  In this view, in connecting to the grid, agents (or agent systems) not only register themselves but also their resources and services and they continuously provide status to the grid.  The grid plays matchmaker and load balancer to connect suppliers to consumers.  (This could be a subclass of sense B above.)

This view opens the door to several issues:

Viewing grids as organizational units

Another possible view of grids (sense C) is as coherent organizational units, which might altrnatively be called frameworks or ensembles.  In this view, grids are not just part of the underlying mechanics of an agent system (mechanism or framework) but are modeling units meant to reflect aspects of the problem being modeled, helping to make the modeled world of agents one-to-one with reality.  Examples of such a view of grids might be In this kind of "grid," members have roles, resources, and responsibilities related to the purpose of that grid.  Over time, member roles can change so that a child becomes a worker become a parent becomes a grandparent.  Similarly, grids themselves enter, evolve, and leave modeled systems.  Resources are allocated to specific parts of organizational grids (not to some giant grid in the sky).  Time, money, energy, knowledge, and other currencies are measures of currencies of organizational grids and how the agent spends its efforts.  For example, a battilion grid registers into a mission grid which includes registering its control, resources, and services. It seems likely that the mission grid will continue to treat the battilion as an organizational unit and not as a flattened collection of resources that can be given away to others - resources are assigned to force units for a reason - so this kind of grid is a unit of organization and encapsulation.  My doing my mission versus you doing yours versus us cooperating seems within the province of agent reasoning -- no backplane grid oversees each grids behavior and resources to insure global optimization (at the expense of each organizational grid's autonomy).

Responsiblities are related to and help define roles.  An agent might be a member of many grids simultaneously - the religion grid, the family grid, the work force grid, the political grid, the consumer grid, the social grid, the legal grid, the transportation grid, and many more.  The grids all account for some of the agents objectives.  Organizational grids interact so some principles (high level rules) govern attempts to separate church and state, the social rule of the 40 hour work week guides a separation of work from the rest of life, etc.  Grids themselves can simply co-exist or they can cooperate with each other or they can compete. Grids can be organized in multiple ways simultaneously, e.g., matrix organizations.

We may or may not choose to call organizational units grids - we might rather call them ensembles or event ensemble agents, since the grids themselves act like separable entities.  But they must be modeled in many DoD scenarios.  Their existence accounts for many use cases of why we, our co-workers, or our competitors do what we do.  Agents will have to model and understand command hierarchies.  So it is most likely that some of the most important agent contributions will happen while modeling organizational units.

Others' views of the CoABS grid

Some of the vision statements for the CoABS grid were mentioned at the CoABS workshop [3] and in its read ahead package. Many of the operational capabilities in the list above came from CoABS discussions there and later.

Some of the work on agent grids has focused on the grid as a sort of meta agent system (see the second interpretation of the coABS grid above).  The read-ahead material very definitely talks as if sense B is the one meant.

Open issues about the coABS agent grid

Having come to the broad view that the coABS agent grid has to do with an abstraction layer of enabling agent technology that will improve other later systems, it is worth beginning to record architectural issues that will have to be pinned down.  [Note:  the following list is not optimally organized nor is every issue a grid issue though all pertain to agent architectures.]

Other things to cover?

This paper stops way short of all the areas that will need to be addressed about grids.  Its issues are not resolved and the list of issues is likely pretty incomplete.  There are likely other useful views of agent grids.

Here are some areas where more work is needed:

Conclusions

At one level, this paper is not too controversial.  It is clear that It is less clear that there is likely to be one global construct called the agent grid nor that such a system makes all optimization tradeoffs and provides all systemic control.

But the paper raises many issues that it does not address.  So there is more work to be done.

Acknowledgements

This paper benefited from discussions with Frank Manola, Paul Pazandak, and Venu Vasudevan at OBJS as well as reading Al Piszcz and Brian Kettler's grid papers.

References

[1] Ian Foster and Carl Kesselman (Editors).  The Grid : Blueprint for a New Computing Infrastructure, Morgan Kaufmann, 1999. ISBN 1-55860-475-8, Hardcover @ $62.95  A view of the metacomputing grid where computations are distributed across networks of computers.  Includes resource and load balancing considerations.

[2] Advanced Battlespace Information System (ABIS) Task Force Report,  (protected access).  Identifies the global information grid as a key for DoD C4ISR systems.

[3] DARPA CoABS Read Ahead Package and CoABS Kickoff Meeting, Pittsburgh, July 22-23, 1998.  Identifies the grid as a key agent technology.

[4] Craig Thompson.  Strawman Agent Reference Architecture.  Presentation to DARPA ISO Architecture Working Group, August 13, 1998 and OMG Agent Working Group, September 14-15, 1998.  See especially foils 13, 15, and 19.

[5] Paul Pazandak, A Rough Guide to Sun's Jini, August 1998.  This is a getting-started document as there is now more info available on Jini.  We and a few others in coABS are Jini beta test sites.

[6] Paul Pazandak, Agent System Comparison, draft, 10/19/98.  This is part of a reference model for agent systems.

[7] Al Piszcz, Grid Metaservice Considerations for Control of Agent Based Systems, draft, 3 September, 1998.

[8] Brian Kettler, The CoABS Grid Vision, draft 2.1, 11/18/98, Brian Kettler, ISX Corporation. This paper provides a use case analysis and a grid system abstract machine based on it.

[9] Joshua Epstein and Robert Axtell,  Growing Artificial Societies: Social Science from the Bottom Up, MIT Press. The use of cellular automata theory to model phenomena in large agent populations (birth, death, starvation, moving to a place where there is more food, genetics and survival of the fittest etc.).

[10] J. Knight, M. Elder, J. Flinn, P. Marx. Summaries of Three Critical Infrastructure Applications. UVa Technical Report.  November 14, 1997.



This research is sponsored by the Defense Advanced Research Projects Agency and managed by the U.S. Air Force Research Laboratory under contract  F30602-98-C-0159. The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the Defense Advanced Research Projects Agency, U.S. Air Force Research Laboratory, or the United States Government.

© Copyright 1998 Object Services and Consulting, Inc. Permission is granted to copy this document provided this copyright statement is retained in all
copies. Disclaimer: OBJS does not warrant the accuracy or completeness of the information in this survey.

Last revised: December 31, 1998.  Send comments to Craig Thompson.