Potential use of VA Smalltalk dev env and new features

VA Smalltalk is a "100% VisualAge compatible" IDE that includes the original VisualAge technology and the popular VA Assist and WidgetKit add-ons.

Moderators: Eric Clayberg, wembley, tc, Diane Engles, solveig

Potential use of VA Smalltalk dev env and new features

Postby PhotonDemon » Tue Aug 24, 2010 12:53 pm

Hi All,

Some of you may have followed an exchange between myself and John O'Keefe about the potential use of some features of the VA Smalltalk development environment in a packaged program. Along those lines I would like to share an idea for a project I have had bouncing around in my head for a long time. I have no plans to build this project as I don't have a customer to use or pay for it. Still, it illustrates some features of the development environment would be useful it they were available to packaged programs and some APIs that might be valuable if they existed.

Some history. Back in college, circa 1970, I worked on a digital simulator of an analog computer, written in Fortran. Analog computers are machines the basically solve differential equations, to about three digits of accuracy. The use transistors as integrators and other circuit elements multipliers and summers. Programming them (other than adjusting for voltage scales) is rather easy. If you can write the differential equations, you can draw a block diagram that represents the program and wire the analog computer from it.

Digital programs are nicely suited to simulate analog computers because the math to do the integration is well understood (not so much by me) and float arithmetic, gives us much more than three digits of accuracy and a value range far greater than the voltage range of the transistors of the analog computer, therefor no voltage scaling is required.

I envision a program where the block diagram that represents the analog computer program would be constructed in a window with blocks (that represent integrators and other analog computer elements) much like the way we build a window with buttons and entry fields in the development environment. The analog computer blocks would be connected much like we run connections from buttons to code or other objects. It would be nice not to have to develop this connection code since it is in the development environment already.

Modern PCs are more powerful that the mainframe I wrote the simulator on, so I expect they are more than up to the task. That said, modern graphics cards with their powerful floating point math capabilities would make for one great analog computer. It would be very nice to have a VA Smalltalk interface to something like OpenCL. And while we are on the subject, a VA Smalltalk interface to OpenGL would be nice too.

Now, I'm not trying to put any pressure on Instantiations. As I said, I have no plans to build this project. I just thought it pointed out some nice things to have.

Lou
Louis LaBrunda
Keystone Software Corp.
SkypeMe callto://PhotonDemon
mailto:Lou@Keystone-Software.com http://www.Keystone-Software.com
PhotonDemon
[|]
 
Posts: 176
Joined: Thu Dec 20, 2007 1:45 pm

Re: Potential use of VA Smalltalk dev env and new features

Postby koschate » Wed Aug 25, 2010 8:57 am

An interesting problem, but I think it's solvable without resorting to distributing the dev environment. I'd use GF/ST for the GUI portion which provides a lot of flexibility for a run-time GUI. For purposes of the calculation portion, a technique I used in the past was to create a class I called PersistentCodeBlock, instances of which were persisted in a DB2 table.

The main attribute was a string which was the source code for a Smalltalk block, with as many arguments as I expected to need. I included EsCompiler in the runtime, and, when needed, the source code was compiled in the context of a specific class and stored in a non-persistent attribute of the instance. In this way, there was a performance hit the first time the PersistentCodeBlock was actually used, but, after that, as long as the image was up, it was normal speed.

Syntax of the block was checked by test-compiling the block string at edit time, and I had actually built an ENVY-like version/release system around the code blocks as well. My implementation was a very powerful stick, since it provided access to anything in the image, but one could tighten it up considerably.
koschate
[|]
 
Posts: 102
Joined: Thu Feb 01, 2007 7:24 am

Re: Potential use of VA Smalltalk dev env and new features

Postby marten » Wed Aug 25, 2010 1:06 pm

PhotonDemon wrote:Modern PCs are more powerful that the mainframe I wrote the simulator on, so I expect they are more than up to the task. That said, modern graphics cards with their powerful floating point math capabilities would make for one great analog computer. It would be very nice to have a VA Smalltalk interface to something like OpenCL. And while we are on the subject, a VA Smalltalk interface to OpenGL would be nice too.


The OpenGL at vastgoodies shows our attempt to get an OpenGL interface under Windows. It works, but is very low level at that published version level. We have internally new versions, but lots of code had been rewritten to get access to joysticks etc ... and the developments simply has stopped for some months now.

Support for OpenCL is (as OpenGL) pretty low level stuff and basic structures can be seen at vastgoodies. Works here seems to be most: sit down, look at example codes and rewrite it in Smalltalk to get a higher level interface. Pretty time consuming stuff. The actual state is only, that you can query your opencl implementation for its platforms and all attributes for all platforms found.
Marten Feldtmann, Principal Smalltalk User, Private
SkypeMe callto://marten.feldtmann
marten
[|]
 
Posts: 641
Joined: Sat Oct 14, 2006 7:10 am
Location: Hamburg - Germany


Return to VA Smalltalk 7.0, 7.5 & 8.0

Who is online

Users browsing this forum: No registered users and 1 guest

cron