“Originally UML was intended to serve as a specification language. But a specification is primarily intended to describe properties of systems that the system developers want to be valid, but to leave open other properties that are not clear already. Today this is partly achieved by having a semantics that is rather vague (and here we mean imprecise as opposed to not detailed). However, this is not an advantage, as the developer cannot fix this kind of impreciseness within UML, but can adapt the individual interpretation only. Furthermore, to get complete (and therefore executable) UML descriptions, often certain details have to be specified, which the developer does not yet know or wants to leave open to a later phase of development or even implementation. It is an intrinsic problem of executable languages that this kind of over-specification frequently occurs. Instead it would be of some help to have flexible concepts of under-specification to postpone detail decisions to situations, where the decisions can and must be made.”

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.

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 "Originally UML was intended to serve as a specification language. But a specification is primarily intended to describe…" by Bernhard Rumpe?
Bernhard Rumpe photo
Bernhard Rumpe 8
German computer scientist 1967

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

“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 (1947) Computer scientist, software engineer

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?"

“What's really going on is that Executable UML is a concurrent specification language.”

Stephen J. Mellor (1952) British computer scientist

Source: MDA Distilled. Principles of Model-Driven Architecture, 2003, p. 96.

“Let us begin by observing that the word "system" is almost never used by itself; it is generally accompanied by an adjective or other modifier: physical system; biological system; social system; economic system; axiom system; religious system; and even "general" system. This usage suggests that, when confronted by a system of any kind, certain of its properties are to be subsumed under the adjective, and other properties are subsumed under the "system," while still others may depend essentially on both. The adjective describes what is special or particular; i. e., it refers to the specific "thinghood" of the system; the "system" describes those properties which are independent of this specific "thinghood."
This observation immediately suggests a close parallel between the concept of a system and the development of the mathematical concept of a set. Given any specific aggregate of things; e. g., five oranges, three sticks, five fingers, there are some properties of the aggregate which depend on the specific nature of the things of which the aggregate is composed. There are others which are totally independent of this and depend only on the "set-ness" of the aggregate. The most prominent of these is what we can call the cardinality of the aggregate…
It should now be clear that system hood is related to thinghood in much the same way as set-ness is related to thinghood. Likewise, what we generally call system properties are related to systemhood in the same way as cardinality is related to set-ness. But systemhood is different from both set-ness and from thinghood; it is an independent category.”

Robert Rosen (1934–1998) American theoretical biologist

Source: "Some comments on systems and system theory," (1986), p. 1-2 as quoted in George Klir (2001) Facets of Systems Science, p. 4

Herbert A. Simon photo

Related topics