The history of the real-time programming language PEARL

The only German standardized real-time programming language PEARL has been around for around 50 years now. Just the right time to remind them of their development over the years.

50 years of real-time programming language PEARL

The development of the German real-time programming language PEARL (Process and Experiment Automation Realtime Language) is based on the desire to formulate automation and nuclear applications appropriately and with high productivity. As early as 1967 engineers and physicists from companies and research centers began working on the language specification, which was published in April 1973 as the first research report of the federally funded Process Data Processing (PDV) program.

Immediately thereafter, first translators were built and tested. The standardization of PEARL also began, for which the working group DIN / FNI AK 5.8 was founded in 1974. From his work a simple and quite complex version of the language emerged, which was standardized in Parts 1 and 2 of DIN 66253 as Basic PEARL 1981 and as Full PEARL 1982. This was followed in 1989 by Part 3 Multicomputer PEARL – a language of conceptual clarity and elegance, representing a pattern unprecedented for structuring and programming distributed systems. For example, there is no other language that explicitly supports dynamic reconfiguration of distributed systems in the event of a fault.

Differentiation to other programming languages

PEARL differs from other higher-level programming languages ​​especially in its explicit support of the concept of time. The two data types CLOCK for times and DURATION for periods of time are available along with corresponding arithmetic operations.

For example, while the Ada programming language has only the inherent inaccurate delay of executing tasks within its bodies, the activations of PEARL tasks in the main program are scheduled to be problem-oriented: on the one hand as sporadic responses to incoming interrupt signals, on reaching absolute times or lapses of waiting periods or on the other hand periodically with frequencies and durations to be indicated in various forms. To schedule the periodic activation of a task in PEARL, a statement that is easy to understand and self-documenting for non-specialists is sufficient, for example:

AT 12:00:00 ALL 1 SEC UNTIL 12:00:10 ACTIVATE Task1 PRIORITY 5;

out. Exactly because of the proximity of PEARL code to plain text, the language is not only suitable for actual programming, but also for the specification of automation applications and in particular for teaching. In PEARL presentation, thinking and concepts of real-time programming can be easily conveyed and understood. This has positive consequences on the quality and safety of the later systems created by the graduates.

With PEARL, German information technology had achieved an internationally leading position in the field of real-time systems in the 1970s. Because the language is technically superior to its competitors because of the clarity and low complexity of their constructs as well as their ease of readability and intelligibility, which promotes functional safety. Therefore, their concepts also helped to standardize a subprogram library to extend Fortran's real-time capability into Industrial Real-Time Fortran through the International Purdue Workshop on Industrial Computer Systems. The French LTR alone was enough for PEARL, but unfortunately it has disappeared.

The world's only PEARL-competing language is Ada, which is complex and whose real-time capabilities are weak. All other real-time languages ​​are no longer maintained, in most cases not even for several decades. And the languages ​​used in this area, such as C and its derivatives, do not have any native real-time constructs, which requires many explicit operating system calls to program.

The fact that many other languages ​​are better known today is due to the fact that the language creators have made too little for their product and about Ada is prescribed in military projects. Also, that project managers often make specifications based on non-technical criteria, may be one reason.

The experiences made in the course of 30 years were found in 1998 in the standard DIN 66253-2 PEARL90, which replaced parts 1 and 2 of DIN 66253.

Certified and proven error-free real-time operation

Particularly noteworthy for use in embedded systems with high reliability requirements is the real-time operating system RTOS-UH of the Institute of Control Engineering of the Leibniz University of Hannover, designed to directly support PEARL's real-time constructs, for which the status of operational reliability is proven to be more than nine million hours faultless Operation 18 exemplary applications could be obtained.

The total number of industrial applications of different color of PEARL should be in the upper five-digit range. PEARL and also RTOS-UH are mainly used by small and medium-sized companies specialized in automation technology and engineering companies who want to realize their competitive and productivity advantage with the tools of the language. In order to cover the area of ​​programmable logic controllers that is so important for automation technology, PEARL-PLC has also provided a representation of the functional-diagram language according to the PEARL standard IEC 61131-3.

. (TagsToTranslate) Pearl (t) programming languages