Browse Prior Art Database

Pseudo-code Building Blocks in Flow Graph

IP.com Disclosure Number: IPCOM000121433D
Original Publication Date: 1991-Sep-01
Included in the Prior Art Database: 2005-Apr-03
Document File: 5 page(s) / 217K

Publishing Venue

IBM

Related People

Marshall Jr, JR: AUTHOR

Abstract

A flow graph is a diagram containing blocks and lines where each block represents a function and each line represents a connection between blocks over which data or controls may pass. Either may have various attributes assigned to it. Flow graphs are used today to model various systems. Various tools and authors have shown that using flow graphs to model or simulate systems is a powerful way to represent systems in a concise way without becoming overburdened by low-level details. When one represents a software system, the basic structure and paths the algorithm may take is fixed by the flow graph. If one is trying to show a code-driven structure, one must show every possible path the code may take.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 29% of the total text.

Pseudo-code Building Blocks in Flow Graph

      A flow graph is a diagram containing blocks and lines
where each block represents a function and each line represents a
connection between blocks over which data or controls may pass.
Either may have various attributes assigned to it. Flow graphs are
used today to model various systems. Various tools and authors have
shown that using flow graphs to model or simulate systems is a
powerful way to represent systems in a concise way without becoming
overburdened by low-level details.  When one represents a software
system, the basic structure and paths the algorithm may take is fixed
by the flow graph.  If one is trying to show a code-driven structure,
one must show every possible path the code may take.  This requires
that algorithmic or coded architectures be very well-known as all
control paths must be shown and any changes will have effects
throughout the model.
The Building Block Approach

      A common approach to creating flow graphs and maintaining their
functions is to create a set of common blocks encompassing an
extensive set of functions with software written to simulate the
behavior of each block. Both hardware and software blocks were
included so one could create flow graphs of hardware systems or
software systems.

      Software, by definition is very changeable; one simply rewrites
their code.  Software algorithms on a flow graph, however, are
rigidly fixed to the graph structure and have very little interaction
with the hardware elements of a system.  And one could only change an
algorithm by carefully changing the graph.  This seems to be a
limiting factor in the usefulness of flow graphs in systems
containing both hardware and software.  This invention provides a way
to include a software structure in a hardware graph so the two could
interact in a system represented by flow graphs.
The New Approach

      The invention consists of: 1) a set of four types of blocks
that are configured in predefined ways; 2) the software that
describes the behavior of each block; 3) definition of the data
carried between the blocks; and 4) the language that may be used to
code functions for the resulting system when proper combinations of
the four blocks are included as part of a flow graph.  Each of the
parts of the invention are based on prior art, but the combining of
the parts under the rules of a flow graph environment advances the
state of the art.

      The figure shows the relationship among files in a
representative system.  Each block in the graph has a number of
attributes, two of which are highlighted in the figure. The
package_name attribute allows the user to specify the file containing
the behavior of the block.  The node_user filename attribute is used
by this behavior software to find the file containing the user's
language to simulate on the graph.  The four types of blocks work
together to form a coded engine.  The following is a description of...