CSMP(ID:714/csm002)

Continuous System Modeling Program 


for Continuous System Modeling Program

Block-diagram simulation program for simulation of dynamics of continuous systems
R. D. Brennan, IBM, Los Gatos, California




Related languages
DSL/90 => CSMP   Derivation of
PACTOLUS => CSMP   Influence
CSMP => Baskin and Morse graphical CSMP   Extension of
CSMP => BIOMOD   Extension of
CSMP => CHEMCSMP   Extension of
CSMP => CSMP III   Evolution of

References:
  • Brennan, R. D. "Digital simulation for control system design" view details Abstract:


    Abstract: Simulation of dynamic systems by use of analog computers is well established as a practical tool of the control engineer. With the advent of fast digital computers, it has become not only feasible but attractive to perform many such investigations using digital simulation. As an example, a study of a simple control system is presented to illustrate the ease and flexibility of this technique in design. Digital simulation permits the engineer who has no specialized training in computer programming or operation to readily utilize simulation in both the design and analysis aspects of his work. It has proven a fast, effective, and economical tool for general investigations of continuous, dynamic systems and is of particular interest to the practicing control engineer.
    Extract: About 1130 CSMP
    The 1130 Continuous System Modeling Program {1130 CSMP) is a new program of this general type specially developed for the environment of the design engineer. It employs a familiar blockoriented input language and offers an online, interactive mode of operation during development and testing of a simulation model. The simplicity of the language statements and the console procedures enables a user to rapidly gain proficiency with this program. Simplicity and flexibility are, in fact, its foremost characteristics.
    1130 CSMP is an adaptation of the PACTOLUS program for the IBM 1620. The computing speed of the IBM 1130 makes it feasible to handle more complex processes, so that, for many types ofinvestigations, 1130 CSMP obviates any requirement for an analog computer facility. Indeed, both the design and implementation of a simulation study are considerably simpler with this system than with an analog computer.
    1130 CSMP provides a complement of 25 standard simulation elements, plus a group of "Special" elements which the user can tailor to his particular needs. Table 1 illustrates a representative group of 1130 CSMP elements, their diagrammatic and language symbols, and definitions of their functional operation. The user'starts by developing a block diagram showing the interconnections of the elements required to implement his model. He then translates the diagram into a corresponding set of 1130 CSMP language statements.
    A most important feature is the option of entering these statements either via punched cards or directly from the console keyboard. During the introduction of a problem in the online mode, the user is provided with automatically typed instructions which guide him through the procedures. During a run, the user has the ability to interact with the model as directly and spontaneously a s he would with an analog computer.
    The simplicity and flexibility of 1130 CSMP is illustrated by its use for a control system study. This investigation was performed several years ago using an analog computer facility. The experiments were repeated using 1130 CSMP to demonstrate the superiority of the digital approach. Extract: Simulation techniques
    Simulation techniques have been used increasingly in recent years for the design and analysis of control systems. The analog computer has been used for innumerable such studies and has proved a convenient and flexible tool. However, the necessity of scaling problem variables into reasonable voltage levels, and the operational difficulties inherent in analog circuitry combine to present the analog user with a number of irksome problems. These difficulties mount as the size, complexity, and accuracy requirements of the problem increase. It is not Coincidental, therefore, that considerable attention has been given in the last several years to the deve 1opment of special digital languages for simulation of continuous systems.

    A major portion of this activity has been in development of the "digital analog simulators"; during the past ten years upwards of thirty separate programs of this type have been reported. These programs provide a complement of functional elements similar to those of the analog computer and a block-oriented language for specification of their interconnection. These "digital analog simulators" model the elements and organization of analog computers and provide numerical routines that are equivalent to such standard analog elements as integrators, summers, inverters, multipliers, and function generators. These programs also provide those special-purpose devices commonly assembled from several analog elements - e.g., division, absolute value, square root, exponential, sine function, limiting, dead space, and time delay units. Just as the computer patchboard electrically links analog computing elements, the simulation language interconnects the numerical routines.
          in [ACM/IEEE] Proceedings of the SHARE Design Automation Project Annual ACM IEEE Design Automation Conference 1965 view details
  • Brennan, R. D. and Silberberg, M. Y. "Two Continuous System Modeling Programs," IBM Systems Journal, Vol. 6, No. 4, 1967, pp. 242-266. view details
          in [ACM/IEEE] Proceedings of the SHARE Design Automation Project Annual ACM IEEE Design Automation Conference 1965 view details
  • Brennan, R. D. and Silberberg, M. Y. "The System/360 Continuous System Modeling Program" pp. 301-308. view details
          in Simulation 11(6) December 1968 view details
  • Gordon, Geoffrey: System simulation. Englewood Cliffs, N. J.: Prentice-Hall 1969. view details
          in Simulation 11(6) December 1968 view details
  • System/360 Continuous System Modeling Program, (360A-CS-16X), IBM Application Program H20-0240-3 view details
          in Simulation 11(6) December 1968 view details
  • Chubb, Bruce A., "Economic Evaluation of the CSMP Digital Simulation Language" view details
          in Simulation 14(03) March 1970 view details
  • Sammet, Jean E., "Roster of Programming Languages 1972" 70 view details
          in Computers & Automation 21(6B), 30 Aug 1972 view details
  • Lawrence, Clark R. & Groner, Gabriel F. "CHEMCSMP: A CSMP/360 Precomplier for Kinetic Chemical Equasions" Rand. March 1973. 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 153 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
  • Leavenworth, Burt M.; Sammet, Jean E. "An overview of nonprocedural languages" pp1-12 view details Abstract: This paper attempts to describe some of the basic characteristics and issues involving the class of programming languages commonly referred to as ?nonprocedural? or ?very high level?. The paper discusses major issues such as terminology, relativeness, and arbitrary sequencing. Five features of nonprocedural languages are described, and a number of specific languages are discussed briefly. A short history of the subject is included.
    Extract: CSSL and CSMP
    As stated in Section 4.4, one of the key characteristics of a "less procedural" language is to minimize the amount of sequencing specified by the programmer. In particular, it is desiraEble to be able to distinguish between the order of evaluation and the ordering of statements in the source program. While many of the specific languages discussed in Section 5 have this characteristic, the languages mentioned here tend to emphasize (directly or indirectly) this facility.
    Continuous simulation languages (e.g., CSSL (SCi, 1967), CSMP (IBM)) have had this capability for years. As a very simple example, the user might write the following equations, where T is an independent variable:
    X = R cos A
    R = 50.0
    Z=WT
    W= 5.0
    The compiler would automatically rearrange these to
    be
    W=5.0
    Z=WT
    R = 50.0
    X = R cos A
    While this is quite trivial and could be done equally easily by the user, in large simulations involving many interrelated equations with many variables, the rearrangement is laborious and error prone and can be done more easily by a computer. Another relevant aspect of the continuous simulation languages is that they are frequently used to model analog computers which have many computations occurring simultaneously. To handle this digitally (and hence, sequentially), the compiler must automatically cause certain computations to be temporarily deferred; this is most noticeable in dealing with the (numerical) solution of several differential equations.
          in Proceedings of the ACM SIGPLAN symposium on Very high level languages, March 28-29, 1974, Santa Monica, California, United States view details
  • Speckhart, Frank H. and Green, Walter L."A Guide to Using CSMP The Continuous System Modeling Program: A Program for Simulating Physical systems", NJ: Prentice-Hall, 1976. view details
          in Proceedings of the ACM SIGPLAN symposium on Very high level languages, March 28-29, 1974, Santa Monica, California, United States view details
  • James, M. L. "Applied Numerical Methods for Digital Computation with FORTRAN and CSMP" Reading, MA, Addison-Wesley view details
          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
  • GREEN. W. L.; SPECKHART, F. H. "CSMP" Simulation 34, 4 (April 1980). 131 -133. view details
          in SIGPLAN Notices 13(11) Nov 1978 view details
  • Karayanakis, Nicholas "Computer-Assisted Simulation of Dynamic Systems with Block Diagram Languages" CRC Press 1993 view details
          in SIGPLAN Notices 13(11) Nov 1978 view details
  • P. A. Leffelaar (Editor) "On Systems Analysis and Simulation of Ecological Processes with Examples in CSMP and FORTRAN" Kluwer 1993 Series: Current Issues in Production Ecology Series, #1 view details
          in SIGPLAN Notices 13(11) Nov 1978 view details
    Resources
    • CSMP Blocks