The aims of the research are:
The results of the investigation will be:
The emphasis of this work lies in the implementation of the run-time system for the languages. This is because we believe that there are immediate problems in this area which must be solved before the language ideas can be successfully exploited.
Pascal Plus and Edison have been chosen because they are typical of concurrent approaches to the problems outlined.
This part of the project aims to keep our feet firmly on the ground by:
We have had talks with three organisations - a health authority implementing an information system, a large nationalised manufacturing company, and a major manufacturer of office automation equipment. Our main findings have been that parallelism is, in practice, not something that the applications programmer is generally concerned with; and no concern about problems of implementing software system involving parallelism. As a result we feel that probably the area of real time embedded computer systems will be more fruitful.
Which notation for describing interactions between parallel processes is the easiest to use? This is the question that this project seeks to answer using the methods of experimental psychology.
Typically an experiment involves a group of people who are split into two. One group is asked questions about program text. The time taken is recorded. The other group similarly examine a different program text and answer questions about it. The two programs solve the same problem but with different notations. The aim of the experiment is to measure ease of comprehension. Comprehension is chosen because it is considered vital for program design, debugging and maintenance. We plan to compare the two fundamental mechanisms - procedures and monitors.
Experimental design is at an advanced stage. Issues include the size of the subject population, their background, character of the problems, nature of the questions. A working paper is available. We plan to carry out a pilot experiment before the end of 1983 and a full experiment by June 1984. We are fortunate in having the collaboration of workers in the MRC/SSRC Social Psychology Group at Sheffield University (Thomas Green et al) who have considerable experience in experiments of this sort.
Version 1c of the Pascal Plus system (made available by Queens University, Belfast) has been implemented. A Fortran version of the Pascal Plus compiler (Pcode generator) has been written on the Polytechnics IBM 4341 enabling Pascal Plus programs to be developed on the mainframe. After compilation the resultant P-code can be downloaded to a Z80 based Ithaca microcomputer on which resides the interpreter part of the Pascal Plus system.
What remains to be done once we have uniprocessor implementation of the language working, is to reimplement relevant parts of the compiler and interpreter to enable actual multiprocessor execution (on several Ithacas connected by a Cambridge Ring, Econet and point to point lines) of Pascal Plus programs.
Conversion of the Edison kernel into Z80 assembler code is now at an advanced stage. The remaining conversion work to be done is in providing the input/output routines for the Z80 processor. The operating system is written in Edison and the Kernel has to be capable of interpreting this before running other programs. Thus, the first real live test will be execution of the operating system.