[virtmach] Definition a virtual machine ?

Stephen Pelc sfp@mpeltd.demon.co.uk
Wed, 17 Nov 1999 17:36:25 -0000


Ehud Lamm said:
> This is a very intersting thread, since it contarsts two views of VMs. On
> the one hand a VM is one of the kinds of abstractions used when dealing
> with software construction, along things like processes, trees etc. On the
> other hand, many use the term to refer to a specific kind of VM, and
> usually have in mind a specific model. This kind of thinking usually
> results i thinking about a smaller class of VMs, which are much closer to
> actuall machines. They usually have a set of instrctions, possibly
> addressing, and the Vm is basically an interpreter.

My company did much of the architecture for the Europay Open 
Terminal Architecture project (see www.europay.com in the smart-
card section), which uses a virtual machine to run payment 
terminals. The point is to allow new services to be downloaded 
to terminals without knowing what hardware is in use. OTA was in 
turn derived from our SENDIT ESPRIT project.

The requirements of OTA are to provide a common transport 
mechanism to the terminals. Consequently the VM definition and 
coding reflect what is passed to the terminal. There is *no* 
assumption that the transferred programs are interpreted, 
although on small 8051 based terminals, that is almost always 
true.

In both SENDIT and OTA, the VM consists of definitions that 
cover both programming and O/S access. We used a two stack 
virtual machine derived from Forth with extensions for local 
frames. We produced both C and Forth compilers for these 
systems, and compilers were prototyped for BASIC and M2. The OTA 
specifications are on the Europay web site.

We chose to use byte-codes in order to simplify implementation 
on small systems, but much more sophisticated encodings have 
been used. The ANDF specifications (Architecture Neutral 
Distribution Format) are an example of this, but I don't have 
the URL available.

--
Stephen Pelc, sfp@mpeltd.demon.co.uk
MicroProcessor Engineering Ltd - More Real, Less Time
133 Hill Lane, Southampton SO15 5AF, England
tel: +44 1703 631441, fax: +44 1703 339691
web: http://www.mpeltd.demon.co.uk