PSAIL(ID:2711/psa001)

A Portable SAIL to C Compiler 


for Portable SAIL
A Portable SAIL to C Compiler

Used by Lemkin to make GELLAB II


Related languages
SAIL => PSAIL   Evolution of

References:
  • GELLAB II Notes view details External link: HISTORY OF GELLAB Extract: HISTORY OF GELLAB
    HISTORY OF GELLAB
    As can be seen from the sequence of papers, GELLAB had started out on a PDP8e controlled special-purpose image processor called the RTPP (Real Time Picture Processor constructed by the Image Processing Section under Lewis Lipkin [2]) and was written in FORTRAN [1-3]. Users of the initial PDP8e based system performed and recorded all measurements using the interactive system - one gel pair and one spot at a time. A decision was made to automate aspects of the measurement and recording procedures which were being done manually - and so the beginnings of GELLAB were implemented on the PDP8e. It quickly outstripped the computational capacity of the PDP8e and was then rewritten in SAIL [O.1] to run on a small DECsystem-10 (model 2020) connected to the PDP8e/RTPP. The RTPP was then used as an image I/O device. The SAIL version of GELLAB [4, 7-9] has been successfully exported to several sites which had DECsystem-10 or -20 computers. The RTPP "front end" was replaced at these other sites with various image I/O facilities. Graphics terminal realizations of Rmap and mosaics was added to facilitate user interaction when direct gray scale image I/O was not on-line or the user was dialing in to GELLAB from a remote terminal.

    In 1984, a decision was made to export GELLAB to other less expensive and more readily available (i.e. portable) computing environments. Because of the extensive amount of SAIL code involved (about 70,000 lines) a machine translation of the SAIL code to the target portable language (C was selected) was required. The PSAIL, Portable SAIL, compiler [23, 25] is a portable SAIL to C compiler capable of translating SAIL source code programs into portable C programs. PSAIL had been running on the DECsystem-10 since 1985 and was used to convert the GELLAB programs to C.

    The new C/UNIX based GELLAB is called GELLAB-II and the the older SAIL/DECsystem-10 (-20) based system, GELLAB-I. GELLAB-II is being debugged and reimplemented in a UNIX windowing environment. The windowing system selected is the X-windows system which is a public domain system from Project Athena at MIT [0.2]. Initially, GELLAB-II will be brought up on a SUN and latter, to some degree, on other UNIX machines.

    In addition, a CRADA was established between IPS/NCI/FCRDC and Scanalytics/CSPI of Billerica, MA to make a low cost commerical version of the GELLAB-II 2D gel analysis software available on a low cost PC platform. This will provide potential users of GELLAB with better support and wider access. As most investigators are not interested or capable of installing or maintaining complex software, we feel that this commercialization will provide them with a high level of support and free us from this burden. The new version of the system is also being enhanced during this technology transfer process to improve the user interface and make software maintenance and support easier. It will be marketed and supported as GELLAB-II+ initially in Windows and Windows-NT versions running on inexpensive PC computers.

    As some of the capability of the SAIL environment on the DECsystem-10 required for GELLAB does not exist in C/UNIX, it had to be emulated. Two major subsystems which are used extensively in GELLAB are the SAIL LEAP associative language [O.1, O.3, 25] and the OMNIGRAPH 2D and 3D graphics library [O.4]. These are emulated in two separately compiled packages LEPCGL and SMDISP respectively. LEPCGL implements a subset of LEAP including items, sets, lists and all of the operations on them. It has been in use for several months. SMDISP emulates a subset of OMNIGRAPH required for GELLAB. Unlike OMNIGRAPH which handled a variety of graphics terminals, SMDISP generates popup X11 graphics displays or Tektronix-4010 type terminal graphics which can be passed through a UNIX filter to PostScript laser printers.
  • Lemkin, P.F., "PSAIL - A portable SAIL compiled translator for C environments" pp39-45 view details
          in Computer Language, 2(8), August, 1985 view details
  • Lemkin, P. F. "PSAIL: A portable SAILto C compiler--description and tutorial." view details
          in SIGPLAN Notices 23(10) October 1988 view details