APACHE(ID:2974/apa001)

Analog simulation language 


for Analog Programming And CHEcking

Continuous simulation language, EURATOM, Ispra, Italy 1964

Designed to run as a programmable analog system to reduce the run time on an analog computer being created, but proved successful as a system in its own right


Related languages
SELFRIDGE => APACHE   Influence
APACHE => HYTRAN   Influence
APACHE => MIDAS III   Influence
APACHE => UHL   Incorporated features of

References:
  • Green, C.; Debroux, A.; Del Bigio, G. P.; Hoop, H. d': "Le code APACHE - destiné a la programmation d'un problème analogique au moyen d'un calculateur digital" [The Code APACHE intended for the Programming of an Analogue Prob­lem by Means of a Digital Computer] view details
          in Proc. Int. Assoc. Analog Computation, Vol. 5, April 1963, No. 2. (Conférence Bruxelles 1961) view details
  • Debroux, A.; Del Bigio, G. P.; Gazzano, A.; Green, C.; d'Hoop, H.; Rio, E, A.; and Van Wauwe, A. "Utilization of an analogue-to-digital linkage system in a big scientific computing centre" view details
          in Popplewell, Cicely M. (Ed.) Information Processing 62, Proceedings of the 2nd IFIP Congress, Munich, Aug. 1962. North Holland Publ. Co., 1963. view details
  • Green, C.; Hoop, H.; Debroux, A.; "APACHE a breakthrough in analog computing" IRE Transactions on Electronic Computers, October 1962, pp699-706 view details
          in Popplewell, Cicely M. (Ed.) Information Processing 62, Proceedings of the 2nd IFIP Congress, Munich, Aug. 1962. North Holland Publ. Co., 1963. view details
  • Forman, Eugene review of Green et al 1962 view details Abstract: The EURATOM Computation Center, Ispra, Italy, has developed what is probably the most comprehensive digital program for automatic production of analog computer programs. APACHE would be particularly valuable at installations where experienced and capable personnel are at a premium. Aside from this, it is a means of producing analog programs quickly and it is also able to check an analog solution against a previously analyzed problem. For the future, a digital program of this type will be required for fully automatic hybrid digital-analog systems.

    In essence, APACHE accepts a mathematical model in the form of a set of differential equations, explicit algebraic equations, implicit relations, arbitrary functions and logical statements. The mathematics are given in FORTRAN statements. The output contains statements for each input relation which can be directly related to analog computer wiring instructions, potentiometer settings, switch positions and static check voltages.


          in ACM Computing Reviews 4(03) May-June 1963 view details
  • Izard, J. A. review of DeBroux et al 1962 view details Abstract: The EURATOM Joint Research Center, Ispra, Italy, has a hybrid computation facility which consists principally of an IBM 7090 digital computer, two Electronic Associates PACE 231-R analog computers, and the necessary A-D and D-A converters,printers, plotters, etc. This paper describes the interplay between the digital and analog components of the hybrid system.

    To program the analog computers, EURATOM has developed a compiler-like language called APACHE (Analog Programming And CHEcking). The second version of this language is now operational on the 7090. Programs written in APACHE 2 are converted to paper tape. By means of ADIOS, this paper tape is used to set and check the analog computers. It makes the patch panel connections, potentiometer settings, and performs sequencing of equations and data. According to EURATOM, this gives a 50% reduction in programming and debugging time of the analog computers. A detailed description of this is referenced in Green, Debroux, Del Bigio, d'Hoop, "Le code APACHE destine a la programmation d'un probleme analogique au moyen d'un calculateur digital" [ Communication No. 107, Third International Conference on Analogue Computation, Opatija, September 1961 Presses Academiques Europeennes ] .

    The analog computers are used to evaluate certain formulas for the digital computers. Instead of using a digital subroutine, the 7090 outputs data to a D-A converter and triggers the analog computer. The computation is performed and the result sent back to the digital computer vie the A-D converter. EURATOM claims that the interrupt procedure and ability to make input and output transfers while computing make such a technique economically advantageous if the analog accuracy is not too critical.
          in ACM Computing Reviews 4(03) May-June 1963 view details
  • Burgin, GH "APACHE: Some encouraging experiences" pp16-19 view details
          in Simulation 6(1) January 1966 view details
  • Caligurt, G. P. "Contribution to the development of analogue computing techniques". Calcolo 3, 2 (April-June 1966), 143-163. (Italian) view details
          in Simulation 6(1) January 1966 view details
  • Del Bigio, G. P.: "Internal structure of the APACHE system and the procedures to use it on the digital computer" view details
          in Proc. of AICA Conference 1964. Bruxelles 1966 view details
  • White, G. M. T. "Digital simulation languages for the solution of process control problems" view details
          in Proceedings of the IBM scientific computing symposium on digital simulation of continuous systems 1965 view details
  • Kovacs, Joseph J. and Strauss, Dr. Jon C "An Approach to a Hybrid Programming Language" Computer yearbook and directory Detroit, International Electronics Information Services, 1968 view details Extract: Apache and reasons for its non-acceptance in the US
    One of the first and most ambitious software systems of this class is APACHE which automates the entire analog programming procedure. Accepting a complete problem statement including equations, variable ranges, constants, etc., in an almost mathematical format, it generates all appropriate program documentation such as component sheets, scaled equations, interconnection diagram. Moreover, either punched paper tape or card output is provided to automatically set up and static test the analog program on an EAI 291R + ADIOS system. Several options, provided by the language, permit the programmer to modify the procedure at any stage of development.
    APACHE has not received favorable acceptance in this country due primarily to poor documentation and the fact that its sizable hardware requirement made it difficult to access and, for an average installation, uneconomical to use. Extract: Hytran Simulation Language
    Hytran Simulation Language
    HSL is a FORTRAN oriented dialect of CSSL. As such, it contains the desirable features of CSSL with respect to:
    1.  Programmable structure: This pennits the simulation analyst to program both the representation of the system to be simulated and the desired control of the simulation in HSL.
    2.  Modularity: There are three types of problem oriented operators in HSL: built-in, function, and macro. In addition to the standard
    arithmetic, logical, and relational operators of FORTRAN, the built-in set includes an integrate operator which is mechanized by one of the variety of centralized integration algorithms of the run-time system. The set of functions includes all the standard external functions of FORTRAN IV; the set may be augmented by any function or subroutine written in FORTRAN or assembler language and included on the system library. The HSL macro is the parallel language equivalent of the more standard assembly language macro. It consists of a prototype sequence of HSL statements that is inserted into the program, prior to sorting, upon named reference. An operation defined in terms of the functions performed by other HSL functions, built-in operators, and macros may be defined as a macro and then referenced from many places in the source program. If the operator so defined has universal application and once the user is convinced of its validity, it may be added to HSL by appending the macro to the system macro library. Indeed, if more than one system macro library is utilized, it is possible to tailor the language to a variety of application areas preserving the syntax and all the operational features of the basic language system.
    3.   Programmer sophistication: Programmable structure and the expandable macro library contribute to making HSL a useful tool to programmers and problems of a tremendous range in sophistication. At the upper end of the scale, the experienced programmer can employ the full power of FORTRAN IV and the Hytran Operations Interpreter to control interactively a complex hybrid simulation program, retaining the language features of assistance but disabling any inhibiting diagnostic checking.
    4.  Standard  features  of  MIMIC,  DSL/90: The desirable features of previous simulation languages have been incorporated in HSL. In addition to the previously mentioned problem oriented operators, mnemonic variable naming, FORTRAN expression capability, and extensive problem oriented diagnostics are standard features.   The   model   representation   portions   of simulation programs are written as series of statements which are resequenced  (sorted) by the translator to optimum calculational order.
    5.  Language elements: The syntax of HSL admits to four statement types: representation, control, structure, and procedural. Representation statements describe the system being simulated ; they are sorted into optimum calculational order. Control statements instruct the translator and the run-time system concerning the processing and execution of an HSL program. Structure statements divide the program into functional blocks. Procedural statements are FORTRAN IV statements couched in the HSL statement format and structured into appropriate blocks.
    Extract: Conclusion
    The primary objective of this paper is to propose a practical approach to a hybrid programming capapability. The proposed two language approach. it is felt. constitutes a cosiderable improvement over earlier software systems in spite of its evidently cornpimised nature. Moreover, experience. derived from creating and using such software. may pave the road to further advances.
          in Proceedings of the IBM scientific computing symposium on digital simulation of continuous systems 1965 view details
  • Chu, Yaohan "Digital Simulation of Continuous Systems" McGraw Hill NY 1969 view details Extract: APACHE
    In 1962, the development of APACHE (Analog Programming And CHEcking) by EURATOM in Ispra, Italy, was reported [8]. APACHE was to produce a detailed list of instructions for setting up a simulation for a particular but popular analog computer, PACE/231R. However, it was not fully ready until the release of version IV in July, 1965 [27]. This approach of using a digital computer can reduce programming time on an analog computer, but it does not make full use of the capability of a digital computer in simulating a model in comparison with the approach by digital analog simulation.
          in Proceedings of the IBM scientific computing symposium on digital simulation of continuous systems 1965 view details
  • Sammet, Jean E., "Roster of Programming Languages 1972" 16 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 40 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