VIM: A Virtual Multicomputer for Symbolic Applications
Contract: CHRX-CT93-0401
Annual Progress Report for 1996 (Year 3 of 4)
The three topics which bind this network together are parallel
systems, advanced compilation techniques and artificial intelligence
(AI) with a common substrate in the programming language Lisp. The
research aim of this project is to demonstrate the advantages accruing
from the combination of these three technologies to build a virtual
multicomputer for large scale symbolic applications. A virtual
multicomputer is an ephemeral, persistent machine of available
heterogeneous computing resources (workstation, shared-memory
multiprocessor, distributed memory multiprocessor, array processor).
The system supports a virtual processor abstraction to distribute data
and tasks across the multicomputer, the actual physical composition of
which may change dynamically. Our practical objective is to assist
the prototyping of dynamic distributed symbolic applications in
artificial intelligence and computer algebra using whatever resources
are available (probably networked workstations), but so that the
developed program can also be run on more exotic hardware without
reprogramming.
Examining the six areas of the work plan
(work has not started on items which are not mentioned and items refer
to the numbered topics on the original work plan):
- Reflective
architectures:
-
- Analysis of the reflective aspects of Omega (Pisa), KRS (VUB),
Babylon (GMD-FIT.KI) to find out the differences and commonalities and
subsequently to synthesize a requirements definition for a new
reflective architecture (Warwick).
Dropped (see 1995 report).
- Development of a logic-based semantics to describe reflective
systems (IIIA, Pisa, Warwick).
This is complete with two publications from IIIA, but since these
are not joint with other partners, they do not appear in the list
below.
- Development of the EuLisp object system and its meta-object
protocol through experience of a wider variety of applications
(GMD-FIT.KI, ILOG, Warwick).
This is complete with the release of the youtoo system, bindings to
a number of packages and some significant applications (Noostoo, a
re-implementation of the NOOS knowledge representation language in
EuLisp and an object-oriented reconstruction of the OPS5 expert system
shell). This has also served to demonstrate the practicability of
importing Common Lisp code into EuLisp, as well as developing a
sufficient compatibility module for the implementation of NOOS.
- Applications of reflection (and reification) to task
migration, constraint satisfaction, cross-language calling and
distributed multi-language client-server programs (Southampton, Bath,
INRIA, ILOG).
This continues with the development of cross-language bindings
between EuLisp and C and the integration of EuLisp with operating
system thread libraries, permitting multi-lingual threading within the
same process. Meanwhile the DMeroon system now supports the migration
of objects between machines based on a carefully defined
serialization/deserialization process.
- Applications of reflection on knowledge level models (in
components of expertise) for integrated life-cycle support in KBS
development, e.g. for knowledge level modeling, validation and
verification. (VUB, UPC, URV, Warwick, IIIA).
This continues, a notable demonstrator being NOOSWeb (IIIA), a WWW
interface to the NOOS knowledge representation system.
- Knowledge representation
and knowledge bases:
-
- Comparison of Omega (Pisa), Milord II (IIIA) and Elektra
(Warwick) systems to discover in which ways they differ and in which
ways they are the same, then analysis of the approaches to determine
advantages and disadvantages (Salerno).
Completed (see 1994 report).
- Investigation of the use of Milord II (IIIA) in implementing
the ``components of expertise approach'' developed at VUB (UPC,
URV).
Completed (see 1995 report).
- Definition of requirements for a language well-suited to the
components of expertise approach (IIIA, VUB).
Completed (see 1995 report).
- Development and application of an object-oriented knowledge
representation formalism (GMD-FIT.KI, VUB, Pisa, IIIA, UPC, URV).
The Fish market model in Descriptive Dynamic Logic (DDL) has been
completed and has been reported in the Proceedings of ECAI'96 and more
general paper on DDL and its application to reflective architectures
is to appear in the Future Generation Computer Systems Journal. There
is on-going work on modelling using Common Knowledge and this may also
be applied to the Fish market scenario, while work at URV has focussed
on belief modelling in multi-agent systems.
- Application of new forms of knowledge representation in
intelligent tutoring systems (Salerno, GMD-FIT.KI, IIIA, UPC).
This theme has been refocussed on to the development of multi-agent
architecture for navigation systems in museums. This is seen as a
natural evolution of existing intelligent tutorial systems towards new
architectures, in which the technology is applied to teaching about
the objects contained in the museum.
- Development of a methodology for the automatic generation and
validation of knowledge bases from observations (URV, UPC, Pisa, VUB,
Warwick).
There has been continued progress on the methodology for automatic
generation and validation of KBS, the results of which are reported in
several papers from URV. In particular, a semantics for linguistic
labels has been developed, and applied to knowledge acquisition. Work
is in progress on merging knowledge from several experts. and on the
combination of several sources of fuzzy information (in collaboration
with IIIA).
- A workshop on knowledge representation (in conjunction with
that on parallelism in AI).
A workshop including this theme is taking place in May 1997.
- Static
analysis:
-
- Examination of the effectiveness of and subsequent refinement
of automatic mapping and dynamic load balancing techniques by
application to parallelized versions of existing AI programs
(GMD-FIRST, CNR, IIIA, Pisa, UPC).
This has resulted in two technical reports [2], [3] below (joint
between URV and GMD-FIRST) and is now completed.
- Examination of the effectiveness of and subsequent refinement
of automatic parallelization techniques applied to existing AI
programs (GMD-FIRST, IIIA, Pisa, UPC).
Work is in progress at GMD-FIRST and a paper will appear in the
Proceedings of PPoPP'97.
- Development of a type inference tool for EuLisp to assist in
static method selection and total compilation (Bath, GMD-FIT.KI, Kiel,
Southampton).
Exploration of this problem, based on a re-implementation and
extension of the techniques developed in the APPLY project, concluded
that the approach would only bring minor benefits unless the dynamic
nature of the language was seriously compromised. Consequently the
work has refocussed on dynamic optimisation of method invocation which
is proving very fruitful.
- Development of an abstract interpretation tool for EuLisp as a
basis for advanced source-level optimizations (Southampton, Bath,
Kiel).
Although the immediate goal is not abstract interpretation, work is
in progress on rule-based specification of source-level
improvement of programs.
- Development of a restructuring tool for sequential programs to
generate hierarchical task graphs for concurrent execution (CNR,
GMD-FIRST).
Dropped due to partners' changed interests and objectives.
- Comparison of the use of advanced module compilation
techniques (ILOG) with static verification techniques (Kiel) with the
aim of deriving benefit from their combination.
A feasible technique has been developed at Kiel for rigorous
compiler verification with respect to a compiling specification and an
implementation as a binary program executable, in the setting of a
carefully defined subset of Lisp. The key to its success is
modularization and a combination of mathematical proof, formal methods
and mechanical support.
- A workshop on advanced compilation techniques (in conjunction
with that on parallel systems).
A workshop including this theme is taking place in May 1997.
- Semantics and
verification:
-
- Investigation of the implications of parallelism for the
techniques employed in total compilation (Kiel, INRIA, Bath,
Southampton).
Dropped due to partners' changed interests and objectives.
- Development of a formal semantics for a concurrent
object-oriented Lisp (Bath, INRIA, Kiel, Southampton).
A formal semantics of a distributed notion of the future construct
(for spawning concurrent processes) has been developed at Southampton
and was presented at ICFP'96.
- Development of an animator for pi-calculus specification
(Southampton, Bath, Pisa).
Completed (see 1995 report).
- Application of techniques developed in the ProCoS project to
concurrent object oriented programs and the development of a
verifiable target abstract machine for the total compilation of
concurrent object-oriented programs (Kiel, Southampton, Bath,
INRIA).
Work in progress on the development of executable rule-based
specifications of operational semantics which can be separated
automatically into a compiler and an executor, hence deriving a
virtual machine for the source language.
- Application of verified implementation to at least one
fair-sized AI program (Kiel, Southampton, Bath, INRIA).
Work is in progress in particular on the rigorous implementation
verification of transformational Lisp programs (Kiel). Techniques for
implementation verification have been applied to Lisp compilers.
- Parallel models and
systems:
-
- Comparison of parallel Lisp systems developed at Bath,
GMD-FIRST, INRIA, Pisa, Southampton and CNR (i) to identify a set of
primitive operations for the implementation of concurrent
(distributed) systems; (ii) to construct extensions to support mixed
control and data parallel paradigms; (iii) to assess them in the light
of practical situations (Salerno).
This work is still in progress in the form of the youtoo and
DMeroon systems and more recently the requirements for agent
architectures derived from the Fish market developments.
- Comparison of the distributed virtual shared memory (DVSM)
systems developed at Bath, GMD-FIRST and CNR and definition of a
primitive functional model for DVSM (Southampton, INRIA).
See next item.
- Comparison of the approaches to distributed garbage
collection at Bath, GMD-FIRST and INRIA, and investigation of its
interaction with DVSM, leading to a model integrating both facilities
(CNR, Southampton).
Although the notion of Distributed Virtual Shared Memory is now
regarded as inappropriate, work is in progress on analysing and
prototyping distributed garbage collection techniques.
- Demonstration of distributed execution of several small and
at least one medium-sized Lisp application using nodes at more than
one partner site (INRIA, Bath, Pisa, GMD-FIRST, Warwick,
Southampton).
This work is still in progress and should be completed shortly
using a recently developed Internet data store for uncoupled
communications between remote processes
- Investigation of the requirements for the construction of a
real-time implementation of EuLisp for use in the control of
autonomous agents (Bath, VUB, Southampton).
Dropped as it is now considered inappropriate.
- Transfer of the results of the language design work into the
ISO process for the standardization of Lisp (WG16) (ILOG, Southampton,
Bath, GMD-FIT.KI).
Complete. The Draft International Standard for ISLISP should be
published by ISO in the next few months.
- A workshop on parallel systems (in conjunction with that on advanced
compilation techniques).
A workshop including this theme is taking place in May 1997.
- Parallel
applications:
-
- Retargetting the data-parallel classification program
developed at GMD-FIRST, for the EuLisp environment (Bath), rewriting
it to utilize higher level parallel constructs (Bath, CNR) and
comparing its capabilities with LINNEO+ (GMD-FIRST, Bath, UPC).
Completed (see 1995 report).
- Application of control and data parallel paradigms in
existing AI applications (CNR, IIIA, UPC).
This theme has begun with the re-implementation of NOOS (developed
at IIIA) in EuLisp and the concurrent development of the WWW interface
to NOOS. A parallel version of the POSSCAUSE system (developed at
UPC) is being planned.
- Development of a concurrent implementation of LINNEO+ in
EuLisp (UPC, Bath) and its application to the classification of marine
sponges.
Dropped as it is now considered inappropriate.
- Integration of LINNEO+, Milord II and GAR (UPC, IIIA, URV,
INRIA, Bath) and their combined application to problems in urban waste
water treatment plants.
This work is proceeding at UPC and URV, but now using a new
formalism for rule generation, instead of Milord II. A research
report will appear in 1997.
- Integration of LINNEO+ with the LATIDO (intensive care
monitoring) project (UPC, URV, IIIA) as a distributed
application.
Dropped due to partners' changed interests and objectives.
- Performance analysis over distributed systems of and by the
LISPSTAT package (Southampton, Bath, GMD-FIRST).
In progress.
- Development of an intelligent tutoring system as a
distributed application and its integration with other components,
such as Milord II (Salerno, IIIA).
See {\bf Knowledge representation and knowledge bases}, item 5.
- Development of a process enactment environment with
application to multiple information servers (multi-media) and
distributed working (Southampton, INRIA).
At GMD FIT.KI, the ZENO system aims to provide shared workspaces
for people cooperating in a distributed, heterogeneous environment.
ZENO, which is a WWW-based application, can be used to upload and
download multi-media documents, and it also provides advanced
discussion and negotiation support. In the context of GeoMed, ZENO is
being applied for real urban and regional planning projects and for
environmental decision procedures.
- A workshop on the application of parallelism in AI (in conjunction
with that on knowledge representation).
A workshop including this theme is taking place in May 1997.
Commentary
Parallel Models and Systems
There are two strands of development under this heading: the youtoo
system at Bath and the DMeroon system at INRIA. Youtoo has stabilized
significantly in the past year and interfaces to the Message Passing
Interface (MPI), the Tcl/Tk graphics library and the Nexus distributed
programming library have been completed and linkages to a SQL database
(mSQL) and to the daVinci graph drawing package are in development.
An internet data store and MUD architecture have also been prototyped
with a view to support wide area distributed applications and
specifically a demonstrator based on the fish market work (see
below).
Development has continued of the distributed programming system
reported last year, in particular, the emphasis on interoperability is
making it relatively straightforward to construct bindings between
youtoo (the new implementation of EuLisp) and existing packages (Tk
widget library, the Message Passing Interface (MPI) standard for
distributed processing, and the Multipol distributed data structure
library). At the same time, work has continued at INRIA on weakly
coherent distributed memory systems, distributed garbage collection
and the provision of these facilities as an Applications Program
Interface (API). We hope to link these complementary lines of
research in the coming year.
Reflective Architectures and Knowledge Representation
Under the headings of Reflective Architectures and of Knowledge
Representation, there is considerable interest in, and a shift
towards, multi-agent systems, which fits well with the developments on
language systems noted above. Specifically, there is activity looking
at frameworks for parallel and distributed processing, social issues
in multi-agent systems (Warwick), the logical formalism of reflective
architectures, based on using Dynamic Logic as a common logical
framework to describe and identify the most relevant formal
characteristics of Multi-Language Logical Architectures (MLA) and then
to investigate the expressive power of the Knowledge Bases that can be
built upon them (IIIA), a reflective blackboard architecture (Pisa and
Warwick), agent applications in administration (funded by the Belgian
Government at VUB), and electronic commerce and electronic negotiation
and mediation (GEOMED - GEOgraphical MEDiation) funded by the EC Telematics Programme,
Information Engineering, DGXIII (VUB, GMD).
Multi-agent systems
A particularly strong collaboratory theme in the past year has been
the modelling of the Spanish fishmarket (la lonja) as a multi-agent
system. The first version of this was developed between CNR Naples
and IIIA Bellaterra and reported in publication [1] below.
Subsequently, young researchers from IIIA came to Bath to develop
further versions - using the distributed programming environment
reported earlier - the results of which are to be published in a paper
to appear in the 1997 report. This theme continues to provide a
fruitful line of development as we explore formalization of different
bidding protocols for electronic auction houses.
During his stage in Bath, Juan A. Rodriguez, along with Julian Padget,
concentrated on the analysis, design and implementation of the Spanish
fish market, which had been previously formalized by Pablo Noriega and
Carles Sierra, since this was regarded as a good example of a
multi-agent negotiation environment. Initially, two versions of the
Spanish fish market were developed in C: the first one was almost
functionally equivalent to that developed in PVM by Maurizio Giordano
at IIIA last year, whereas the second extended the model implemented
by the first, while also investigating the capabilities of MPI. A
third version was then built using youtoo and MPI. Finally, a Java
version of the fish market was developed in order to investigate the
possibility of running electronic markets on the Internet.
Francisco Martín's visit to Bath was primarily spent developing
Noostoo. Noostoo is a new version of the Noos representation language
implemented in youtoo. As a result, knowledge systems developed in
Noos can profit from features of youtoo such as method migration,
threads, byte-code generation, stand-alone applications, and Tcl/Tk
and MPI interfaces. In addition, the creation of Noostoo demonstrates
both that youtoo is a useful tool to develop artificial intelligence
applications such as Noos, and that Common Lisp applications can be
translated relatively easily into EuLisp.
Future directions and further information
Fuller and up-to-date details of activities (past and present) are
held on the World Wide Web. In particular, an online repository of
project software and information is available at Southampton. The
repository may be accessed directly with the URL:
http://vim.ecs.soton.ac.uk/
or via the VIM WWW home page:
http://www.maths.bath.ac.uk/~jap/VIM
Number of research staff working in each team of the network
The data in this section are compiled from the individual annex B forms
completed by the partners, errors and ommissions excepted.
- VUB (3): Luc Steels, Walter van de Velde, Edwin de Jong
- ILOG (0.5): Pierre Parquier
- INRIA (4): Christian Queinnec, Thierry Saura, Emmanuel Chailloux,
Bruno Pagano
- SOUTHAMPTON (4): David DeRoure, Hugh Glaser, Luc Moreau, Les Carr
- BATH (5): Julian Padget, Russell Bradford, Andreas Kind,
John Fitch, Robert Simmonds, Darren Ward (started December 1996)
- WARWICK (1): Iain Craig
- KIEL (3): Friedemann Simon, Wolfgang Goerigk, Ulrich Hoffmann
- GMD FIT.KI (3): Thomas Gordon, Hans Voß, Nikos Karacapilidis
- GMD FIRST (1): Angela Sodan
- PISA (2): Giuseppe Attardi, Maria Simi
- SALERNO (5): Antonio Gisolfi, Enrico Fischetti, Vincenzo
Loia, Antonina Dattolo, Biagio Radano
- CNR NAPLES (4): Mario Mango Furnari, Maurizio Giordano,
Claudia Di Napoli, Antonio Massaroti
- UPC (6): Ulises Cortes, Javier Bejar, Miquel Sànchez,
Ramon Sangüesa, Karina Gibert, Lluis Talavera
- IIIA (2.5): Enric Plaza, Carles Sierra, Pablo Noriega
- TARRAGONA (3): Vicenç Torra, David Riaño, Antonio
Moreno
Names and nationalities of staff seconded from one
partner to another during the reporting period and the duration of
their secondments;
The data in this section are compiled from the individual annex B forms
completed by the partners, errors and ommissions excepted.
- to GMD-FIRST: Vicenç Torra (Tarragona), June-August 1996
- to Southampton: Christian Queinnec (INRIA), July-August 1996
- to Southampton: Antonina Dattolo (Salerno), September 1996
- to GMD-FIT.KI: Edwin de Jong (VUB), October 1996
Names and nationalities of additional staff in each
team (visiting scientists, fellows) financed by the network contract
and the duration of their stays;
The data in this section are compiled from the individual annex B forms
completed by the partners, errors and ommissions excepted.
- to Salerno: M.Quaggetto (FR), January-March 1996
- to Bath: Joan Rodriguez (IIIA), June-August 1996
- to Bath: Enric Hernandez (UPC), July-August 1996 (jointly funded
by Bath and UPC).
- to Bath: Francisco Martín (IIIA), October-December 1996
- to UPC: Luigi Ceccaroni (Salerno), October-December 1996
- to Salerno: Ramon Sangüesa (UPC), November-December 1996
- to Salerno: Karina Gibert (UPC), November-December 1996
- to Salerno: Enric Mor (UPC), December 1996
For each scientific meeting for which mobility was
financed by the contract, date, location, purpose and nature of the
meeting, and names of the scientists attending with the name of the
team they represented;
The data in this section are compiled from the individual annex B
forms completed by the partners, errors and ommissions excepted.
Conferences
- January 1996, Gonzalo Escalada (IIIA) attended
Reconnaissance de Formes et Intelligence Artificielle, RFIA'96 in
Rennes.
- January 1996, Josep Puyol (IIIA) attended MAAMAW'96
(Modelling Autonomous Agents in a Multi-Agent World) in Eindhoven.
- 14-15 February 1996, Friedemann Simon (Kiel) attended the
"Lisp Users Forum" in Munich.
- 17-20 March 1996, Antonio Moreno (URV), attended VI
Conference on Theoretical Aspects of Rationality and Knowledge,
Renesse, The Netherlands.
- 18-22 March 1996, Ulrich Hoffman and Wolfgang Goerigk
(Kiel) attended the International Conference "Formal Methods Europe"
in Oxford.
- 24-26 April 1996, Wolfgang Goerigk attended the
International Conference on Compiler Construction in Linköping.
- 6-10 May 1996, David DeRoure and Les Carr (Southampton)
and Giuseppe Attardi (Pisa) attended WWW'96 conference in Paris.
- 12-15 May 1996, Wolfgang Goerigk, Ulrich Hoffman and
Friedeman Simon (Kiel) attended the workshop "Programmiersprachen und
hardware-nahe Programmierung" in Bad-Honnef.
- 29-31 May 1996, Wolfgang Goerigk and Markus Mueller-Olm
(Kiel) attended the workshop "Korrektheit und korrekte Implementierung von
Lisp-Compilern" in Ulm.
- 29-31 May, Iain Craig (Warwick) attended the
Planning Conference in Edinburgh.
- 14-18 August, 1996 Luc Moreau (Southampton) attended
INTERSYS'96 in Baden Baden.
- 26-29 August, 1996 Luc Moreau (Southampton) attended
EUROPAR'96 in Lyon.
- 10-13 September 1996, A Valls (URV) attended VI Congreso
Español sobre tecnologia y Logica fuzzy.
- 12-15 November 1996, Maurizio Giordano (CNR
Naples) attended ISAI/IFIS 1996 in Cancún
8-9 February, Berlin
- Purpose
- compilation for parallel execution
- Nature
- technical discussion
- Participants
- Julian Padget (Bath), Angela Sodan
(GMD-FIRST).
25-26 March, Paris
- Purpose
- ISO WG16 working group held at ILOG s.a.
- Nature
- standards meeting
- Participants
- Julian Padget (Bath), David DeRoure
(Southampton), Pierre Parquier (ILOG), Bruno Haible (ILOG), Ulises
Cortes (UPC)
22-27 June, Barcelona
- Purpose
- preparation of joint paper
- Nature
- technical discussion
- Participants
- Antonio Gisolfi (Salerno), Vincenzo Loia
(Salerno), Ulises Cortes (UPC), Ramon Sangüesa (UPC).
1-2 July, Kiel
- Purpose
- Compiler correctness and staging transformations
- Nature
- technical discussion
- Participants
- Julian Padget (Bath), Wolfgang Goerigk
(Kiel), Friedemann Simon (Kiel), Hans Langmaack (Kiel).
23-25 September, Tarragona
- Purpose
- Fuzzy inference
- Nature
- technical discussion
- Participants
- Angela Sodan (GMD-FIRST), Vicenç
Torra (URV).
26-28 September, Barcelona
- Purpose
- project workshop
- Nature
- workshop
- Participants
- Julian Padget (Bath), David Riaño
(URV), Antonio Moreno (URV), Vicenç Torra (URV), Carles Sierra
(IIIA), Pablo Noriega (IIIA), Ramon Lopez de Manataras (IIIA), Joan
Rodriguez (IIIA), Franciso Martín (IIIA), Angela Sodan
(GMD-FIRST), Hans Voß (GMD-FIT.KI), Nikos Karacapilidis
(GMD-FIT.KI), Markus Mueller Ulm (Kiel), Edwin de Jong (VUB), Mario
Mango Furnari (CNR Naples), Maurizio Giordano (CNR Naples), Giuseppe
Attardi (Pisa).
30 September-2 October, Salerno
- Purpose
- planning for exchanges later in the year
- Nature
- technical discussion
- Participants
- Ulises Cortes (UPC), Ramon Sangüesa
(UPC), Antonio Gisolfi (Salerno), Vincenzo Loia (Salerno).
1-4 November, Paris
- Purpose
- preparation of joint paper
- Nature
- technical discussion
- Participants
- Luc Moreau (Southampton) and Christian
Queinnec (INRIA)
Joint publications authored by scientists from more
than one of the participating teams;
- Napoli, C., Giordano, M., Furnari, M., Sierra, C., and Noriega,
P. A PVM Implementation of the Fishmarket Multiagent System
in the proceedings of ISAI/IFIS 1996, Cancún, Maxico,
Nov. 12-15 1996, pp. 68-76
- Torra V. and Sodan A., A multi-stage system in compilation
environments, Report de Recerca, DEI-RR-97-001, Universidad
Rovira i Virgili, 1997.
- Sodan A. and Torra V., Configuration Decisions for Mapping by
Fuzzy Inference, Technical Report, GMD-FIRST, Berlin.
- Queinnec C. and DeRoure D., Sharing code through first-class
environments, Proceedings of 1996 ACM SIGPLAN International
Conference on Functional Programming, pp251-261., ACM Press, New
York.
- Queinnec C. and Moreau L., On the Finiteness of Resources in
Distributed Computing, INRIA Research Report 3147, 1997.