WAVE: CREATING DYNAMIC WORLDS BASED ON MOBILE COOPERATIVE AGENTS Peter S. Sapaty Department of Electronic & Electrical Engineering, University of Surrey, Guildford, Surrey GU2 5XH, UK. Voice: +44-1483-259854, Fax: +44-1483-34139, p.sapaty@surrey.ac.uk Virtual Worlds Based on Mobile Agents ------------------------------------- A universal mobile programming technology for creating dynamic distributed virtual worlds of any nature will be described, with the following main features. A discrete world is represented as a distributed Knowledge Network (KN) with arbitrary topology and any information (as strings) associated with nodes and links. KN may be a regular 2D or 3D grid, triangular network, connected polygons, dynamic scene graph of Inventor-like languages, logical network of facts and rules, etc. Any activity in this world is performed by highly organized societies of mobile intelligent agents communicating with each other. The agents may change the KN when navigate in it or create/extend it by moving through an empty space. KN supported by mobile agents may self-evolve in time and space and self-recover from damages. It may also be fully open, simultaneously created, accessed, and updated by many users. Generating Societies of Mobile Agents in WAVE --------------------------------------------- The core of the ideology presented is a compact recursive symbolic WAVE language [5,7] self-spreading in a distributed environment and having a variety of spatial control mechanisms over multiple self-evolving branches. It produces mobile agents only at an implementation layer, permitting navigational programs to be extremely compact (1-2 orders of magnitude shorter than, say, in Java [8]), as the main synchronization and communication routines are hidden from the user. A variety of distributed applications have been demonstrated in WAVE, including main graph and network theory problems, management of open computer networks, modeling and control of mobile communication networks, integration of distributed databases with parallel inference on semantic networks, distributed simulation of battlefield operations with mobility and dynamics of entities and terrain, road traffic management, modeling of collective behavior of robots [1,2,7,9]. Successful experiments involved communicating computers distributed between UK, Germany, US and Canada. Dynamic Virtual Art in WAVE --------------------------- Application of the mobile WAVE model to virtual art will be discussed (with demonstration of a film) where KN may serve as a universal distributed and dynamic canvas, with mobile agent societies (produced by self-replicating WAVE programs) as dynamic and intelligent paint on it. Parallel creation of arbitrary shapes in space, animated growing landslides, moving mountains and flooding will be demonstrated, spreading throughout terrain which is arbitrarily distributed between computers. The modeled space may be shared by many users starting at any time and from different computers in a network. Such animated VR may be self-organized, with embedded mechanisms of reasoning, parallel inference, pattern matching, and self-evolution. Existing visualization techniques have been applied on top of these dynamic semantic worlds in WAVE, like VRML 1.0, GnuPlot, or a special graphical interface written in Tcl [1]. Such integration of distributed interactive semantic knowledge processing by mobile agents with visualization may allow to produce pieces of art unachievable within any other physical or formal techniques. Some History ------------ The mobile WAVE model described has a rather long history. 1. First mobile programs (not called "agents" at that time) were introduced and implemented in heterogeneous computer networks in 1972-74 [4], where special interpreted control programs were roaming between computers while activating distributed procedures and dragging with them an exchange data. 2. In 1976-85, these ideas were used in a design of a recursive 256-processor distributed computer with interpreted control programs, which was serially produced by industry and used for modeling in aerodynamics. 3. In 1983-84, mobile code was used for parallel navigation of semantic networks and an interpreter of a simple WAVE-like language was implemented in a string-processing language. The navigation was based on a hop (or go) operation changing program's position in a network, with the program tail applied in a new current node (or nodes, if replicated in a broadcast to many neighbors). 4. In 1985-87, an extended WAVE [5] was compiled into LISP, and a real semantic network knowledge base for an international artificial intelligence laboratory was implemented, reflecting staff, topics, geography, time, etc., and heterogeneous links between them. 5. In 1989-92, WAVE was interpreted in Lisp and later used in an intelligent network management project financed by Siemens/Nixdorf. 6. A European Patent [6] had been filed in 1990 and issued in 1993 on a highly parallel computer architecture processing distributed semantic nets by mobile agents in WAVE. 7. In 1992-1994, WAVE interpreter was implemented in C under Unix in Internet, being currently a public domain. 8. In 1991-93, a special interest group called Kyma (WAVE, in Greek) existed in Silicon Valley (nearby San Jose) developing these ideas, with a small subset of WAVE [5] implemented by Matt Young from Lockheed. 9. Currently WAVE language [7] is being specialized, in cooperation with Ericsson Ltd., for the design of a new type of dynamic control of advanced mobile cellular networks. It is also being used by DRA in UK for simulation of distributed battlefields [2].High-performance intelligent WAVE chip is being designed from which any parallel and distributed control structures may be composed, driven by cooperative mobile agent societies. Another version of such a chip is envisaged for an intelligent distributed and dynamic 3D graphics. References ---------- [1] J. Darling, P. Sapaty, P. Borst, "Modeling virtual worlds using the WAVE technology", Video presentation at the 14th DIS Workshop, Orlando, FL, March 1996 (http://www.ee.surrey.ac.uk/Research/DKP/). [2] P. S. Sapaty, M. J. Corbin, S. Seidensticker, "Mobile intelligence in distributed simulations", Proc. 14th DIS Workshop, IST UCF, Orlando, FL, March 1996. [3] Sapaty, P. S., and Borst, P. M. "WAVE: Mobile Intelligence in open networks", Proc. etaCOM'96, Portland, Oregon, May 1996. [4] Sapaty, P. S., On possibilities of a direct intercomputer dialogue in ANALYTIC and FORTRAN languages, Publ. No. 74-29, Institute of Cybernetics Press, Kiev, 1974 (in Russian). [5] "---", "WAVE-1: A new ideology of parallel processing on graphs and networks", Future Generations Computer Systems, Vol. 4, North-Holland, 1988. [6] "---", "A distributed processing system", European Patent No. 0389655, Publ. 10.11.93, European Patent Office. [7] "---", "Mobile WAVE technology for distributed knowledge processing in open networks", Proc. CIKM'95, Baltimore, MD, Dec. 1995 (http://www.cs.umbc.edu/~cikm/1995/npiv/sapaty/paper.ps). [8] Vuong, S., Ivanov, I. "Mobile intelligent agent systems: WAVE vs. JAVA", Proc. etaCOM'96, Portland, Oregon, May 1996. [9] S. Vuong, and L. Mathy, "Simulating the mobile-IP protocol using Wave", Proc. etaCOM'96, Portland, Oregon, May 1996.