Although Model Driven Architecture (MDA) has architecture in its name, MDA is not at the same level of abstraction as Enterprise Architecture (EA), rather MDA is a software design methodology. MDA was developed by an industry consortium called Object Management Group (OMG) as a standard approach for modeling the functionality and behavior of distributed software systems, independent of the computer platform—operating system, programming language, and middleware—on which the software is eventually implemented. MDA is based on OMG’s Unified Modeling Language (UML), a diagramming notation for modeling parts of software and their interactions. Here's a figure illustrating the concept of MDA:
The primary output of MDA is a Platform Independent Model (PIM), which represents the software design using UML. The modular structure of the software as well as any computation logic can be modeled by using an extension of UML called executable UML. This platform independent model can then be converted to a Platform Specific Model (PSM) that’s also written in UML, but that expresses the dependence on the specific operating system, programming language, and middleware. The final step is to automatically generate the software’s code (for the target middleware environment) in a high-level programming language such as Java or C++. In short, MDA can go directly from the functional and behavioral specification of software to executable programs. If the hardware and software technology changes, the software can again be regenerated for the new hardware and software technology by starting with the PIM and going through the PSM to code. Thus, MDA is supposed to isolate the functional behavior of software from any changes in the underlying technology. At the OMG's website you can read more about MDA as well as check out the links to some MDA success stories. MDA is definitely a step in the right direction for software design and development, but it's not all automatic—someone still has to do the hard part of designing the PIM in the first place.
Tags: MDA mda UML uml model PIM PSM OMG executableuml softwaremodel EA
cool article
Posted by: architectural specifications typepad | October 28, 2009 at 12:15 PM