History of UNIVAC's ED processor (ED-1100)

First Steps - Project MAC & Jerry Saltzer

According to Tom McCarthy, “ED was developed at Univac in the mid-60s. It was loosely based on the Project MAC editor developed for the MULTICS system at MIT. It had a small set of simple commands (LOCATE, CHANGE, INSERT, DELETE, REPLACE, TOP, BOTTOM), and it was mostly used for batch editing.

Project MAC was a research project, started at MIT on July 1, 1963, principally funded by DARPA and the National Science Foundation. (Fano decided to call MAC a “project” rather than a “laboratory” for reasons of internal MIT politics – if MAC had been called a lab, then it would have been more difficult to raid other MIT departments for research staff.)

Project MAC's founders – Robert M. Fano, Fernando J. Corbató (Corby), John McCarthy (inventor of the term “artificial inteligence” in 1956 and inventor of the LISP language two years later), and Marvin Minsky , among others – envisioned the creation of a “computer utility”, which would be as reliable as source of computational power as the electric utility was a source of electrical power. (See this report from Prof. Fano and this one from John McCarthy).

To this end, Corbató brought the first computer time-sharing system, CTSS, with him from the MIT Computation Center, using the DARPA funding to purchase an IBM 7094 for research use. One of the early focuses of Project MAC would be the development of a successor to CTSS, Multics, which was to be the first high availability computer system, developed as a part of an industry consortium including General Electric and Bell Laboratories.

In 1975, Project MAC was renamed the Laboratory for Computer Science (LCS), and went on to do further ground-breaking work, including a significant role in the development of the Internet. On the fortieth anniversary of Project MAC's establishment, July 1, 2003, LCS re-merged with the AI Lab to form the MIT Computer Science and Artificial Intelligence Laboratory, or CSAIL. This merger created the largest laboratory (over 600 personnel) on the MIT campus and was regarded as a reuniting of the diversified elements of Project MAC.

It has several notable alumni who went on to further revolutionize the computer industry. Dan Bricklin created the software application known as VisiCalc, the first electronic spreadsheet and also the first so-called “killer app” that gave people and businesses a reason to own personal computers. Another Project MAC alumnus, Bob Metcalfe, went on to invent Ethernet at the Xerox PARC lab and later founded 3COM.

Project MAC was one of the most important computer research and development collaborations in computer history. In fact the information society was born in the spring of 1963 with the founding of MIT's Project MAC. Computers, of course, had already been on the scene for a quarter century, but the step from information processing systems to information societies was first achieved at MIT in Project MAC.

Project MAC editor was programmed by Jerry Saltzer as a way to produce documentation. In fact, that editor became the first interactive word-processor ever programmed.

Here you can read the main features of Project MAC Editor, you will find there some ED features in their barebones…

Scene 1 - Tom McCarthy

When I started my investigation about the origin of ED, I asked George Grey, the publisher of the Unisys History Newsletter what did he know about ED, because in his Unisys's history pages he didn't mention anything about the history behind ED.

George promised to ask someone al Unisys and within a few days, he came out with this comment from Tom McCarthy:

When I came to Sperry Univac in the late 60s, we were just starting to use time-sharing terminals to do system software development. I remember being particularly annoyed by the almost total lack of interactive feedback by the ED program. Believe it or not, the ability to type a solicitation string and stop the teletypewriter print head at the end had just recently been implemented in the operating system, so the first thing I did was implement the line number prompt. I added a number of other ease of use features and editing enhancements, many of which were based on the Burroughs 5500 editor that I had used in my graduate work on the Illiac IV project.

At that time, the development operating systems that we worked on crashed frequently. I got tired of repeatedly losing my work, so I developed the auto recovery feature for the product. We also had several code contributions from the University of Maryland during this period.

With the increasing complexity of interactive development, I found myself entering similar commands over and over again so I developed the commands to allow for command scripts with repeated executions and variable substitution.

Dr. Roger M. Firestone took over responsibility for the ED processor in the mid-70s and made a number of enhancements and refinements, particularly in the area of programmability. After that, development at Sperry Univac shifted to more complete user interfaces like CTS and later, IPF.

Scene 2 - Dr. Roger M. Firestone

I interviewed Dr. Firestone by email in June 2004, and here are his comments about is participation in the development of ED Processor:

Tom McCarthy found that he had certain repetitive activities that he had to do using ED (the ”@” is not part of the name of the program–the “master space” character was used to indicate to the operating system that the card image required special handling by the system…in fact, programs could register to read their own control cards, and ED was one that did)…

Absolutely correct. The name of the software was ED, or ED Processor, or ED-1100. But as now the only use of ”@” is in email addresses, I miss using it to invoke OS processors. ED is kind a generic name. There are many ED's. But there's only one @ED. And I like to name ED with it's mainframe title, great people are named Mr, Lord and so on. Great processors are named @. Or so I like to think… Oh, excuse me Dr Firestone, please, continue…

… so he created a rudimentary “LOOP” facility to allow him to save a set of statements and execute them several times. I took that ball and headed for the goal (in American football we say, took the ball and ran with it, but in soccer–which I used to play–the concept would be different, eh?)

Using some of his basic code, I created an entire programming language, with tests, labels, jumps, a limited set of user variables (X, XA, XB, …, XZ), a set of built-in variables (designating the current line number, the original line number, etc.) and the ability to store a set of commands under a name–i.e., editor macros

I also did a lot of internal re-design to clean up what was appallingly slow. Among other things, I took advantage of the availability of many index registers to create a very fast arithmetic interpretive expression scanner, using two stacks rather than the classical one-stack RPN implementation.

Back in the 1970s, batch-mode thinking was still in the heads of the older guys (I was a “younger guy” then :-), so the most important thing was to use as few instruction cycles as possible. Demand mode (interactive) computing made better use of the human assets of the corporation (or other enterprise), but most managers simply didn't realize that the assets that left through the front door every night cost them far more than the hardware in the glass box downstairs.

The customers sure appreciated what I had done–I once had to analyze a bug report in which a customer submitted about 2500 lines of ED macro code! There simply wasn't any other tool to do what they needed done, and they were very grateful for having a way to automate an important function. (Can't really remember what it was; that was something close to 25 years ago, after I'd moved from Roseville to Blue Bell, and was doing something else entirely.)

When I informed Dr. Firestone about the fact that ED has been ported to the DOS environment this was his reaction:

I am flabbergasted to learn that ED was ported to the DOS environment. I can't help but wonder who would have decided to do that!

Meet that man. Meet Mitch Theophila…

Scene 3 - Mitchell G. Theophila

Mitchell G. Theophilla operates MGT Computer Solutions, and is the responsible of the port to the DOS environment of ED under the name of @ED-PC. You can read about him in his own page: http://www.mgtcs.com/mitchell.htm

The four year work done by Mitch is remarkable, because not only he ported all the features of the original ED processor, including its macro language, but has extended ED with many new and useful functions. I will document them in this pages.

In his own words: ”Many functions and some commands in @ed-pc are not in the original @ED from the 1100 series. For instance, there are many new functions in @ed-pc, such as string functions for the name of executing macro, the day of the week, the name of file being edited, the contents of environment variables, and others. But the ma, qu and tx functions were, if i recall correctly, just about the only string functions in @ED.”.

From now on

The work of Mitch putting in our hands a renewed @ED opens an exciting door in the text procesing arena. There are many new applications that consist in analyzing text and generating text from that analysis. Take, for example, a web page. It's just text. And take a XML file. Plain text also. Both represent the way information is spreading worldwide by the Internet. Generation of RSS feeds, which are just XML, from the HTML files of a web site, is just one of the many uses of a goot text analyzer. So powerful text editors can be a very useful tool now.

Take another view. Logs. Unix systems and many Windows applications generate plain text logs. How big such logs can be?. Well, very big. Megabytes. Firewall logs in situations in which there are suspicions of intrusion can be veeery long, because you log everything. In view of this, who can dismiss an editor tool that allow you to analyze logs up to 2 Gigabytes long, digesting lines of 10K chars long?

Definitely, I like my new toy. I will play with @ED-PC and find useful jobs for it in my text processing activities.

Thanks a lot to everyone cited in this page for bringing to us such a wonderful (and funny) tool.

QR Code
QR Code History of UNIVAC's ED processor (ED-1100) (generated for current page)