Wednesday 22 January 2014

Future Plans - and how to get a working up-to-date CODIL system

One of the problems I face is the lack of an up-to-date working CODIL simulator which will run on modern computers and a short history of the various experimental CODIL systems is appropriate, followed by a note on continuing the research. For details of the many original publications click here. More information is given below the fold.

  1. The Pilot Program was written in the late 1960s in System 4 assembly code (compatible with IBM 360 assembler) and was a crude prototype.
  2. The first proper CODIL interpreter was written in the early 1970s and because of the projects commercial data processing origins was written in COBOL for the ICL 1903 computer. Because of equipment limitations it was run as a batch system , although it could be run from a teletype type terminal. It was tested on a range of applications – and used to support a powerful AI package called Tantalize.
  3. In 1980 the existing CODIL interpreter was significantly upgraded to run interactively online, on a Honeywell Multics system, now using international standard COBOL 1975. It was used to support interactive teaching applications, in some cases with classes of 125 students.
  4. In 1982 work started on MicroCODIL which ran (and still runs) on a BBC Mircocomputer. There were three goals:
    1. It was clear that a total rewrite was needed to exploit what had been learnt in the earlier versions. In particular it introduced further levels of recursion would made the "decision making unit" both smaller and more powerful.
    2. It was hoped to show that the heart of the CODIL system was simple and small enough to disappear completely into the microcode of a central processor (by 1980 standards).
    3. I really needed a low cost portable package which demonstrated the system and what it could do – and the result was a package aimed at schools – which attracted rave reviews but was not really robust enough for classroom use.
The plan was to use the success of MicroCODIL, the new paper in the ComputerJournal, and many other publications, to get a decent research grant to continue the research. This would follow up a number of new ideas and cover some in depth assessment trials. However the combination of a highly hostile new head of department and post traumatic stress problems following a family suicide resulted in my deciding to change direction and work towards better mental health services, with history (rather than computing) research as a means of relaxing.

Following my retirement from mental health committee work at the age of 70 I decided to have another look at CODIL and realised that it appeared to be relevant to the "Black hole" in modern brain research. I am really frustrated with the lack of a version that will run on a modern personal PC, although I can still run MicroCODIL on an old BBC computer (which is now a cult antique which is still commercially available secondhand).

The question has just been raised of the possiblilty of the software being run on a BBC simulator, and while it might be possble the move would not be easy. A little explanation is appropriate – and younger visitors to this blog may not appreciate how small a BBC computer was by modern standards..

MicroCODIL was designed to run on a minimum BBC Computer with 32K available memory and this space had to be shared by the operating system and Basic interpreter work space, the screen display, disc buffers (for a 40 track single sided floppy disc). This meant that MicroCODIL interpreter and a demonstration application had to fit within 25K bytes. Memory management was critical and the software had to cope with several different systems with varying amounts of memory. Every byte used in the program meant less space for the application and as a result the code was extremely tight, with no comments, and uses “naughty” tricks such as unofficial basic code overlays. The easy and smallest part of the interpreter, the decision making unit, was only a few hundred bytes long and the bulk of the code was the management of the keyboard (using colour coding of the syntax) and display (about a dozen different window formats to help the user view the inner workings of the system). A key restriction, which would also apply to the use of a BBC simulator, is that the display could only handle 25 lines of 40 teletext characters.

If MicroCODIL was moved to a BBC Simulator limitations on the program size would vanish. However all the memory management features would need to be stripped out, and the input and output routines would really need a major overhaul (unless a 25*40 character screen is acceptable). The overall result that it would almost certainly be more effective to use the MicroCODIL system as the basis of a complete rewrite, including interfaces to pictures and sound as well as text input/output.

At the age of 75, and enjoying retirement, the last thing I want to do is to learn a new programming language and write and test yet another version of CODIL just in case someone is interested when I have completed the work (assuming I live that long!) However I am happy to provide help and advice on any suitable university projects (preferably in the UK) to assess whether CODIL is a feasible model of the brain's neural code, or to implement a research system (possibly to run on a neural net model). As I am a retired Read of Computer Science, a Fellow of the British Computer Society, and a Ph.D. I could even act in the role of an official external supervisor.

So basically if you individually, or as a research team, want to know more about the approach (and surely the possibly of cracking the brain's neural code must interest some of you), possibly including having a modern working system,  why not contact me to see what can be done. 

No comments:

Post a Comment