Professional Documents
Culture Documents
Julio 2010
Escuela de Ingeniera de Antioquia, Medelln (Colombia)
* Ingeniero Civil, Magster en Ingeniera de Sistemas, Doctor en Ingeniera con nfasis en Sistemas y Profesor Asociado, Universidad Nacional de Colombia. Lder del grupo de investigacin en Lenguajes Computacionales. Medelln,
Colombia. cmzapata@unal.edu.co
** Ingeniero y Magster en Ingeniera de Sistemas. Integrante del grupo de investigacin en Lenguajes Computacionales,
Universidad Nacional de Colombia. Medelln, Colombia. jjchaver@unal.edu.co
Artculo recibido 3-II-2010. Aprobado 9-VI-2010
Discusin abierta hasta diciembre de 2010
projects related to automated code generation, starting from discourse representations in either controlled or
natural language, or in conceptual schemas. In this way, we present a graphical summary of crucial concepts
related to this issue, by means of a state-of-the-art review. We conclude that automated code generation usually
begins from solution-based representations of the problem instead of domain-based representations. Also, we
summarize that these starting points are misunderstood by the client and this situation leads to poor validation in
early stages of software development lifecycle.
KEY WORDS: CASE tools; controlled language; heuristic rule; formal specs; automated code generation.
1.
INTRODUCCIN
144
2.
3.
MARCO TERICO
GENERACIN AUTOMTICA
DE CDIGO
145
146
(Overmyer, Lavoie y Rambow, 2001); con esta informacin, el analista debe asignar a cada categora,
manualmente, un elemento del diagrama de clases y,
de esta manera, LIDA permite trazar este diagrama.
CM-Builder es una herramienta CASE que permite
la elaboracin del diagrama de clases a partir de
textos en ingls, utilizando como modelo intermedio
una red semntica (Harmain y Gaizauskas, 2000).
RADD es una herramienta CASE que se enfoca en
la obtencin del diagrama entidad-relacin a partir
de un lenguaje controlado. Adems, emplea una
herramienta de dilogo moderado que posibilita la
comunicacin con el diseador de la base de datos
en lenguaje natural (Buchholz y Dsterhft, 1994).
NIBA busca la elaboracin de diferentes diagramas
UML (especialmente clases y actividades, aunque
se podran obtener otros como secuencias y comunicacin), empleando un conjunto de esquemas
intermedios que denominaron KCPM Klagenfurt
Conceptual Predesign Model (Fliedl y Weber, 2002).
KCPM posee formas diferentes de representacin del
conocimiento para diferentes diagramas de UML.
NIBA, adems de generar los diferentes diagramas
UML, genera el cdigo fuente en C++.
Revista EIA
147
148
Gomes, Moreira y
Dharbe (2007),
Mammar y Laleau
(2006)
Peckham y MacKellar
(2001)
Lenguaje de programacin.
JAVA
Mtodo-B
L. natural controlado
Ramkarthik y Zhang
(2006)
Especificaciones formales
Gangopadhyay (2001)
Lenguaje controlado
NL-OOPS
Lenguaje natural
Harmain y Gaizauskas,
(2000)
Lenguaje natural
CM-Builder
Textos en ingls
RADD
Lenguaje controlado
NIBA
KCPM
PHP
.NET
SQL
X
X
Muetn, Zapata y
Arango (2007)
D. Clases
Pilitowski y Dereziska,
(2007).
D. Clases
D. Clases
Borland (2006)
D. Clases
IBM (2009)
D. Clases
Fujaba (2009)
D. Clases
X
X
X
X
X
Varios lenguajes, dependiendo
de la solicitud de los clientes.
Care Technologies
(2010)
Diagramas de OO-Method
D. Comunicacin
Yao y He (1997),
Mortensen (1999, 2000)
Redes de Petri
X
X
149
Autor(es)
Lenguaje de programacin.
JAVA
Chachkov y Buchs
(2001)
Redes de Petri
D. Clases (ampliado)
D. Clases (ampliado)
D. Clases
Nassar et al (2009)
D. Clases
D. Clases
Casos de uso
Kantorowitz, Lyakas y
Myasqobsky (2003)
Casos de uso
Escenarios
WYSIWYG
Cool:Plex
WYSIWYG
Modelo de tareas
WYSIWYG
Macromedia
Dreamweaver
WYSIWYG
D. Clases, secuencias
y actividades
Pilitowski y Dereziska
(2007)
D. Clases, secuencias
y actividades
D. Clases y secuencias
D. Clases y mquinas
de estado
150
PHP
.NET
SQL
X
X
X
X
X
X
X
X
X
X
X
X
X
4.
5.
CONCLUSIONES Y TRABAJO
FUTURO
151
152
Definir reglas heursticas que permitan representar los elementos de un lenguaje controlado
en cdigo fuente, esquemas conceptuales y documentacin de una aplicacin.
Definir reglas heursticas que permitan la identificacin de los elementos de cdigo fuente y
los elementos de los diferentes esquemas conceptuales
Desarrollar una herramienta CASE que automatice el proceso desde la toma de requisitos
hasta la generacin de cdigo y su respectiva
documentacin, a partir de un lenguaje controlado.
AGRADECIMIENTOS
Este trabajo se financi parcialmente con
fondos de la Vicerrectora de Investigacin de la
Universidad Nacional de Colombia, mediante el
proyecto de investigacin Transformacin semiautomtica de los esquemas conceptuales, generados
en UNC-Diagramador, en prototipos funcionales.
REFERENCIAS
Adobe System. Macromedia, [consultado el 20 de febrero
de 2010] Disponible en: http://www.macromedia.com
Artech. Advanced Reserarch & Technology. Visin gene
ral de GeneXus, [consultado el 5 de junio de 2010]
Disponible en: http://www.genexus.com/portal/agxppdwn.aspx?2,70,1070,O,S,0,22790%3bS%3b1%3b2315.
Almendros-Jimnez, J. e Iribarne, L. (2005). Designing
GUI components from UML use cases. Proceedings
12th IEEE International Conference and Workshops
on the Engineering of Computer-Based Systems
(ECBS05), Greenbelt, Maryland, April, pp. 210-217.
Beier, G. and Kern, M. (2002). Aspects in UML models
from a code generation perspective. 2nd Workshop
on Aspect-Oriented Modeling with UML, UML 2002,
Dresden, September 30.
Bennett, J.; Cooper, K. and Dai, L. (2009). Aspect-oriented
model-driven skeleton code generation: A graph-based
transformation approach. Science of Computer Programming, , Vol. 75, No. 8 (Aug.), pp. 689-725.
Bodart, F. and Vanderdonckt, J. (1996). Widget standardi
sation through abstract interaction objects. Proceedings of 1st International Conference on Applied Ergonomics ICAE96, West Lafayette, May, pp. 300-305.
Borland Software Corporation. Together, Borland Together Architect, [consultado el 25 de agosto de 2009]
Disponible en: http://www.borland.com/us/products/
together/index.html.
Buchholz, E. and Dsterhft, A. (1994). Using natural
language for database design. Proceedings Deutsche
Jahrestagung fr Knstliche Intelligenz, Saarbrcken,
September, pp. 18-26.
Burkhard, D. and Jenster, P. (1989). Applications of
computer-aided software engineering tools: survey of
current and prospective users. ACM SIGMIS Database,
vol. 20, No. 3, pp. 28-37.
Revista EIA
153
154
Revista EIA