guage to make it attractive both for users and for tool designers. 1.6 Requirements on a Modelling Language for Systems Modelling 1.6.1 Semantic Distance The aphorism "a picture is worth a thousand words" is the basic idea behind mod- elling languages, i.e. the possibility to express designs graphically as much as pos- sible. However, just because a modelling language is graphical, does not necessarily make it a suitable modelling language. Languages differ in semantics (the concepts that are used) and in syntax (the terminology, symbols and grammar). Most graphical design languages differ from traditional, textual design languages primarily in presentation style, and not SO much in semantics. As an example, con- sider how the Unified Modelling Language (UML) describes object interfaces, compared to how the interface would be described in a textual language that is related to C++. The example in Fig. 1.16 describes the object interface Dog, which consists of the three operations, Bark, Sit and Growl. The textual specification is given in the Interface Description Language (IDL) taken from Orfali et al. (1996). interface Dog <<interface attribute integer age; Bark (how_long) void Bark (in short how _long) Sit (where) void Sit (in string where) Growl (at_whom) void Growl (in string at_whom) Fig. 1.16 An example of a small semantic distance Obviously, there is neither a semantic difference nor much of a difference in abstraction level between the two specifications in Fig. 1.16. The concepts are identical, and the only essential refinement from the graphical to the textual version is the addition of data types (integer, short, string). Although there might be some value for some designers to use the graphical version, most experienced designers would have a hard time seeing why the use of the graphical version would improve their problem-solving ability, their productivity and the quality of their products. Probably the most important property of a modelling language is not that it is graphical, but that the semanti