next up previous
Next: 2.1.4 Strict distinction between Up: 2.1 A lack of Previous: 2.1.2 System/platform dependency

2.1.3 Excess requirement of language-specific knowledge

This chaos deeply affects the application of UML modelling tools. Most of them require an understanding of how the model is executed. In another word, suppose the tool is built in C++ and transforms the statechart into C++ before executing it or generating code, more or less the user must know how the statechart is transformed into C++ in order to write expressions in the guards or output correctly.

Even worse, these tools usually accept language-specific expressions, and place them unchanged in the final code. In the last example, guards can be written as C++ boolean expressions and output can be written as C++ method calls. The model is thus very modelling-tool-specific. There is hardly any chance for such a model to run correctly in another tool, knowing that different modelling tools often use different programming languages. Even if they use the same language, they place the above-mentioned expressions in different position of the code, and interpret them in different ways.



Thomas Feng 2003-04-18