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
Back, Kiseldalens
Top Page