Iniciar sesión |

MDA como la alternativa del OMG al MDD

Ago 10th, 2010 | By Editor | Category: Artículos destacados, MDD

El Object Management Group (OMG) se formó como una organización de estándares para ayudar a reducir la complejidad, bajar los costos y acelerar la implementación de nuevas aplicaciones. Una de las iniciativas planteadas en este sentido por el OMG es la arquitectura dirigida por modelos (Model Driven Architecture o MDA), que es un marco de trabajo de arquitecturas para desarrollo de software, con tres metas principales: portabilidad, interoperabilidad y reusabilidad.

Un aspecto fundamental de MDA es su habilidad para contemplar el ciclo completo de desarrollo, cubriendo análisis, diseño, programación, pruebas, despliegue y mantenimiento.

Puntos de vista del sistema

MDA especifica tres puntos de vista en un sistema: independiente de cómputo, independiente de plataforma y específico de plataforma.

  • El punto de vista independiente de cómputo se enfoca en el contexto y los requisitos del sistema, sin considerar su estructura o procesamiento.
  • El punto de vista independiente de plataforma se enfoca en las capacidades operacionales del sistema fuera del contexto de una plataforma específica, mostrando solo aquellas partes de la especificación completa que pueden ser abstraídas de la plataforma.
  • El punto de vista dependiente de plataforma agrega al punto de vista independiente los detalles relacionados con la plataforma específica.

Plataforma

Una plataforma es un conjunto de subsistemas y tecnologías que proveen un conjunto coherente de funcionalidad por medio de interfaces y patrones de uso. Los clientes de una plataforma hacen uso de ella sin importarles los detalles de implementación. Estas plataformas pueden ser sistemas operativos, lenguajes de programación, bases de datos, interfaces de usuario, soluciones de middleware, etc.

Independencia de Plataforma

Cualidad que un modelo puede exhibir cuando es expresado independientemente de las características de otra plataforma. Independencia es un indicador relativo que mide el grado de abstracción que separa una plataforma de otra.

Modelo de Plataforma

Describe un conjunto de conceptos técnicos de una plataforma, representando sus elementos y los servicios que provee. También especifica las restricciones en el uso de estos elementos y servicios por otras partes del sistema.

Transformación de Modelos

Proceso de convertir un modelo a otro dentro del mismo sistema. Una transformación combina el modelo independiente de plataforma con una definición de otra plataforma, para producir un modelo específico a una plataforma.

Modelos MDA

MDA especifica tres modelos básicos de un sistema, correspondientes a los puntos de vista expresados anteriormente. Estos modelos pueden verse como niveles de abstracción donde en cada nivel pueden construirse varios modelos correspondientes a un punto de vista del sistema, como interfaz de usuario, información, ingeniería, arquitectura, etc.

1. Modelo Independiente de Cómputo. Al modelo independiente de cómputo (Computation Independent Model o CIM) se le conoce como el modelo del dominio o del negocio, por que se modela en términos familiares a los expertos del negocio, representa exactamente lo que se espera del sistema, sin contemplar toda la información relacionada con la tecnología con el objetivo de mantenerse independiente de cómo será implementado el sistema. Este modelo salva el abismo existente entre los expertos del negocio y los responsables de las tecnologías de información. En una especificación MDA el modelo CIM debe ser rastreable a las construcciones que lo implementan ya sean independientes o específicas a una plataforma.

2. Modelo Independiente de Plataforma. El modelo independiente de plataforma (Platform Independent Model o PIM) exhibe un grado de independencia tal que permite mapearlo a una o varias plataformas, Esto se logra definiendo una serie de servicios abstrayéndolos de los detalles técnicos para que otros modelos especifiquen como será la implementación.

3. Modelo Específico de Plataforma. El modelo específico de plataforma combina la especificación de un PIM con los detalles para indicar como el sistema usa una plataforma en particular.

El Proceso MDA

Un sistema complejo puede incluir varios modelos relacionados entre sí, organizados a través de varios niveles de abstracción, con mapeos definidos de un conjunto de modelos hacia otro y que pueden incluir:

  • Un CIM que contenga todas las reglas del negocio definidas en el modelo del proceso de negocio
  • Un PIM que defina el modelo conceptual completo con todas sus relaciones
  • Uno o varios PSM para generar componentes de ejecución y pruebas del sistema

La idea básica de MDA, más allá de los modelos CIM/PIM/PSM es utilizar los dos conceptos clave: Modelo y Transformación. El patrón general es el siguiente:

Sin importar cuál es la plataforma destino, el primer paso para construir una aplicación basada en MDA es construir un modelo conceptual (PIM) expresado en UML, el cual será transformado en varios PSM.

Si tenemos el siguiente modelo conceptual

Podemos hacer las siguientes transformaciones a modelos específicos de plataforma

Cada transformación del PIM en un PSM se puede generar automáticamente con los siguientes resultados.

Modelo de Datos


( Click para ampliar )

Este modelo de datos puede generar los scripts para la BD.

Y también contamos con los siguientes diagramas específicos a una plataforma, que se generaron automáticamente

( Click para ampliar )

Estas transformaciones de un PIM en varios PSM pueden realizarse las veces que se requiera, si se necesita cambiar el modelo conceptual se pueden regenerar los PSM automáticamente. Hay varias herramientas que pueden realizar estas transformaciones, en el sitio web de MDA (www.omg.org/mda) se puede encontrar una lista de las que ya están disponibles.

Pensando en la Transición

Moverse de un enfoque tradicional de desarrollo de software a uno dirigido por modelos no es sencillo, requiere de un proyecto formal con planeación, patrocinadores y recursos, el esfuerzo es importante, pero las ventajas son muchísimas.

La promesa de la arquitectura dirigida por modelos es facilitar la creación de modelos y transformaciones automáticas, buscando flexibilidad a largo plazo en términos de:

  • Obsolescencia tecnológica: Nueva infraestructura puede ser incorporada y soportada fácilmente por los diseños existentes.
  • Portabilidad: Funcionalidad existente se puede migrar a nuevos ambientes y plataformas
  • Productividad: La generación automática de los PSM acelera el desarrollo
  • Integración: Los puentes de integración entre sistemas pueden realizarse usando modelos y transformaciones.
  • Calidad: Existen modelos ejecutables de UML, con los cuales los modelos pueden probarse antes de la implementación. Lockheed Martin Aeronautics realizó este tipo de pruebas con el software de misión del F16.

Un comentario en “MDA como la alternativa del OMG al MDD”

  1. Victor Hugo dice:

    Está entrando a México? que perspectivas u oportunidades en la industria hay?
    ya tienen el curso?
    que requisitos hay?
    favor de enviar información, cuando me han hablado me dicen que me enviarán info de lo que he solicitado pero no me ha llegado nada.
    salu2!
    Víctor Hugo

Deje un comentario