visual parallel programming with XBL and SVG

Communicating Sequential Processes (CSP) is a programming paradigm that is well suited for visual presentation, quite similar to electronic circuitry design. So far this is not done in a very open way; you need (to buy) a special program to view the image, the images don't keep semantics, or editing cannot be done from the image itself.

XBL+SVG seemed like the obvious best fitting technology to build a more open system.

A custom XML format was designed containing both the obligatory technical information (the actual subject domain) and optional representational parameters. The first are for tools like code generators (eg. Java, or hardware), deadlock checkers, load-balancers. The second are to store the actual drawing parameters, so you are not stuck with the automatically generated image for a certain view. While working with the tool one might change what domain aspects to primarily focus on, and pick a certain view ('generated' by a certain XBL-'sheet') accordingly. Where CSP takes a “the world is parallel, model it accordingly” approach, in creating this IDE type of application it is tested how far a “everything is a DOM, Model-View-Controller”-approach can reach.