
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
Authors:
- Peter Sapaty:
project leader; responsible for the development of the WAVE paradigm.
- Peter Borst:
WAVE interpreter implementation in C; developing a hardware WAVE interpreter
Research students and system developers:
- Hans-Thomas Götz:
communication of the WAVE-interpreter in C; administrator of this Web-page
- James Darling:
WAVE applications
Projects involving WAVE:
- Malcolm Corbin:
distributed simulation supported by WAVE
- Shaikha Al Jabir:
integration of heterogeneous databases with WAVE
The WAVE technology of parallel processing in distributed systems
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.
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.
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):
- Modelling mobile communication networks.
- Intelligent management of open computer and telecommunication networks.
- Distributed simulation combining discrete and analog models.
- Collective behaviour of mobile units (robots) in complex terrains.
- Road traffic simulation, analysis, and control.
- Integration of distributed heterogeneous databases.
- Air traffic distributed control, with automatic hand-over between regions.
- Managing interaction of space objects by distributed computer networks.
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.
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.
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:
gunzip wave_main_0.63.tar.gz
tar xf wave_main_0.63.tar
After extraction the following scripts can be used for installation of the
system:
- winstall
Installation of the WAVE interpreter, graphics subsystem, and documentation
- wuninstall
Utility for cleaning up installation directories and un-installation of the system or its parts
- Makefile.sun
UNIX makefile to generate the executable code for the WAVE interpreter. This file may be edited to adjust to the local configuration of your host
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:
- graphics
TCL/TK libraries and WAVE graphics commands
- bitmaps
Bitmap files for icons in the graphic displays
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>.
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):
- wavepar.ps: Introduction to the WAVE model. (240k)
P.S. Sapaty, "The WAVE paradigm", Report 17/93, Dept. of
Informatics, Univ. of Karlsruhe, Germany, July 1992, 43 pp.,
published in: Proc. JICSLP'92 Post-Conference Joint Workshop on
Distributed and Parallel Implementations of Logic Programming
Systems, Washington, D.C., Nov. 13-14, 1992.
- wavelan.ps: WAVE language reference.
(130k)
P.S Sapaty, "A brief introduction to the WAVE language", Report
8/93, Dept. of Informatics, Univ. of Karlsruhe, Germany, Feb.
1993, 31 pp.
- waveoverview.ps: WAVE user manual. (146k)
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 Engineering, Univ. of
Surrey, UK, June 1994.
- wavesys.ps: WAVE software system description. (343k)
P.M. Borst, "The first implementation of the WAVE system for UNIX
and TCP/IP computer networks", Report 18/92, Dept. of Informatics,
Univ. of Karlsruhe, Germany, Dec. 1992, 45 pp.
- wave_graphics.ps: WAVE graphics documentation. (64k)
P.M. Borst, "WAVE graphics V0.5", WAVE system documentation, April
1995.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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>
- [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