Beans For Breakfast
George Markovsky stopped by the other week. He's a computer science professor at the University of Maine, and an old friend and co-speaker form the Chaos and Cybersea events. Over breakfast, I was forced to confess to him that my late morning phone interview with Sun Microsystems would be a sham. " What will the subject of the convention be?" asked my would-be rescuer.
Java and PLCs," I replied. For anyone who doesn't know, PLCs are to factory automation what PCs are to office automation. What's more, your columnist is ofttimes creditedas being one of the inventors of the PLC. But my background in physics makes me one of the world's worst programming experts.
Since I was the PLC guy and Markovsky was the Java expert it was clear that I would be paying for eggs and pancakes.
What the *&*&#$$% is Java anyway?
Java is more than a programming language. It is a software platform due to the Java virtual machine, which simulates a computer in software. The virtual machine can run on PCs, other computers already on-line, or on hardware specifically for Java.
According to George Gilder, the technology guru, "Java [is] an efficient programming language that is safe, simple, reliable and real-time, yet familiar to anyone who has used C or C++...it is interpreted rather than compiled-that means it is translated line by line in real time in the user's computer, rather than converted to machine language in batch mode by the software vendor....[Java] is compiled not to an instruction set peculiar to particular microprocessor, but to a virtual machine or generic computer. Putting the language into an intermediate binary form allows creation of programs that are not locked into any particular hardware platform, but can still be adopted to run fast."
I asked, "Can't that be done with 'any' language?"
"Yup," Markovsky answered.
Gilder says the difference is "Java can be 'compiled' line-by-line in real time. That is, it is interpreted in byte-level code in the client machine. It means programs no longer have to reside in the machine where they are used, or be written for that machine in order to be executed by it."
Of cause, one man's idea of "real time may be quite different from another's. What Gilder is talking about is real time in the database sense, not for purposes of process control. For factories, real time has to be "fast enough, robust, and predictable" A real-time machine cannot have time-dependent multitasking.
It become clear to me that what's needed is a real-time virtual extension to Java. It would have to be small and compact with all the manufacturing process dependencies built in. Markovsky and I agreed this may not be possible with the present set of tools. The industry may need a silicon Java chip set for real-time applications.
Since then I have checked with others that concur there are hurdles to real-time applications of Java, including need for real time Java virtual machine and a load time compiler. They point out that there are many good, inexpensive development environments for Java code, that cross development is the name of the game, and that we can leverage trends in network development for own goals.
There seems to be general agreement that as a development environment Java still has a way to go, but that it holds great promise. What's revolutionary is what Tom R. Halfbill pointed to in a recent article in Byte Magazine- Java's higher level of software abstraction. Java code is free of microprocessor and operating system constraints. This freedom is the future of computing.
Before breakfast was over Markovsky and I decided our real-time extensions-both hardware and software- to the Java virtual machine should be named EXPRESSO. It may be that others have already usurped this moniker. We don't care. We started off the project in the usual way. Before I sauntered back to The Barn for my phone interview, we ordered some coffee cups with the name emblazoned on the side.
We're on our way.
As appeared in Manufacturing Systems Magazine May 1997 Page 112
References - Table of Contents
|R. Morley Incorporated
614 Nashua Street, Suite 56
Milford, NH 03055-4992 USA
Tel: 603-878-4365 FAX: 603-878-4385