Browse Prior Art Database

Flow Chart Interconnections Algorithm

IP.com Disclosure Number: IPCOM000076346D
Original Publication Date: 1972-Feb-01
Included in the Prior Art Database: 2005-Feb-24
Document File: 3 page(s) / 62K

Publishing Venue

IBM

Related People

Hallman, CA: AUTHOR [+2]

Abstract

This algorithm provides logic for a module of a program which produces flow charts on a computer. The program includes the following major modules: 1. Input Editor; 2. Symbol Sort; 3. Logical Interconnection Resolution and Symbol Diagnostics; 4. Page Layout; 5. Physical Interconnections Algorithm; 6. On-Page Connectors.

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 49% of the total text.

Page 1 of 3

Flow Chart Interconnections Algorithm

This algorithm provides logic for a module of a program which produces flow charts on a computer. The program includes the following major modules: 1. Input Editor; 2. Symbol Sort; 3. Logical Interconnection Resolution and Symbol Diagnostics; 4. Page Layout; 5. Physical Interconnections Algorithm; 6. On- Page Connectors.

This algorithm is to be included in module 5 above. it plots most of the nonsequential flowlines. The plotter line drawing facility makes it possible to place six adjacent vertical flowlines between adjacent columns of flowchart blocks.

The design criteria for this interconnection algorithm are: 1. Maximize flowlines explicitly drawn; 2. Minimize single crossovers of any flowline pair; 3. Allow no double crossovers of a flowline pair.

Fig. 2 shows a portion of the layout used in the program. Fig. 1 shows that six primary vertical flowline channels are between adjacent columns of flowchart blocks; and three vertical channels are on the far right and far left of the chart.

The algorithm is as follows: 1. Draw all nonsequential down flowlines, having origins and destinations lying wholly within any column, that have no crossover possibilities with other flowlines within the same column, in the first channel to the immediate right of the column. Connect any other flowlines with the same destination to the same vertical channel, including those from the first column to the right, if any; 2. Draw all up flowlines, that terminate with the same column, in the first channel to the left of the column, but suppressing those which conflict with up flowlines already drawn; 3. Repeat step 1 since step 2 makes possible additional down flowlines with no crossover, since potential crossover in step 1 may have been eliminated in step 2; 4. Generate all remaining up and down flowlines that connect blocks lying within each column but that may produce crossover of flowlines. Vertical channels to the right of the column are used in left to right channel order, as needed. All flowlines with the same destination (including flowlines originating in the column to the right) are connected to the same vertical channel; 5. Draw all column-to-column, left to right flow for direct transfers of logic (FORTRAN like "GO TO's" or branching and answers to question blocks). Flowlines are spaced such that double crossover of any pair of flowlines is eliminated. This line contention procedure is described in more detail below. Any adjacent flow in the same two columns to the same destination uses the same vertical channel; 6. Draw all column-to-column, right to left flow for direct transfer of logic (GO TO's) or the bottom flow from question blocks. Flowlines from a question block are restricted in the implementation to the bottom and right side of the decision symbol. Double crossovers of any pair of flowlines are eliminated by the contention procedure described below. Any other right to left flowline in the same...