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.
|
| Author: Venkatarajan Arthanari 01 Oct 2004 | Member 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
|