Langugage Workbenches are becoming increasing popular. There was even a competition focused on comparing the different products in that category.Pedro Molina just released the public beta version of his new Language Workbench, Essential.
Essential is a meta-modeling and code generation tool providing specific DSLs to define and consume
- Metamodels Models
- Templates
- Model-to-Text transformations
- Model-to-Model transformations
One of the key differences, when compared to other tools like Eclipse Xtext, is that Essential focuses on model interpretation which means that prototyping a code generation can be done in an agile way without the need of generating any infrastructure boilerplate or meta-editor plumbling accessories. By Contrast Xtest requires that for any change in the model, a new version of the model parser be generated, which is at the core of the transformation engine.
Pedro sees several benefits to this approach:
- Prototyping software directly from models without a significant overhead
- Evolving software architectures quickly which in turn enables experimenting with different designs
- Benchmarking and comparing architectures
- Generating code
Our industry is evolving at an incredible pace, with new architetures, architectures components, SDKs appearing almost daily, and the variety of devices on which solutions need to operate, the switch to a modeling approach to software development (MDSD), and metaprogramming in particular, could become more compelling. What do you think?