Search code examples
ruby-on-railsmodel-driven-developmentgraphical-programming

Are there visual/graphical MDD tools for Ruby on Rails?


This is going to be pretty vague, so I hope I done get banned for it.

I've been learning about various dynamic web tools such as ruby on rails that can require a huge number of referencing between files (master view controllers, assets etc). Typically, when designing a rails application, I now draw the whole thing out in inkscape so that I have a visual representation of how all the files are connected to one another.

It would be really useful if I could translate the simple workflow diagram into some skeletal code. For example dragging a red block onto the page would create a controller, dragging an arrow in a direction towards a named view would then create the def in the controller etc etc. It's just an idea, but I wondered as a result if there were any graphical tools I could manipulate in order to do this kind of task?

If such a tool doesn't exist I'm happy to try and code one up myself - any ideas for a starting point?


Solution

  • A quick web search for model-driven rails came up with a master thesis (pdf) comparing graphical model driven development (in a J2EE context) with Rails' textual model driven development approach. So one could assume that the usual way to develop a Ruby-on-Rails application is already considered model-driven, just that the used domain specific language is a textual (and ruby-based) one instead of a graphical one, and that this textual approach is deemed sufficient. This would make it unlikely for graphical modeling tools for Rails to exist.

    But another search result is the ModelDriven Rails Plugin which claims to be just such a tool. It doesn't use SVG images but UML diagrams.

    If you decide to actually come up with your own code generator, consider accepting UML input as well. UML is the standard for visual software modeling and much better suited than SVGs: SVGs are more about the look of the diagram than its semantics.

    One problem with UML is though, that I don't know of a single, universally accepted file format for exchanging UML. Almost each UML editor/modeling software seems to come with a file format of its own.