Wednesday, July 29, 2009

VisualWorks' Delays

We use VisualWorks for embedded machine control. Our software is designed to run in a distributed environment. Our customers typically have 5-9 computers linked together on a private intranet. The images running on these computers use remote object communication and the traffic is relatively heavy.

We collect a lot of data from all of the computers and coalesce it into a single timeline. It is important that the clocks be synchronized.

In practice, clocks drift, so we resynchronize periodically. When we do, Delays get screwed up. Given that we are responsible for ensuring that humans are protected from poisonous gases, lethal electrical currents and robotic machinery, it kind of makes a difference that a Delay fires when it is supposed to.

VW 7.x contains an implementation of Delay that fails this simple requirement. How is it that Cincom's entire compliment of Smalltalk brainpower isn't on this problem? How does Cincom rationalize making another release without fixing this?

Frankly, it is beyond me how anyone could put profit ahead of safety, but it happens a lot. American Industry is full of examples. Of course, we regard these violators as greedy and opportunistic. History is unkind to their ilk.

Maybe Cincom's good intentions will deflect the critical glare of history.

No comments:

Post a Comment