A letter to the editor, published by

Application Development Trends (Sept, 2003).

Automate IT or lose IT...

Thanks for your MDA coverage (J.Ambrosio: Tools for the code generation, and What is in the standard?). I agree with the mainstream in both articles although I'd like to add a couple of details.

- Telelogic Gen2 is not just a codegen add-on for other modeling tools; on the contrary, it has its own (fancy) graphical UML2 modeller, probably the first one in the industry, launched already last year.

- As common today, the background points and industry opinions in "Tools for the code generation" are too UML1-biased, as are the key examples (XDE and TogetherSoft). Sure, in UML 1.x, completing and fine-tuning the generated code by hand was ubiquitous. The trend in the nearest future however, is rather towards eliminating this by combining UML 2 and the MDA. After all, we no longer do patches in hexadecimal code that has been generated by a compiler.


- As to the intelligence of code generators, the pressure is on. To meet this automation objective, their mapping logic has to become declarative (rules, constraints etc.), open, understandable, augmentable without programming, verifiable - and perhaps learning from examples that are tagged with a rating for "fit" or "correctness". Some skilled programmers thus become knowledge-base administrators and some become "UML programmers".

The desired fixes are to be done in the UML-model and in the generator logic “once and for all” instead of the code over and over. Again, there's some old analogy to compilers: extra add-ons, preprocessors, macros, copy-files, tables with forbidden constructs etc (instead of patching the compiled code). As Chris Kobryn pointed out in your interview, there's also some analogy to industries using CAD. IMO, this analogy can be stretched to intelligent add-ons as well. Knowledge based tools are a useful aid in validating complex drawings (in CAD), including very complex off-shore platforms. Several first-cut, smart tools are already available for similar tasks in software drawings (in UML).

- Your idea of contrasting early adopters/architects/forerunners to conservative "coders" is just as amusing as it is true. However, today's automation skeptics are strongly advised to check Sweden's (or Japan's) unemployment figures from the late 1980ies. In those days Sweden, Inc., relied on manufacturing. At the same time, the number of industrial robots per 1000 inhabitants was the world's highest. Unemployment: 1˝ percent ! Simply, if you allow most IT-jobs to become a repetitive, static, low-automation coding work instead, the same thing will happen as with manual labor - the jobs move away, to developing countries.



Milan Kratochvil



Back, Kiseldalens Top Page