January 17, 2021
Hot Topics:

Addressing Problems with Model Driven Architecture

  • By Michel Brassard, Mario Cardinal
  • Send Email »
  • More Articles »
  • UML model implementation: While there are several benefits to object-oriented programming and UML, these advances do not by themselves eliminate the time-consuming and error-prone tasks of manually mapping a UML model to platform-specific code. Developers may still spend considerable time during the coding phase performing numerous nearly repetitive manual operations. Architects cannot enforce the architecture in platform-specific code unless code reviews are done. Even code reviews are time-consuming and usually can only cover a very small portion of the code.
  • What is the Model Driven Architecture (MDA)?

    The Model Driven Architecture (MDA) initiative from the Object Management Group seeks to create a specification to protect the UML investments made during business domain modeling and to provide adequate agility to encompass the challenges facing implementation of a UML domain model over a software infrastructure. As shown in Figure 1, this goal is accomplished by differentiating between the platform independent model (PIM) and platform-specific models (PSMs).

    Two-phase commit protocol

    Figure 1: OMG's Model Driven Architecture

    MDA defines an approach whereby you can separate the system functionality specification from its implementation on any specific technology platform. This way, you can have an architecture that will be language, vendor and middleware neutral. For creating MDA-based applications, the first step will be to create a Platform Independent Model (PIM), which you should express in UML.

    The PIM represents the logical view in which the composition and behavior of all components (but not their implementation) are fully specified. The PIM serves a function that is similar to that of a refined analysis model. Since the PIM, by definition, does not contain technology details, it is envisaged that the PIM will be mapped to one or more platform-specific models (PSMs). The PSM serves the function of a refined physical model to target platforms such as Microsoft .NET (COM+), Enterprise JavaBeans (EJB) or the CORBA Component Model (CCM). The PSM represents the source code or its UML representation. There will be as many PSMs as there are different implementations of a given PIM.

    What are the benefits of MDA?

    The MDA approach offers a number of benefits:
    • Enhanced portability and interoperability between platforms;
    • Business models and technologies that evolve at their own pace;
    • Improved productivity for architects and programmers;
    • Lower cost of application development and management;
    • Reduced application time to market by allowing independent reuse of business domain code from platform specific code;
    • Lowered risk associated with technology and business requirements evolution.

    Who should adopt MDA?

    In the long term, because of MDA's benefits, every large enterprise will adopt MDA principles. However, early adopters will be organizations that have strong experience with UML modeling and large enterprises that are starting new projects. You do not start implementing MDA in the middle or at the end of a project. They will implement MDA at early stage for one of two reasons: either because they need to develop applications requiring portability and interoperability between different middleware platforms or because they need business domain code that is loosely coupled with platform specific code in order to gain the flexibility and agility to evolve business requirements independently from technology.

    Page 2 of 3

    This article was originally published on May 14, 2002

    Enterprise Development Update

    Don't miss an article. Subscribe to our newsletter below.

    Thanks for your registration, follow us on our social networks to keep up-to-date