Thursday, March 09, 2006

Definition: MDA tool (2006)

I just read the special on MDA tools in Software Development Magazine. Although it has as title "A special guide to MDA and UML tools", surprisingly some tools in there were neither, nor do their websites claim to be. After reading on, I came to the conclusion that we have to forgive the author for doing this: It seems rather difficult to determine what exactly is an MDA or UML tool these days.

I thought I'd try to give a definition of an MDA tool, based on the information, no doubt carefully prepared and provided by all vendors. Here we go:

MDA Tool: A tool that may, or may not, generate code, limited, or not limited, to just one single technology platform, from models. These models may be the "de-facto" standard UML or some proprietary derivative from this standard (in which case you still seem to be allowed to call it compliant). The model-to-code or model-to-model transformations may, or may not be completely proprietory, and may, or may not be customizable. Some tools already claim to support the "QVT standard" although according to the OMG (the standardizing organization) this is not a standard yet. Some also claim to support the "XMI standard" for model interchange between tools although each tool seems to support its own version of this standard, making model interchange impossible in practice. Also "MDA-compliant" are those tools that support tweaking UML via MOF, proprietary metamodels, standard profiles, non-standard profiles, standard OCL or non-standard OCL ("OCL-like" often is close enough), essentially these are thus standards for de-standardizing the standard OR proprietary means for standard de-standardization, after which you - naturally - may still claim standard-compliance.

Standards somethimes seem to make things difficult, don't they?

No comments: