One question I get on occasion is: “nice model… how do I use it?”

It’s an interesting question because, for the most part, someone asking me this question is probably not familiar with what a metamodel actually is.  That’s fair, but if that applies to you, the following explanation may be both enlightening and frustrating.

A metamodel is a model that guides the creation of models.  How’s that for recursion!  In other words, if you create a model of your enterprise, that’s great.  But if you create 50 models of various aspects of your enterprise, it is possible (likely) that you will create relationships in one model that don’t make sense in another.  You need rules.  Some way to make sure that your models all work together.  You need a metamodel.

The Enterprise Business Motivation Model is one such metamodel.  It is far from the only one.  In fact, it was based on about a half dozen other well known models.  The concepts in the EBMM are not novel.  (The metamodel would not be useful if I invented a whole new field of discourse… because no one would know how to use it).

What’s the down side of using the EBMM as your metamodel?  Tool support.  Unless you have built the EBMM into your toolset, it can be difficult to use the EBMM as your metamodel.  That is because humans are frail and have small memories.  We don’t remember all the different relationships that CAN be created, nor do we recall the ones that we SHOULD NOT create.  We need our modeling tools to remind us.

At this time, since this is an open source, all volunteer effort, I don’t have a list of tools that support the EBMM, although there are rumors of a configuration of Sparx EA that constrains your models to be compliant.  To my readers, if you have found a tool configuration that supports the EBMM or a view on the EBMM, please let me know using the contact page.  I’ll check it out and put a link here.