By Peter Bell

First Article Published in InfoQ

w00t I have just had my first article published in InfoQ :-)

It's on Domain Specific Language Evolution.

Transformation Based MetaModeling (what to do when your DSLs change)

Generally the biggest issue with metamodeling is DSL evolution. You have a collection of DSLs that you use for building applications. However, you find an case where your DSL is not sufficiently expressive. Perhaps you have an attribute/property that really needs to be a class/element/concept with its own sub-properties. However, you already have lots of statements in the DSL, so what do you do? Generally there are three approaches . . .

[More]

Creating a Database Schema for DSM

We have a meta-metamodel and a sample metamodel. Let's start by creating some tables for storing them and then look at how we could generalize the generation of tables for each metamodel to contain model statements . . .

[More]

DSM/SPL: Getting Practical - A Sample Metamodel

So, I've decided to continue (at least for now) with a database for storing my meta models and models using a meta-metamodel based on a subset of ecore from the EMF project. The next step is to come up with some example metamodels to see what we'd need to do to implement them and to create a storage mechanism for both the metamodels and their associated models. So I'm going to start with a set of simplistic languages for generating web applications using a subset of what I currently have in SystemsForge . . .

[More]

DSM/SPL: Concrete Syntaxes for Model Reuse

There are lots of great tools for domain specific modeling - particularly the openArchitectureWare toolkit within Eclipse, MetaEdit+ and the rapidly improving DSL tools from Microsoft). There are also promising language workbenches from both a prominent ex Microsofter (I'll start linking to them again when they actually ship a public beta :-) ) and the MPS from JetBrains (the guys behind IntelliJ and Resharper) which was presented at Code Generation the other week in Cambridge.

However, when you start to look at support for re-use of models and model statements, none of the existing tools are designed out of the box to support efficient model reuse across projects. This posting will look at various concrete syntaxes for model storage and editing and their suitability for efficient model and model statement reuse . . .

[More]

DSM/SPL: What is a Model Statement?

I seem to have a worrying habit of making up my own terms. Whether it's the "Iterating Business Object" in the CFML world, "mixin injection" in LightWire or now "model statement" which seemed to confuse people who know a lot more about DSM and SPLs than I do (which suggests it's not a common term in the industry). So, I guess I need to explain my term as I'm yet to find a better word for it and it's a very important concept when you try to reuse models across a software product line . . .

[More]

Domain Specific Modeling: Choosing a Meta-metamodel

If you want to develop external Domain Specific Languages, one of the first choices you need to make - and understand - is what meta-metamodel you're going to use and how that's going to grow with your needs. Most people start developing external DSLs by choosing a concrete syntax and/or toolkit (database tables, XML, Xtext, MetaEdit+, Microsoft DSL Tools, etc.) and that isn't always the best approach . . .

(If you're not sure what I'm talking about when I mention meta-metamodels, you might want to look here. )

[More]

Models, Meta Models and Meta-Meta Models, oh My!

When you first start to get involved with Domain Specific Modeling, some of the terminology can get confusing (especially when it isn't used consistently). One of the areas that seems to confuse many people is the difference between models, meta-models and meta-meta models. This posting shows examples of each and at the same time works up a usable meta-meta model for simple code generation.

[More]

Webinar series on DSM

If you're interested in understanding more about the benefits of code generation, domain specific modeling and model driven development, JP Tolvanen from MetaCase is doing a webinar series starting on March 10th, 19th and 24th.

The first webinar will cover:

  • Why and how the productivity of software development can be improved
  • Industry experiences (EADS, Lucent, Nokia)
  • What analysts say (Bloor, Burton, Cutter, Gartner)
  • How to introduce Domain-Specific Modeling into an organization

JP is an excellent speaker and really knows what he is talking about. Check out the details here.

Domain Specific Modeling - Key Vendors (and last nights deck)

If you're interested in code generation and/or domain specific modeling, there are some vendors you really need to check out - if only to understand how comprehensive the tooling offerings are starting to become and what it takes to do DSM well.

This post lists some of the key DSM vendors together with a very quick summary of why you might want to check each one out . . .

[More]

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.005.