MDD: Model Driven Development: What's in it for you?

Future Proofing is an expression that we have heard a lot about over the years; with the advent of MDA we may wonder if it has become a reality.

According to the web site of the Object Management Group™ (OMG™), Model Driven Architecture® (MDA®) is The Architecture of Choice for a Changing World™. It also boasts bottom line benefits such as reduced development times for new applications with improved quality and increased returns on technology investments.

The whole concept is wide ranging and very detailed, but an essential aspect is that we can build application models on today’s technology, confident that these same applications will be interoperable with the technologies of tomorrow. Just as at one time, ‘new’ compilers relieved us of the need to create our business applications in arcane machine or assembler code, today we can see that same concept of translation but using a UML model rather than source code. This obviously has an impact on our system integration strategies.

With OMG’s MDA, the business model is developed on a so called Platform Independent Model (PIM); this is similar to the business models developed by analysts but with addition of sufficient platform specific information to transform it into a Platform Specific Model (PSM).

Code is generated from the PSM; the generator also uses interface definitions to deliver code that can be run in distributed environments such as CORBA. The range of platforms will increase as more middleware mappings are defined. The advantage of this is approach is that models can be created once and then run on multiple platforms; as new platforms are developed in the future, the same business models can be used as the source from which to generate appropriate code.

Currently most business models will be created using the Unified Modelling Language™ (UML®) ; the extensions made to UML in version 2 facilitate its use in this context. Obviously, the model needs to be detailed and complete, and so a thorough knowledge of UML is required. The OMF supports UML certification which can allow UML practitioners to demonstrate proof of their knowledge.

As well as encouraging the development of UML skills, other skills are also desirable if we wish to take advantage of everything that MDA has to offer; one example is the ability to recognise and use patterns.

One exciting element of MDA is the specification of industry specific applications. The development of such specifications is encouraged by the fact that they do not need to be created for a specific, and possibly limiting, platform. They are of course developed as a PIM and then transformed to operate on the desired platform.

The words being associated with MDA are portability, product integration, application re-use, interoperability. These concepts go hand in hand with reductions in development cost and timescales. For the chief information officer there is the promise of direct support for their IT strategy decisions, a promise that if fulfilled could make their lives a lot more comfortable.

So, has the industry really achieved a means of ‘future proofing’ today’s systems related decisions?

You can read more about MDA on the OMG web site, www.omg.org.

Capiro offers training and consultancy in UML.