DrawFBP is a picture-drawing tool that allows multi-level diagrams to be drawn using a number of different element types, and supports the technology and methodology known as Flow-Based Programming (FBP). DrawFBP captures the x-y coordinates of the processes entered, as well as those of bends in the connecting lines, while preserving the connectivity of the various objects in the diagram. DrawFBP supports limited "rubber-banding": as blocks are dragged, the line segments immediately attached to the blocks will adjust their length and/or angle as needed.
DrawFBP also supports "stepwise decomposition" by supporting subnets - blocks in the diagram which can be clicked on to expand into lower level diagrams. An element type called External Port (Output or Input) is used to manage the connections between a lower-level subnet and the diagram that uses it. Initially a process in the diagram will be of undefined type, but can be changed to reference either a Java process or a subnet, by using the "Select Component/Subnet Class" and/or the "Link to Subnet Diagram" functions in the popup for that element.
Since connectivity information is preserved when a DrawFBP diagram is stored, a JavaFBP, C#FBP or NoFlo network can be generated directly from the diagram. For information about JavaFBP, see the FBP web site - JavaFBP section. For information about C#FBP, see the FBP web site - C#FBP section. For information about NoFlo, see the NoFlo web site.
DrawFBP supports the JavaFBP and C#FBP parametrization facility, called Initial Information Packets (Initial IPs, or IIPs). It also supports several element types, apart from Processes, IIPs and External Ports: Files, Reports, Legends, Persons, and Enclosures, allowing a more visual style of charting. These block types do not represent actual FBP processes, and do not generate any code, but help with visualization. Whichever diagram symbol type is selected at the bottom of the screen, in the Block options bar, will be painted on your drawing area where you clicked. DrawFBP will remember the diagram symbol type you selected - there are 11 possible symbols - plus "none". It can be changed at any time during diagram construction.
Since DrawFBP does not specify the implementation of the design, i.e. "what" not "how", it can be used at different levels, e.g. to describe the flow of documents between departments.
Legends are useful as they do not have borders, so can be used to add comments to a diagram; Enclosures can be used to drag parts of the diagram, rather than the whole diagram ("panning"), or to carve out a piece of the diagram and convert it to a subnet ("excise").
Diagrams are held as XML files, so they can easily be exported to other systems or environments.
The extension of these XML files is .drw. If you save a
diagram without specifying the extension, .drw will be automatically added.