Visual programming for the higher level architecture

I get the impression from things I've read on LtU that most visual programming dreams fall short of what we'd really need in a visual programming language to be the superest keenest. Still, maybe there's use in having the architecture in enforceable diagrammatic format? (not an automatic round-trip, but a top-down policy checking.) Your experiences with such approaches? Preferred approaches?

(I have nothing to do with this product and have never used it. Only pointing it out as a foil.)

The Structure101 graphical notation for software architecture diagrams uses an arrangement of cells to convey a number of architectural rules in a highly condensed format. By publishing diagrams to a Structure101 repository, they can be immediately communicated to the team via the Structure101 web application and/or the Structure101 IDE plugins, where the development team receive immediate errors or warnings if they create any new architecture violations. Finally, you can guarantee the ongoing integrity of your software architecture by using Structure101 Build to check your rules as part of your build process.

(there's an image of the gui)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.


I see they're treating architecture rules primarily as constraints on scope (and thus relationships between dependencies).

I like language-level solutions - expressing and enforcing architectural policy via abstract types (esp. monad and arrow transforms, for layering and embedding) and object capabilities. As far as visualization goes: I believe ocaps allow for effective visualization, and general type constraints could possibly help with structured visual development (use types to direct a context menu of options).