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.
- The Pilot Program was written in the late 1960s in System 4 assembly code (compatible with IBM 360 assembler) and was a crude prototype.
- 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.
- 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.
- In 1982 work started on MicroCODIL which ran (and still runs) on a BBC Mircocomputer. There were three goals:
- 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.
- 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).
- 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