Concurrent Pascal

Concurrent Pascal, designed by Per Brinch Hanson initially at Caltech (California Institue of Technology) and then USC (University of Southern California) is a language, based on Pascal but designed to do for operating systems what Pascal had done for compilers – reducing the length of the code by orders of magnitude compared with assembler code. Operating systems typically have to deal with ‘real-time’ events which can make them very complex and difficult to write. Concurrent Pascal was designed, like UCSD Pascal, as a p-code (portable or pseudo code) based system where a small assembler written kernel interprets the p-code at runtime. This makes it possible to use the language on a wide range of processors. I had bought a copy of Hansen's book 'The Architecture of Concurrent Programs' and was convinced this would greatly benefit our software design for microprocessors.

Our 1470 products essentially required real-time operating system code to deal with random events in an understandable and reliable way. Micro Concurrent Pascal (MCP) was a product available from an American Company, Enertec and available for the 1802 range or processors. By using this compiler I suggested we may be able to produce a working design for Huwood Electric in the short timescale available. This was taken up and we ordered all the necessary hardware and software, an IBM XT and the MCP software suite directly from the States. The images show the 5.25" disks needed - compiler, interpreter / kernel, cross-assembler and linker along with the IBM PCDOS operating system that came with the computer!

Looking back, it's interesting that we used a language specifically designed for concurrent operations created by Per Brinch Hansen. Hansen had also developed the concepts which became know as Remote Procedure Calls (RPC) and one of the first implementations was at Newcastle University in the 1982 'Newcastle Connection' software designed to combine mutiple connected UNIX computers.

Our 'Sentrie' development was based on the fact that I thought it was possible to design the software in a short time using a language like Concurrent Pascal. We later found out that our quote had undercut the nearest alternative by 50% - ironic given that it was from MARI, the Microelectronics Applications Research Institute, a company created by Newcastle University in association with Newcastle Polytechnic and a commercial software company - perhaps they weren't developing realtime software in a concurrent language! MARI distributed the Newcastle Connection software for a time. My post at the university was partly created because a number of Computing Lab. staff were seconded to MARI.

Back to 1985