We require that there is at least one non-zero flow - ie. at least two:
We can recognize when one flow contains another. This can be modeled as
a partially ordered set
[ poset in math_21_Order ]
The above incorporates definitions of the usual relations: <, <=, >, and
>= plus rules like the transitivity and strictness of <:
A combined flow is greater than or equal to its parts:
One flow is greater than another if and only if the first results by adding a flow to the second one:
Adding a flow to two flows preserves their order:
Applications
The following could be used in Data Flow Diagrams. First a qualitive data flow diagram where data is either present of absent on each arc:
However:
If these two models describe the same system then there is a homomorphism from the quantitive model to the qualitive, based on the map
The following example, could be part of a model of Ozone depletion:
The following would be used in parts of D. Knuth's analysis of algorithms:
In general:
Exercise on Category of Flosets
Investigate the category of all flosets with homomorphisms that preserve 0, monoids and order. Are there free flosets (initial obejects) which can be mapped onto any other floset? Do products and co-products make sense? (Hint - monoids have a similar category - but in what sense?)
Project - Petrie Nets and Flosets
Use a floset to model for the numbers of tokens in a Petrie Net, or marked directed graph. What are the simplest expressions of the firing rules?
. . . . . . . . . ( end of section Flosets) <<Contents | End>>
Informally a flow diagram is a collection of parts that have flows connecting them.
Example Flow Diagram
Simple assembler program reads lines of source code lines and produces words of object code.
.DFD
A set of flows between pairs of objects defines a directed graph where each arc indicates a non-zero flow.
Now we have defined the directed graph associated with the flow
we can make a simplifying postulate.
The absence of loops is assumed without loss of generality, because if there is a need for a flow to return to a node then a new node with a single input and output is introduced to provide the feedback. In a hierarchical flow diagram a loop is placed within the refinement of the part.
Again in realistic situations all the parts a connected up.
There shouldn't be any completely isolated Parts.
The following are used to show the aggregate flow out of a part or set of parts.
The following are used to show the aggregate flow in to a part or set of parts.
There is a way to document that some of the nodes are outside the system.
An external entity can both send and receive flows.
All sources and sinks should be external entities.
A store is a part that doesn't produces more than it is given.
Processes are nodes where more(>) comes out than comes in. Thus they must change that which is flowing in the network.
A passive flow is arc that has no process attached to it.
A filter is a common kind of process with a single input and a single output.
A conservative part outputs no more or less than what it inputs.
Certain kinds of flow diagrams have the property that all their parts are conservative, this law (when it holds) is named in honor of Kirchoff.
Table of parts
--------------
Source line
SASS word
Object
. . . . . . . . . ( end of section N_Squared) <<Contents | End>>
Context DFD
-----------
Source line
SASS word
Object
SASS
-----------
Source lines lines
Pass1 label+address
Symbol address
label Pass2 word
Object
. . . . . . . . . ( end of section Refinement) <<Contents | End>>
Theory of Refinement
The following uses recursion.
. . . . . . . . . ( end of section Formal Flow Diagrams) <<Contents | End>>
Data Flow Diagrams
Notes on MATHS Notation
Special characters are defined in
[ intro_characters.html ]
that also outlines the syntax of expressions and a document.
Proofs follow a natural deduction style that start with assumptions ("Let") and continue to a consequence ("Close Let") and then discard the assumptions and deduce a conclusion. Look here [ Block Structure in logic_25_Proofs ] for more on the structure and rules.
The notation also allows you to create a new network of variables and constraints. A "Net" has a number of variables (including none) and a number of properties (including none) that connect variables. You can give them a name and then reuse them. The schema, formal system, or an elementary piece of documentation starts with "Net" and finishes "End of Net". For more, see [ notn_13_Docn_Syntax.html ] for these ways of defining and reusing pieces of logic and algebra in your documents. A quick example: a circle = Net{radius:Positive Real, center:Point}.
For a complete listing of pages in this part of my site by topic see [ home.html ]
Notes on the Underlying Logic of MATHS
The notation used here is a formal language with syntax
and a semantics described using traditional formal logic
[ logic_0_Intro.html ]
plus sets, functions, relations, and other mathematical extensions.
For a more rigorous description of the standard notations see