SciELO - Scientific Electronic Library Online

 
vol.14 número4Utilizando un campo aleatorio de Markov para el reordenamiento de imágenes basado en atributos visuales y textualesModelo auto regresivo no lineal basado en redes neuronales multicapa para pronóstico de series temporales índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

Links relacionados

  • No hay artículos similaresSimilares en SciELO

Compartir


Computación y Sistemas

versión On-line ISSN 2007-9737versión impresa ISSN 1405-5546

Comp. y Sist. vol.14 no.4 Ciudad de México abr./jun. 2011

 

Artículos

 

Generación automática de código a partir de máquinas de estado finito

 

Automatic Code Generation from Finite State Machines

 

Mario Rincón Nigro1, José Aguilar Castro1 y Francisco Hidrobo Torres2

 

1 CEMISID, Facultad de Ingeniería, Universidad de los Andes Mérida. Venezuela aguilar@ula.ve.

2 SUMA, Facultad de Ciencias, Universidad de los Andes Mérida. Venezuela hidrobo@ula.ve

 

Artículo recibido en Febrero 16, 2010
Aceptado en Octubre 04, 2010

 

Resumen

Este trabajo presenta una herramienta de generación automática de código fuente en lenguajes orientados a objetos para modelos abstractos expresados en UML. La herramienta permite la generación de código, tanto de la estructura estática como del comportamiento dinámico, presentes en modelos de sistemas de software. En específico, permite generar código fuente en el lenguaje C++, a partir de los diagramas de clases, diagramas de estados, y diagramas de actividad del UML. Dicha herramienta podrá ser integrada a herramientas CASE de modelado, con capacidades apropiadas de exportación de modelos del UML en formato XMI. En el trabajo se presentan detalles sobre el diseño y la implementación de la herramienta, haciendo hincapié en la generación del comportamiento dinámico. Además, se muestran los resultados de su evaluación en casos de estudio.

Palabras clave: Teoría de la Computación, Modelos de Computación, Máquinas de Estado Finito, Generación Automática de Código, UML.

 

Abstract

In this work, we present a tool for automatic source code generation, in OO languages, from abstract models expressed in UML. The tool allows the code generation, as much of the static structure as the dynamic behavior, present in models of software systems. Specifically, it allows to generate source code in the C++ language, from the classes diagrams, state diagrams, and activities diagrams of the UML. This tool could be integrated to a modeling CASE tool, with appropriate exporting capacities of UML models in format XMI . We present details of tool design and implementation, with special attention in code generation for dynamic behavior. In addition, to evaluate the tool, we present study cases.

Keywords: Theory of Computing, Models of Computation, Finite State Machines, Automatic Code Generation, UML.

 

DESCARGAR ARTÍCULO EN FORMATO PDF

 

Referencias

1. ArgoUML Project Home. (s.f.). Retrieved from http://argouml.tigris.org/.         [ Links ]

2. Bell, R. (1998). Code Generation from Object Models. Embedded Systems Programming. 11 (3) 74 – 88        [ Links ]

3. Booch, G., Maksimchuk R., Engle M., Young B., Conallen J., & Houston K. (2007). Object–Oriented Analysis and Design with applications (3rd ed.). Upper Saddle River, NJ: Addison–Wesley.         [ Links ]

4. BOUML User Manual, (s.f.). Retrieved from http://bouml.free.fr/doc/index.html.         [ Links ]

5. Eriksson, H., Penker, M., Lyons, B., Fado, D. (2004) UML 2 Toolkit. Indianapolis, Ind. : Wiley Publishing.         [ Links ]

6. Grose, T., Doney, G. C., Brodsky, S.A. (2002). Mastering XMI: Java programming with XMI, XML and UML. New York: John Wiley.         [ Links ]

7. Herrington, J. (2003). Code Generation in Action. Greenwich: Manning Publications.         [ Links ]

8. Knapp A. Merz S. (2002).Model Checking and Code Generation for UML State Machines and Collaborations, 5th Workshop Tools for System Design and Verification, Augsburg, Alemania, 59–64.         [ Links ]

9. Levendovszky T, Meszaros T (2009). Tooling the Dynamic Behavior Models of Graphical DSLs, Human–Computer Interaction. Novel Interaction Methods and Techniques, Lecture Notes in Computer Science, 5611, 830–839.         [ Links ]

10. Meszaros T., Levendovszky T., Mezei G. (2009). Code Generation with the Model Transformation of Visual Behavior Models. Electronic Communications of the EASST, 21, 110–119.         [ Links ]

11. Muñeton A., Zapata C.M., Arango F. (2007). Reglas para la Generación Automática de Código definidas sobre Metamodelos Simplificados de los Diagramas de Clases de Secuencias y Máquinas de Estado de UML2.0, Dyna, 74 (153), 267–283.         [ Links ]

12. Pilone, D., Pitman, N. (2005). UML 2.0 in a Nutshell. Sebastopol, CA: O'Reilly Media.         [ Links ]

13. Pinter, G., Majzik, I. (2003). Program Code Generation Based on UML Statechart Models. Periodica Polytechnica–Electrical Engineering. 47 (3–4), 187–204.         [ Links ]

14. Umbrello UML Modeller (s.f.). Retrieved from http://uml.sourceforge.net/index.php        [ Links ]

15. Zapata G., Branch J. Quintero L.F. (2007). Metodología para el Modelado y Generación de Código de Control de Sistemas Secuenciales mediante Redes de Petri Jerárquicas, Revista Avances en Sistemas e Informática, 4 (1), 59–65.         [ Links ]

Creative Commons License Todo el contenido de esta revista, excepto dónde está identificado, está bajo una Licencia Creative Commons