Intentional Domain Workbench: First Impressions
Over the last two weeks I had the chance to work with
Intentional's Domain Workbench. You have probably heard about it: They are building a very innovative tool for building DSLs and to capture business knowledge. Last week I played with the tool myself and started writing a tutorial. This week I joined Intentional folks at one of their initial customers, namely
Capgemini NLwho use the Intentional Domain Workbench to build tools in the pension fund management domain.
While I cannot disclose too many details about the tool, I really think it opens up a new level of DSL development. Traditionally, many (not all, of course!) model-driven approaches have aimed at capturing technical, or architectural information as models and then generating "infrastructure code", implementing the business logic manually (unless it could be express using some formalism, such as state machines or rules). This is certainly extremely useful and does have a significant effect on productivity and quality - I and many others have experienced that in many instances. However, the real benefit of MDSD arguably is to capture "uncluttered" business knowledge, the essence of a domain (not unlike what
Eric Evans calls "tackling the complexity at the heart of software".)
In my view, the Intentional Domain Workbench really puts this goal in reach.
It is possible to engage business users to capture their business knowledge. This is mainly due to the way they use projections to render editors.
So, stay tuned to what they do, this is a really interesting tool.
If you want to know more about how the Workbench works, you can either look at their
OOPSLA paper or at or at the
slides of the talk I recently gave at the JAX conference.
Disclaimer: yes, I am working for Intentional as a contractor, so I might be biased. On the other hand, as with oAW[link], I would not invest time in a tool if I didn't think there was significant potential to it.