Michael Sokol

Software engineer's take on programing languages and paradigms. Talks about my open-source projects.
~ Friday, July 1 ~
Permalink

A domain-specific language that generates graphical DSLs

Here it is. I am working on domain-specific language that creates graphical domain-specific languages. A sort of meta-meta-language, or something. I decided to call it Modelr. So here it is, I present you Modelr. Sort of.

The Modelr framework lets you prototype graphical models. It gives you a language (DSL) for specifying rules on your diagrams, and how it looks.

Typically, if you want to have diagram like this:

(Which I’m sure would be extremely useful to capture your business model! ;))

Then you need to specify the model of this model (the meta-model), like that:

 
  define_element :Square, 'square' do
  end

  define_element :Ellipse, 'ellipse' do
  end

  define_element :Triangle, 'triangle' do
  end
 

Execute it:

modelr your_meta_model_file.rb

And there goes the magic:

A fully-functional modeling tool where you can model the elements you specified. You can then distribute it by only handing over the meta-model file.

All the basic functionalities are built-in. It’s possible to save and load any diagram. The saving is in png+xml.

I’m a huge fan of model-driven architecture, so I’m working on the possibility to add an execution behavior to your models, but more on that on another post.

I’ll release the project under an open-source license when I’m happy enough with it, which will be soon.


1 note  ()
  1. samshull reblogged this from michael-sokol
  2. michael-sokol posted this