I had the chance to listen to Bran Selic giving the opening lecture at the SFM´12 summer school . Since some of the tweets I wrote during the talk became quite popular, I thought it would be interesting to recap all of them in this blog post. Of course, when reading them keep in mind these are just tweets, not a summary of his talk so try not to over-interpret them. Anyway, I´ll be more than happy to provide more background or discuss about them so please share your views!
- Executing a model in your head is not nearly as good as having the machine executing it for you
- Fragmentation problem: combining independently defined DSLs in a coherent whole
- small languages solve small problems
- I can give you 1000 examples of UML being bad but “uml is big” is not one of them. Too big for what?
- Designing a language is the easy part. Creating all the tools around it is the challenging one #SFM12
- success criteria for a lang: technical validity, expressiveness, simplicity, run-time efficiency, familiarity, infrastructure
- key modeling language design issues: scope, abstraction range, precision level, model type, model of computation, extension #SFM12
- Feature models are a clear example of badly designed concrete syntax #SFM12
- PIM vs PSM is a bad idea. Platform is a relative concept. Which platforms are you independent of?
- MDE is not about graphical vs textual syntaxes
- MDE is not a new paradigm shift #SFM12
- MDE is based on two proven ideas: abstraction and automation
- Wouldn’t be nice that code smells would actually smell? You´d hurry up to refactor!!
- Proof that round-trip engineering is an awful idea. How do you build a pig from its sausages? (attributes it to @kthoms)
- New generation of ML – formal lang. designed for modeling (both descriptive and prescriptive models)
- The worst UML book you can buy is “UML Distilled” (the criticism refers to the fact that the book only covers the syntax of UML)
- Modeling tools are awful, tool creators don’t have a good understanding of who the users of the tools are
- UML is the worst modeling language except for all the others
By the way, the (tutorial) papers written by the lecturers (including my OCL tutorial) are available in M. Bernardo, V. Cortellessa, and A. Pierantonio (Eds.): SFM 2012, LNCS 7320.
FNR Pearl Chair. Head of the Software Engineering RDI Unit at LIST. Affiliate Professor at University of Luxembourg. More about me.
By the eay, what UML book do you recommed? I thought UML distilled was ok.
Ricardo, the list of UML books I´ve read (and under which circumstances I recommend) are listed here: https://modeling-languages.com/list-uml-books/
I find the statement, “small languages solve small problems”, problematic. Raising abstraction reduces language size through greater expressiveness. Raising abstraction makes big problems easier to solve, so the statement should be, “smaller languages solve bigger problems”.
The seeming context of defending the size of UML makes my revision hold even truer, considering xtUML, which is a subset of UML, allows just as much, if not more, capability for tackling big problems as the whole of UML.
I think he is referring to the DSL vs GPL discussion meaning that he thinks that DSL may be useful but by definition they only apply to a small set of problems