PDF de programación - Generación Automática de Código basada en Modelos UML

Imágen de pdf Generación Automática de Código basada en Modelos UML

Generación Automática de Código basada en Modelos UMLgráfica de visualizaciones

Publicado el 23 de Agosto del 2018
233 visualizaciones desde el 23 de Agosto del 2018
647,3 KB
5 paginas
Creado hace 3a (21/10/2016)
Generación Automática de Código

basada en Modelos UML

Mercedes Picón M.

Universidad Nacional Abierta

Caracas, Venezuela
mpicon@una.edu.ve

Resumen— Se analizan los retos relacionados con la
selección y uso de métodos y herramientas para
automatizar
la generación de código con base en
diagramas UML, con el fin de proponer algunas prácticas
aplicables en proyectos de desarrollo de sistemas. Estos
proyectos se desarrollan con frecuencia bajo un enfoque de
ingeniería guiada por modelos y en plataformas que
incluyen un ambiente integrado de desarrollo. Muchas
herramientas ofrecen un apoyo considerable a
la
generación de código con base en modelos UML, sin
embargo, las referencias citadas reconocen que se trata de
una tecnología con limitaciones y esto debería tenerse
presente por su influencia en todas las fases de los
proyectos de desarrollo y en el mantenimiento de sistemas.

Palabras Clave—Generación automática de código;
código;

Diagramas UML; MDE; Generadores de
Codificación.

I. INTRODUCCIÓN

Los generadores de código basados en UML (GCM)
pueden producir código consistente mediante prácticas
estándar de programación; este código es más seguro y más
fácil de mantener que el creado en forma manual [1], [2]. La
presente investigación describe las principales características
de los GCM, su relación con las plataformas de desarrollo, los
diagramas UML que procesan, las dificultades y limitaciones
en su selección e implementación y, finalmente, ofrece
sugerencias para
los GCM adecuados e
implementarlos en el desarrollo de sistemas.

seleccionar

Se ha generado código completo y correcto basado en
diagramas UML y hoy los GCM incluso permiten la
ingeniería en reverso para obtener diagramas UML que
posteriormente pueden modificarse para generar código.
Existen sistemas de tiempo real y embebidos desarrollados
mediante GCM basados principalmente en diagramas de
estado que han logrado código correcto y completo para
componentes de comportamiento de alta complejidad [1], [2].
Sin embargo, no generan la totalidad del código para algunos
componentes de software [3] y se ha planteado que la
generación automática de código basada en modelos UML
(GACM) aún está poco desarrollada [3], [4]. Esto se tomó en



Carmen Zulay Maldonado
Universidad Nacional Abierta

Caracas, Venezuela

cmaldonado@una.edu.ve

cuenta al describir las prácticas que se sugieren más adelante
dentro del marco del Proceso Unificado (UP, siglas en inglés).

Las mencionadas prácticas resultan de una investigación
documental que abarca las siguientes categorías: a) artículos
académicos
e
implementados, b) documentación incluida en manuales de los
GCM
frecuentemente usados hoy y c) evaluaciones
presentadas en artículos y notas técnicas.

describen GCM

que

desarrollados

II. CONCEPTOS PRELIMINARES

La GACM es la producción de código fuente en lenguajes
de alto nivel, a través de GCM y modelos gráficos que
describen la estructura, el comportamiento o la arquitectura de
los sistemas [1]. Es parte del enfoque de la ingeniería guiada
por modelos (MDE, siglas en inglés), la cual se refiere al
desarrollo de software con base en modelos como artefactos
primarios, creados y actualizados desde la recopilación de
requerimientos hasta el mantenimiento [5].

UML es el lenguaje estándar en la industria para especificar,
visualizar, construir y documentar el diseño y la estructura de
sistemas de software. UML 2.0 define
trece tipos de
las categorías de estructura, de
diagramas dentro de
comportamiento y de interacción [6].

El OMG (Object Management Group) agrega que modelar
es un proceso esencial que asegura
la generación de
componentes completos y correctos, especialmente para
software complejo [7]. En 2001 el OMG presentó la
Arquitectura Guiada por Modelos (MDA, siglas en inglés)
como un enfoque para la MDE.

En el análisis de sistemas bajo el enfoque OO, se producen
los diagramas de casos de uso, clase, estado e interacción
(secuencia y de comunicación o de colaboración). Durante el
diseño, estos artefactos son incrementados hasta obtener un
formato utilizable por los programadores [8]. Los diagramas
pueden estar elaborados en exceso o en forma insuficiente. Al
refinar los diagramas UML durante el modelaje de análisis y
de diseño pueden omitirse atributos indispensables para
generar código y los diagramas tendrían que completarse para
ser procesados por los GCM. Esto puede ocurrir debido al
énfasis de los diagramas en la comunicación usuario-analista.



134Cuarta Conferencia Nacional de Computación, Informática y Sistemas / CoNCISa 2016 / ISBN: 978-980-7683-02-9 Colegio Universitario de Caracas, Caracas, Venezuela - 26 al 28 de octubre de 2016 III. GENERACIÓN AUTOMÁTICA DE CÓDIGO BASADA EN UML
Dado que el enfoque de desarrollo MDE impacta todo el
ciclo de vida de desarrollo de sistemas [5], es crucial una
selección acertada de los GCM. Las siguientes características
sirven como criterios en una selección de carácter preliminar
para desarrollar componentes de un sistema.

A. Características generales de los GCM

La Tabla I resume las características clave de GCM que
incluyen ArgoUML, Rational Rhapsody, StarUML, Altova
UModel, y Acceleo [9], [10], [11], [12], [13], entre otros.

TABLA I. CARACTERÍSTICAS A EVALUAR EN LOS GCM

Funcionalidad del GCM

- Generación de código a nivel de producción y pruebas en distintos
lenguajes: C, C++, Java, C#, Visual Basic, Perl, MOFM2T, Python,
PHP, entre otros.
- Procesamiento de diagramas UML para generar código. Unos GCM
procesan hasta 14 diagramas UML 2.4 [11]; otros no procesan
diagramas de objeto, paquetes, temporización, ni de entorno de
interacción.
- Versión de UML: 2.4, 2.1, 2, 1.3.
- “Round-trip” para crear y ajustar diagramas a partir del código.
- Generación de código para definir y manipular datos en DBMS
específicos.
- Enfoque de generación de código: estructural, de comportamiento o
de traducción [1], [14].
- Integración con verificadores de modelos como SPIN [1], [2].
- Capacidades de lenguajes de dominio específico (DSL, siglas en
inglés).
Compatibilidad con los ambientes de desarrollo y operaciones
- Plataforma Operativa: Linux, Mac OS X, MS Windows, MDA para
modelos independientes de plataforma.
- Formato de archivo para intercambio de información: OCL, XMI,
.uml (de StarUML).
- DBMS.
- Integración con ambientes y herramientas como son: Visual
SourceSafe, CVS, MS Word, Eclipse, Visual Studio.NET.
Otras características
- Proveedor: código abierto o comercial.
- Uso especializado o de propósito general.
- Continuidad de la herramienta y estabilidad de la versión.



Para generar código en el área de telecomunicaciones,
automotriz, de sistemas embebidos y de tiempo real, los GCM
para sistemas de propósito general pueden generar código
eficiente, seguro, con un nivel alto de tolerancia a fallas y que
cumpla estándares de interoperabilidad. Es el caso del código
que debe asegurar la ausencia de fallas en la telecomunicación
espacial [2].

Aunque el código generado tenga dependencias con ciertos
sistemas de bases de datos y sistemas operativos, varios GCM
generan código ejecutable sobre una variedad de plataformas
[5], incluyendo plataformas móviles. Existen GCM que
permiten generar código ajustado a un DBMS [11], [12].

Los métodos y herramientas GCM deben integrarse con las
plataformas de desarrollo y operacional del sistema a
desarrollar. Los GCM pueden ser componentes de ambientes
integrados de desarrollo (IDE, siglas en inglés) que siguen el
esquema de MDE. La Figura 1 muestra la relación entre los
componentes de una posible plataforma para la cual se

selecciona un GCM. Varios modeladores UML incluyen un
GCM [5], [10], [13].



Figura 1. Relación Modelador-GCM-DBMS-IDE



Algunos IDE tienen limitaciones para generar código
completo, particularmente el relacionado con
lógica
empresarial embebida automáticamente en el código fuente
[3]. Otros, permiten generar código integrable con las
instrucciones SQL necesarias. Debe analizarse la posible
redundancia de los GCM con los IDE y con la funcionalidad
del DBMS en la generación de reportes, inteligencia de
negocio, y capacidades de procesamiento analítico en línea
(OLAP, siglas en inglés).

la

B. Los diagramas UML como entrada de los GCM

La GACM utiliza el diagrama de clase como punto inicial
para generar la estructura básica del código y luego el cuerpo
de los métodos se complementa con diagramas de secuencia y
diagramas de máquinas de estado [4].

[8]. Estos

Los diagramas que resultan de las iteraciones de los flujos
de trabajo de requisitos, análisis y diseño, intentan comunicar
modelos con diferente nivel de detalle, entre usuarios y
desarrolladores
estar
insuficientemente elaborados para generar código. Los
diagramas UML más mencionados son los de clase, de estado,
de secuencia y de actividad [13]. Deben conocerse las entradas
indispensables para que un GCM genere un
tipo de
componente: interfaz de usuario, algoritmo y almacenamiento
en estructuras de datos, entre otros.

diagram
  • Links de descarga
http://lwp-l.com/pdf13154

Comentarios de: Generación Automática de Código basada en Modelos UML (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad