The Anonymous Widower

The Structure Of Artemis

Some claim, that Artemis was the first relational database. I don’t! Although, I must admit, it would be nice to have invented something.

When the system was being designed, we realised that we needed to use a small computer that could fit into a desk. This would differentiate us from the competition, which was inevitably based on large mainframe computers like the IBM 360.

We all had experience of dial-up time-sharing computing using a teletype, but we knew of the limitations of dial-up lines and wanted a project management system, that could fit into a small office, possibly on-site or at a remote location.

In my mind, I had an image of a computer system like the IBM 1130, I’d used a few years earlier at Liverpool University.

This had a processor, a keyboard, some rudimentary data storage and a printer in a desk-sized unit.

I can remember drawing up a list of three possible computers, that could be used.

I think, we thought that the DEC would be favourite.

  • It was the market leader in small computers.
  • Our chairman, had spent a lot of money buying PDP-10 computers for his company; Time-Sharing Ltd.
  • I had a lot of experience, with their Fortran compiler on the PDP-10 and it was very good.

But, they just didn’t want to know and felt our plan was an impossible dream!

DG tried hard, but to get the computing power, I estimated we would need, their offering would be expensive.

Luckily HP were more interested.

I remember the day, that their two salesmen, gave the Chairman and myself a presentation, by his swimming pool on a very hot summer’s day in possibly 1977 or 1978.

HP  gave me a lot of help and I was able to use a machine at their premises in Wokingham to thoroughly test out the 21MX computer and its Fortran compiler.

We ended up using a computer with a specification like this.

  • A 21MX processor.
  • 64 Kb of memory
  • A five megabyte hard disc, with a 5 megabyte removable disc.
  • A VDU and a printer.

It all fitted into a custom-built desk, about the same size as a typical office desk.

I’d now got a computer and ~I could start to design Artemis.

All complicated software systems need access to some form of tables or arrays.

If you have ever used a spreadsheet program like Microsoft Excel seriously, you’ll know that you can create a series of worksheets in a workbook.

But this was the 1970s and the first spreadsheet program; VisiCalc didn’t launch until 1979.

For Artemis, I needed arrays to hold the following during processing.

  • The activities
  • The events
  • The calendar details
  • The resource details

And I didn’t think small, so the maximum-sized project was going to be 16000 activities.

For a time, it looked as if, I would have to write a sophisticated database structure to access the data on the limited five megabyte hard discs.

But HP had just released a program possibly called DSMP, that could handle up to 16 tables of up to 16,000 records.

So I used this program to handle the data that I needed.

Activities

In a PERT network, activities are entered for each task in a project.

I used two tables for this. The main one held the activities themselves and a secondary one held details of the resources needed for the activity.

Both tables had a 16,000 limit.

Calendars

Artemis had a comprehensive calendar structure and these were stored in another table.

Each activity was linked to the appropriate calendar record.

Resources Available

Another table was used to list the resources available to a project.

Working Tables

One working table contained all the event names used by the activities.

Linking Them All Together

I used a variety of techniques to link these tables together.

In some cases, I used simple pointers, which used the record number, but in other cases, I wrote very sophisticated and fast software to generate the links on the fly. Incidentally, the algorithm was based on research I found in IBM’s library on the South Bank, that dated from the 1950s.

I had taken HP’s DSMP program and effectively created a relational structure, that created links as it needed them.

Building On The Original Structure

In my view, I made the right decisions technically, as it enabled the scope of Artemis to be expanded.

The Multi-User Version

This was designed in an alcohol-fuelled session with Nobby (Richard Nobbs), in either Suffolk or Amsterdam and basically involved Nobby creating a version of DSMP for HP’s multi-user operating system.

Linked Datasets

I was able to use the structure to create other tables in the projects.

Again the linking was on the fly and it greatly increased the applications of Artemis.

So Was Artemis A Relational Database?

It is true to say, that from the earliest days in the late 1970s, I used relational techniques deep in the program to link all of the data together.

Working on such a small computer, I had no choice!

 

 

January 18, 2019 - Posted by | Computing | , ,

3 Comments »

  1. Really fascinating thank you. Do you ever teach students these days?

    Comment by David Collier | January 18, 2019 | Reply

  2. I can do the odd lecture, if the subject is well defined.

    I can tutor a student to tell him what to do with their data.

    Comment by AnonW | January 18, 2019 | Reply

  3. Indeed – documented at https://en.wikipedia.org/wiki/Artemis_(software).

    I didn’t know the company had re-micro-coded a Vax 11/750. I suggested this to ICL (to emulate emerging 32 bit micro-processors) in 1977 and even received a payment for it, but sadly they did not do it.

    Sadly by the time I encountered the company about ten years later, they were engaged in trying to create their own hardware using AMD 2900 bit slice processors. I concluded that this was both over-ambitious and mainly for the purpose of locking in customers to a proprietary solution and walked away.

    AMD subsequently brought out their 29000 (32 bit CPU) range obviating 2900 designs and AIUI the project over-ran schedules and budget due to the need to build everything (hardware, OS, compilers etc.) from the ground up. See the article for the rest.

    Comment by Mark Clayton | January 20, 2019 | Reply


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.