PEARL (923/pea003)

PEARL logo

Real-Time Language 


for Process and Experiment Automation Real-Time Language.

A real-time language for programming process control systems, widely used in Europe. Structure and structures based on Algol 68. Size and complexity exceeds Ada. Considered by DoD HOLWG in preparation for Ada.

Singled out by Dikstra for one of his reviews. "The language is terrible" - why are we surprised?


Related languages
ALGOL 68 => PEARL   Based on
PEARL => Basic PEARL   Subset
PEARL => PEARL 90   Evolution of

References:
  • Brandes et al "PEARL: the Concept of a Process and Experiment-Oriented Programming Language" in Elektronische Dataverbeitung 10(12) pp162-175 view details
  • Sammet, Jean E., "Roster of Programming Languages 1972" 208 view details
          in Computers & Automation 21(6B), 30 Aug 1972 view details
  • Stock, Marylene and Stock, Karl F. "Bibliography of Programming Languages: Books, User Manuals and Articles from PLANKALKUL to PL/I" Verlag Dokumentation, Pullach/Munchen 1973 454 view details Abstract: PREFACE  AND  INTRODUCTION
    The exact number of all the programming languages still in use, and those which are no longer used, is unknown. Zemanek calls the abundance of programming languages and their many dialects a "language Babel". When a new programming language is developed, only its name is known at first and it takes a while before publications about it appear. For some languages, the only relevant literature stays inside the individual companies; some are reported on in papers and magazines; and only a few, such as ALGOL, BASIC, COBOL, FORTRAN, and PL/1, become known to a wider public through various text- and handbooks. The situation surrounding the application of these languages in many computer centers is a similar one.

    There are differing opinions on the concept "programming languages". What is called a programming language by some may be termed a program, a processor, or a generator by others. Since there are no sharp borderlines in the field of programming languages, works were considered here which deal with machine languages, assemblers, autocoders, syntax and compilers, processors and generators, as well as with general higher programming languages.

    The bibliography contains some 2,700 titles of books, magazines and essays for around 300 programming languages. However, as shown by the "Overview of Existing Programming Languages", there are more than 300 such languages. The "Overview" lists a total of 676 programming languages, but this is certainly incomplete. One author ' has already announced the "next 700 programming languages"; it is to be hoped the many users may be spared such a great variety for reasons of compatibility. The graphic representations (illustrations 1 & 2) show the development and proportion of the most widely-used programming languages, as measured by the number of publications listed here and by the number of computer manufacturers and software firms who have implemented the language in question. The illustrations show FORTRAN to be in the lead at the present time. PL/1 is advancing rapidly, although PL/1 compilers are not yet seen very often outside of IBM.

    Some experts believe PL/1 will replace even the widely-used languages such as FORTRAN, COBOL, and ALGOL.4) If this does occur, it will surely take some time - as shown by the chronological diagram (illustration 2) .

    It would be desirable from the user's point of view to reduce this language confusion down to the most advantageous languages. Those languages still maintained should incorporate the special facets and advantages of the otherwise superfluous languages. Obviously such demands are not in the interests of computer production firms, especially when one considers that a FORTRAN program can be executed on nearly all third-generation computers.

    The titles in this bibliography are organized alphabetically according to programming language, and within a language chronologically and again alphabetically within a given year. Preceding the first programming language in the alphabet, literature is listed on several languages, as are general papers on programming languages and on the theory of formal languages (AAA).
    As far as possible, the most of titles are based on autopsy. However, the bibliographical description of sone titles will not satisfy bibliography-documentation demands, since they are based on inaccurate information in various sources. Translation titles whose original titles could not be found through bibliographical research were not included. ' In view of the fact that nany libraries do not have the quoted papers, all magazine essays should have been listed with the volume, the year, issue number and the complete number of pages (e.g. pp. 721-783), so that interlibrary loans could take place with fast reader service. Unfortunately, these data were not always found.

    It is hoped that this bibliography will help the electronic data processing expert, and those who wish to select the appropriate programming language from the many available, to find a way through the language Babel.

    We wish to offer special thanks to Mr. Klaus G. Saur and the staff of Verlag Dokumentation for their publishing work.

    Graz / Austria, May, 1973
          in Computers & Automation 21(6B), 30 Aug 1972 view details
  • Gastkommentar: "Die schwache Seite der Prozeßrechner". (Letters to the editor of Computer Week following a special guest editorial on the "Weakness of Computer Processing". Includes a letter by the inventor of DETAB/GT and Delta) view details External link: Online copy External link: Translation of Online copy
          in COMPUTERWOCHE 38(19) September 1975 view details
  • The Higher Order Language Working Group (HOLWG) Working Paper on 23 exisitng programming languages view details
          in COMPUTERWOCHE 38(19) September 1975 view details
  • Hoppe, Jiri "A comparison of MODULA with other system programming languages" pp129-134 view details
          in Proceedings of the Fifth International Computer Symposium, 1977 view details
  • Kappatsch, Axel "PEARL -- Survey of Language Features" IDAS GmbH, Limburg IDAS GmbH #: KFK-PDV 141 August 1977 view details Abstract: The high-level language PEARL has been developed for the purposes of real-time programming. It has been designed to permit an efficient control of processes of all kinds, such as communication processes in information systems, experiment control in scientific research, and control of industrial production, etc. The special requirements imposed on a language for process control essentially necessitate administration of concurrent activities and adaptability to a variety of peripherals. Thus, the main emphasis in the development of PEARL has been upon input/output and real-time features.
          in Proceedings of the Fifth International Computer Symposium, 1977 view details
  • Martin T., "Development of High Order Realtime Programming Language PEARL in Germany" R78-109 Kernforschungszentrum Karlsruhe GmbH Karlsrnhe, Germany view details Abstract: In 1976 the definition of PEARL was frozen; in 1977 the official language descriptions appeared, full PEARL being the general frame of the language, and basic PEARL the joint minimum subset of all present implementations. In this paper the author describes the progress of development of the language and lists references to the documents and literature involved.

          in Proceedings of the Fifth International Computer Symposium, 1977 view details
  • Martin, T. "The Development of PEARL" Gesellschaft fur Kernforschung mbH, Karlsruhe GK mbH #: KFK-PDV 129 December 1977 view details Abstract: The progress of development of the real-time programming language PEARL is discussed in detail, and all references are indicated. Continuing activities and languages developed abroad are described. The most important statement is: In 1976, the definition of PEARL was frozen in. The official language descriptions, which form a compulsory basis of implementation, appeared in 1977, Full PEARL being the general frame of the language, and Basic PEARL the joint minimum subset of all present implementations.

          in Proceedings of the Fifth International Computer Symposium, 1977 view details
  • Williams, J. H. "An Evaluation of Process and Experiment Automation Realtime Language (PEARL)." Cornell Univ Ithaca N Y Dept of Computer Science Jan 77, 18p view details Abstract: All of the information about PEARL which is used in this report was obtained from the PEARL Language Description (ESG-76). Work on PEARL (Process and Experiment Automation Realtime Language) was begun in 1968. The language was designed to provide systems engineers with a high level means of specifying programs for embedded applications. For that reason it emphasizes the areas of input-output specification and realtime processing and avoids many of the more complex and powerful constructs and capabilities of high level programming languages. In this latter, algorithmic aspect it has the appearance of a severely restricted dialect of PL/I. It is the conclusion of this report that PEARL is not a viable candidate for the DoD common programming language effort, but that Htfienexperience gained from its unique approach to input-output specification and reaJtime control should prove valuable to the forthcoming design efforts.
          in Proceedings of the Fifth International Computer Symposium, 1977 view details
  • Martin, T. "Real Time Programming Language PEARL - Concept and Characteristics" The IEEE Computer Society 2nd International Computer Soft­ware and Application Conference, 1978, pp 301-306 view details
          in Proceedings of the Fifth International Computer Symposium, 1977 view details
  • Pelz, K. "The programming language ?PEARL? and its implementation" Computer Physics Communications 15(5) November 1978, pp317-324 view details Abstract: This paper describes the real time programming language PEARL, its history and design principles and the portability techniques involved in the implementation of a subset of the language on four computer systems.
          in Proceedings of the Fifth International Computer Symposium, 1977 view details
  • Werum, Wulf; and Windauer, Hans "PEARL: Process and Experiment Automation Realtime Language - Beschreibung mit Anwendungsbeispielen", Vieweg, Braunschweig, 1978 view details
          in Proceedings of the Fifth International Computer Symposium, 1977 view details
  • Winkler, J.F.H. "Zum begriff des prozesses: am beispiel von PEARL" [Concept of the Process: Using the Example of PEARL] Elektron Rechenanlagen Comput Prax 20(6) December 1978 pp277-282 view details Abstract: The term "process" emerged in the field of operating systems. There it led to a clear structure, and to simple interfaces between the operating system and the user program and between different parts of the operating system. This concept of process (task) was also included in programming languages. It is an essential concept for real-time languages. The process concept of the real-time language PEARL is considered. This concept is characterized by means of state-transition diagrams, which are extensions of diagrams used until now.

          in Proceedings of the Fifth International Computer Symposium, 1977 view details
  • Kappatsch, A.; Mittendorf, H.; Rieder, P. "PEARL - Systematische Darstellung für den Anwender" - München, Wien: Oldenbourg, 1979. view details
          in Proceedings of the Fifth International Computer Symposium, 1977 view details
  • Dijkstra, Edsgar Note EWD814 "A review of a book on PEARL" Review of Kappatsch et al 1979 view details pdf
          in Proceedings of the Fifth International Computer Symposium, 1977 view details
  • DIN 66253 Teil 2, "Programmiersprache PEARL", Beuth-Verlag, Nov 1980. view details
          in Proceedings of the Fifth International Computer Symposium, 1977 view details
  • Heine, P. and Kaiser, F. "An Economical Implementation of the High Level Real-time Language PEARL on Microcomputers: Intel RMX86-PEARL" view details
          in Software — Practice and Experience 14(04) April 1984 view details
  • Mueller, F.; Whalley, D. B. and M. Harmon. "Real-time debugging by minimal hardware simulation" pp68-76 view details
          in Proceedings of the PEARL Workshop uber Realzeitsysteme, December 1994 view details
  • Singhal, Amit "Real Time Systems: A Survey" Computer Science Department University of Rochester December 4, 1996 view details External link: Online at Citeseer Abstract: What are real­time systems? Instead of trying to define them, we can think of real time systems as those that react to external stimuli in a timely and  reliable fashion. Real time systems are often used to solve real world problems.  Some examples of real time systems include air traffic control, automatic pilots,  unmanned robots etc.

    Current research in real time systems lags far behind that in other areas. This is due to a largely false notion of what real time systems are and what  they involve. I begin this survey by describing some of the characteristics of  real time systems. Then I will dispel some of the misconceptions and make an  argument for the importance of further research in the area. Next I will present  some formal methods for specifying and verifying real time systems.

    Most of the current real time systems have been written in conventional programming languages which are not very suitable for the task and do not  provide control over timing constraints. Most of the real time languages that  have been developed have found limited use (mostly in the labs where they  were designed) and have not been embraced widely by the real time developers  community. I will deal with this issue at length and present an overview of  what real time languages are and where the current research stands.

    Next I will present some design methodologies and techniques used in designing and developing real time systems. Some of these have good formal and mathematical backgrounds while others originate from rules of thumb.  One of the most active areas of research in real time systems has been  scheduling algorithms. I will present some models of scheduling algorithms and  compare them with respect to their adherence to real time principles. In the  last part of this survey, I will present some of the hardware and architectural  issues facing real time system developers and also provide some information on  how operating systems need to be geared to support real time tasks.  Finally, I will present some of the future directions for research in real time  systems and some of the challenges faced by the researchers today.
    Extract: PEARL and ADA 9X
    PEARL and ADA 9X are the most commonly used real time languages and are being continually enhanced and standardized. PEARL was developed in West Germany and has become one of the most popular languages for  real time systems all across Europe. ADA was commissioned by the Department of  Defense in the United States and has become the long standing standard for real  time programming here. Both of them are quite similar. Their advantages include  strong typing, well structured, direct hardware access, modular, separate compilation  and process synchronization. However, they are both very large and complex, lack  efficient implementations, and do not allow for much schedulability analysis.

          in Proceedings of the PEARL Workshop uber Realzeitsysteme, December 1994 view details
    Resources