Le 20 janv. 2016 à 20:09, Craig Latta a écrit :
Hi all--
Phil writes:
The point is not to clean but to start with an empty object engine and fill it in with the minimum required core. Currently, the image is the result of an evolutionary process and rebuilding it from zero was not possible.
Another approach is to modify the virtual machine so that it marks methods as they are run, and modify the garbage collector to reclaim methods that haven't been run. Then you can create systems that consist of only what is necessary to run unit tests, effectively imprinting the unit tests. You can interact with the target system from completely independent one over a remote messaging network connection, so your unit tests need not include graphics support, etc.[1] This seems much simpler to me than making a virtual machine that can run multiple object memories, and distributed object memories have several other important uses too.
Guillermo also implemented this kind of approach with Tornado. "Tornado, a technique to dynamically tailor applications to only embed code (classes and methods) they use. Tornado uses a run-fail-grow approach to prepare an application for deployment. It launches minimal version of an application and installs a minimal set of statements that will start the user's application. This ap- plication is run and these statements are executed. When the application fails because there are classes or methods missing, the necessary code is installed. Extended results of Tornado: A Run-Fail-Grow approach for Dynamic Application Tayloring (PDF Download Available). Available from: https://www.researchgate.net/publication/278629977_Extended_results_of_Torna... [accessed Jan 21, 2016]." But is not so easy ...
This makes it possible to audit the whole build process, create different base image for various purposes (very small, headless with no UI objects at all, using the object engine in a completely different way that is used today).
That makes the image the result of a fully reproducible process, from a file of zero bytes, to a file with a working image.
You can do all of these things with imprinted unit tests as well.
Also, this allows to experiment with new low level mechanisms. This is currently not possible since it makes us like performing surgery on our own brain.
With remote messaging, which has been around for many years, you can perform this surgery from afar.
Also, the Oz-inspired system will help in exploring other image memories (small or large) and manipulate them as entities. At this point, this is also not common pratice.
This has been common practice since the introduction of the virtual machine simulator in 1996. The remote facilities I mentioned all work under simulation, too.
There's a lot of prior art here.
-C
-- Craig Latta netjam.org +31 6 2757 7177 (SMS ok) + 1 415 287 3547 (no SMS)