SE Radio 117: Bran Selic on UML

Recording Venue: Code Generation 2008
Guest(s): Bran Selic
Host(s): Laurence
In this episode we’re talking to Bran Selic of Malina Software about modelling in general and UML2 in particular. Bran covers the basics of modelling, the history of UML, and what’s new in UML2.

Show Notes


Join the discussion
  • I did not clearly understand the title of the book on foundations of meta-modelling (from the 1980s) Bran was referring to. Bran also mentions the book’s author, but searching for Doug Hofstetter on the Internet did not yield anything. Does anyone know the title of this book?


  • Dear Frank,

    I believe the book Bran is referring to is “Gödel, Escher, Bach: an Eternal Golden Braid” by Doug Hofstadter. This isn’t a meta-modelling book per se – but it outlines the underlying philosophical principles.


  • For me the use of UML class diagrams to specify languages is a bit strange idea. After having realized the need for domain-specific languages you apply a general purpose language to design them. I would argue that a much better choice would be using a language that actually supports language design and specification work. For instance, distinguish different languages, their composition and integration, naming rules, uniqueness etc. Now MOF (and class diagrams) don’t even have a concept of “language”.

    Bran mentions the need for books on how to design domain-specific modeling languages, covering both theory and experience side. One option is Domain-Specific Modeling, Wiley, 2008 (

  • As an aeronautical engineer who now writes code for a living I do wish people working in the software field would stop trying to equate blueprints and UML. They are not functionally equivalent. Blueprints are executables. They are run ‘on’, or by, skilled tradesmen who operate machine tools that process the raw materials into a finished product.


  • I believe that using MDA, xUML (Executable UML – UML Profile to be standardized) or DSLs created using MOF people are trying to get to the state when a model will be executable as you described using some tools.
    However in literature i found that “UML as a a blueprint” is more about having a good plan for the system to be developed. So maybe it will describe such an use of UML as a plan, at least in my opinion.

More from this show