Topic: structured flow diagram

topics > computer science > programming > Group: program control

flow diagrams and flow charts
program blocks for control
hierarchical structures
requirement specification by diagrams
structured programming
visual programming


Structured flow diagrams allow graphical representations of structured programs. Statement sequences are specified vertically, selection is specified by horizontal choices, and repetition is specified by a repeat indicator. Program embedding is specified by chart reference, diagonal layout, or block interiors. Flow diagrams are often limited to one page with a single entrance and exit. Warnier-Orr diagrams specify sequence and control information vertically, refinement horizontally, and blocks by begin and end labels. Jackson diagrams have all structuring indicators (selection, repetition, sequence) as nodes with components underneath. Both Warnier-Orr and Jackson diagrams apply to data specification as well as program specification. Both emphasize embeddedness along with control flow. Machine readable flow charts are simplified if control is specified separately from statement definition. Some common flow diagrams can be directly structured (e.g., loops with multiple interior exits). (cbb 5/80)
Subtopic: flowchart decomposition up

Quote: if look at all possible flow-graphs, there is a large break in the minimal set required to represent a given set of flow-graphs [»martJJ12_1973, OK]
Quote: gives the natural set of possible flow-graphs; e.g., sequence, if..then..else, do..exitif..od, etc. [»martJJ12_1973]
QuoteRef: bohmC5_1966 ;;202 can decompose flow charts into 2 or 3 base diagrams only if the results of discrimination tests can be saved
QuoteRef: brunJ7_1972 ;;no need for flags in structuring programs
Quote: Pierce--existential graphs, e.g., negation as a cut in a sheet of assertion; like Brown's Laws of Form [»sowaJF_1984]
Quote: Bohm and Jacopini's paper proved that L-programs were functionally equivalent to D-structured programs with extra control variables on a stack [»ledgHF11_1975]
Quote: Kosaraju defined a hierarchy of control structures under semantic conversions; D and D' at bottom, L (goto) at top [»ledgHF11_1975, OK]
Quote: D'-structures preserve the one-in, one-out property of D-structures while adding a lot of notational convenience; recommended [»ledgHF11_1975]
Quote: defines D and D' control structures: basic actions, composition, conditionals, repetitions [»ledgHF11_1975, OK]
Quote: a set of laws for types of algorithmic control; e.g., A*.A = A.A* (both sequences of A) [»kapoAA1_1978, OK]
Quote: 'A*' for repetition, 'A.B' for sequence, 'A+B' for selection, 'K:=U' for definition of K [»kapoAA1_1978]
Quote: linear algorithm to decompose program into primes; e.g., sequence, ifthen, whiledo [»formIR9_1982]
Quote: procedure for restructuring irregular algorithms with sequence, 'if', and 'while' [»kapoAA1_1978]
Quote: gives the algorithm for simplifying a program's structure [»kapoAA1_1978]

Subtopic: structured flowchart up

Quote: can base software languages on graphics derived from text, e.g., structured diagrams; most powerful category for humans and processing [»joneTC4_1979a]
Quote: Jackson's diagrams indicate repetition, sequence, and selection by boxes [»jackMA_1975, OK]
Quote: Pancode is presented as box charts; like flowcharts [»jonsD8_1987]
QuoteRef: chapN10_1974 ;;348 structured flowcharts entries and calls by boxes, choices by splitting box into yes/no sub boxes, and loops by framing a sub-box with the loop variable
QuoteRef: chapN5_1978 ;;38 generalized loop-exit if flow block by horizontally striping a box with exit conditions that open to an exit path on the left margin.
QuoteRef: nassI8_1973 ;;17 diagramming by embedding blocks in side of each other. Process is a single block. conditional has test with true and false sub-blocks below it. repetition DO surrounds a sub-box. Begin/end surrounds a sub-box like a horseshoe on its side.
QuoteRef: orrKT_1977 ;;38 Warnier-Orr control options (1) execute once, (e) execute e timesl, (0,1) execute 0 or 1 times depending on boolean value of label. Overhead bar for negation of condition, circled plus for exclusive or between alternatives.
QuoteRef: orrKT_1977 ;;38 Warnier-Orr diagrams: labels arranged vertically as sequence with control information in parenthesis. Label definition on right bracketed by braces.
QuoteRef: orrKT_1977 ;;38 Warnier-Orr diagrams: most definition braces include begin/end pair labels for initialization and termination.
QuoteRef: schwJT_1973 ;;50 flow statements of test with branch choices below them with actions and test defined at end of statement. e.g.: FLOW t1? // act1, act2; // t1:= x lt 0; act1: x=x+y act2:endfl // see also ;;QuoteRef: voorEA6_1958
QuoteRef: weidNH4_1975 ;;43 flowchart top down and left to right by sequence down, test to right and down, loop header to right then down to loop terminator symbol with possible interior exit symbol
QuoteRef: mcquD5_1975 ;;26 transaction diagram for designing programs; e.g., then/else looping. Consists of name and sub-parts-- expand parts by name and line to diagram
Quote: with a structured flow chart can fold the paper to show an abstraction level
Quote: program in MicroTool with a flowchart of single-entry, single-exit nodes [»elshJL1_1991]
Quote: uses machine translatable flow charts; sequence vertical, parallelism horizontal, refinement diagonal [»wittRW9_1977, OK]

Subtopic: module or process diagram up

Quote: write large programs as segments (one page, one entrance and exit); refer to other segments as needed [»millHD_1971_, OK]
Quote: Jackson's diagrams show the components of an entity; not a flowchart [»jackMA_1975]
QuoteRef: kralTM5_1975 ;;6-5 HIPO control top to bottom of process chart with calls, loops, conditionals (embedded blocks and exiting arrows)

Subtopic: structured flowchart vs. pseudocode up

Quote: hypothesized that structured flowcharts are better than pseudo-code: easier, fewer errors, more confidence, quicker answers, fewer references [»scanDA9_1989]
Quote: structured flowcharts preferred over pseudocode by 4:1 for learning short, complex algorithms [»scanDA3_1988]

Subtopic: basic-block vs. single-instruction up

Quote: single-instruction graphs are clearly better than basic-block flow graphs; store analysis results with edges [»knooJ3_1998]

Subtopic: problems with structured flowcharts up

Quote: structured programming does not handle loop exits or selections continued to other selections [»symesDM_1975, OK]

Related Topics up

Topic: flow diagrams and flow charts (21 items)
Topic: program blocks for control (20 items)
Topic: hierarchical structures (14 items)
Topic: requirement specification by diagrams (27 items)
Topic: structured programming (27 items)
Topic: visual programming
(32 items)

Updated barberCB 2/05
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.