XFL Studio or Studio is the main element of FlowCoder IDE. It allows to quickly build a packet driven state machine for live testing of supported networking stacks.

Q: What network stacks/protocols are supported by FlowCoder today?
A: If you can decode the stack with WireEdit, it is supported by FlowCoder.

Studio includes a visual Flowchart editor, a step-by-step debugger with breakpoints, Execution Log, other debugging tools, Objects Browser with PDU templates.

Main Dialog

The elements of the dialog are:

  1. Menu Bar
  2. Toolbar
  3. Toolbox
  4. XFL Canvas
  5. Objects Browser
  6. Execution Log
  7. Data Watch
  8. Help









Toolbox allows to build a Flowchart with drag-and-drop operations. It includes tools for selecting, moving and connecting Blocks.

XFL Canvas

XFL Canvas is the pane in the center of the Studio window where a Flowchart is drawn. XFL Canvas may have multiple tabbed worksheets. All worksheets belong to the same Flowchart. A new XFL Canvas is created with the initial empty worksheet S1: Main. Additional worksheets can be added from a context menu of the existing worksheet tab or by selecting Edit >> Sheets command from the main menu. Flowchart fragments spread over multiple tabbed worksheets belong to the same Flowchart. State Blocks and Reference Blocks link them together.

Objects Browser

Objects Browser is a vertical pane at the right side of the Studio window. It provides a hierarchical view of all PDUs defined for supported protocol layers. The pane allows user to interactively navigate through the descriptions of the protocol fields, and look up the types, default values, constraints, etc.

One can Copy/Paste PDUs from Object Browser to XFL Canvas to create boiler-plate Send and Receive Blocks for the PDU.

Execution Log

Execution Log pane is a horizontal pane at the bottom of the Studio Window. It displays detailed real time debugging data.

See more on Execution Log…

Data Watch

Data Watch pane is a horizontal pane at the bottom of the Studio Window on the right of Output pane. During execution it displays current values of variables in real time.