Browse Prior Art Database

Application Component Generation Via Generator Input Units

IP.com Disclosure Number: IPCOM000039654D
Original Publication Date: 1987-Jul-01
Included in the Prior Art Database: 2005-Feb-01
Document File: 4 page(s) / 67K

Publishing Venue

IBM

Related People

Hurwitz, A: AUTHOR [+3]

Abstract

This invention relates to a method for operating a computing apparatus to allow largely declarative specification of some application components (such as screen input/output), together with procedural specification of other components with less disjointedness than is exhibited by current approaches. The following kinds of disjointedness are addressed: (a) the required separation of generator inputs from procedurally specified parts of applications, which interferes with comprehensibility; and (b) the awkward communication between generated and procedurally coded parts of applications. (Image Omitted) The method allows inputs to an extensible set of generators to be embedded within a high-level language source program.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 41% of the total text.

Page 1 of 4

Application Component Generation Via Generator Input Units

This invention relates to a method for operating a computing apparatus to allow largely declarative specification of some application components (such as screen input/output), together with procedural specification of other components with less disjointedness than is exhibited by current approaches. The following kinds of disjointedness are addressed: (a) the required separation of generator inputs from procedurally specified parts of applications, which interferes with comprehensibility; and (b) the awkward communication between generated and procedurally coded parts of applications.

(Image Omitted)

The method allows inputs to an extensible set of generators to be embedded within a high-level language source program. The approach can be adapted to many high-level languages and requires only a single set of changes to the selected base language and its compiler. Furthermore, if there is a powerful macro processor associated with the base language, then no changes are needed to the language or compiler (but processing is more complex). The former case will be dealt with first, then the latter case will be summarized briefly. The change required to the base language consists of the introduction of a single new programming unit. The name of the unit (e.g., module, program, package) and syntactic details should be consistent with existing programming unit types of the language. In what follows, the new unit will be called a "generator input unit". A generator input unit must include a header and a declarative section, and may include some nested programming units. The header must include the name of a generator. The declarative section consists of one or more subsections, each representing the content of a data object in a linear form. The data model (e.g., relational) used for the data objects must be consistent across all generator input units. However, the schemas (e.g., individual relation definitions) are target-generator specific. To illustrate the approach, consider an adaptation using ADA as the base language, a relational data model, and a hypothetical screen generator. A menu screen, such as the one shown in Fig. 1, might be specified by the generator input package shown in Fig. 2. In the format used here for the representation of relations, duplicate values in leftmost columns (here 'Act' identifying a particular screen) can be factored. (The generator used in the example is not part of the disclosure. However, to elucidate the example, it should be explained that the assumed generator requires an ordered sequence of instructions for each screen. The instructions indicate a general layout for the screen, and the generator is responsible for detailed formatting. Here, one screen (Act) is described using 10 instructions. Two rows with the same sequence number (here 4) form part of the same instruction.) Moving now from the language addition required by the method to t...