C# Tutorials and offshore development in India
    Tutorials   Resources   Forum   Reviews   Communities   Interview   Jobs   Projects   Training   Your Ad Here    
Silverlight Games | Mentor | Code Converter | Articles | Code Factory | Computer Jokes | Members | Peer Appraisal | IT Companies | Bookmarks | Polls | Revenue Sharing | Lobby | Gift Shop |


Prizes & Awards
My Profile



Active Members
TodayLast 7 Days more...






Resources » Articles » .NET Framework »

Model Driven Architecture (MDA)


Posted Date: 01 Oct 2004    Resource Type: Articles    Category: .NET Framework
Author: manoharanMember Level: Silver    
Rating: 1 out of 5Points: 7



MDA Introduction

MDA begins its work where standard UML designs leave off. It starts by specifying a platform-independent model (PIM) of the application. The PIM discusses architecturally important features without yet descending to the specific implementing technologies. For example, the PIM provides an abstract way of designing the use of: directory services, security, transactionality, and persistence, among others. Once such an implementation overview is penciled out, designers find it less difficult to establish the platform-specific details and technologies that optimally implement the design. Collectively, these details are gathered into the platform-specific model (or PSM). MDA proponents hope that eventually vertical industries will publish a set of established component libraries that are used to implement many of the PIM features on a variety of platforms. RosettaNet (for electronics parts) and the Open Travel Alliance (OTA), for example, would be vertical technology specifications relied on by PIMs and MDA.

As specified so far, MDA is based on three modeling technologies, all of which are themselves based on UML. These are:

The Meta-Object Facility (or MOF) which provides a standard repository for the PIM and helps identify how groups view the PIM, that is, the interfaces groups of users can have to it.
The Common Warehouse Metamodel (CWM) which, in the words of the OMG, "standardizes a basis for data modeling commonality within an enterprise, across databases and data stores. Building on a foundation metamodel, it adds metamodels for relational, record, and multidimensional data; transformations, OLAP, and data mining; and warehouse functions including process and operation. CWM maps to existing schemas, supporting automated schema generation and database loading. This makes it the basis for data mining and OLAP across the enterprise."
XML Metadata Interchange (XMI), which is a mapping that expresses UML-based models in XML. By so doing, XMI enables the UML documents to serve as the basis for other tools, such as code generators.

Benefits of MDA
One of the most important benefits that MDA approach provides is insulation from change. Focus of the development activity with this approach becomes the model and compared to development platforms/technologies modeling languages have undergone very little change.
There is clear seperation of business logic and plumbing and platform specific code. Any change in the platform will usually mean changes in the transformation engine and not the application itself.
Porting from one platform to another will generally involve applying a different transformation engine.
Transformation if automated can generate consistent and comparatively error free applications.
Development happens at much higher level of abstraction, which results in significant increase in productivity.
Any change in business logic requires modification in Platform Independent Model, which is usually generated by easy to use graphical modeling tools. These changes are much easier to do as compared to implementing code changes


Summary

Models have been used extensively in software development cycles, but its primary purpose has been documentation. MDA takes the model one step further by applying transformations to convert it into platform specific code.




Responses

Author: Venkatarajan Arthanari    01 Oct 2004Member Level: Silver   Points : 0
This is gave me a fine introduction to MDA which I'm unaware.
Thanks.

Venkatarajan
Lot to Learn,
Too Little Time


Feedbacks      
Popular Tags   What are tags ?   Search Tags  
Sign In to add tags.
(No tags found.)

Post Feedback


This is a strictly moderated forum. Only approved messages will appear in the site. Please use 'Spell Check' in Google toolbar before you submit.
You must Sign In to post a response.
Next Resource: OverView of Assemblies
Previous Resource: How to restrict a program to a single instance
Return to Discussion Resource Index
Post New Resource
Category: .NET Framework


Post resources and earn money!
 
Related Resources



dotNet Slackers

About Us    Contact Us    Privacy Policy    Terms Of Use