The WAVE Page



Welcome to the WAVE-webpage. It is supposed to give you information about WAVE and how to get and install a WAVE interpreter prototype.



Table of contents



The WAVE group

Authors:

Research students and system developers:

Projects involving WAVE:



The WAVE technology of parallel processing in distributed systems

WAVE model

WAVE is both a new model and information technology oriented on coordination and control of large open systems supported by computer and telecommunication networks. It permits the dynamic creation of intelligent, highly parallel and distributed knowledge processing & control structures which may evolve with the systems supervised. These structures may provide self-organisation and self-recovery from complex failures as well as form the basis for integration of other (distributed and heterogeneous) systems.

This technology is based on installing multiple copies of intelligent agents throughout the distributed systems which can do local data processing, exchange information with other subsystems and between themselves, as well as interpret a special navigational WAVE language. A recursive code written in this language is dynamically self-spreading in a system space (like a virus) in a parallel and cooperative mode governing the overall system behaviour. The language strings may be injected by a user from any agent and propagate together with intermediate data as asynchronous waves of messages in the multi-agent network, matching the network topology. The interpretation agents (or WAVE Interpreters, WI) provide local execution and modification of the moving WAVE language strings, further splitting them into autonomous copies with encapsulated individual data, as well as sending unworked parts of the strings to neighbours. Many users may launch wave programs simultaneously which may develop independently or cooperate in the same system space, sharing local variables associated with the passed nodes, with other variables accompanying the moving wave code.

The WIs may be statically distributed and networked throughout the controlled systems or be mobile themselves (say, installed on vehicles) forming loosely coupled parallel computation & coordination engines with dynamic topologies. No centralised supervision is required for organising any behaviour of the whole system, with the moving wave programs being tolerant to the dynamics and failures of the environment in which they evolve.


Current implementation

The WI has been written in C under Unix, its hardware implementation is currently under investigation. Each computational unit of the distributed system keeps a copy of the WI which are running on the hosts as daemon processes and can exchange messages with the other interpreters through the network. The distributed WAVE system is operational in both local (LAN) and wide area (WAN) networks within arbitrary network topologies.


Applications

The WAVE system is currently being used for solving a variety of parallel simulation and control problems via the Internet, with the computers distributed between the University of Surrey in UK and the University of Karlsruhe in Germany. Potential applications include (some in cooperation with ERICSSON, DRA Farnborough, and Siemens Nixdorf):



Public software distribution

An experimental software implementation of WAVE is available for use in the Internet. The software has been developed in C and under UNIX. Main unit is the WAVE interpreter module which has to be installed on a host participating in the open, distributed WAVE system. The WAVE interpreters are capable of executing the mobile wave programs and communicate with the other interpreters in the network using the UDP protocol. The currently supported platforms are Sun SPARC systems under SunOS 4.1.x or Solaris2 operating systems. For SunOS 4.1.x an object code version is available which allows integration of user defined C programs into the WAVE interpreter module. For Solaris2 systems, a binary version can be loaded executing in SunOS compatibility mode.



About the current software release

        WAVE 0.63:  Distributed WAVE Interpretation System 0.63
	  University of Karlsruhe, 76128 Karlsruhe, Germany.
       University of Surrey, Guildford, Surrey GU2 5XH, England.
	  Authors:  P. S. Sapaty <p.sapaty@ee.surrey.ac.uk>,
		    P. M. Borst <borst@ira.uka.de>
		  (C) 1993-1995 All Rights Reserved

Notice

The present system is an experimental software for the WAVE model and technology. Free premission to install, copy and distribute the sytem for non-commercial use is hereby granted provided that this copyright notice is present and appears on all copies. Permission to modify the system is restricted to personal use or for use within your organisation. Distribution of modified copies is not permitted except on agreement with the authors.

Neither the institutions University of Surrey and University of Karlsruhe nor the authors make any representations about suitability of this software for any purpose and can not be made liable for any damages cause directly or indirectly by its use. If this is in conflict with regulations of your country or your organisation, you should refrain from installation and use of this software or any of its parts. This software is provided "as is" without express or implied warranty.



Installing and using the WAVE software distribution

The following are instructions for installation and usage of the WAVE software system. The object code distribution of the WAVE interpreter currently supports only Sun4 architectures (SPARC) with operating system SunOS 4.1.3 (or slighly lower releases). A binary code version is available for Solaris2 which is operational in compatibility mode. Your system should support the standard System V IPC facilities shared memories and semaphores (you may check with command "ipcs").

It is recommended to create a separate account for WAVE which can be shared by local users of your system. In this account as the first step, a directory "wavesys" has to be created which will contain the code for the WAVE interpreter (WI), configuration files, and documentation.

The present software release is divided into the following files:

On SunOS 4.1.3 you may chose between object and binary code versions. The object code version includes the possibility to compile and link your own C-functions to the WAVE interpreter (see the last section of this file). Under Solaris2 only the binary code file wave_bin_sun4_0.63.tar.gz is needed. Please load the files into the wavesys directory.

As the second step uncompress wave_main_0.63.tar.gz with gunzip and extract the archive as follows:

After extraction the following scripts can be used for installation of the system: Both winstall and wuninstall are shell scripts and may be executed as UNIX commands. The makefile is used within winstall procedure and may be executed with make -f Makefile.sun to recompile if necessary (see last section of README file).

The WAVE interpreter includes a graphics interface based on the TCL/TK tool from John Ousterhout, Univ. of California at Berkeley. The graphics is customised for WAVE by a file .wishrc in the home directory of the created account. If you are need TCL/TK also for other purposes in this account, you may need to merge the created file with your own .wishrc (a copy .wishrc.wsave is made by winstall if the file exists at installation time).

If you start WAVE interpreters on different machines from your console window, you may need to enable access for the hosts by the xhost command on your local machine for graphics to work properly. The DISPLAY variable on the remote hosts should be set in this case to the root window of your host.

The installation will create two more directories in your home directory:

Documentation is available in PostScript format. For installation you might wish to download the compressed version of all reports (wave_doc.tar.gz) which will be unpacked by the installation procedure to directory wavesys/doc. See section Documentation below for references. Brief on-line documentation is provided in form of manual pages which can be displayed with the UNIX "man" command (e.g. man wave).

In case of problems with installation or operation of the software, please contact Peter Borst <borst@ira.uka.de>.



Documentation

The following reports are included as PostScript files (A4 format) to the software distribution (to download the compressed version of all reports click on wave_doc.tar.gz): For more information about using and configuring the WAVE interpreter and some additional information about the current implementation of the WAVE interpreter get the README file.

For a brief description of the WAVE model, its implementation and current applications please select:



Current WAVE Projects

The following is a brief information about the current projects based on a distributed WAVE system.


1. Theoretical graph and network problems.

Highly parallel and fully distributed algorithms of graph and network theory like shortest paths, minimum spanning trees, cycles, connected and strongly connected components, articulation points, cliques, diameter, radius and center, maximum flow, optimum routing tables, etc. have been found and programmed in WAVE in a mobile mode. Parallel inference on semantic nets has been researched as a processes of incremental matching of graph templates (with variables in nodes and links) written in WAVE with large networks of facts. A compiler from a simplified Prolog into the matching patterns was written. Active graphs distributed in computer networks which may self-recover after damages of their topologies have been demonstrated in WAVE. Parallel algorithms of puzzles like "farmer-wolf-goat-cabbage" or Alvey triangle have been implemented in WAVE. Parallel WAVE programs for the listed problems were often one-two orders of magnitude shorter than the corresponding sequential programs in traditional languages.


2. Integration of distributed databases.

Integration of heterogeneous databases written in other languages has been studied with conversion of information between different data models and their overall coordination in WAVE. Database modules written in SQL, C and Pascal have been integrated by WAVE using external systems access of the language via Unix, as well as the graphical interface to WAVE written in TCL/TK. The applications concerned distributed networks of banks, tourist bureaus, and medical information systems.


3. Distributed simulation of dynamic systems.

The project aims at investigation and design of new methods for modeling and control of advanced operations distributed throughout large territories and supported by open computer networks. It is being developed within the Distributed Interactive Simulation (DIS), as well the High Level Architecture (HLA) initiatives. One of the main objectives of the project is to avoid the use of centralized or duplicated pools of information to reduce the need for communications and allow the modeling systems to be scaled up to an arbitrary extent. The mobile WAVE technology proved to be efficient to support full distribution, openness and mobility in very large-scale simulations. The implemented first stage of this project integrated discrete and analog models (aircraft, fighters, etc., written in other languages) in open scenarios where intelligent WAVE layer supported dynamics and handover of analog models and distributed terrain in a computer network.


4. Distributed coordination of multiple objects in space.

A model has been written and shown in WAVE where a distributed computer network may be used for pursuit and analysis of multiple moving objects in space. Multiple objects may be injected into the network model at any time and from any nodes, may have complex routes unknown in advance, and may be seen only from local nodes of a network, due to limitations of physical (for example, radar) systems. Mobile waves may discover such objects and follow them in the network. The waves may study behavior of the objects subsequently organizing interaction between different types of objects by establishing dynamic predator-prey relations between them.


5. Management of collective behavior of robots.

The group of mobile autonomous vehicles propagating in a complex terrain may be considered as a distributed parallel computer with a changeable topology which needs to be flexibly programmed to keep integrity as a functional unit. Programs in WAVE have been written modeling collective behavior of mobile units which cooperatively find routes in complex mazes, as well as do some jobs together (like digging a ditch). Self-organization within a group was investigated versus traditional central or hierarchical control. Such wave algorithms, independent of a number of vehicles and their communication topologies, may be directly embedded into real hardware.


6. Intelligent management of open computer networks.

Distributed WAVE system was used for integration of traditional network management systems. The latter were accessing local elements of networks and collecting large amounts of raw data, whereas the WAVE system generalized this data as a knowledge offering intelligent topology analysis and global coordination and recovery functions. The WAVE interpreter was integrated with a usual management system by establishing two channels through Unix for transferring activation code and data between the systems in both directions. Different possible distributed architectures resulting from such integration of a network access system and distributed knowledge processing engine were investigated.


7. Management of mobile communication networks.

Main distributed control functions of mobile telephony like location updating, handover, call handling, optimum routing, etc. have been programmed and modeled in WAVE. The results show that due to the mobility of control code in a communication network radically new control and coordination mechanisms supporting communications between mobile users are possible, with a drastic reduction of the role of traditional central resources. Integration of the third generation of mobile communications (UMTS) with B-ISDN networks has been analyzed with writing a simple model in WAVE combining features of both networks. Mobile programming based on WAVE may also provide a variety of new forms of service for customers in the advanced communication networks. Commercial use of a faster, hardware, version of WAVE interpreter for a flexible control of mobile communications is currently being investigated.


8. Intelligent management of traffic on highways.

A part of a road network of England was coded in WAVE and distributed in a LAN. Distributed and parallel procedures for dynamic routing and rerouting of vehicles in this network have been written. Based on a mobile wave intelligence, the traffic management models may be much more flexible and robust than the traditional compiled and static ones.


9. Design of intelligent infrastructures for distributed federations.

The design of intelligent infrastructures for large and heterogeneous federations for a variety of complex information, simulation and control systems may be efficiently supported by the WAVE automaton. The research takes into account the experience gained in using WAVE in many other projects, and is aimed at finding general techniques for integration of heterogeneous systems based on mobile programming. These advanced infrastructures may also support higher order coordination and self-organization functions of large systems while effectively interacting with many human operators and sharing responsibility with them in making complex decisions.




Contact

For questions, help, discussion, please contact:

Peter S. Sapaty
University of Surrey
Dept. of Electronic & Electrical Engineering
Guildford, Surrey GU2 5XH
England
<P.Sapaty@ee.surrey.ac.uk>

Peter M. Borst
University of Karlsruhe
Dept. of Informatics
P.O. Box 6980
76128 Karlsruhe
Germany
<borst@ira.uka.de>




References

[1]
P. S. Sapaty. Parallel processing for knowledge representation. In C. Jesshope, editor, Infotech State of the Art Report on Parallel Processing. Pergamon Press, England, 1987.

[2]
P. S. Sapaty. WAVE-1: A new ideology of parallel and distributed processing on graphs and networks. Future Generation Computer Systems, 4:1-14, 1988.

[3]
P. S. Sapaty. The WAVE model for advanced knowledge processing. In A. P. Ambler, P. Argrawal, and W. R. Moore, editors, CAD Accelerators. Elsevier Science B.V., 1990.

[4]
P. S. Sapaty. Logic flow in active data. In W. R. Moore and J. Delgado-Frias, editors, VLSI for Artificial Intelligence and Neural Networks. Plenum Press, New York, London, 1991.

[5]
P. S. Sapaty. The WAVE paradigm. Technical Report 17/92, Dept. of Informatics, Univ. of Karlsruhe, Germany, July 1992. Also published in Proc. Post-Conference Joint Workshop on Distributed and Parallel Implementations of Logic Programming Systems, JICSLP'92, pages 106-148, Washington, D. C., Nov. 13-14, 1992.

[6]
P. M. Borst. The first implementation of the WAVE system for UNIX and TCP/IP computer networks. Technical Report 18/92, Dept. of Informatics, Univ. of Karlsruhe, Germany, December 1992.

[7]
P. S. Sapaty. A brief introduction to the WAVE language. Technical Report 8/93, Dept. of Informatics, Univ. of Karlsruhe, Germany, February 1993.

[8]
M. Corbin and P. S. Sapaty. Using the WAVE paradigm for parallel simulation in distributed systems. In G. R. Joubert, D. Trystram, F. J. Peters, and D. J. Evans, editors, Parallel Computing: Trends and Applications (Proc. ParCo 93, Grenoble, France, Sep. 7-10, 1993), pages 501-504. Elsevier Science B.V., 1994.

[9]
P. S. Sapaty. A distributed processing system. European patent No. 0389655, Publ. 10.11.93, European Patent Office, November 1993.

[10]
P. M. Borst, H.-T. Goetz, P. S. Sapaty, and W. Zorn. Parallel knowledge processing in open networks. In W. Gentzsch and U. Harms, editors, Intl. Conf. and Exhibit. on High-Performance Computing and Networking, HPCN Europe 1994, pages 24-29, Munich, Germany, Apr. 18-20, 1994. Springer, Lecture Notes in Comp. Sci., No. 797.

[11]
P. S. Sapaty and P. M. Borst. An overview of the WAVE language and system for distributed processing in open networks. Technical report, Dept. of Electronic and Electrical Eng., Univ. of Surrey, UK, June 1994.

[12]
P. S. Sapaty, M. Corbin, and P. M. Borst. Using the WAVE paradigm for modelling and control of dynamic multi-agent systems. In Proc. Fourth Intl. Workshop on the Synthesis and Simulation of Living Systems, Artificial Life IV (Poster Session), MIT, Cambridge, MA, Jul. 6-8, 1994.

[13]
P. M. Borst, M. Corbin, and P. S. Sapaty. WAVE processing of networks and distributed simulation. In Third IEEE Intl. Symp. on High-Performance Distributed Computing, HPDC-3, pages 61-69, San Francisco, CA, Aug. 3-5, 1994.

[14]
L. Bic, P. Borst, M. Corbin, and P. Sapaty. The WAVE control protocol for distributed interactive simulation. In Proc. 11th DIS Workshop on Standards for the Interoperability of Distributed Simulations, pages 519-533, Orlando, Florida, Sep. 26-30, 1994.

[15]
P. S. Sapaty, M. J. Corbin, and P. M. Borst. Mobile WAVE programming as a basis for distributed simulation and control of dynamic open systems. In 4th UKSAG Simulation Interoperability Working Group Meeting, Silicon Graphics Reality Centre, Reading, UK, Oct. 11, 1994.

[16]
P. S. Sapaty, M. Corbin, P. M. Borst, and A. Went. WAVE: A new technology for intelligent control in communication networks. In Conf. and Exhibit. The Applications of RF, Microwave and Millimetre Technologies, M'94, pages 434-439, Wembley, UK, Oct. 25-27, 1994. Nexus Business Comm. Ltd.

[17]
M. J. Corbin, P. S. Sapaty, and P. M. Borst. Towards the development of large-scale distributed simulations. In Proc. 12th DIS Workshop on Standards for the Interoperability of Distributed Simulations, pages 199-212, Orlando, Florida, Mar. 13-17, 1995.

[18]
P. M. Borst. Towards an architecture for WAVE interpretation in open distributed systems. Technical Report 14/95, Dept. of Informatics, Univ. of Karlsruhe, Germany, May 1995.

[19]
F. Merchant, L. F. Bic, P. Borst, M. Corbin, M. Dillencourt, M. Fukuda, and P. Sapaty. Simulating autonomous objects in a spatial database using WAVE. In Proc. SCS 1995 European Simulation Multiconference, ESM'95, Prague, Czech Republic, Jun. 5-7, 1995.

[20]
T. Antonsen. Analysis and modelling of some aspects of integration of UTMS and B-ISDN networks. Msc Project Report, Dept. EEng, Univ. of Surrey, UK, 1995.

[21]
J. C. C. Darling. Integration of distributed simulations of dynamic objects. Msc Project Report, Dept. EEng, Univ. of Surrey, UK, 1995.

[22]
E. M. Hassanain. Some problems of management of distributed database systems using WAVE. Msc project report, Dept. EEng, Univ. of Surrey, UK, 1995.

[23]
C. Livatharas. Integration of heterogeneous databases using WAVE. Msc Project Report, Dept. EEng, Univ. of Surrey, UK, 1995.

[24]
P. S. Sapaty, P. M. Borst, M. J. Corbin, and J. C. C. Darling. Towards the intelligent infrastructures for distributed federations. In Proc. 13th DIS Workshop on Standards for the Interoperability of Distributed Simulations, pages 351-365, Orlando, Florida, Sep. 18-22, 1995.

[25]
P. Sapaty. Mobile wave technology for distributed knowledge processing in open networks. CIKM'95 Workshop on New Paradigms in Information Visualization and Manipulation, Baltimore, Maryland, Dec. 2, 1995.


borst@ira.uka.de, goetz@ira.uka.de
Last modified: 5th January 1996