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