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.

(*) You may have to enable Java via the Java Control Panel.

(**) You will get a message saying "Unknown publisher" - I am afraid I cannot afford to get a verified certificate for distributing free apps. Maybe Verisign will ease up in the future!

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.

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!

Also Bob Corrick in the UK worked with me to improve the usability of the tool - especially for those who prefer to work with the keyboard only. Thanks for all your hard work, Bob!

There was a strange problem (Summer, 2013), where the Yes/No/Cancel options were coming out reversed for a Unix user in Russia, as DrawFBP at that time selected the Nimbus L&F for Unix users. The L&F has now been changed to System, for all users, and the sequence forced to left-to-right, irrespective of locale.
Any users who need right-to-left orientation, please contact me (paul dot morrison at rogers dot com).


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