Model-Driven Design Using REA

I attended Pavel Hruby’s tutorial on model-driven design using REA (Resource-Event-Agent) today at JAOO 2006. I left after the first break, not my cup of tea, I guess.

Why did I leave? Well essentially, although Mr. Hruby seems to have done a fabulous job of modeling and extending the REA and while it may prove of significant value as an analysis pattern, as the basis for a DSL, I think it’s a complete waste of time. I have very little patience for meta meta models, particularly when you propose to strap Domain Specific Languages on top of them.

So what is REA?

REA was originally intended as a basis for accounting information systems by W.E. McCarthy (1982) and focused on representing increases and decreases of value in an organisation. The presenter has extended REA to form a foundation for domain specific languages and other enterprise information systems architecture tools (

But really, what is REA? It’s really a model of economics. As far as I’m concerned, economics is itself a model used to explain commercial and sometimes other human interactions. So, let’s see, suppose I were to create a Domain Specific Language based on REA. The code generated from the REA would be a model based on a meta model(the DSL), based on a meta meta model (the extended REA), based on a meta meta meta model (Economics), based on reality. Gee that’s only 4 degrees or is it 5 degrees of seperation from reality.

On the positive side, Cesar and I got a solid 4 hours to experiment with DDD techniques on our favourite business process project. Now that was time well spent.

It's only fair to share...
Share on Facebook
Tweet about this on Twitter
Share on LinkedIn

Leave a Reply