SciELO - Scientific Electronic Library Online

 
vol.14 issue4Using a Markov Random Field for Image Re-ranking Based on Visual and Textual FeaturesA Feed-Forward Neural Networks-Based Nonlinear Autoregressive Model for Forecasting Time Series author indexsubject indexsearch form
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

  • Have no similar articlesSimilars in SciELO

Share


Computación y Sistemas

On-line version ISSN 2007-9737Print version ISSN 1405-5546

Comp. y Sist. vol.14 n.4 Ciudad de México Apr./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 All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License