History of modeling languages in one picture (by J-P. Tolvanen)

If you’re “young”, you may think the history of (general) modeling languages starts and ends with the Unified Modeling Language (UML) but there is nothing further from the truth.

UML itself is the merge of several object-oriented modeling languages (more due to economical pressures than purely technical ones but this is another story) and there are quite a few other languages that existed and continue to exist independently from UML. One of the best examples is the ER or EER (enhanced entity-relationship) language, still widely used to model database schemas (see also “The only thing I miss from the ER language“).

What I was not aware of was the existance of any summary that puts together all these languages and the dependencies / relationshps among them. Until now. In his recent keynote talk at Code Generation 2014: The business cases of modeling and generators, Juha-Pekka Tolvanen (the CEO of MetaCase) included one slide that did exactly this. Take a look at the history of modeling languages in one picture (click on it for a larger version)!

History of Modeling Languages

Feel free to let us know about any missing languages / dependencies or any other corrections you want to point out. I obviously recommend to take a look at the whole talk (abstract and slides below, the video will be also available at some point at InfoQ, I think).

Abstract of the talk

There is no business case for modelling and generators – only for a specific language and generator in a specific situation. The right language in the right situation can improve productivity by an order of magnitude; the wrong language will reduce it. So what makes a language “right”?

In this talk we look what kinds of modelling languages and generators tend to be more beneficial than others –from the early days of modelling right up to the latest research. Getting more out of the models than their original creation required, raising the level of abstraction and addressing a specific need seem to be common characteristics of successful modelling and code generation approaches.

To evaluate the full business case we also need to look at the costs and benefits of creating languages, generators and tools. By applying the above principles to language creation itself, we can improve the quality of the resulting modelling language, whilst lowering the time and effort needed to create and maintain it. Other features important to the language developer include enabling tools to support language evolution, and improving tool scalability to tackle larger systems and teams.

2 Responses to History of modeling languages in one picture (by J-P. Tolvanen)

  1. Hi
    I think you should be aware that a “new” MDE capability has been created proven with early adopters. See this research published last year http://www.igi-global.com/chapter/object-model-development-engineering/78620 let me if you want full copy. See this interesting “debate” http://bpm.com/my-bpm/forums/is-zero-code-the-future-of-bpm will give clue as to how and the challenge …….! Does not need UML. “Declarative” is simple and powerful once you recognise how business really works? It will challenge your current thinking but hope you rise to the challenge it is all about the customer and users not IT and vendors?….?

  2. I can’t find:
    OORAM ( Trygve Reenskaug, leading to the collaborations part of UML1.x).

    RDD ( Rebecca Wirfs-Brock).

    And we could highlight OCL’s mama: IBL (IBM’s Insurance Business Language), before it becomes an obscure myth.

    There’s also the whole MOF camp, nowhere to be seen – and no, yes, it’s relationship with the UML camp have been always funny, so it does not suffice to say “it’s part of UML”. They deserve their piece of real-state in the map.

    Same for the BOCA (Business Object Computing Architecture) of which there may be some material in the web – a MOF driven full modeling language and CORBA IDL abstract platform.

    And the EDOC, EAI and ebXML BPSS ancestors of BPDM, later merged into BPMN 2.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Powered by WordPress
More in modeling
Java logo
Executing OCL expressions on plain Java – How to do it?

Reading other people's models
I hate reading other people’s models (cartoon)

Interaction Flow Modeling Language (IFML) – Quick reference card