PDEL(ID:521/pde001)

Partial differential equation system implemented  


for Partial Differential Equation Language

Partial differential equation system implemented as a preprocessor for PL/I.

Alfonso Cardenas 1970

Places
Related languages
PL/I => PDEL   Preprocessor for
PDEL => PDEL-ID   Extension of

References:
  • Cardenas, A .F. A problem oriented language and a translator for partial differential equations. Ph.D. Diss., Dep. of Engineering, U. of California, Los Angeles, Calif., Dec., 1968 view details
  • Tam, Wing Cheung "Non-linear partial differential equations and equations with derivative boundary conditions: improvements to PDEL" M.S. Th. Dep. of Engineering, U. of California, Los Angeles, Mar. 1969. view details
  • Cardenas, A. F., and Karplus, W. J. "Design and organization of a translator for a partial differential equation language" pp513-523 view details Extract: INTRODUCTION
    INTRODUCTION
    In recent years a variety of techniques for the design and implementation of translators for problem-oriented programming languages has been developed. A number of these employ a high-level programming language such as FORTRAN as the target language, rather than translating directly into assembly language or machine code. The purpose of the present paper is to demonstrate the unique advantages which ran be realized by making PL/1 the target language and by utilizing the so-called preprocessor (or compile-time) facilities of PL/1. This approach has been successfully used in the design of a translator for PDEL, a special-purpose language for the solution of the partial differential equations of classical physics. Details regarding the language and its application have been presented in an earlier paper and are, therefore, only briefly summarized in the next section. The overall structure and philosophy of the translator are described in the third section, while more detailed aspects of syntax analysis and code generation are described in the fourth section. In the final section a quantitative evaluation of the translator is presented.
    Extract: REVIEW OF THE BASIC FEATURES OF PDEL
    REVIEW OF THE BASIC FEATURES OF PDEL
    PDEL was designed at the University of California at Los Angeles and implemented in its basic form in 1968. Its purpose is to facilitate the solution of those partial differential equations which are of particular importance to engineers. These include particularly the elliptic equations which characterize potential fields, the parabolic equations which Characterize heat transfer and diffusion, the hyperbolic equations which characterize wave phenomena, and the biharmonic equations which arise in elasticity problems. The classes of problems which could be handled by the original translator are shown in Table I. Subsequent extensions of the translator have been directed toward permitting the treatment of fields in three space-dimensions, the inclusion of a wider variety of boundary conditions, and the handling of singularities, moving boundaries, and other special features.
    The numerical treatment of such partial differential equations most often proceeds from finite difference approximations. The time-space continuum is replaced by an array of regularly-spaced points in one, two, three, or four dimensions, and sets of algebraic equations are solved simultaneously to provide solutions. In the case of elliptic equations, the solutions for all points are obtained simultaneously; in the case of transient field problems, solutions are obtained sequentially for successive steps in the time domain. A variety of algorithms are available for the solution of the difference equations. In order to obviate the problem of computational stability, the catastrophic accumulation of round-off errors, so-called implicit methods are usually preferred. Even so, the numerical analyst must make a judicious choice from among several practical algorithms, a choice which sometimes has a decisive effect upon computer execution time. This choice depends, of course, upon the specific type of equation under study, but is also influenced by the geometry (whether the field has regular boundaries), the parameter distribution (whether the field is linear or nonlinear, or constant or variable parameter), the required solution accuracy, and by the size of available fast memory.
    A language designed to solve partial differential equations must, therefore, provide various algorithms for the different types of equations; these algorithms may necessarily involve the construction of lengthy subroutines. To avoid waste of computer time, only the subroutine corresponding to the problem at hand should be produced and compiled. The preprocessor facilities of PL/1 are exceptionally well-suited to this end. Accordingly, PL/1 was selected as the target language of the translator, the translator was written in preprocessor PL/1, and all legal PDEL statements were designed so as to be legal PL/I preprocessor statements.
    A typical PDEL program may contain the following statements, expressed in a syntax chosen to be readily comprehensible to engineers:
    1.     Definition of the equation to be solved, i.e., the mathematical form of the equation including parameter identifiers, the order of the partial derivatives, Poissonian terms, etc.;
    2.     Parameter specification, which may be constants or functions of the dependent and independent problem
    variables;
    3.     Specifications of the finite difference grid spacing for the space and the time variables;
    4.     Description of the geometry of the field, that is the   coordinates   in   the   space   domain   of  the   field
    boundaries;
    5.     Boundary conditions, which may be of the Dirichlet, Neumann or Fourier types;
    6.     Selection of one  of available algorithms to be employed;
    7.     Bounds on the number of iterations or the iteration error for iterative algorithms
    8.     Description of the type and nature of the printout desired.
    Default conditions are provided for most of these statements, so that the programmer may choose to omit certain specifications in the program; in this case the translator will make the selection for him. An example of a PDEL program for a simple partial differential equation is presented in Appendix 1, together with a typical print out. To date, over a hundred partial differential equations have been programmed and solved using PDEL.
    Extract: GENERAL TRANSLATION APPROACH
    GENERAL TRANSLATION APPROACH
    As indicated in the preceding section a translator for a partial differential equations language must contain a selection of algorithms, each suitable for a different class of partial differential equations, different geometries, etc. A study of digital computer programs corresponding to a number of these algorithms indicated that for a given class of equations, approximately 70% to 95% of the total number of program statements was common to all programs. The other 5% to 30% of the statements dealt with the description of parameters, initial and boundary conditions, and geometries which vary from problem to problem. The greater the complexity of the geometry of the field, the greater number of special statements required for characterizing the particular boundary configuration. A key to the successful and economic translation of partial differential equations is the avoidance of the generation of unnecessary code. That is, it is important to assure that only those portions of the translator required for the specific problem to be solved is selected for compilation, and then combined with user-generated statements corresponding to the 5% to 30% of the program which is specific to the problem being solved.
    Among the major problem-oriented languages currently in wide use, only PL/1, by virtue of its compile-time facilities, permits full control over which portions of a program are to be compiled. The PL/1 preprocessor language is a subset of PL/1, with many significant features particularly suited for character-string manipulation and generation, and hence for language translation. As the name indicates, the preprocessing phase immediately precedes the actual PL/1 compilation. During this phase, the program is scanned for all statements which contain the % identifier; and only those .statements are executed.
    The PDEL translator is in effect a preprocessor program which automatically chooses groups or modules of fixed PL/1 statements corresponding to the equation to be solved and the algorithms to be employed. These modules of fixed PL/1 code are stored in secondary storage devices (e.g., disc, data cells), and constitute the 70% to 95% of the statements common to all programs of a given class. The other 5% to 30% of the code is generated during the preprocessing phase by specially designed code generation routines which are a part of the PDEL translator. If desired, the programmer may also include PL/1 statements (without the % identifier) in his PDEL program. These statements are unaffected by the preprocessing and proceed directly to the PL/1 compiler.
    The overall translation process proceeds as shown in Figure 1. The preprocessor phase, which results in the generation of a PL/1 program, is performed in two stages: Syntactic analysis and code generation. This permits the diagnosis of illegal statements, programming errors, and calls for modules not presently available, prior to generation of PL/1 code. The syntactic analysis in turn proceeds in two steps:
    1.     The  standard   PL/1   preprocessor  analyzes  the PDEL program to determine that it is a valid PL/1 preprocessor program.
    2.     The syntactic analyzers of the PDEL translator analyze the strings on the right hand side of each PDEL statement, so as to detect violations of PDEL syntax.
    Figure 2, is a generalized conceptual flow-chart of the PDEL translator. Syntactic analysis - represented by blocks Al and A2. Blocks B determine whether the required PL/1 modules are available in secondary storage, while block C contains all the PL/1 code generators.
    The approximate size of the PDEL program is illustrated in Figure 3, which also indicates the sequence of operations. The two INCLUDE statements appear in the original PDEL program and serve to call the PDEL translator.
    Extract: DETAILED OPERATION OF THE TRANSLATOR
    DETAILED OPERATION OF THE TRANSLATOR
    The whole translator is a set of modules stored in external memory. Each module is a subroutine which may be retrieved from external storage if needed to process the PDEL program. The task of the modules retrieved and the order in which they act is shown in Figure 2. The order in which they are physically retrieved from external storage is shown in Figure 3.
    The main modules available are:
    (1)     Three subroutines which perform the syntactic analysis of PDEL statements, stage A2 in Fig. 2. One
    of these is the master analysis routine which determines whether or not each PDEL statement is constructed according to the rules of syntax stored in the other two subroutines.
    (2)     A monitor module which performs all of step B in Fig. 2, that is, it identifies the problem defined in
    the PDEL program and retrieves from external storage the module made up of the fixed PL/1 statements and
    PL/1  preprocessor statements corresponding to  the problem.
    (3)     A subroutine which when invoked examines the specification of the geometry of the field in the PDEL
    program and generates the appropriate set of PL/1 statements used to form the PL/1 program.
    (4)     A subroutine which examines the boundary conditions specified in the PDEL program and generates
    the appropriate set of PL/1 statements used to form the PL/1 program.
    (5)     A subroutine which examines the initial conditions specified in the PDEL program and generates the
    appropriate set of PL/1 statements used to form the PL/1 program.
    (6)     A set of subroutines made up of fixed PL/1 code and preprocessor code. Each subroutine corresponds to
    a given type of equation, and, when processed by the preprocessor, produces the PL/1 program to solve the
    equation  for  the   particular  parameters,  initial  and boundary conditions, geometry of the field and by the
    numerical algorithm indicated in the PDEL program.
    A set of PL/1 subroutines which produce plots of the solution of the equation, e.g., contour plots.
    Extract: EVALUATION OF THE PDEL TRANSLATOR
    EVALUATION OF THE PDEL TRANSLATOR
    As yet no generally accepted criteria for the evaluation and comparison of translators are available in the computer software area. Qualitative discussions generally center on: compatibility, diagnostic capability, and efficiency. Some comments as to the characteristics of the PDEL translator as far as these three qualities are concerned, appears in order.
    Compatibility with other computers
    The PDEL translator is compatible with any computer for which there exists a standard PL/1 compiler and sufficient external random access memory. The translator itself is written in preprocessor PL/1, a high-level language, and makes no reference to unique hardware features.
    Diagnostic capability
    The preprocessor PL/1 syntax analyzer (furnished with the PL/1 compiler) and the PDEL syntax analyzer function effectively to detect any programming errors involving the violation of syntactic rules. Errors which can be detected only at execution time (for example, overflow and requests for excessively large arrays) create difficulties, difficulties which arise in the use of most higher-level programming languages.
    Efficiency
    A working PDEL translator capable of solving the problems indicated in Table 1, has been in operation since 1968. It contains approximately 3,000 cards. The preprocessing, compilation, and execution time for four arbitrarily selected field problems are summarized in Table II together with the number of PDEL and PL/1 statements required in each case. Improvements in some of these figures have been effected recently by evolutionary changes in the translator.


          in [AFIPS] Proceedings of the 1970 Spring Joint Computer Conference SJCC 36 view details
  • Cárdenas, Alfonso F. and Karplus, Walter J. "PDEL A Language for Partial Diferential Equations" view details Abstract: Conventional computer methods available to solve continuous system problems characterized by partial differential equations are very time-consuming and cumbersome. A convenient, easy to learn and to use, high level problem oriented language to solve and study partial differential equation problems has been designed; a practical translator for the language has also been designed, and a working version of it has been constructed for a significant portion of the language. This Partial Differential Equation Language, PDEL, is outlined, and the highlights of the translator are briefly summarized. Extract: PDEL
    Introduction
    The acceptance and popularity of digital simulation languages (problem oriented languages for systems) is exemplified by the successful ability of languages such as GPSS and SIMSCRIPT to solve and study discrete system problems, and MIMIC, DSL/90, and CSMP to solve continuous system problems characterized by ordinary differential equations [1]. However a need still exists for a convenient high level problem oriented language that can solve continuous system problems characterized by partial differential equations (field equations), since conventional methods to handle such problems on a computer are especially time-consuming and cumbersome. In the absence of such a language, it is necessary, first, to choose an appropriate algorithm from among the many proposed by numerical analysts and, then, to write and debug a program that will solve the equation.
    The main goals of the Partial Differential Equation Language, PDEL, described in this article, and of the translator only briefly discussed, are to ease problem solving and to reduce the total problem-solving time. PDEL significantly reduces the numerical analysis effort and avoids the effort involved in programming in ALGOL-like languages--usually the largest portion of total problem solving time.
    One of the earliest significant efforts to assist in the solution of field equations was the S~,ADE project in the late 1950's, whose aim was to produce a set of subroutines to solve certain elliptic and parabolic equations [2]. SPADE did not get very far, mainly because of the limited capabilities of second generation hardware and software and also because of the difficulties in coordinating the work of the seven large aerospace companies involved in the project. There are many working programs for partial differential equations throughout industry and universities [3], but their application is limited to one or at most, to only a few types of field equations and geometries. Much work has been conducted in the solution of field problems at the ILLIAC IV computer facility at the University of Illinois [4, 5, 6]; however, the main goal there is to reduce computer execution time and not so much the overall numerical analysis and programming effort.
    Two other recent efforts are of significance. Cea and Nivelet in France have been developing a large ALGOL program to solve automatically general one- and two dimensional elliptic equations for any type of boundary conditions and geometry [7, 8]. Morris has developed the SALEM programming system to solve automatically one dimensional parabolic and hyperbolic equations and two dimensional elliptic and parabolic equations under various conditions, but limited to simple regular geometries [9, 10]. In both cases the input format is algebraic and subroutine oriented. However, SALEM can be considered an elementary but significant simulation language. PDEL represents an extension of these efforts and is unique in that:
    (1) It is a flexible and practical formal language.
    (2) It has a much larger variety of field problems, including irregular boundary problems, that can be easily and conveniently defined and solved.
    (3) It does not require the user to know what numerical analysis subroutine to use.
    (4) It has a fast and practical machine-independent translator that was constructed for a large and significant subset of the language.
    PDEL can handle a large variety of fields. Time-dependent and time-independent fields can be defined. Any size of grid can be used to approximate regular and irregular geometries. Linear, nonlinear, uniform and nonuniform fields can be treated.
    A modular translator for a significant portion of the PDEL language has been implemented and is continually being enlarged. The problems that could be handled by hyperbolic fields with various types of parameters and conditions, and two-dimensional regular and irregular elliptic and parabolic fields with various types of parameters and conditions. Extract: Functional Characteristics of PDEL
    2. Functional Characteristics of the Language
    The following primary characteristics are essential for a language to be attractive to users desiring to solve partial differential equation problems.
    (1) The language must be applicable and suitable for the numerical solution of most partial differential equations of interest to the engineer and scientist. It must handle these equations in the presence of regular and irregular boundaries, linear and nonlinear parameters, Dirichlet and derivative boundary conditions, etc. Table I outlines some of the most common types of these equations.
    (2) The language must be easy to learn and to use.
    Guided by these two general requirements, the PDEL language was designed so as to permit the user:
    (1) To clearly and conveniently specify the equations(s) (single or simultaneous), geometry, parameters, boundary conditions, etc., in Cartesian coordinates, and automatically obtain a solution using finite difference equation algorithms.
    (2) To specify any grid size to approximate the field (size limited by computer memory capacity); grid spacings do not have to be equal in every direction.
    (3) To conveniently terminate and/or repeat a simulation run with new parameters.
    (4) To obtain a suitable tabular and/or discrete graphical printout of the solution.
    (5) To specify and input PDEL statements in the same form as PL/1 statements, and, furthermore, in any order.
    Recognizing the advantages of on-line, graphical man/ machine interaction, the language has been oriented toward both batch and on-line processing. PDEL may be considered an extension of PL/1, since it has been designed so that its syntax falls within the syntax of preprocessor or compile time PL/1. The language is compatible with PL/1 and capable of being mixed with it. This permits the experienced and sophisticated user faced with a major problem to build his own sophisticated logic, procedures, or subroutines, etc.
    Finite difference approximation methods and Cartesian coordinates are more frequently used and more universally applicable than any others, and consequently PDEL is designed to solve equations expressed in Cartesian coordinates by means of finite difference algorithms. The Volume 13 / Number 3 / March, 1970 Communications of the ACM 185 finite difference approximation of the partial differential equation at each grid point and the algorithm for solving the approximations must be chosen so that the overall complexity and, consequently, the computer time and memory requirements are not unattractive to the user of PDEL, and so that the task of translator implementation is not impractical. Table I summarizes the methods selected to solve the most common types of equations in PDEL; programs implemented as of June 1969 are identified by an asterisk.
    To use PDEL, irregular field boundaries must be approximated so that the boundaries fall on grid points and hence on grid lines. However, this does not usually constitute a disadvantage because irregular boundaries can be as closely approximated as desired by using finer grids. Extract: Technical Characteristics: Syntax and Semantics of PDEL
    3 Technical Characteristics: Syntax and Semantics of PDEL
    The syntax and semantics of the PDEL language is now outlined, but not rigorously defined--it is defined rigorously in a separate report [11]. Backus-Naur notation is used whenever helpful for syntax definitions. All nonterminal symbols used for the sole purpose of defining syntax are enclosed in brackets ( }. The terminal symbols are the symbols that make up the language and are not enclosed in brackets.
    The letters, digits, arithmetic operators, and other characters of the standard IBM 60 character set are the elementary units of the language.
    Integers and numbers are the values used in PDEL. A number may be an integer, or a signed or unsigned series of digits, with or without a decimal point, and followed or not followed by an exponential part. Numbers in PDEL follow the same syntax as numbers in PL/1.
    Identifiers are made up of any combination of letters, digits, break character, $, # and ~, and may be up to 31 characters long; the first character must be a letter.
    The dependent and independent variables of an equation are represented by the following reserved identifiers:
  • Rheinboldt, W. review of Cardenas SJCC 1970 view details Abstract: In a recent paper [CACM 13(3) (March 1970), pp184-191] the authors described a language, PDEL, for the solution of certain classes of partial differential equations. This article discusses the design of a translator for PDEL using PL/I as target language and utilizing its special compile-time facilities. The translator is in effect a PL/I preprocessor. Since more than 70% of all statements were observed to be common to a particular class of problems described in PDEL, the translator is designed to select automatically groups of PL/I statements corresponding to the equation and algorithm involved. This leaves only 5-307 of code to be generated during the preprocessing phase. The resulting PL/I program can be processed by a standard PL/I compiler, provided sufficient storage is available. The examples generated by a presently-working translator indicate a good degree of economy.
          in ACM Computing Reviews 11(10) October 1970 view details
  • Fairley, R. E. and A. F. Cardenas, "Batch and Interactive Simulation of Partial Differential Equation Models" view details
          in 1971 Summer Computer Simulation Conference Proceedings, July, 1971. view details
  • Sammet, Jean E., "Roster of Programming Languages 1972" 207 view details
          in Computers & Automation 21(6B), 30 Aug 1972 view details
  • Sammet, Jean E. "Roster of Programming Languages for 1973" p147 view details
          in ACM Computing Reviews 15(04) April 1974 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 452 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 ACM Computing Reviews 15(04) April 1974 view details
  • Fairley, Richard E. "Continuous system simulation languages: Design principles and implementation techniques" view details Abstract: Continuous system simulation languages are very high level programming languages which facilitate modelling and simulation of systems characterized by ordinary and partial differential equations. This paper discusses design principles and implementation techniques for continuous system simulation languages. Following a brief introduction to very high level languages, design principles for continuous system simulation languages are presented. These principles are illustrated by examples from the Continuous System Modelling Program (CSMP) and the Partial Differential Equation Language (PDEL). A typical program in each language is included. Batch and interactive implementation techniques for continuous system simulation languages are discussed. The classical batch implementation technique is to provide a preprocessor which translates the simulation language into an algorithmic language such as FORTRAN or PL/1. The PL/1 preprocessor is described as a useful language for the implementation of very high level language translators. The final section of the paper presents an interactive implementation technique which interfaces a batch program processor to interactive graphics display and updating routines. In this manner, efficient simulation code is interfaced to flexible interaction routines. In addition, the batch processor is preserved intact, thus requiring only one implementation of the language for both batch and interactive applications.
          in Proceedings of the ACM SIGPLAN symposium on Very high level languages, March 28-29, 1974, Santa Monica, California, United States view details
  • Wing Cheung Tam , Walter J. Karplus, PDEL-ID: An extension of PDEL for distributed parameter system identification view details Abstract: Mathematical models have been commonly used for the simulation of continuous time systems on a digital computer. In many cases, the system models involve parameters which have to be identified from observed data. The digital simulation language PDEL was extended to provide the facilities and capabilities for the identification of parameters in distributed parameter systems. The extended program is designated as PDEL-ID. The extension includes new language statements and convenient facilities for observed data input and parameter identification. The use of PDEL-ID to identify parameters in partial differential equations requires minimum amount of programming effort and little knowledge on numerical analysis and mathematical programming. The syntax and semantics of PDEL-ID are given. Major facilities and capabilities of the language are described and illustrated by an example.
    Extract: Introduction
    Introduction
    The simulation of physical systems requires the implementation of a mathematical model characterizing the system under study. In a broad class of physical systems, the basic governing equations are known but the system parameters must be identified using experimental observations of the system. This is the case in such environment- orientated areas as air pollution, water pollution etc. A number of problem-oriented programming languages have been developed to facilitate simulation. For discrete-time systems, GPSS and SIMSCRIPT are widely used. For continuoustime systems characterized by ordinary differential equations, CSSL and CSMP are particularly helpful. PDEL and LEANS have been introduced for distributed parameter systems characterized by partial differential equations. In all of these languages, the mathematical model must be completely specified as they are intended for direct rather than inverse problems. A number of language extensions suitable for parameter identification in lumped (ordinary differential equations) systems have been described in recent years. These include MOBSSL-UAF and SLANG. The present paper describes a major extension of the partial differential equation language PDEL so as to make it useful for the identification of parameters in distributed parameter systems. Extract: PDEL-ID LAnguage
    Language Facilities
    There are four major language facilities provided by the implemented PDEL-ID system. They are:
    1. System model specification
    2. Observation data input
    3. Parameter identification
    4. Print-out control
    The system model specification facility, which for the most part is the same as in PDEL, enables the user to describe the distributed parameter system model to the computer. This is done through the use of the dimension, equation, parameter assignment, geometry, boundary condition and initial condition statements. The syntax of all these statements had already been described by Cardenas and Karplus. In addition, for system identification problems, unknown parameter identifiers, defined in Section 4.2.1, are used to specify those system parameters which have to be identified.
    The print-out control facility allows the user to specify interval sizes in space and time for both the numerical solution print-outs and solution plots. This facility has already been designed and implemented in PDEL.
    3.1 Observation Data Input Facility
    For a simulation language designed for system identification such as PDEL-ID, the design of facility to handle observation data input deserves careful considerations. In system identification problems involving distributed parameter systems, the observation data used for identification contain the following attributes:
    1. Field locations of observation points.
    2. Measurement values of the variables observed.
    3. Time corresponding to each measurement value.
    4. Weight of the measurement value (sometimes).
    The observation data input facility is designed to provide flexible and simple data attribute specification with clear and complete problem documentation. The syntax of the statements in this facility is described in Section 4.1.
    3.2 Parameter Identification Facility
    Since PDEL-ID is designed for distributed parameter system identification, the facility for parameter identification forms the heart of the entire language. The design of such facility is based on the following characteristics:
    1. The design of the facility is aimed at slmple problem specification, programming ease, and natural syntax.
    2. The use of the facility does not require detailed knowledge of the identification process involved.
    3. Several identification schemes are available so that the most suitable one can be used. (Two are available at present, the quasilinearizatlon technique and the Fletcher-Powell technique).
    4. The identification schemes are implemented in modular form and the language statements are completely compatible with all the identification modules.
    5. Default conditions are available. If some necessary information is not specified by the user, some predetermined information is assumed.
    6. The sensitivity of the criterion function value with respect to each of the parameters to be identified is calculated to give an indication of the reliability of the identlfied parameter value. Language statements are divided into identification initialization and identification control statements. The syntax of these statements are given in Section 4.2.
          in Proceedings of the ACM SIGPLAN symposium on Very high level languages, March 28-29, 1974, Santa Monica, California, United States view details
  • Cardenas, Alfonso F. "Technology for Automatic Generation of Application Programs - A Pragmatic View" MIS Quarterly, Vol. 1, No. 3 (Sep., 1977), 49-72. view details Extract: Decision table languages
    Attempts have also been made to imbed decision table forms and aids in a language which would help programmers in converting flow charts and programs. FORTAB and DETRAN in FORTRAN and DETAB-X in COBOL are examples from the early 1960's. More recently, a number of decision table translators for generating COBOL logic statements have been designed. This has been in conjunction with the recent attention devoted to COBOL support packages and to programming and productivity aids in the 1970's. There are undoubtedly a few dozen decision table processors commercially available. There were at least ten of them available in 1971. Among these were TAB-70 from Control Data Corp., TABTRAN from Westinghouse Tele-computer Systems, and TABLEMASTER from Hoskyns Systems Research. They operate, with a few exceptions, in batch mode only. These processors usually translate tables with COBOL-compatible content, i.e., the condition stub contains COBOL relational expressions and the action stub contains COBOL assignment statements which correspond to the COBOL paragraphs of the PROCEDURE DIVISION of the COBOL program. Differences among the available translators are mostly in degree and translation algorithm. They usually check input tables for completeness, redundancy, and consistency, e.g., detect conflicts and duplicates. Some of the algorithms strive to minimize the Storage necessary for the program produced and others its execution time. Pooch provides a survey and comparison of algorithms for translating tables.
    Extract: PDEL
    A brief example will illustrate that many special purpose packages indeed have features in common with customizers. The partial differential equation Language PDEL - has been designed to solve partial differential equations which characterize a variety of systems across various disciplines such as thermal systems, hydrological systems, and particle diffusion systems [I51 The input language is nonprocedural and does not require programming know-how; no how-to-do-it numerical analysis indications are required. The PDEL translator, written in PL/I and originally implemented via PL/I macro facilities, generates a complete ready to compile PL/I program with the numerical analysis approach to solve the specific User problem, The translator is made up of 1) primarily n set of skeletal modules and often used structures of code, 2) a Set of modules which contains the logic equivalent to decision tables to choose the source statements corresponding to the input PDEL program specifications. 3) a set of code generators that create the necessary new code or modify built-in code dictated by the input specifications, and 4) a master control program which builds and edits a complete and debugged PL/I program made up of the selected prewritten code and of the new code created [16]. Usually from 50% to 85% of the complete program is comprised of prewritten code. Elements 1, 2 and 4 are much like those of customizers. Element 3, the creation of code, typifies high level languages. Notice the placement of PDEL and of other more widely used special purpose languages such as GPSS. SIMSCRIPT, and CSMP in the spectrum of code generators in Figure 2.
          in Proceedings of the ACM SIGPLAN symposium on Very high level languages, March 28-29, 1974, Santa Monica, California, United States view details
  • Sammet, Jean E "Roster of programming languages for 1976-77" pp56-85 view details
          in SIGPLAN Notices 13(11) Nov 1978 view details
  • Machura, Marek and Roland A. Sweet "A Survey of Software for Partial Differential Equations" pp461-488 view details DOI Extract: PDEL
    PDEL
    PDEL [6] is a more versatile PDE language than SALEM in that it handles a much wider variety of PDEs and permits irregular boundaries to be specified. The user need not make any reference to the computational algorithm because it is selected automatically. PDEL is capable of solving linear and nonlinear elliptic and parabolic equations in one, two, and three dimensions as well as onedimensional hyperbolic equations, using tridiagonal, alternating direction, and successive overrelaxation algorithms. The PDEL is PL/1-based and makes use of the PL/1 compile-time facility to generate target programs. It operates in both batch and interactive modes [18]. In order to increase the range of applicability, a new version of PDEL that enables the so-called identification problem to be solved [59] was developed.
          in ACM Transactions on Mathematical Software (TOMS) 6(4) December 1980 view details
  • Chisato Kon'no, Miyuki Saji, Nobutoshi Sagawa, Yukio Umetani "Advanced implicit solution function of DEQSOL and its evaluation" Proceedings of 1986 Fall Joint Computer Conference Dallas, Texas, United States pp1026-1033 view details Extract: Introduction
    Introduction
    Recently, demand for numerical routines which simulate physical phenomena has been rapidly increasing. The hardware used for such numerical simulation has made remarkable advances through innovations in LSI technology and computer architecture, such as vector and parallel processors. However, the programming itself still remains at a relatively elementary level. The development of simulation programs by such conventional languages as FORTRAN faces the following problems. A long period of time is necessary to develop even a simple simulator, and special knowledge of numerical analysis methods like discretization is needed. In addition a specialized programming technique is required to exploit the performance of vector/parallel processors. Moreover, such programs are so lengthy and complicated that they are unfeasible to extend.
    One approach for coping with these problems is the use of mathematical libraries or software packages designed for the special application fields. However, there are distinct limitations in applicable fields and the adopted numerical algorithms. Additionally, users can not control the numerical scheme in detail, and they frequently can not understand or utilize the complicated functions and interfaces.
    To address these limitations, several simulation language systems has been developed, such as SALEM, PDEL, and ELLPACK. ELLPACK especially seems to be a powerful system. ELLPACK has ample problem solving capabilities due to its extensive library, which is still expanding in response to the demands of the interactive and distributed system environment. However, the new solver architecture which has been proposed for ELLPACK is not for enhancing its application to practical complex simulation problems.
    On the other hand, the present study proposes a high level programming language system DEQSOL(Differential EQuation SOLver) by which the numerical models can be described flexibly and which can automatically generate efficient simulation programs from the high level descriptions. This system has two main targets:
    (1)To enhance programming productivity by establishing a new architecture-independent language interface between numerical analyst and computer.
    (2)To generate highly vectorizable FORTRAN codes from DEQSOL descriptions using its intrinsic parallelism. (DEQSOL)
    The structure of the previously developed DEQSOL system and its processing flow are shown in Fig.1. The DEQSOL description is  automatically translated into the FORTRAN simulation program by the DEQSOL translator. The results of several benchmark tests, which indicate that the programming productivity has been  improved by almost an order of magnitude over FORTRAN, are shown in Table 1. The table also shows that most of the generated codes have extremely high vectorization ratios(91%-98%) on the Hitachi S-81 0 vector processor.
    Both the Finite Difference Method(FDM) and the Finite Element Method(FEM) are available as discretiration method. The key feature of DEQSOL is that users can describe various numerical schemes for a wide range of problems quite naturally by using fundamental DEQSOL statements.
    One of the principal functions in DEQSOL is the implicit solution function. Here, this function acts to discretize the objective linear PDE into a system of linear equations. It then obtains a discrete PDE solution by solving this linear equation system. The restriction on the former DEQSOL implicit solution function has been that only one PDE in a rectangular region is permitted for a single implicit solution function. As a result, tightly coupled simultaneous PDEs, or PDEs defined in non-rectangular regions, have not been accepted. Because practical problems are sometimes formulated as described above, this restriction must be eliminated in order to make DEQSOL a practical solver.
    In this paper, an advanced implicit solution function is presented for removing these restrictions. Consequently, the tightly coupled simultaneous PDEs defined in regions described by unions or by differences in rectangular subregions can be solved by DEQSOL. In addition, a block-iteration scheme aimed at reducing the region size needed to execute large-scale problems can be developed.

          in ACM Transactions on Mathematical Software (TOMS) 6(4) December 1980 view details
  • Flass, Peter "Languages Related to PL/I" in "The PL/I Language" view details External link: Online copy at Peter Flass's PL/1 site
          in ACM Transactions on Mathematical Software (TOMS) 6(4) December 1980 view details