How robust is your modeling language?
This great post by Greg Wilson in the software carpentry site proposes a new metric for language designers: the Robustness of a language.
“I’d therefore like to throw out a challenge to programming language designers. Forget about parallelism or the esoteric corner cases of various type systems; instead, focus on robustness. How forgiving is your language? How well do programs written in it work when people make minor mistakes? Or to switch to industrial engineering terminology, what are your language’s tolerances? “
I think this robustness metric is also very relevant for modeling languages (quite obvious for textual languages like OCL but also relevant for graphical notations). Note that this concept goes beyond the idea of allowing models that are not completely well-formed (i.e. models that do not satisfy all metamodel constraints maybe because of a mistake but maybe just because at that point of the development process the designer is not interested in specifying a complete and precise model).
If you liked this post, you should subscribe to the blog feed or facebook page and follow my thoughts on twitter about software development or web design and social media . Check also my book on model-driven engineering .
Be sociable, share!