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