FlowSharpCode Gets DRAKON Shapes


I’ve added some select DRAKON shapes for creating flowcharts.  The Python code in the lower right editor is generated from the flowchart, and the output from the run is shown on the left.

PyLint is also now integrated into FlowSharpCode’s PythonCompilerService.  This really improves the development process as many syntactical errors are detected before even running the code.

Also, the code generator creates an execution tree which independent of the language syntax, which means that support for other languages is easily added.  Now granted, the code itself in each of the DRAKON shapes is Python code, but I have some ideas of how to make that code agnostic as well.

Adding Services to FlowSharp


I’ve been reworking FlowSharp into a “Service Oriented Architecture.”  As the above overview diagram illustrates, there are now three major service blocks:

  1. Docking services – The toolbar and property grid are now dockable, and canvases are treated as dockable documents, so you can have multiple documents in one application.
  2. The various controllers and functions of FlowSharp have been converted to services (see below)
  3. As a result, I’ve been able to add the “shapes as code” in the FlowSharpCode project that I wrote about earlier.  The beauty of this is, adding the FlowSharpCode services “simply” requires defining the services in modules.xml and the additional shapes in plugins.txt.

The architecture relies on The Clifton Method discussed previously.

Here’s a full blown gloriosky architecture diagram:


Find FlowSharp on GitHub!

At the time of this writing, there’s still a few critical bugs to update the Code Project article, but I hope to get them resolved soon!

V.A.P.O.R.ware – Visual Assisted Programming / Organizational Representation


Actually the name of the application is FlowSharpCode, but VAPORware sounds more fun!

Article here.


This is purely a concept piece.  It’s intended to either inspire or cause an eye rolling “what a crazy idea” reaction.  It is crazy, in my opinion, but in a sense it’s crazy because in my limited use cases so far, it works.  And because it’s so crazy, the majority of this article will not be written, it’ll be screenshots of the application in use. The problem with this approach is that it ends up sort of looking like a PowerPoint presentation, which is hard to avoid!