
JavaFBP V2.0
------------

J. Paul Morrison, May 27, 2008


Version 2.1 now available - for differences from V1.3.x, see file called

                      Version-2.1-changes.txt
                      ----------------------- 


The information here is still valid - some new features have been added.

A FRIENDLY PIECE OF ADVICE

First, a note of warning: it is not recommended that you try this software 
without reading the book first to get a basic understanding of the concepts and 
methodology.  This would be like being given a pile of girders and being told 
to build a bridge!  This is not because the concepts are complex - it is rather 
that they involve a paradigm change, and it is much easier to follow where someone 
else has been before, rather than having to rediscover them for yourself!

QUICK START GUIDE

To get JavaFBP up and running, first make sure you have a properly installed Java 
runtime environment. If you don't have one, you can get one here:

http://www.java.com/en/download/manual.jsp

Then, from the same directory containing this README file, execute the following 
command:

java com/jpmorrsn/javaFBP/test/networks/MergeandSort

You should see the following output:

in: 100abc
in: 099abc
in: 098abc
in: 097abc

...

in: 081abc
in: 080abc
in: 100abc
in: 079abc
in: 099abc
in: 078abc

...

098abc
098abc
099abc
099abc
100abc
100abc

If you've gotten to this point, your FBP installation is properly installed and 
functioning.

Let's examine the example in more detail.

The file com/jpmorrsn/javaFBP/test/networks/MergeandSort.java shows the JavaFBP 
network that generated the above output. Two generator processes are connected to a 
single sort process, which in turn is connected to a process that writes to a 
Java Swing JEditorPane. 

The two generator processes are connected into the same input port on the sort process, 
so their outputs are received on a first-come, first-served basis.  Each of these 
processes generate 100 records (data packets) in descending sequence, and run 
asynchronously.  They are in fact two instances of Generate.java.  This explains why 
the "in:" records are slightly jumbled - these are trace lines generated by the Sort 
component as it receives its input packets. The Sort component is a "mickey-mouse" sort 
module which can handle up to 9999 packets only.  The reader will easily be able to 
write a better one!

ADDITIONAL DEMOS

Additional demos can be found in com/jpmorrsn/javaFBP/test/networks.


FOR MORE INFORMATION

More details are available at http://jpaulmorrison.com/fbp/.  In particular the syntax 
for creating networks and a sample reusable JFBP component are shown in 
http://jpaulmorrison.com/fbp/jsyntax.htm.

Please send suggestions, bug reports and constructive criticism to:
paul dot morrison at rogers dot com.

