“I know that I disagree with many other UML experts, but there is no magic about UML. If you can generate code from a model, then it is programming language. And UML is not a well-designed programming language.
The most important reason is that it lacks a well-defined point of view, partly by intent and partly because of the tyranny of the OMG standardization process that tries to provide everything to everybody. It doesn't have a well-defined underlying set of assumptions about memory, storage, concurrency, or almost anything else. How can you program in such a language?
The fact is that UML and other modelling language are not meant to be executable. The point of models is that they are imprecise and ambiguous. This drove many theoreticians crazy so they tried to make UML "precise", but models are imprecise for a reason: we leave out things that have a small effect so we can concentrate on the things that have big or global effects. That's how it works in physics models: you model the big effect (such as the gravitation from the sun) and then you treat the smaller effects as perturbation to the basic model (such as the effects of the planets on each other). If you tried to solve the entire set of equations directly in full detail, you couldn't do anything.”

James Rumbaugh in Federico Biancuzzi and Shane Warden eds. (2009) Masterminds of Programming. p. 339; cited in " Quote by James Rumbaugh http://www.ptidej.net/course/cse3009/winter13/resources/james" on ptidej.net. Last updated 2013-04-09 by guehene; Rumbaugh is responding to the question: "What do you think of using UML to generate implementation code?"

Adopted from Wikiquote. Last update June 3, 2021. History

Help us to complete the source, original and additional information

Do you have more details about the quote "I know that I disagree with many other UML experts, but there is no magic about UML. If you can generate code from a mo…" by James Rumbaugh?
James Rumbaugh photo
James Rumbaugh 5
Computer scientist, software engineer 1947

Related quotes

“Today some evidence arises that UML will more and more be used not as a specification language but as a high level programming language. This has some advantages, as if the concepts of UML are executable, they can immediately be animated and tested, or the generated code even be used as implementation. Thus UML probably will have an implementation-oriented semantics describing this animation.”

Bernhard Rumpe (1967) German computer scientist

Bernhard Rumpe (1998) " A Note on Semantics (with an Emphasis on UML) http://sse-tubs.de/~rumpe/publications/papers/RUM98a/RUM98a.pdf." Proceedings of Second ECOOP Workshop on Precise Behavioral Semantics. 1998.

Grady Booch photo
Ivar Jacobson photo
Martin Fowler photo

“I assume that a precisely defined, verifiable, executable, and translatable UML is a Good Thing and leave it to others to make that case… In the summer of 1999, the UML has definitions for the semantics of its components. These definitions address the static structure of UML, but they do not define an execution semantics. They also address (none too precisely) the meaning of each component, but there are "semantic variation points" which allow a component to have several different meanings. Multiple views are defined, but there is no definition of how the views fit together to form a complete model. When alternate views conflict, there is no definition of how to resolve them. There are no defined semantics for actions…
To determine what requires formalization, the UML must distinguish clearly between essential, derived, auxiliary, and deployment views. An essential view models precisely and completely some portion of the behavior of a subject matter, while a derived view shows some projection of an essential view…
All we need now is to make the market aware that all this is possible, build tools around the standards defined by the core, executable UML, and make it so…”

Stephen J. Mellor (1952) British computer scientist

Mellor in Andy Evans et al. (1999) " Advanced methods and tools for a precise UML http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.115.2039&rep=rep1&type=pdf." UML’99—The Unified Modeling Language. Springer Berlin Heidelberg. p. 709-714.

Related topics