MDA, MDD, MDE

Jordi Cabot has an interesting Blog on Modeling Languages. In it (an on LinkedIn) there was a discussion recently on the difference or similitudes between MDA, MDD, and MDE. It’s interesting that Wikipedia treats the last two as the same thing – I like Jordi’s description better.

However, as I read Jordi’s blog posting, I found that his explanation certainly makes sense and is probably correct nowadays, in a more modern sense of the terms.

However, “MDD” has been used for quite a long time to describe model-based (as opposed to model-driven) development. That use of the term would not fit within the definitions presented by OMG as part of MDA (e.g., the CIM/PIM/PSM levels of abstractions and transformations). I suspect that this approach may also still be in use today – although probably not the best way of working with models. This may especially be true of some of the model uses seen in “agile” approaches.

So perhaps there is a need, in the diagram shown on that blog, to also have a model-based development (MBD?) circle that would intersect with MDD, but not the others?

All this also can not be discussed without mentioning the standards, processes, and methods (and the effect of tools on these) surrounding these approaches. Models need to have a standard representation to be useful – and the UML (and SysML) is certainly one that is common these days. However, other notations such as BPMN, ERD, etc., should not be discounted as they represent interesting domain specific modeling languages – and not all can be easily expressed using UML . Tools are too often viewed as a panacea to what ails software development – when they can be a hindrance when one does not understand the standards, processes, and methods they support.

Comments on “IBM And Microsoft Have Dueling Visions For Software Modeling”

According to InformationWeek, IBM And Microsoft Have Dueling Visions For Software Modeling. However, the article only compares Rational’s contribution to the modeling space and seems to completely ignore other Software Groups contribution. The Microsoft part talks about proprietary models that drive business execution directly. That is all fine, but there is no mention of WebSphere Business Modeler (WBM). In WBM, the organisation can be modeled and then code (BPEL) can be generated to drive WebSphere Process Server. Granted, there is a “code generation” step, but it is a lot closer to the Microsoft model than the comparison the article makes with the use of UML. IBM has a richness of environment to help our customers with their various needs – and this article seemed to only concentrate on a piece of our offerings.

And of course, the recent IBM announcement was in regards to the Complex Systems space and Olso is apparently geared towards IT. I wonder how Microsoft’s Oslo would fare in the development of complex systems?!?

Powered by ScribeFire.

Using Eclipse CDT with PurifyPlus

Having worked in real-time, multi-threaded applications, there are some tools that are just too good not to use as they provide a lot of very useful information. One of these tools is (of course) made by IBM Rational: PurifyPlus. I have always used it in make-driven toolchains (in the good ole days of C++) and it was fairly to configure. But now, there is an article on IBM developerWorks that describes how to do this from within Rational Systems Developer (and therefore, within the Eclipse CDT). If you need to look at memory usage, profiling, or coverage using the C++ on Eclipse platform (or RSD), this is an article to read. Note that the article deals with Linux, but it should work in the same way on other platforms.