DrawFBP Diagramming Tool


Over the last several years, an FBP diagram drawing tool, written in Java, has been evolving.  It can be obtained by clicking here: DrawFBP 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?!

DrawFBP can also be downloaded and executed immediately by clicking on JWS version of DrawFBP (*), or downloaded as a jar file .

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 the DrawFBP Installer zip file. However, you only need to do this once - DrawFBP will prompt you to choose where to store it, the first time 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 major changes.

* 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.



Link to the FBP main web page:

FBP main web site.