[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

UdanaxGold2Java translator update and questions



Hi all, for the last few years I have been making the occasional
investigation into Xanadu, and especially the open-source release of
UdanaxGold. This is all roughly documented at http://www.abora.org
along with a few related downloads.

Starting in January, I dusted off my earlier aborted attempt at an
automated UdanaxGold Smalltalk source to Java source code translator.
This is a from-scratch translator, as I've unfortunately never had
access to the C++ translator used by Udanax. After a lot of hacking,
second guessing, and stubbing out code like there was no tomorrow, I
have inched my way from the heady heights (lows...) of about 8500
compilation errors until the generated Java code compiles cleanly. The
Java code, along with supporting (ie hacked up by me out of thin air)
library code, is able to run 18 of the 22 tester classes that came
with the released UdanaxGold source, though as you'll recognize from
one of the following questions, running without an exception is not
necessarily the same as a successful test run.


This progress has led me to the following questions. Any help from the
Udanax guys, or other Xanadu cyber-archaeologists would gratefully be
appreciated.


- Tester traces. For the most part, Tester classes rely on generating
  a log of interesting events during their execution, and that is
  compared against a log from a previous log to confirm whether the
  code is still behaving correctly or not. Basically a regression log
  to detect changes against.

  Does anyone have any good Tester trace logs that I can compare the
  translated Java against?


- Missing classes. Though hundreds of Udanax-Gold Smalltalk classes,
  and a few C++ classes were released, there are still a good few
  class references in the code that can't be resolved. I have stubbed
  out these with my Java work, and implemented a few to get the tests
  to run, but some missing classes are really starting to get in my
  way. If anyone is interested I can forward the complete list, or you
  can check the abora-gold code under the various
  org.abora.gold.java.missing packages.

  The top missing classes for me at the moment are:

      RandomStepper
      Urdi, UrdiView, SnarfHandle
      
  If any Udanax guys could untangle these classes from any copyright
  hooks, then I would be grateful.


- Was the latest code released? Feedback from Dean Tribble a little
  while go on a bug I had found in IntegerRegion:below suggested that
  the released UdanaxGold source might not be quite the latest
  version.


- UdanaxGold roadmap? Is there any documentation, or recollections, on
  what the UdanaxGold team were working on when development stopped, a
  roadmap of features to be implemented before the 1.0 release, or a
  list of bugs/known issues.


- Startup configuration files? I don't really understand the startup
  mechanism at the moment, and have just hacked enough to get some of
  the server tests at least spluttering along, but the MainDummy class
  suggests there might have been an external Text configuration file
  with book strapping thunks encoded within it. At the moment I'm
  directly executing WorksIniter and DiskIniter/FakeDisk for the
  tests.


- Become behaviour. There are a few new.Become: calls in the code,
  with an example extracted below. Is this really a one way become,
  together with a class change? 

udanax-top.st:9183:OVirtualLoaf methodsFor: 'protected: splay'!
{Int8} actualSplay: region {XnRegion} with: limitRegion {XnRegion unused} 
	"Expand my partial tree in place. The area in the region must go 
	into the leftCrum of my substitute, or the splay algorithm will
  fail!!"

  [...]
  (SplitLoaf new.Become: self)
			create: region
			with: tmp1
			with: tmp2
			with: hcrum
			with: hash
			with: info.
		"The new SplitLoaf will add itself."
		oldSensorCrum removePointer: self]].


Thanks a lot for any help you are able give with these questions. If
this is an appropriate forum I'm sure I can come up with a few more
over time :-)


If you have any other questions feel free to reply, or email me. If
anyone finds themselves in Toronto, Canada and would like to discuss
Abora, UdanaxGold or Xanadu further, get in contact and I'm sure we
can organize a beer.

Cheers
-- 
David G Jones               mailto:david_jones@xxxxxxxxxxxxxxxxxx
http://www.abora.org                http://www.night.dircon.co.uk
PGP 0x389707D3/70D4 BBE3 9D88 B307 D8FF  5422 A61C ED70 3897 07D3