APG(ID:8187/)


for Applications Program Generator

PL/I-like IBM generator language for the system/7 RT OS, used for programming by example etc, similar approach to RPG

IBM San Jose Lab

Generated JCL code which was then run by the OS

Drawback was the length of time to produce the code




Related languages
JCL => APG   Targetting
PL/I => APG   Subset
RPG III => APG   Influence

References:
  • IBM "Understanding APG/7" SH20-9513 view details
  • IBM System/7 Application Program Generator (APG/7) General Information Manual, IBM Systems Library, GH20-1162. view details
  • IBM: MSP/7 Installation Guide, GC34-0031, IBM Systems Library view details
  • IBM: Understanding MSP/7 GC34-0027 view details
  • Introducing IBM Facility ControllPower Management 2, 2M, and 3 General Information Manual, IBM Systems Library GH30-0094 view details
  • Shah, M. J. "A fill-in-the-blanks approach to generating a real time control system," Proceedings of the IBM Automatic Programming Symposium, Yorktown Heights, 1975, IBM Thomas J. Watson Research Center, Yorktown Heights, New York 10598 view details
  • System/7 APG/7 Power Management Handbook, IBM Systems Library, SB30-0617 view details
  • Raimondi, D. L.; Gladney, H. M.; Hochweller, G.; Martin, R. W. and L. L. Spencer, LABS/7-a distributed real-time operating system IBM Systems Journal 15, No. I , 81-101 (1976) view details
  • System/7 Event Driven Executive Program DescriptionlOperations Manual, IBM Systems Library SB30-0812 view details
  • Shah, M. J. "Automatic programming for energy management using sensor based computers" IBM Systems Journal 18(3) 1979 view details Extract: APG
    In the early 1970?s, further reduction in hardware cost was reflected
    in systems such as the IBM System/7 for sensor based applications.
    A host program preparation facility was developed for
    generating the System17 real-time operating system, as well as
    application programs, on large systems such as System/360 for
    subsequent transmission to a System/7. In addition, the Application
    Program Generator (APG),3 a PL/I-like language, was developed
    to further reduce software effort. In spite of these developments,
    and the availability of specialized application packages for
    System/7, the installation effort was not reduced dramatically, in
    part because many customer installations could not justify a fulltime
    programmer. Thus computer vendors were forced to provide
    extensive software support.
    With the introduction of yet smaller and less expensive process
    control systems such as the IBM Seriedl, it has become mandatory
    to strive toward a programmerless environment in many applications
    so that the benefits of digital computer control can be
    provided with a reasonable software/hardware cost ratio.
    Extract: APG
    To avoid difficulties for the facilities engineer who is unfamiliar with programming, it is desirable to automate this process.
    The fill-in-the-blanks facility for provides some degree of
    automation for preparing the MSP/7 nucleus, with a reasonable degree of validity checking of answers. This facility was extended to tailor a complete application source program, step by step as follows:
    The application source, written in the high-level language of
    APG/7, is made into a ?prototype? which is processed according
    to the user?s answers to form a compilable source. Portions
    of the prototype are shown in Figure 1, and the program
    source after processing is illustrated in Figure 2. Dimensions
    are filled in, source code is eliminated, repeated, or retained,
    and variables are defined, all based on the user?s answers.
    A file containing the APG fill-in-the-blanks answers for generating
    the System/7 operating system macro source was itself
    made into a prototype, which was processed according to a
    minimum of user answers. This in effect allowed the creation
    of system parameters such as the number of multiprogram
    partitions, and it allowed specification of the storage location
    of programs based on user answers regarding machine memory size and whether the system incorporates disk storage.

    The job control language required to assemble the system supervisor
    and compile the application programs created in the
    first two steps was also made into a prototype file. This file
    was processed according to user answers, creating a system
    tailored to fit the application requirements based on the user?s
    machine configuration.
    In essence, the user answers questions on forms prepared for the
    application, enters the answers by means of a keyboard or
    punched cards, and follows a prescribed ten-step procedure to
    generate his system. The ten steps themselves could have been
    automated, but an inaccurate answer, recognized at the end of
    system generation, could require total system regeneration. In
    addition, it was decided to provide the user with system information
    between procedural steps. Further, a programmer can intercede
    between steps to add or modify application programs or
    modify the system nucleus. Depending on the complexity of the
    user?s application, total system generation, after specifying the
    user answers, took 5 to 12 hours of System/7 time.
    In almost all System/7 energy management installations, systems
    engineering assistance was required for system generation. When
    the stepwise procedure was followed, program generation and installation went smoothly. Difficulties arose when program modifications and functional extensions to the application were required, mainly because it was necessary to have operational knowledge of nucleus generation, system macro definitions, the job control procedure for the compiler, the assembler, the linkage
    editor, and the source language.
  • Harrison, Thomas J.; Landeck, Bruce W.; St. Clair, Hal K. "Evolution of Small Real-Time IBM Computer Systems" IBM J. RES. DEVELOP. VOL. 25 NO. 5 SEPTEMBER 1981 view details Extract: APG
    During the 1974-1975 time period, three other operating
    systems were developed for the Systend7 by groups
    other than the MSP/7 development organization. These
    were the Event-Driven Executive (EDW7), the Application
    Program Generator (APG), and the Application Monitor.
    EDX/7 was developed at the IBM San Jose Research
    facility. It was originally designed as a laboratory-automation
    real-time system, but then was generalized into
    IBM?s first real-time interactive system. APG was developed
    at the Application Development Center in Palo Alto.
    It was primarily oriented toward the continuous process
    control environment. Its significance is that it was the
    first IBM real-time system to provide PL/I as the primary
    user interface to the real-time facilities [20]. The Application
    Monitor was developed in Boca Raton, and introduced
    several new concepts. Primary among these was
    the late binding of resources to an application program
    m1.