Over the last several years, an FBP diagram drawing tool, written
in Java, has been evolving. It can
Installer, and this is also
available on SourceForge
- look for the 2.8 version. This version is very
powerful, has fairly decent help facilities, and can generate
runnable Java, C# or NoFlo network
definitions, if it is given enough
information. You can
now draw an application, click on "Generate Network", fill in a
few missing bits of information (if any), and voilà - a running
program! What's not to like?!
also be downloaded and executed immediately by clicking on JWS
version of DrawFBP (*),
To run the JWS
version on a 64-bit machine you have to install the 32-bit JDK in
addition to the 64-bit JDK - apparently JWS always runs in 32-bit mode,
and Java is able to figure out which version to use.
If you wish to use the Help facility, you will need to extract a
file called jhall.jar from
file. However, you only need to do
this once - DrawFBP will prompt you to choose where to store it, the
you use the Help facility.
Here is a snapshot of a simple diagram, showing an arrow in process of being drawn:
It has been pointed out to me that I should not assume any project structure, and people have requested some additional features, so version 2.8 incorporates these improvements. Among other changes, I have changed the method of file selection, so the file manipulation should be more intuitive. I have also added a zoom and pan facility. The Help facility has been changed to make it easier to install, and to provide more informative messages if it is not installed correctly.
I would like to mention that the previous
version of DrawFBP has been
picked up by Softpedia and a company named SoftSea - I notified
them about the 2.6 version, and will continue to notify them about any
* If you have the jnlp mime type associated with the Java Web Start Launcher, you can just click to run, but you will need jhall.jar from the DrawFBPInstaller zip file or from my web site to use the DrawFBP Help facility
Note: DrawFBP does not attempt to generate diagrams from text - we have seen too many failed attempts at this - instead it allows the designer to lay out the flow as desired, after which DrawFBP captures the information from the diagram, including x-y coordinates of blocks and line bends, in an XML file, with an extension of .drw. The XML contains sufficient information to enable the diagram to be redrawn, but it also captures the relationships between processes and their connections, so it has enough information to generate the lists of connections used by FBP (or FBP-like) schedulers.
As you might expect, generated networks do not normally capture the x-y coordinates of blocks - with the exception of NoFlo, which does.
DrawFBP now provides a font chooser function, which displays all available fonts on the user's machine, showing sample text and indicating which fonts support Chinese characters (component names can use any Unicode characters, including Chinese). DrawFBP maintains a user profile, which will retain, among other things, the names of the selected fonts (one for fixed format text, and one for variable).
DrawFBP supports stepwise decomposition by allowing the designer to
associate either a code component, or a lower-level subnet, with a
block on the diagram. If a subnet is specified, the higher level block
is shown with a doubled outline. Double-clicking on a block will bring
up the component code in a separate window in the former case, or the
subnet diagram in the latter.
A facility has been included to drag the head or tail of an arrow,
and to drag, or add, bends in the arrow. This function was requested by
Professor Ernesto Compatangelo of Aberdeen University, Scotland.
A number of earlier usability ideas, in particular the splash panel, are due to Oliver Brupbacher, of NumCom in Zurich, Switzerland. Thanks, Oliver!
To install this tool, extract the included jar files for DrawFBP and
jhall.jar from DrawFBPInstaller-2.8.zip.
The latter must be
copied into the Java Runtime Environment extension library folder.
Windows : The directory should be "C:\Program Files\Java\jreX.X.X\lib\ext".
"X.X.X" is the version number. For example, "C:\Program Files\Java\jre1.5.0\lib\ext"
is the latest version java runtime environment.
Unix/Linux: The directory should be "j2sdk1.5/jre/lib/ext".
Mac OS X: The directory should be "/Library/Java/Extensions".
Copy file "jhall.jar" to the Java extension library directory/folder. You may need to acquire administrator privileges for this. If you don't know what this means then ask the person who set up your computer.
Note: Under Windows and Unix/Linux you can search for the directory "ext" on the hard disk and copy "jhall.jar" to all such directories. This will include some redundancy but should not cause any harm.
Thanks to emouseatlas.org for this information!
You can also associate DrawFBP with the .drw extension in Windows, using something like the following:
"C:\Program Files\Java\jdk1.6.0\bin\java.exe" -jar "C:\Documents and Settings\HP_Administrator\My Documents\Business\DrawFBP\DrawFBP-2.8.7.jar" "%1"
You could describe the .drw extension as "DrawFBP file" in your Tools/Folder Options.
You will need to add the JavaFBP jar file, obtainable from the FBP web site or from SourceForge, to the Java Build Path of any projects you create.
FBP main web site.