Skip to main content
main-content

Über dieses Buch

This report introduces the programming system PISA intendei for the interactive production of application software. The heart of the programming system is a new programming language, also called PISA. An interactive environment for this language permits the creation, test, maintenance, and usage of PISA programs in a real-time dialogue fashion. Both the programming language and its interactive environment are described without any reference to a specific implementation. Together, they form a well defined programming system whose components interact harmoniously. The programming system PISA is dedicated to application software production. This implies that production of system software and online-control programs is not a goal of PISA. Furthermore, it means that PISA must meet several requirements as they arise from commercial application software production, the most stringent ones being economy, availability, and compatibility: In the long term the overall cost of software production and usage with such a programming system must be less than with conventional means, the programming system must be available or implementable on a wide range of computer systems currently used, and existing data must be accessible in its actual physical representation. The definition of PISA is given in a heavily annotated form in this report: Examples for the use of single componer.ts as well as for the entire system are presented, most of the lan~uage constructs and system facilities are commented on briefly, and the implications of the programming system's design on implementability and portability issues are discussed.

Inhaltsverzeichnis

Frontmatter

Section A. The Design of an Interactive Programming System for Production of Application Programs

Abstract
As an introduction to the definition of the programming system PISA, this section describes the fundamental criteria for designing an interactive programming system devoted to the production of application programs. After a discussion of the reasons for expanding the definition of a programming language to the definition of an entire programming system, the basic design principles for the programming language and its surrounding programming system are stated.
Rudolf Marty

Section B. The Programming Language PISA

Abstract
This section describes the programming language PISA. The language description includes examples and notes to promote the understanding of the constructs introduced. The structure of this section is designed to minimize the number of forward references designating as yet undefined language parts. Where such references are given, they usually can be ignored by a reader with a thorough knowledge of block structured languages as Pascal, Algol, Simula, and even PL/I.
Rudolf Marty

Section C. The PISA Session

Abstract
The PISA system serves to create, test, use, and maintain application software based on PISA programs. Each of these activities involves a dialogue between the user and the PISA, system. The user is either a person occupied with software production, a person interacting with application programs, or a PISA program that makes use of the PISA system to process specific tasks. Persons maintain their dialogue with the PISA system via a real terminal while programs employ a pseudo terminal. At the moment a user establishes connection to the PISA system, a PISA session is assigned to him; the PISA session provides the user with the hardware and software resources supported by the PISA system.
Rudolf Marty

Section D. Applications of PISA

Abstract
This section discusses PISA’s use in several typical classes of applications. It does not define any properties of the PISA system but merely serves to support the understanding of PISA and to clarify its design guidelines. Since the role of an algorithmic language in application programming is well understood and not vastly different from language to language, the main weight of this section lies on describing the use of PISA’s interfaces and of the PISA system as a whole. Besides this, the economy of interactive software production is discussed in a few paragraphs.
Rudolf Marty

Section E. Implementation Guidelines

Abstract
Theoretically, the definition of the programming language PISA, together with the description of the PISA session, is a complete reference for a PISA, implementation. Nevertheless, it seems quite worth-while giving some guidelines to a PISA implementor. Part of the reason for this is the fact that several constructs of PISA have been carefully designed to meet specific requirements like efficient implementation, testing support, consistency with existing data, etc. The implications of some PISA features might not be apparent to an implementor, at least not at an early stage of the implementation work. One of the purposes of this section can be seen in the trial to narrow the information gap between the designer and the implementor.
Rudolf Marty

Section F. Portability

Abstract
According to Poole and Waite [Poole/Waite,73], “Portability is a measure of the ease with which a program can be transferred from one environment to another: If the effort required to move the program is much less than that required to implement it initially, then we say that it is highly portable.” Remarkably, this definition does not introduce an absolute measure of portability but a relative one: The ratio between the work involved in porting an existing program and the work needed to write it from scratch. By no means should the term “portable program” be interpreted as a program that can be moved to another environment with a null effort. What we are interested in is to minimize the costs of transferring programs.
Rudolf Marty

Backmatter

Weitere Informationen