• No se han encontrado resultados

modelo comparativo de herramientas mda en ambientes de

N/A
N/A
Protected

Academic year: 2023

Share "modelo comparativo de herramientas mda en ambientes de"

Copied!
145
0
0

Texto completo

El ingeniero Daniel Arenas, director de la Maestría en Software Libre y mi maestro durante muchos años. El documento finaliza con las conclusiones del proyecto, los resultados alcanzados y los elementos generados para compartirlos con la comunidad de software libre y los responsables de la construcción, gestión y propuesta de herramientas MDA.

MARCO TEÓRICO

ARQUITECTURA DIRIGIDA POR MODELOS (MDA)

  • Modelos MDA. Para el desarrollo adecuado de los teoremas planteados por el MDA, éste se sustenta de 3 modelos que corresponden a los puntos de
  • Transformaciones de modelos. La transformación juega un papel importante en un proceso de MDA, esta consiste en convertir un artefacto dado en

No se puede ignorar de esta lista los “MDA viewpoints”, o como se le conoce bajo su notación en inglés (MDA viewpoint) que se lista como: Independiente de computadora, independiente de plataforma y específico de plataforma; El primero de ellos se centra en los requisitos sin involucrarse en la estructura u otros elementos de procesamiento. Presenta lo que se espera que haga el sistema, pero oculta aspectos tecnológicos para independizarlo de su posterior implementación.

MDA Y LA INGENIERÍA DE SOFTWARE

  • Promesas MDA. Al trabajar con MDA se asumen diferentes expectativas, algunas de ellas no ajustadas a los verdaderos alcances que una propuesta como
    • Portabilidad. Como se mencionará en párrafos posteriores MDA apuesta a llevar los modelos producidos a diversas plataformas solo dependientes de las
    • Retorno de la inversión. La empresa encontrará un verdadero retorno de su inversión en las herramientas MDA al recibir los productos que con estas se
    • Mantenimiento. Debido al detalle de las descripciones dadas en el modelo PIM se facilita su mantenimiento y estructuración, puesto la documentación se
  • Relaciones con otros modelos. En este punto es importante dar claridad a las principales confusiones que se presentan al hablar del MDA y modelos que
  • Estándares involucrados en el MDA. Para llevar a cabo los conceptos propuestos por el MDA es necesario implementar una serie de estándares
  • Naturaleza. En las primeras generaciones del software las herramientas que acompañaron a los desarrolladores fueron editores y procesadores de texto, las
    • Clasificación de jean-marc jezequel. Otra forma de clasificar las herramientas está dada por las técnicas de transformación de los modelos que
    • Clasificación de czarnecki y helsen. Esta clasificación se fundamenta en el enfoque empleado de transformación de los modelos, estableciendo dos
  • Modelos involucrados. Como se evidencia en la clasificación de naveed y naeem, todas las herramientas MDA comerciales o libres no presentan el soporte
  • Evaluación de herramienta. Toda herramienta debe ser evaluada para verificar que cumple con los requerimientos para la cual fue concebida; las

Dentro de MDA, se utiliza para construir modelos y definir sus transformaciones. Uso de estándares: especifica qué estándares utiliza la herramienta para gestionar modelos.

PAPEL DEL SOFTWARE LIBRE SOBRE EL MDA

  • Entornos libres y MDA. Con la popularidad de arquitecturas abiertas y el terreno ganado por el software libre, los desarrolladores de software orientan sus

La cobertura del estudio no cubre una gran cantidad de herramientas MDA, pero establece nuevas vías para determinar la agregación de las características de evaluación. Estos trabajos se complementan con investigaciones de México realizadas por el Centro Nacional de Investigación y Desarrollo Tecnológico43, donde se evalúa desde una perspectiva técnica el desarrollo de software utilizando herramientas MDA, enfocándose en las propiedades deseables específicas de estas herramientas.

DETERMINACIÓN DEL PROCESO COMPARATIVO

  • Establecimiento de requerimientos. Como su nombre lo indica esta etapa del proceso busca determinar y establecer los requerimientos de la evaluación,
  • Diseño de la evaluación y modelo. Se documenta los métodos y procedimientos a utilizar para las mediciones y verificaciones del procedimiento de
  • Ejecución de la evaluación. En esta etapa se efectúan todas las acciones para medir y verificar el producto, fundamentado en los requerimientos dados en la

Apoyar al solicitante en el análisis del objetivo de la evaluación y descripción de los requisitos con el evaluador. El resultado de este proceso es un documento con un análisis y revisión de los informes de evaluación.

Figura 3. Proceso comparativo
Figura 3. Proceso comparativo

EJECUCIÓN DEL PROCESO COMPARATIVO

  • Estableciendo requerimientos. En esta sección se realiza una especificación de los elementos que conforman los requerimientos dados para la
    • Proposición de los requerimientos. El requerimiento de la evaluación a realizar se establece bajo la premisa de encontrar las características repetibles y
    • Declaración del grado de cobertura de la evaluación. La evaluación se realizará sobre las herramientas MDA identificadas en un compendio exhaustivo
    • Soporte del solicitante en analizar el objetivo de la evaluación y describir los requerimientos con el evaluador. La necesidad del solicitante se
    • Explicación del grado de confianza y rigor de evaluación. La evaluación de carácter riguroso al presentar la identificación de la manera como
    • Acordar los requerimientos de evaluación. La evaluación debe evidenciar las características y la manera en que X herramienta contempla la
  • Especificando la evaluación. Las características presentadas a continuación fueron tomadas de los documentos, investigaciones y clasificaciones
  • Diseñando la evaluación y el modelo. Se documenta los métodos y procedimientos a utilizar para las mediciones y verificaciones del procedimiento de
  • Ejecución de la evaluación. Es el momento que se inicia la verificación de las herramientas y sus características para determinar por medio de la
    • Sucesos de evaluación. Durante la evaluación ocurren situaciones que se hacen necesario consignar o registrar, para lo cual se explico en capítulos
    • Diligenciamiento de momentos. Como soporte al proceso realizado se desarrollo un instrumento para el control del momento de identificación de las
  • Conclusiones de la evaluación. Es de suma importancia recalcar que se tomaron 5 herramientas MDA, se tomaron por su tipo de importancia en el

Se evalúa la capacidad de la herramienta para rastrear versiones de modelos procesados. En la parte inferior se presentan los elementos que conforman el plan de evaluación considerado para el estudio. Con los elementos de evaluación formados, es momento de disponer el procedimiento que se implementará durante la evaluación.

El principal instrumento que recoge estos tres momentos de la ejecución de la evaluación es el "Registro de Evaluación" que será complementado por el instrumento "Registro de Momentos" desarrollado para llevar y registrar la identificación de las características de las herramientas. Una vez instalada la herramienta, se puede comenzar la exploración de sus características para realizar la evaluación con las herramientas ya desarrolladas. La herramienta “registro de momentos” utiliza cuatro columnas para registrar la evaluación e identificación de las características a evaluar en un sistema.

A continuación se muestran los instrumentos de evaluación (explicados en las secciones anteriores) que se utilizaron para realizar las comparaciones.

Figura 4. Plan de Evaluación
Figura 4. Plan de Evaluación

VERIFICACIÓN DEL MODELO COMPARATIVO

  • Medio y momentos. El modelo desarrollado incluye la propuesta de un plan de evaluación que requiere el empleo de diversos medios de evaluación de las

El modelo desarrollado incluye propuestas de un plan de evaluación que requiere el uso de diferentes métodos de evaluación de las herramientas de apoyo al registro y cálculo de valores de las características consideradas en el estudio. El cálculo del valor otorgado a una característica no se busca desde una perspectiva individual, por el contrario, al utilizar los llamados momentos (mencionados en apartados anteriores), un evaluador está seguro de que una característica ha sido explorada y calculada utilizando al menos de dos maneras diferentes, ya sea explorando la documentación, la herramienta en sí o realizando un estudio de caso que la recorra durante todo su ciclo de vida. Si bien cada modelo desarrollado es único y las condiciones bajo las cuales fueron dados, creados y probados respondieron a situaciones específicas y bajo diferentes variables, es posible relacionar estudios previos que sustentan el modelo creado en esta propuesta.

En la bibliografía de este proyecto se puede encontrar una gran cantidad de estudios, ya que estos fueron la base para su construcción y brindaron una guía para determinar categorías de evaluación, estrategias de comparación y definir un proceso adaptado a los estándares del trabajo de ingeniería, haciéndolo medible, trazable y repetible. Para reforzar la validez del modelo comparativo, dentro de este mismo proyecto se probaron 5 herramientas MDA con filosofías abiertas, siguiendo todo el proceso, mencionando y registrando sus resultados a través de los instrumentos propuestos.

DIVULGACIÓN RESULTADOS MODELO COMPARATIVO

  • Estrategia de divulgación. Para efectuar la divulgación del estudio sobre las características deseadas en herramientas MDA, se establecieron una serie de

Identificación de comunidades de software libre: Esta actividad tiene como objetivo establecer contactos con comunidades de software libre, para acercarles los resultados del estudio realizado. Identificación de comunidades nacionales de software libre: Considerado por un nivel de participación de mayor impacto y basado en la identificación de grupos universitarios activos en torno a la comunidad de software libre. La tabla presentada en el Anexo F identifica las comunidades colombianas que se caracterizan por su interés y participación en proyectos e investigaciones de software libre.

Identificación de comunidades internacionales de software libre: Buscando un impacto a mayor escala en los resultados del trabajo del estudio. La tabla del Apéndice G muestra algunas comunidades internacionales de software libre donde se pueden promover y publicar los resultados de la investigación. Participar en eventos de software libre: Se realizan diversos encuentros de la comunidad de software libre en todo el mundo, que buscan promover su uso y difundir las investigaciones y resultados obtenidos por los mismos.

Para facilitar la identificación de eventos de software libre y MDA, el Apéndice H especifica una tabla que enumera una variedad de eventos, conferencias, talleres e iniciativas destinadas a comunicar los resultados del trabajo en estas áreas.

APORTE TÉCNICO A LA COMUNIDAD MDA DE SOFTWARE LIBRE

Así como existe un artículo que describe la experiencia de construcción de un modelo comparativo y un documento estructurado con el compendio de los elementos que componen un entorno MDA, este proyecto también logra establecer estrategias de participación en proyectos de software libre. y en los grupos responsables de implementar las herramientas MDA. El modelo comparativo desarrollado, más que un instrumento de evaluación de herramientas MDA, permitió identificar falencias en términos de participación y difusión de herramientas libres en la comunidad de desarrolladores, lo que se refleja en la baja participación de los usuarios en la construcción de estas herramientas y la reducido número de proyectos realizados con herramientas que se consideran alternativas viables al desarrollo. Las propuestas encaminadas a desarrollar herramientas libres en entornos MDA siguen creciendo, algunas han desaparecido por su bajo nivel de implementación en proyectos empresariales; La mejora de los medios de participación, el enriquecimiento de la documentación y el incremento de proyectos de investigación relacionados con la mejora de estas herramientas son estrategias que deben ser consideradas por los equipos promotores de iniciativas de desarrollo.

Model-driven architecture: European MDA workshops: foundations and applications, MDAfa 2003 and MDAfa 2004, Twente, Netherlands. The model-driven architecture approach was applied to the land management domain model version 1.1 - focusing on the constraints specified in the. The MDA magazine: model-driven architecture straight from the masters.1ra ed.: meghan kiffer pr.2004.

Ontologías de plataforma para la arquitectura basada en modelos. 2005), una caracterización de herramientas MDA de código abierto, en '8º Taller Iberoamericano de Ingeniería de Requisitos y Entornos de Software (ideas'05)'.

CATEGORIA

Verificación de modelos

Las herramientas MDA se utilizan, entre otras cosas, para producir modelos de diferentes arquitecturas y según diferentes estándares y estructuras. Estos modelos deben validarse para establecer el cumplimiento de las normas reglamentarias, siendo en la medida de lo posible automáticos y no supervisados. Un modelo construido según estándares internacionales debe ser validado para determinar si se ajusta a estas reglas, indicando claramente y con parámetros adecuados la ausencia de características o la conformidad y adaptación a las mismas.

Transformación de modelos

Generación de código fuente

En una aplicación real, adaptada a las condiciones de operación, es necesario contar con herramientas que permitan generar modelos orientados a interactuar con aplicaciones persistentes. Esta categoría intenta determinar las características del enfoque de este tipo de aplicaciones, evaluando en qué medida las herramientas MDA coinciden con las propuestas necesarias. La generación de código no se limita sólo a producirlo en diferentes idiomas; Se debe determinar la independencia entre las plataformas en las que se generan los códigos, ya que no se ejecutarán en una plataforma al iniciar aplicaciones. Soporte de Software Libre Existen varios tipos de herramientas MDA en el mercado, pero es necesario determinar cómo y de qué manera estas herramientas soportan plataformas basadas en software libre, y si el producto de sus construcciones es compatible con ellas.

Control de versiones

Documentación y soporte técnico

Proyectos realizados con esta herramienta y estudios comparativos Para establecer la herramienta de mayor practicidad y aplicabilidad en

H_15 rep++studio http://www.consyst-sql.com/a/WWW/Solutions/Studio.html H_16 Codegenie http://www.codegenie.se/eng/index.php?section=8. H_25 Edge UML http://www.mentor.com/products/esl/news/edgeuml H_26 metamtrix http://www.jboss.com/products/platforms/dataservices/. H_32 realmethods http://www.isw2.com/english/product/rM_MDA.htm H_33 metaboss http://www.metaboss.com/.

H_34 Modelador de objeteering http://www.objecteering.com/products_uml_modeler.php H_35 Sparxsystems http://www.sparxsystems.com/. El porcentaje de presencia de los 3 patrones más utilizados se determina en la compatibilidad de la herramienta evaluada. 52 GNU - La definición de software libre - http://www.gnu.org/philosophy/free-sw.es.html.

3 CULT

5 GALLO

6 GLUD

8 GLUDEC

9 GLUM

10 GLUNAD

11 GNUEVO

13 GSL-USC

16 LIUDECX

20 UNALIX

4 LIDSOL

Lista completa de grupos de usuarios de software libre en todo el mundo, que permite establecer estrategias de difusión más amplias.

10 CFSG

COM-SL (Comunidad

RCSL (Red

Sitio dedicado a incentivar el uso de software libre y amplio espacio para publicar noticias en este campo a nivel latino. Se trata de un encuentro celebrado este año en España que tiene como objetivo promover el intercambio de experiencias y la divulgación en materia de software libre. Evento realizado en México, con temáticas que van desde el desarrollo de software y seguridad informática hasta el diseño gráfico, todo enmarcado en el software libre.

Un evento internacional que se lleva a cabo en diferentes países y busca promover la última tecnología y permitir a. Una conferencia que busca definir los caminos a seguir en la ingeniería basada en modelos. Un evento internacional que busca recoger experiencia sobre trabajos realizados sobre MDA y otros elementos relacionados con la ingeniería de software.

Evento que reúne las experiencias de trabajo con componentes y su rol en la ingeniería de software.

Aporte a desarrolladores de herramientas MDA

Nombre herramienta: OpenMDX Captura del foro publico

Nombre herramienta: Jamda Efectuando aporte en foro publico

Nombre de la caja de herramientas: AndroMDA http://forum.andromda.org/index.php http://forum.andromda.org/index.php.

Figure

Figura 3. Proceso comparativo
Figura 4. Plan de Evaluación
Figura 5. Web de openMDX
Figura 6. Web de AndroMDA
+7

Referencias

Documento similar

Criterio de l´ımite en t´ erminos de sucesiones (un tema de An´ alisis Real)..