What is a ``reflective'' system?

Alaric B. Williams alaric@abwillms.demon.co.uk
Tue, 13 May 1997 18:34:23 +0000

> As to how VMs play in LispOS, I liked the idea someone (was it Alaric?) had
> about VMs being first class objects under LispOS -- this would be great for
> multi-tasking. 

Yup. The actual situation where it arose was as an optimisation for remote
GUIs - the remote object returns a source file, which expects to load into
a VM containing a certain set of modules - the standard language modules,
and one to be supplied by the GUI, which gives windowing primitives, and
a limited IPC service that allows it to communicate Java-style with only
it's parent object.

Then I noticed that a little generalisation of the concept could have
other uses, too...

> Consider a roving LispVM agent, gathering data by migrating between client
> workstations and non-LispOS Web servers. Whenever the roving agent needed to,
> it could instantiate another VM object on the LispOS server and have it execute
> some expensive process, concurrent with all the other things it might be doing.
>  I could think of a few applications for that. <g>

...exactly :-)
> I'd also like to see some objects for managing roving agents built. A roving
> agents manager could do things like track the agents that had been sent forth,
> ping the agents, display their whereabouts, and for debugging, being able to
> inspect a log of interactions between the agent and LispOS. Having these kinds
> of things provided with LispOS/LispVM would give people an added incentive to
> use the platform.

Yup. It'd be handy for in-house networks, like factory floor control... QNX
does a good job of this; it's a POSIX system based around a microkernel
and message-passing, but the IPC is network-transparent, creating a
"single-machine" abstraction over the network. Pretty cool IMHO;
it has heavily inspired the ARGON entity model.

> Bill House

Alaric B. Williams (alaric@abwillms.demon.co.uk)

   ---<## OpenDOS FAQ ##>---

Plain HTML: http://www.delorie.com/opendos/faq/

Fancy HTML: http://www.deltasoft.com/faq0000.html