Avances en la Ciencia de la Computación - sitio del laboratorio ...
Avances en la Ciencia de la Computación - sitio del laboratorio ...
Avances en la Ciencia de la Computación - sitio del laboratorio ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Miguel Arias Estrada,<br />
Alexan<strong>de</strong>r Gelbukh<br />
(Eds.)<br />
<strong>Avances</strong> <strong>en</strong> <strong>la</strong><br />
Ci<strong>en</strong>cia <strong>de</strong> <strong>la</strong> <strong>Computación</strong><br />
2004
Prefacio<br />
Este libro conti<strong>en</strong>e los artículos seleccionados <strong>de</strong> <strong>en</strong>tre los trabajos pres<strong>en</strong>tados para<br />
los 10 talleres <strong>de</strong>l Quinto Encu<strong>en</strong>tro Internacional <strong>de</strong> <strong>Computación</strong> (ENC’04). En esta<br />
ocasión, para <strong>la</strong> edición 2004 <strong>de</strong>l congreso, se partió <strong>de</strong> <strong>la</strong> experi<strong>en</strong>cia <strong>de</strong> los talleres<br />
organizados el año pasado. Se hizo una especial invitación a algunos talleres a que<br />
repitieran <strong>la</strong> experi<strong>en</strong>cia <strong>de</strong> organizar nuevam<strong>en</strong>te un foro, y se invitó a algunos<br />
nuevos talleres <strong>en</strong> áreas que sabíamos hay g<strong>en</strong>te trabajando pero que no exist<strong>en</strong> aun<br />
una comunidad formada que pudiera compartir experi<strong>en</strong>cias. Adicionalm<strong>en</strong>te se<br />
convocó a los miembros <strong>de</strong> <strong>la</strong> Sociedad Mexicana <strong>de</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong><br />
(SMCC) a que se propusieran nuevos talleres <strong>en</strong> áreas <strong>de</strong> interés y que pudieran haber<br />
pasado <strong>de</strong>sapercibidas para nosotros.<br />
El propósito <strong>de</strong> los talleres es servir como catalizador para <strong>la</strong> creación <strong>de</strong> foros<br />
especializados y unificados, y que <strong>en</strong> un futuro cercano permitan convertirse <strong>en</strong><br />
comunida<strong>de</strong>s especializadas con intereses <strong>de</strong> investigación comunes.<br />
La experi<strong>en</strong>cia <strong>de</strong> los talleres durante el ENC’03 mostró que exist<strong>en</strong> comunida<strong>de</strong>s<br />
<strong>en</strong> nuestro país que aun no se <strong>en</strong>cu<strong>en</strong>tran formadas pero que sobrepasan <strong>la</strong> masa<br />
crítica para mant<strong>en</strong>er un foro <strong>de</strong> discusión interesante. En esta ocasión, <strong>la</strong> respuesta<br />
fue muy interesante: <strong>de</strong> seis talleres que hubo <strong>en</strong> 2003, ahora t<strong>en</strong>dremos 10 talleres<br />
simultáneos.<br />
De manera global, d<strong>en</strong>tro <strong>de</strong> los 10 talleres se recibió un total <strong>de</strong> 121 artículos, <strong>de</strong><br />
los cuales, <strong>de</strong>spués <strong>de</strong> un cuidadoso proceso <strong>de</strong> revisión y arbitraje, se seleccionaron<br />
88 trabajos que se incluy<strong>en</strong> <strong>en</strong> estas memorias. El número <strong>de</strong> talleres <strong>de</strong>muestra <strong>la</strong><br />
cantidad <strong>de</strong> grupos activos <strong>en</strong> el país que empiezan a agruparse para discutir los<br />
avances <strong>en</strong> cada uno <strong>de</strong> sus campos. En particu<strong>la</strong>r creemos que los talleres son un<br />
primer foro para id<strong>en</strong>tificar e integrar a <strong>la</strong>s comunida<strong>de</strong>s ci<strong>en</strong>tíficas <strong>de</strong> distintas áreas<br />
<strong>de</strong> <strong>la</strong> <strong>Computación</strong> con pres<strong>en</strong>cia <strong>en</strong> México y que sirva para consolidar dichas<br />
comunida<strong>de</strong>s. Adicionalm<strong>en</strong>te, se <strong>de</strong>sea que los talleres atraigan a nuevos<br />
investigadores, investigadores jóv<strong>en</strong>es y estudiantes <strong>de</strong> posgrado a ad<strong>en</strong>trarse <strong>en</strong> estas<br />
áreas <strong>de</strong> interés que, ciertam<strong>en</strong>te, repres<strong>en</strong>tan todas un gran pot<strong>en</strong>cial <strong>de</strong> investigación<br />
y <strong>de</strong>sarrollo tecnológico <strong>en</strong> nuestro país. La evolución y crecimi<strong>en</strong>to <strong>de</strong> los talleres<br />
permitirá catalizar <strong>la</strong> actividad ci<strong>en</strong>tífica <strong>de</strong> nuestro país, al mismo tiempo que crear<br />
oportunida<strong>de</strong>s <strong>de</strong> difusión y co<strong>la</strong>boración con otros grupos internacionales.<br />
Agosto 2004<br />
Miguel Arias Estrada<br />
Alexan<strong>de</strong>r Gelbukh
Cont<strong>en</strong>ido<br />
Interacción humano-computadora: interacción – integración<br />
Introducción..................................................................................................................3<br />
Interfaz <strong>de</strong> Comunicación y Administración <strong>de</strong> Tareas (ICAT) para Grupos <strong>de</strong><br />
Trabajo Utilizando Software Libre...............................................................................5<br />
Ironelis Val<strong>de</strong>z Batista Juan Contreras-Castillo Gerardo Barreto<br />
Pa<strong>la</strong>cios<br />
Integración <strong>de</strong> elem<strong>en</strong>tos <strong>de</strong> usabilidad <strong>en</strong> <strong>la</strong> ing<strong>en</strong>iería <strong>de</strong> requerimi<strong>en</strong>tos<br />
mediante Áncora.........................................................................................................13<br />
Kar<strong>en</strong> Cortés Verdín, Ángeles Sumano López, Dolores Vargas Cerdán<br />
Desarrollo <strong>de</strong> un Marco <strong>de</strong> Trabajo para Juegos Matemáticos Multiusuarios <strong>en</strong><br />
un Ambi<strong>en</strong>te Distribuido ............................................................................................19<br />
Adriana Miramontes Rivera, Gabriel López-Morteo, Gilberto López<br />
Diagnóstico Automático <strong>de</strong> Usabilidad <strong>de</strong> Sitios Web...............................................28<br />
Fernando Sánchez Martínez, Oscar Mayora Ibarra<br />
Estudio sobre el uso <strong>de</strong> gestos <strong>en</strong> una interfaz multimodal hombre-máquina<br />
simu<strong>la</strong>da......................................................................................................................37<br />
Luis Vil<strong>la</strong>señor Pineda & C<strong>la</strong>udia Vázquez Valerdi<br />
Diseño <strong>de</strong> Aplicaciones Interactivas utilizando el Paradigma <strong>de</strong> Patrones.................47<br />
Jaime Muñoz Arteaga, Juan M. González Calleros y Jorge Agui<strong>la</strong>r<br />
Cisneros<br />
Impacto <strong>de</strong> <strong>la</strong> usabilidad <strong>en</strong> <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong> un ambi<strong>en</strong>te <strong>de</strong> tesis digitales ..........56<br />
Lour<strong>de</strong>s Fernán<strong>de</strong>z Ramírez, J. Alfredo Sánchez, Alberto García<br />
Evaluación <strong>de</strong> Maestros: Una Herrami<strong>en</strong>ta <strong>en</strong> Línea..................................................62<br />
Gerardo Barreto, Ironelis Val<strong>de</strong>z Batista, Omar Álvarez, Sara Sandoval<br />
Interfaz con reconocimi<strong>en</strong>to <strong>de</strong> voz para <strong>la</strong> manipu<strong>la</strong>ción robótica............................72<br />
Carlos Miranda-Palma, Oscar Mayora-Ibarra y Esmeralda Uraga-<br />
Serratos<br />
Towards a Methodology to Envision and Evaluate Ubiquitous Computing...............79<br />
Víctor M. González, Jesus Fave<strong>la</strong>, and Marce<strong>la</strong> Rodríguez<br />
Importancia <strong>de</strong> Mo<strong>de</strong>los <strong>de</strong>l Proceso Creativo <strong>en</strong> <strong>la</strong> IHM..........................................86<br />
Rafael Pérez y Pérez, Fernando Gamboa<br />
Diseño e Implem<strong>en</strong>tación <strong>de</strong> una Interfaz <strong>de</strong> Comunicación <strong>en</strong> Internet,<br />
Ori<strong>en</strong>tada a Personas con Discapacidad Visual ..........................................................96<br />
Noemí Guerra, Román Gal<strong>la</strong>rdo, María Andra<strong>de</strong>, Ricardo Acosta<br />
Hacia un Sistema <strong>de</strong> Diagnóstico y Comp<strong>en</strong>sación <strong>de</strong> Dislexia para Niños <strong>de</strong><br />
Nivel Primaria...........................................................................................................105<br />
Mario A Mor<strong>en</strong>o Rocha, Rosario Peralta Calvo, Ricardo Ruiz Rodríguez
Creación <strong>de</strong> un diccionario electrónico <strong>de</strong> sexualidad..............................................111<br />
Gerardo Sierra, Marl<strong>en</strong>e Mor<strong>en</strong>o, Eduardo So<strong>la</strong>res, Alfonso Medina<br />
Interacciones <strong>en</strong> <strong>la</strong> realidad virtual y <strong>la</strong>s simu<strong>la</strong>ciones físicas<br />
Introduction ..............................................................................................................119<br />
Enhanced Hair Paint .................................................................................................121<br />
Isaac Rudomín, B<strong>en</strong>jamín Hernán<strong>de</strong>z<br />
Volume Preserved Deformation of Human Face with Hand ....................................129<br />
Yohei Iwasaki, Isamu Mizuno, and Toyohisa Kaneko<br />
Point Based R<strong>en</strong><strong>de</strong>ring and Disp<strong>la</strong>ced Subdivision for Interactive Animation of<br />
Crowds of Clothed Characters..................................................................................139<br />
Isaac Rudomín and Erik Millán<br />
Haptic R<strong>en</strong><strong>de</strong>ring using Velocity Driv<strong>en</strong> Level of Detail.........................................149<br />
Pavel Kolčárek and Jiří Sochor<br />
ALICE: A Col<strong>la</strong>borative Virtual Reality Navigator .................................................159<br />
Víctor Theoktisto, Marta Fairén, and Isabel Navazo<br />
Designing head tracking <strong>de</strong>vices for your VR needs................................................170<br />
Isaac Rudomin, Marissa Diaz<br />
Advanced Athroscopy Training Simu<strong>la</strong>tor insightMIST..........................................178<br />
Jose M. Espa<strong>de</strong>ro, Sofía Bayona, Jose M. Fernán<strong>de</strong>z, Marcos García<br />
Hardware-Accelerated Dynamic Volume R<strong>en</strong><strong>de</strong>ring for Real–Time Surgical<br />
Simu<strong>la</strong>tion ................................................................................................................188<br />
Marco Agus, Andrea Giachetti, Enrico Gobbetti Gianluigi Zanetti, and<br />
Antonio Zorcolo<br />
Tecnologías <strong>de</strong>l l<strong>en</strong>guaje humano<br />
Introducción..............................................................................................................199<br />
Id<strong>en</strong>tificación <strong>de</strong> Antónimos <strong>en</strong> Textos P<strong>la</strong>nos.........................................................203<br />
Cupertino Lucero, David Pinto y Héctor Jiménez<br />
Some Tests in Text Categorization using Term Selection by DTP...........................212<br />
Edgar Moyotl, Héctor Jiménez<br />
Herrami<strong>en</strong>tas <strong>de</strong> análisis para el Corpus Lingüístico <strong>en</strong> Ing<strong>en</strong>iería..........................219<br />
Gabriel Garduño, Gerardo Sierra, Alfonso Medina<br />
Uso <strong>de</strong>l Contexto para <strong>la</strong> Búsqueda <strong>de</strong> Respuestas <strong>en</strong> Español ...............................227<br />
M. Pérez, M. Montes, A. López<br />
Proyecto <strong>de</strong> preparación <strong>de</strong>l corpus paralelo alineado español-inglés......................235<br />
José Angel Vera, Grigori Sidorov<br />
Uso <strong>de</strong> Lattices para <strong>la</strong> Recuperación <strong>de</strong> Términos..................................................243<br />
Liset Frague<strong>la</strong>, Héctor Jiménez, Gerardo Sierra
A Proposed Architecture for a Spok<strong>en</strong> Information Retrieval with Multimedia<br />
Databases..................................................................................................................251<br />
Luis R. Salgado, Juan A. No<strong>la</strong>zco, Pablo D. Díaz<br />
Aplicando <strong>la</strong> C<strong>la</strong>sificación <strong>de</strong> Texto <strong>en</strong> <strong>la</strong> Extracción <strong>de</strong> Información.....................259<br />
Alberto Téllez, Manuel Montes, Luis Vil<strong>la</strong>señor<br />
Comparación <strong>de</strong> dos métodos que <strong>de</strong>terminan automáticam<strong>en</strong>te el extracto <strong>de</strong><br />
un texto ....................................................................................................................267<br />
Hi<strong>la</strong>rio Sa<strong>la</strong>zar, David Pinto & Héctor Jiménez<br />
Enhancing Flexibility of Named Entity C<strong>la</strong>ssifiers ..................................................274<br />
Thamar Solorio, Aurelio López<br />
Estudio Comparativo <strong>de</strong> Traductores Automáticos para QA multilingüe ...............281<br />
Rita M. Aceves, Luis Vil<strong>la</strong>señor y Manuel Montes<br />
Formalización <strong>de</strong>l Sistema <strong>de</strong> Nombres Hispanos....................................................289<br />
Noé Alejandro Castro, José Ángel Vera, Igor A. Bolshakov, Grigori<br />
Sidorov<br />
Un Mo<strong>de</strong>lo <strong>de</strong> Repres<strong>en</strong>tación basado <strong>en</strong> Sintagmas para Recuperación <strong>de</strong><br />
Información ..............................................................................................................296<br />
Miguel Rodríguez, Héctor Jiménez y David Pinto<br />
Pruebas con Algoritmos <strong>de</strong> Agrupami<strong>en</strong>to para g<strong>en</strong>erar una Base <strong>de</strong> Datos<br />
Léxica .......................................................................................................................304<br />
Sonia Paniagua, Héctor Jiménez y David Pinto<br />
Unsupervised Learning of Word Combinations for Syntactic Disambiguation........311<br />
Tania Lugo, Alexan<strong>de</strong>r Gelbukh, Grigori Sidorov<br />
Tecnología <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje<br />
Introducción..............................................................................................................321<br />
Mundo óseo para niños.............................................................................................323<br />
Misael Medina Hernán<strong>de</strong>z, Edgar Ortìz Sánchez, Marva Angélica Mora<br />
Lumbreras<br />
Objetos <strong>de</strong> Apr<strong>en</strong>dizaje Adaptativos ........................................................................330<br />
José Mario García-Val<strong>de</strong>z, Alfredo Cristóbal-Sa<strong>la</strong>s<br />
Propuesta <strong>de</strong> Metodología para e<strong>la</strong>boración <strong>de</strong> cursos <strong>en</strong> línea utilizando<br />
Objetos <strong>de</strong> Apr<strong>en</strong>dizaje y Software Libre como <strong>en</strong>torno <strong>de</strong> apr<strong>en</strong>dizaje..................338<br />
Juan P Cardona S., Francisco Álvarez R.<br />
Guías <strong>de</strong> diseño para el <strong>de</strong>sarrollo <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje...................................347<br />
Jorge Agui<strong>la</strong>r Cisneros, Jaime Muñoz Arteaga, Saúl Pomares Hernán<strong>de</strong>z
Propuesta <strong>de</strong> implem<strong>en</strong>tación para g<strong>en</strong>eración <strong>de</strong> materiales multimedia <strong>en</strong><br />
línea utilizando un meta etiquetador y compon<strong>en</strong>tes OO CSPR(I) versión 3.0<br />
para resolver los problemas <strong>de</strong> cont<strong>en</strong>ido, control, reutilización y<br />
secu<strong>en</strong>ciación dinámica ............................................................................................356<br />
Rubén Peredo Val<strong>de</strong>rrama, Leandro Bal<strong>la</strong>dares Ocaña, Cutberto García<br />
Tamayo<br />
Diseño e imp<strong>la</strong>ntación <strong>de</strong> una interfaz interoperable para un patrimonio <strong>de</strong><br />
recursos educativos basado <strong>en</strong> una red <strong>de</strong> acervos abiertos y distribuidos <strong>de</strong><br />
objetos <strong>de</strong> apr<strong>en</strong>dizaje...............................................................................................366<br />
Víctor Germán Sánchez Arias, Salvador López, Rafael Morales<br />
De LOM a XML y SQL, o cómo almac<strong>en</strong>ar metadatos <strong>en</strong> un repositorio <strong>de</strong><br />
objetos <strong>de</strong> apr<strong>en</strong>dizaje...............................................................................................373<br />
Rafael Morales y Salvador López M<strong>en</strong>doza<br />
Ing<strong>en</strong>iería <strong>de</strong> software<br />
Introducción..............................................................................................................385<br />
La Ing<strong>en</strong>iería <strong>de</strong> Software como Proceso Perman<strong>en</strong>te <strong>en</strong> <strong>la</strong> Enseñanza <strong>de</strong> <strong>la</strong><br />
<strong>Computación</strong>.............................................................................................................387<br />
Ricardo Ruiz-Rodríguez, Mario Alberto Mor<strong>en</strong>o Rocha<br />
Propuesta <strong>de</strong> una línea curricu<strong>la</strong>r <strong>de</strong> Ing<strong>en</strong>iería <strong>de</strong> Software <strong>en</strong> <strong>la</strong> Lic<strong>en</strong>ciatura<br />
<strong>en</strong> Sistemas Computacionales...................................................................................393<br />
Francisco Álvarez R., Juan Cardona S. Alfredo Weitz<strong>en</strong>feld R.<br />
Hacia una Especificación <strong>de</strong>l Marco Conceptual para <strong>la</strong> Formación <strong>de</strong><br />
Recursos Humanos <strong>en</strong> Ing<strong>en</strong>iería <strong>de</strong> Software .........................................................399<br />
Gerardo Padil<strong>la</strong>, Carlos Montes <strong>de</strong> Oca; Luis Felipe Fernán<strong>de</strong>z M.<br />
Evaluación <strong>de</strong> <strong>la</strong> utilización <strong>de</strong> Rational Rose con el Proceso Unificado <strong>de</strong><br />
Desarrollo <strong>de</strong> Software .............................................................................................405<br />
Ángeles Ar<strong>en</strong>as Valdés, Juan Manuel Fernán<strong>de</strong>z Peña, Ángeles Sumano<br />
López<br />
El Desarrollo <strong>de</strong> <strong>la</strong> Industria <strong>de</strong> Software <strong>en</strong> Aguascali<strong>en</strong>tes: Diagnostico y<br />
Oportunida<strong>de</strong>s...........................................................................................................411<br />
Tirso Velázquez Navarro, Héctor Sánchez Herrera, Jaime Muñoz Arteaga<br />
Mejora <strong>de</strong> Calidad <strong>de</strong>l Software Desarrol<strong>la</strong>do por Publisoft <strong>de</strong> Aguascali<strong>en</strong>tes<br />
<strong>en</strong> base al CMM........................................................................................................418<br />
José Guillermo Torres Tovar, Maribel Romo Contreras, Jaime Muñoz<br />
Arteaga<br />
Administración Estratégica <strong>de</strong>l Personal <strong>en</strong> base al People-CMM para <strong>la</strong><br />
Mejora <strong>de</strong> <strong>la</strong> Productividad <strong>de</strong>l Software..................................................................425<br />
Teresa Cervantes López, Jaime Muñoz Arteaga
Las Revisiones Técnicas Formales <strong>de</strong> los requerimi<strong>en</strong>tos y el análisis<br />
utilizando Áncora y el Proceso Unificado <strong>de</strong> Desarrollo <strong>de</strong> Software......................433<br />
Juan Manuel Fernán<strong>de</strong>z Peña, María <strong>de</strong> Lour<strong>de</strong>s Hernán<strong>de</strong>z Rodríguez,<br />
María <strong>de</strong> los Ángeles Sumano López<br />
Aplicando ext<strong>en</strong>siones <strong>de</strong> UML para <strong>de</strong>sarrollo <strong>de</strong> aplicaciones Web.....................439<br />
Alejandro Botello, Sandra Dinora Orantes<br />
Elem<strong>en</strong>tos <strong>de</strong>l Proceso Unificado <strong>de</strong> Desarrollo <strong>de</strong> Software aplicados al<br />
<strong>de</strong>sarrollo <strong>de</strong>l Sistema Integral <strong>de</strong> Gestión <strong>de</strong> Calidad y <strong>de</strong> Comercio<br />
Electrónico <strong>de</strong>l Café-Veracruz (SIGC3)...................................................................446<br />
María <strong>de</strong> Lour<strong>de</strong>s Hernán<strong>de</strong>z Rodríguez, Beatriz Gutiérrez Almaraz,<br />
Julio César Agui<strong>la</strong>r<br />
Problemas <strong>de</strong> <strong>la</strong> optimización <strong>en</strong> <strong>la</strong> computación parale<strong>la</strong><br />
Introduction ..............................................................................................................455<br />
A X Window Proxy Server for Disp<strong>la</strong>y Wall ...........................................................457<br />
Jesus Verduzco, Bruno Raffin<br />
A polynomial approximation scheme for the 1 | r j | L max scheduling problem..........465<br />
Alexan<strong>de</strong>r Lazarev, Rus<strong>la</strong>n Sadykov<br />
Solution Algorithms for Total Tardiness Scheduling Problem.................................474<br />
Alexan<strong>de</strong>r Kvaratskhelia, Alexan<strong>de</strong>r Lazarev, Andrei Tchernykh<br />
Dynamic Analysis and Trace Simu<strong>la</strong>tion for Data Parallel Programs in ParJava<br />
Environm<strong>en</strong>t .............................................................................................................481<br />
Victor Ivannikov, Sergey Gaissaryan, Arutyun Avetisyan, Vartan<br />
Padaryan, H<strong>en</strong>nadiy Leontyev<br />
Clusterweb – a WEB-based cluster managem<strong>en</strong>t interface ......................................489<br />
Arutyun Avetisyan, Oleg Samovarov, Dmitry Grushin, Andrey Ryzhov<br />
Robótica móvil<br />
Introducción..............................................................................................................499<br />
Object Id<strong>en</strong>tification and Location by Using Simple Sonar S<strong>en</strong>sors .......................503<br />
Luis Enrique Arámbu<strong>la</strong> Miranda<br />
Una arquitectura <strong>de</strong> software para <strong>la</strong> integración <strong>de</strong> aplicaciones <strong>en</strong> robótica<br />
móvil.........................................................................................................................512<br />
José Antonio Pacheco-Sánchez, Roberto Valdivia-Beutelspacher, Oscar<br />
Mayora-Ibarra<br />
Deterministic sampling: A framework for Probabilistic Roadmap P<strong>la</strong>nners............522<br />
Abraham Sánchez, R<strong>en</strong>é Zapata, and David Pinto<br />
Analyzing Multi-Robot Box-Pushing.......................................................................530<br />
Angélica Muñoz Melén<strong>de</strong>z, Alexis Drogoul
Curr<strong>en</strong>t work at the Robotics group of the Universidad <strong>de</strong> Guanajuato ...................540<br />
Víctor Aya<strong>la</strong> Ramírez and Raúl E. Sánchez Yañez<br />
Grupo <strong>de</strong> robótica <strong>de</strong>l INAOE..................................................................................545<br />
Angélica Muñoz Melén<strong>de</strong>z<br />
Cómputo móvil<br />
Introducción..............................................................................................................551<br />
Service Discovery in Mobile Ad-hoc Networks by Ext<strong>en</strong>ding the AODV<br />
Protocol.....................................................................................................................553<br />
Dante Arias-Torres, José Antonio García-Macias<br />
Lucrn: A middleware for application <strong>de</strong>velopm<strong>en</strong>t in spontaneous networks of<br />
Bluetooth <strong>de</strong>vices .....................................................................................................559<br />
J. Alfonso Briones-García, Silvana Bravo-Hernán<strong>de</strong>z, J. Oscar Olmedo-<br />
Aguirre<br />
Arquitectura <strong>de</strong> Co<strong>la</strong>boración Mediante Dispositivos Móviles Aplicada a <strong>la</strong><br />
Administración <strong>de</strong>l Conocimi<strong>en</strong>to............................................................................565<br />
Chadwick Carreto Arel<strong>la</strong>no, Ro<strong>la</strong>ndo M<strong>en</strong>chaca García, Ro<strong>la</strong>ndo<br />
M<strong>en</strong>chaca-Mén<strong>de</strong>z, Agustín Gutiérrez Tornes<br />
Mobile Access to Digital Libraries via G<strong>en</strong>eric Interfaces.......................................571<br />
Nohema Castel<strong>la</strong>nos, J. Alfredo Sánchez<br />
µCronos: Un micro Núcleo con Soporte para Adaptabilidad Segura <strong>de</strong> Bajo<br />
Nivel .........................................................................................................................577<br />
Víctor D. Castillo Díaz, Ro<strong>la</strong>ndo M<strong>en</strong>chaca-Mén<strong>de</strong>z<br />
Context-Aware Middleware for Pervasive and Mobile Ad Hoc Environm<strong>en</strong>ts .......583<br />
Hector A. Duran-Limon<br />
Seamless IP micro-mobility......................................................................................589<br />
Christian P. García-Martinez, J. Antonio García-Macías<br />
Requirem<strong>en</strong>ts analysis for ubiquitous computing system to be used during a<br />
congress ....................................................................................................................595<br />
Oscar-Iván Lepe-Aldama, Luis-Enrique Vizcarra-Corral, Edgar Arrio<strong>la</strong>-<br />
Arreo<strong>la</strong>, Angel Galindo-Rodríguez, Frankli-Augusto Pérez-Navidad<br />
Administrador <strong>de</strong> Candados para Transacciones Anidadas sobre Dispositivos<br />
Móviles.....................................................................................................................601<br />
Jorge Martínez-Muñoz, Luis A. Gama-Mor<strong>en</strong>o<br />
Autonomous Ag<strong>en</strong>ts for Supporting Mobility in AmI Environm<strong>en</strong>ts.......................607<br />
Marce<strong>la</strong> Rodríguez Urrea, Jesús Fave<strong>la</strong> , Edgar A. Martínez
Bioinformática y biología computacional<br />
Introducción..............................................................................................................615<br />
C<strong>la</strong>sificación No Sesgada <strong>de</strong> Proteínas con Re<strong>de</strong>s Neuronales y <strong>Computación</strong><br />
Evolutiva...................................................................................................................617<br />
Angel Kuri, Martha Ortiz, Lucía Castel<strong>la</strong>nos, Carlos Ponce, Christopher<br />
Gasca Oscar Herrera<br />
Experim<strong>en</strong>tal Analysis of a G<strong>en</strong>etic Algorithm for the Sequ<strong>en</strong>cing by<br />
Hybridization Problem..............................................................................................623<br />
Luis C. González-Gurro<strong>la</strong> and Carlos A. Brizue<strong>la</strong><br />
Optimización <strong>de</strong> <strong>la</strong> G<strong>en</strong>o-tipificación <strong>de</strong> Papilomavirus Humano como un<br />
Problema <strong>de</strong> Selección <strong>de</strong> Características Utilizando PCA y RNA’s.......................629<br />
M. Rodríguez-Muro, P. Gómez-Gil, C. Castañeda-Roldán, J. Garcés -<br />
Eisele, J. Lozano-Yécora, M. Osorio-Galindo<br />
Using Graph-Based Concept Learning to the Predictive Toxicology Domain .........635<br />
Ivan Olmos and Jesus A. Gonzalez<br />
Stereo-s<strong>en</strong>sitive Cortical Regions Id<strong>en</strong>tified Using Shape Discrimination from<br />
Stereopsis: an fMRI study ........................................................................................641<br />
Héctor-Gabriel Acosta-Mesa ,Nicandro Cruz-Ramírez, John Frisby , Ying<br />
Zh<strong>en</strong>g, David Buckley, Janet Morris, and John Mayhew<br />
<strong>Computación</strong> clínica e informática médica<br />
Introducción..............................................................................................................649<br />
Aplicación <strong>de</strong> una herrami<strong>en</strong>ta <strong>de</strong> realidad virtual co<strong>la</strong>borativa y adaptación <strong>de</strong><br />
mo<strong>de</strong>los gráficos <strong>en</strong> 3D para el apoyo <strong>de</strong>l diagnóstico médico <strong>de</strong> lesiones<br />
óseas .........................................................................................................................651<br />
L. A. Cervantes Medina, M. A. García Ruiz<br />
Apoyo a <strong>la</strong>s activida<strong>de</strong>s médicas a través <strong>de</strong> Servicios Web basados <strong>en</strong><br />
HL7/CDA .................................................................................................................657<br />
P. C. Santana Mancil<strong>la</strong>, L. Galicia Jiménez, A. I. Martínez García, J. A.<br />
García Macías<br />
C<strong>la</strong>sificación no Paramétrica <strong>de</strong> <strong>la</strong> Distribución <strong>de</strong> Bor<strong>de</strong>s Espectrales para <strong>la</strong><br />
Valoración <strong>de</strong>l Estado <strong>de</strong> Profundidad Anestésica ...................................................663<br />
B. D. Escamil<strong>la</strong> Alonso, O. Yáñez Suárez<br />
Digital Image Processing of Functional Magnetic Resonance Images to<br />
Id<strong>en</strong>tify Stereo-s<strong>en</strong>sitive Cortical Regions Using a Global Stereo Stimulus ............669<br />
H. G. Acosta Mesa, N. Cruz Ramírez, J. Frisby, Y. Zh<strong>en</strong>g, D. Buckley, J.<br />
Morris, J. Mayhew<br />
Diseño <strong>de</strong> una Sa<strong>la</strong> Virtual <strong>de</strong> Rayos X con Aplicaciones <strong>en</strong> Seguridad<br />
Radiológica...............................................................................................................675<br />
C. R. Bustos M<strong>en</strong>doza, M. A. García Ruiz, D. M. López Rosas, L.<br />
Hernán<strong>de</strong>z García
Experi<strong>en</strong>cias <strong>de</strong> Imp<strong>la</strong>ntación <strong>de</strong>l Estándar DICOM................................................681<br />
J. A. Treviño, C. Feregrino Uribe<br />
SAPeR: un sistema para <strong>la</strong> administración <strong>de</strong> paci<strong>en</strong>tes <strong>en</strong> rehabilitación ...............687<br />
L. O. Escobedo Bravo, M. E. T<strong>en</strong>tori Espinosa, A. I. Martínez García, L.<br />
Galicia Jiménez, J. A. García Macías<br />
SNIAC Sistema Nutricional Intelig<strong>en</strong>te Asistido Por Computadora ........................693<br />
J. L. Ramírez Sánchez, J. A. Cruz Zamora<br />
Índice <strong>de</strong> autores.....................................................................................................699
Interacción humano-computadora:<br />
interacción – integración<br />
Oscar Mayora Ibarra<br />
Luis Vil<strong>la</strong>señor Pineda<br />
Carlos Alberto Reyes García<br />
(Editores)
Introducción<br />
La Interacción Humano-Computadora (IHC) es <strong>la</strong> disciplina que estudia el diseño,<br />
evaluación e implem<strong>en</strong>tación <strong>de</strong> sistemas informáticos interactivos para el uso <strong>de</strong><br />
seres humanos, y el estudio <strong>de</strong> los f<strong>en</strong>óm<strong>en</strong>os más importantes con los que está re<strong>la</strong>cionado.<br />
En los últimos tiempos, esta área se ha convertido <strong>en</strong> una disciplina <strong>de</strong> suma<br />
importancia <strong>de</strong>bido a que los sistemas computacionales están <strong>de</strong>jando <strong>de</strong> ser exclusivos<br />
<strong>de</strong> los expertos <strong>en</strong> computadoras y están pasando a ser una cuestión cotidiana para<br />
<strong>la</strong> g<strong>en</strong>te <strong>en</strong> g<strong>en</strong>eral. Es por eso que los sistemas que se construyan <strong>en</strong> el futuro próximo,<br />
<strong>de</strong>berán po<strong>de</strong>r integrar al mismo tiempo funcionalidad y facilidad <strong>de</strong> usar para<br />
po<strong>de</strong>r subsistir <strong>en</strong> el gran mercado global.<br />
El objetivo g<strong>en</strong>eral <strong>de</strong> este taller es id<strong>en</strong>tificar y reunir a <strong>la</strong> comunidad mexicana<br />
que trabaja <strong>en</strong> el área <strong>de</strong> IHC con el fin <strong>de</strong> intercambiar experi<strong>en</strong>cias y pres<strong>en</strong>tar trabajos<br />
o propuestas <strong>de</strong> trabajo sobre tópicos refer<strong>en</strong>tes a <strong>la</strong> interacción humano – computadora.<br />
Así mismo, el taller fue una excel<strong>en</strong>te oportunidad para informar acerca <strong>de</strong><br />
<strong>la</strong> reci<strong>en</strong>te reactivación <strong>de</strong>l grupo <strong>de</strong> interés <strong>de</strong> ACM <strong>en</strong> México sobre IHC (SIG-CHI<br />
México) y <strong>la</strong> pres<strong>en</strong>tación <strong>de</strong>l próximo Congreso Latinoamericano <strong>de</strong> HCI<br />
(CLIHC’05), México, octubre <strong>de</strong> 2005.
Comité Ci<strong>en</strong>tífico<br />
Copresid<strong>en</strong>tes:<br />
Oscar Mayora Ibarra, ITESM Cuernavaca, omayora@itesm.mx<br />
Luis Vil<strong>la</strong>señor Pineda, INAOE, vil<strong>la</strong>s<strong>en</strong>@inaoep.mx<br />
Carlos Alberto Reyes García, INAOE, kargaxxi@inaoep.mx<br />
Alfredo Sánchez, UDLA, alfredo@mail.ud<strong>la</strong>p.mx<br />
Manuel Romero, IMP, mromeros@imp.mx<br />
Víctor González, University of California, Irvine, vmgyg@ics.uci.edu<br />
Fernando Gamboa, UNAM, gfer@aleph.cinstrum.unam.mx
Interfaz <strong>de</strong> Comunicación y Administración <strong>de</strong><br />
Tareas (ICAT) para Grupos <strong>de</strong> Trabajo<br />
Utilizando Software Libre<br />
Ironelis Val<strong>de</strong>z Batista Juan Contreras-Castillo Gerardo Barreto Pa<strong>la</strong>cios<br />
Facultad <strong>de</strong> Telemática Universidad <strong>de</strong> Colima<br />
Av. Universidad 333 Col. Las Víboras Colima, Col. 28044 México<br />
ing_val<strong>de</strong>z_b@yahoo.com<br />
Abstract<br />
In g<strong>en</strong>eral, the Internet has be<strong>en</strong> consi<strong>de</strong>red as a great database of global coverage<br />
more than as a p<strong>la</strong>ce in which to carry out specific work. In this context, c<strong>la</strong>ssic tools<br />
such as electronic mail and distribution lists are not capable of offering better support<br />
for the realization of group work through a network. Starting at this point, groupware<br />
tools for the Internet offer the users the basic pil<strong>la</strong>rs from which promote<br />
col<strong>la</strong>borative work via the Web. Based on this concept, we <strong>de</strong>veloped ICAT, a tool<br />
<strong>de</strong>signed for the administration of and communication betwe<strong>en</strong> work groups that are<br />
located in distributed p<strong>la</strong>ces.<br />
Resum<strong>en</strong><br />
Normalm<strong>en</strong>te, El Internet ha sido consi<strong>de</strong>rado como una gran base <strong>de</strong> datos <strong>de</strong><br />
cobertura global más que como un lugar <strong>en</strong> don<strong>de</strong> llevar a cabo un trabajo concreto.<br />
En este contexto, <strong>la</strong>s herrami<strong>en</strong>tas clásicas como el correo electrónico y <strong>la</strong>s listas <strong>de</strong><br />
distribución no son capaces <strong>de</strong> ofrecer un mayor soporte para <strong>la</strong> realización <strong>de</strong><br />
trabajos <strong>en</strong> grupo a través <strong>de</strong> <strong>la</strong> Red. En este punto es don<strong>de</strong> se están <strong>de</strong>sarrol<strong>la</strong>ndo <strong>la</strong>s<br />
aplicaciones Groupware para Internet, que ofrec<strong>en</strong> a los usuarios el pi<strong>la</strong>r básico <strong>de</strong>s<strong>de</strong><br />
el cual promover el trabajo co<strong>la</strong>borativo a través <strong>de</strong>l Web. Basado <strong>en</strong> este concepto,<br />
se diseña el ICAT, una herrami<strong>en</strong>ta <strong>de</strong> software diseñada para administrar y<br />
comunicar grupos <strong>de</strong> trabajo ubicados <strong>en</strong> lugares remotos.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ves: HCI, CSCW, ICAT.<br />
1. Introducción<br />
En los últimos años, el trabajo <strong>en</strong> grupos <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> software distribuidos ha<br />
g<strong>en</strong>erado <strong>la</strong> necesidad <strong>de</strong> compartir información dada <strong>la</strong> separación temporal o<br />
geográfica <strong>de</strong> los participantes. Sin embargo, <strong>la</strong> falta <strong>de</strong> herrami<strong>en</strong>tas <strong>de</strong><br />
comunicación electrónica que permitan administrar <strong>la</strong>s activida<strong>de</strong>s <strong>de</strong> estos grupos e<br />
intercambiar información <strong>en</strong>tre ellos constituye una limitante cada vez más fuerte.
Situación que oril<strong>la</strong> a <strong>la</strong> división <strong>de</strong>l trabajo <strong>en</strong> fases que se manejan como partes<br />
separadas. Esto, <strong>de</strong> alguna manera repres<strong>en</strong>ta un problema, dado que cada fase <strong>de</strong> un<br />
proyecto se re<strong>la</strong>ciona con <strong>la</strong>s posteriores y anteriores, por esto es tan necesaria <strong>la</strong><br />
exist<strong>en</strong>cia <strong>de</strong> herrami<strong>en</strong>tas que permitan el monitoreo constante <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s o<br />
tareas que conforman un proyecto, y que, <strong>en</strong> muchos casos, son llevadas a cabo <strong>en</strong><br />
puntos geográficam<strong>en</strong>te distantes y que a <strong>la</strong> vez permitan una interacción rápida,<br />
informal y fluida <strong>en</strong>tre los miembros <strong>de</strong>l equipo <strong>de</strong> trabajo.<br />
En este respecto, <strong>la</strong>s tecnologías <strong>de</strong> groupware pued<strong>en</strong> servir como apoyo para <strong>la</strong><br />
realización <strong>de</strong> estas tareas, ya que según Bannon (1993) CSCW pue<strong>de</strong> ser concebido<br />
como un esfuerzo para <strong>en</strong>t<strong>en</strong><strong>de</strong>r <strong>la</strong> naturaleza y <strong>la</strong>s características <strong>de</strong> trabajo<br />
cooperativo con el objetivo <strong>de</strong> diseñar tecnologías a<strong>de</strong>cuadas basadas <strong>en</strong> <strong>la</strong><br />
computadora.<br />
2. Anteced<strong>en</strong>tes<br />
El trabajo co<strong>la</strong>borativo se <strong>de</strong>fine como el proceso mediante el cual un conjunto <strong>de</strong><br />
individuos realizan activida<strong>de</strong>s re<strong>la</strong>cionadas con <strong>la</strong> finalidad <strong>de</strong> lograr un objetivo<br />
específico, cumplir una meta o compartir una i<strong>de</strong>ología común [1]. Según <strong>la</strong> teoría<br />
más reci<strong>en</strong>te, el trabajo co<strong>la</strong>borativo persigue el <strong>de</strong>sarrollo <strong>de</strong> conocimi<strong>en</strong>tos<br />
compartidos, <strong>la</strong> aceleración <strong>de</strong> los flujos <strong>de</strong> información, <strong>la</strong> coordinación <strong>de</strong> los flujos<br />
<strong>de</strong> recursos para producir economías <strong>de</strong> costos y tiempos <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> proyectos<br />
[2]. Un proyecto se <strong>de</strong>fine como el esfuerzo temporal que se realiza para crear un<br />
producto o servicio único. El término temporal <strong>de</strong> <strong>la</strong> <strong>de</strong>finición se refiere a que cada<br />
proyecto ti<strong>en</strong>e una fecha <strong>de</strong> inicio y una fecha <strong>de</strong> término, y, el concepto único <strong>de</strong> <strong>la</strong><br />
<strong>de</strong>finición, se refiere a que el producto o servicio conti<strong>en</strong><strong>en</strong> elem<strong>en</strong>tos o rasgos que<br />
los distingu<strong>en</strong> <strong>de</strong> los productos o servicios ya exist<strong>en</strong>tes. Administrar un proyecto es<br />
mucho más que <strong>en</strong>contrar el camino crítico que conlleva a un bu<strong>en</strong> termino: a<strong>de</strong>más,<br />
incluye el control <strong>de</strong> fechas para <strong>la</strong>s tareas, <strong>de</strong> modo <strong>de</strong> prever días feriados o<br />
vacaciones <strong>de</strong> personal; el uso <strong>de</strong> recursos no almac<strong>en</strong>ables, tal como tiempo <strong>de</strong><br />
trabajo <strong>de</strong> personas, equipos o insta<strong>la</strong>ciones; el cálculo <strong>de</strong> fondos necesarios día a día<br />
para hacer fr<strong>en</strong>te a los pagos <strong>de</strong> materiales o <strong>de</strong> servicios contratados; el cálculo <strong>de</strong>l<br />
costo global <strong>de</strong>l proyecto para hacer presupuestos, etc [1].<br />
En <strong>la</strong> actualidad exist<strong>en</strong> distintas herrami<strong>en</strong>tas electrónicas para dar soporte al<br />
trabajo co<strong>la</strong>borativo, tales como: Project <strong>de</strong> Microsoft (http: //www.<br />
monografias.com/trabajos/msproyect4/msproyect4.shtml),LeFiell http://www.lefiell<br />
co. com/espmg.htm), Jabber (http://www.jabber.com/in<strong>de</strong>x.cgi) <strong>en</strong>tre otros. A<strong>de</strong>más,<br />
se utiliza el teléfono como medio <strong>de</strong> comunicación tradicional, lo que conlleva a un<br />
gasto excesivo, y <strong>en</strong> otro ámbito se utiliza el correo electrónico, para compartir i<strong>de</strong>as,<br />
información, archivos y <strong>de</strong>más [3]. La problemática <strong>en</strong> estas herrami<strong>en</strong>tas, es que no<br />
se integra <strong>en</strong> el<strong>la</strong>s el concepto <strong>de</strong> administración <strong>de</strong> proyectos y <strong>de</strong> comunicación<br />
instantánea, lo que conlleva a complejidad, más uso <strong>de</strong> recursos al t<strong>en</strong>er que utilizar<br />
dos o más herrami<strong>en</strong>tas distintas y muchas veces incompatibilidad <strong>en</strong>tre el<strong>la</strong>s. En éste<br />
s<strong>en</strong>tido se hace necesaria <strong>la</strong> exist<strong>en</strong>cia <strong>de</strong> herrami<strong>en</strong>tas que permitan el monitoreo<br />
constante <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s o tareas que conforman un proyecto, y que, <strong>en</strong> muchos<br />
casos, son llevadas a cabo <strong>en</strong> puntos geográficam<strong>en</strong>te distantes y que a <strong>la</strong> vez
permitan una interacción rápida, informal y fluida <strong>en</strong>tre los miembros <strong>de</strong>l equipo <strong>de</strong><br />
trabajo. La m<strong>en</strong>sajería instantánea es un <strong>de</strong> los métodos <strong>de</strong> co<strong>la</strong>boración textual más<br />
importantes que exist<strong>en</strong>, dado que ofrece minimización <strong>de</strong> costos y tiempo. La<br />
minimización <strong>de</strong> costo <strong>en</strong> un <strong>en</strong>torno compartido se logra al compartir información,<br />
i<strong>de</strong>as y suger<strong>en</strong>cias, el cual permite al usuario acce<strong>de</strong>r a <strong>la</strong> información e interactuar<br />
con sus compañeros <strong>de</strong> grupo, evitando <strong>la</strong> movilización <strong>de</strong>l usuario. La comunicación<br />
<strong>en</strong> un grupo usando herrami<strong>en</strong>tas <strong>de</strong> comunicación instantánea es más fluida, más<br />
rica, no requiere <strong>de</strong> introducción y facilita <strong>la</strong> interacción <strong>en</strong>tre todos los integrantes<br />
<strong>de</strong>l grupo, por estas y otras razones el consi<strong>de</strong>rar herrami<strong>en</strong>tas comunicación<br />
instantáneas para grupos, asegura brindar interacciones oportunas y eficaces [4].<br />
3. Solución propuesta<br />
Con miras a obt<strong>en</strong>er una herrami<strong>en</strong>ta que integra <strong>la</strong> administración <strong>de</strong> tareas y <strong>la</strong><br />
comunicación instantánea, se <strong>de</strong>sarrol<strong>la</strong> el ICAT (Interfaz <strong>de</strong> Comunicación y<br />
Administración <strong>de</strong> tareas para Grupos <strong>de</strong> Trabajo utilizando software libre), una<br />
herrami<strong>en</strong>ta para administrar y comunicar integrantes <strong>de</strong> un grupo <strong>de</strong> trabajo, y que<br />
a<strong>de</strong>más esté <strong>de</strong>sarrol<strong>la</strong>da bajo el concepto <strong>de</strong> Op<strong>en</strong> Source, <strong>en</strong> busca <strong>de</strong> obt<strong>en</strong>er<br />
mayor crítica y retroalim<strong>en</strong>tación, que g<strong>en</strong>ere riquezas sin <strong>la</strong> necesidad <strong>de</strong> adquirir<br />
lic<strong>en</strong>cias <strong>de</strong> software, conservando efectivam<strong>en</strong>te los recursos, don<strong>de</strong> fueron<br />
g<strong>en</strong>erados, y don<strong>de</strong> más se necesitan.<br />
El ICAT fue creado con el propósito <strong>de</strong> lograr una herrami<strong>en</strong>ta <strong>de</strong> comunicación<br />
instantánea inter e intra-grupal con capacida<strong>de</strong>s <strong>de</strong> administración, asignación y<br />
monitoreo <strong>de</strong> activida<strong>de</strong>s. Su objetivo principal es integrar grupos <strong>de</strong> trabajo cuyos<br />
participantes se <strong>en</strong>cu<strong>en</strong>tr<strong>en</strong> distribuidos <strong>en</strong> lugares remotos. Surge por <strong>la</strong> necesidad <strong>de</strong><br />
unir dos conceptos fundam<strong>en</strong>tales <strong>en</strong> el trabajo co<strong>la</strong>borativo.- Administración <strong>de</strong><br />
proyectos y comunicación instantánea. Esta herrami<strong>en</strong>ta consta <strong>de</strong> dos módulos<br />
principales: uno <strong>de</strong> comunicación instantánea y otro <strong>de</strong> asignación y monitoreo <strong>de</strong><br />
tareas o activida<strong>de</strong>s, <strong>de</strong> esta forma se integra <strong>de</strong> una manera amigable los dos<br />
conceptos antes citados.<br />
Para estar c<strong>la</strong>ro con <strong>la</strong> <strong>de</strong>finición y aplicación <strong>de</strong>l ICAT, resulta necesario explicar<br />
un concepto que va muy <strong>de</strong> <strong>la</strong> mano con el criterio <strong>de</strong> dicha herrami<strong>en</strong>ta; Interacción<br />
Humano computadora (HCI). Interacción Humano computadora es una disciplina<br />
referida al diseño, evaluación y puesta <strong>en</strong> marcha <strong>de</strong> los sistemas <strong>de</strong> cálculo y<br />
operaciones interactivos <strong>de</strong> humano-máquina [5]. Una <strong>de</strong> <strong>la</strong>s características <strong>de</strong> HCI,<br />
es el manejo <strong>de</strong> interfaces <strong>de</strong> grupo, que es precisam<strong>en</strong>te lo que hace refer<strong>en</strong>ciar el<br />
ICAT con el HCI.<br />
Para el diseño <strong>de</strong>l ICAT se toman <strong>en</strong> cu<strong>en</strong>ta <strong>la</strong>s directrices citadas por Niels<strong>en</strong><br />
(2002), qui<strong>en</strong> recomi<strong>en</strong>da, <strong>en</strong> primer lugar, <strong>de</strong>terminar el cont<strong>en</strong>ido <strong>de</strong> <strong>la</strong> página <strong>de</strong><br />
inicio según <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> <strong>la</strong>s empresas. Pero, dado que el ICAT no está<br />
diseñado para una empresa <strong>en</strong> particu<strong>la</strong>r se <strong>de</strong>ci<strong>de</strong> dar prioridad a los elem<strong>en</strong>tos que<br />
se consi<strong>de</strong>ra <strong>de</strong>b<strong>en</strong> estar <strong>en</strong> <strong>la</strong> página <strong>de</strong> inicio para b<strong>en</strong>eficio <strong>de</strong>l usuario; <strong>en</strong> esta<br />
página se usan colores <strong>en</strong> distintos tonos, basados siempre <strong>en</strong> <strong>la</strong>s recom<strong>en</strong>daciones <strong>de</strong>
Niels<strong>en</strong>, que recomi<strong>en</strong>da evitar colores fuertes a <strong>la</strong> vista <strong>de</strong>l usuario. En esta página <strong>de</strong><br />
inicio se <strong>en</strong>cu<strong>en</strong>tran también el logotipo <strong>de</strong> <strong>la</strong> herrami<strong>en</strong>ta <strong>en</strong> una tamaño razonable;<br />
el eslogan, para <strong>de</strong>finir explícitam<strong>en</strong>te <strong>la</strong>s activida<strong>de</strong>s <strong>de</strong>l <strong>sitio</strong>; objetos <strong>de</strong> ori<strong>en</strong>tación<br />
para el usuario como cal<strong>en</strong>dario y hora actual, a<strong>de</strong>más los campos requeridos para<br />
<strong>en</strong>trar a <strong>la</strong> herrami<strong>en</strong>ta y el botón <strong>de</strong> ingreso.<br />
La herrami<strong>en</strong>ta está compuesta por dos módulos, uno <strong>de</strong> administración y<br />
asignación <strong>de</strong> activida<strong>de</strong>s, y otro <strong>de</strong> comunicación, <strong>en</strong> éste último, a<strong>de</strong>más <strong>de</strong><br />
permitir <strong>la</strong> interacción <strong>de</strong> los usuarios, permite el monitoreo <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s,<br />
mediante una gráfica, <strong>en</strong> <strong>la</strong> que el usuario ve el estado <strong>de</strong> cada una <strong>de</strong> <strong>la</strong>s fases <strong>de</strong> <strong>la</strong>s<br />
activida<strong>de</strong>s <strong>de</strong>l otro usuario. Actualm<strong>en</strong>te se utiliza el e-mail (correo electrónico) así<br />
como también el MSN; pero <strong>de</strong> alguna manera estas sigu<strong>en</strong> arrastrando <strong>la</strong> variable<br />
que se quería eliminar con <strong>la</strong> creación <strong>de</strong>l ICAT: el costo; variable <strong>de</strong> mucho peso <strong>en</strong><br />
<strong>la</strong>s aplicaciones comerciales, costo que no directam<strong>en</strong>te es por el pago <strong>de</strong> <strong>la</strong>s<br />
lic<strong>en</strong>cias, sino por <strong>la</strong> poca o ninguna libertad con que cu<strong>en</strong>ta el usuario para manejar y<br />
manipu<strong>la</strong>r dichas herrami<strong>en</strong>tas según sus necesida<strong>de</strong>s. La implem<strong>en</strong>tación <strong>de</strong>l ICAT<br />
se logra con <strong>la</strong> utilización <strong>de</strong> software disponibles <strong>en</strong> <strong>la</strong> red (Internet), los cuales son<br />
ampliam<strong>en</strong>te difundidos <strong>en</strong> el área <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> sistemas por ser tecnología con <strong>la</strong><br />
madurez sufici<strong>en</strong>te para ser aplicados acertadam<strong>en</strong>te <strong>en</strong> este proyecto (Tab<strong>la</strong> 1).<br />
Tipo Nombre Características<br />
Servidor<br />
www<br />
Apache Servidor web más empleado <strong>en</strong><br />
el mundo, flexibilidad <strong>de</strong><br />
configuración.<br />
Base <strong>de</strong> MySQL Motor <strong>de</strong> base <strong>de</strong> datos<br />
datos<br />
re<strong>la</strong>cional, compacto y<br />
efici<strong>en</strong>te.<br />
Interfaz HTML L<strong>en</strong>guaje <strong>de</strong> <strong>de</strong>finición <strong>de</strong><br />
formato y cont<strong>en</strong>ido.<br />
Interfaz JavaScript L<strong>en</strong>guaje <strong>de</strong> programación.<br />
Interfaz PHP L<strong>en</strong>guaje <strong>de</strong> programación.<br />
Mo<strong>de</strong><strong>la</strong>do UML Mo<strong>de</strong><strong>la</strong>do <strong>de</strong>l sistema.<br />
Tab<strong>la</strong>1. Software utilizados para el <strong>de</strong>sarrollo <strong>de</strong>l ICAT<br />
La finalidad principal <strong>de</strong> este sistema es proporcionar un <strong>en</strong>torno para trabajo<br />
co<strong>la</strong>borativo que permita a los integrantes <strong>de</strong> un grupo <strong>de</strong> trabajo interactuar <strong>en</strong><br />
tiempo real, asignar, administrar y monitorear <strong>la</strong>s activida<strong>de</strong>s pert<strong>en</strong>eci<strong>en</strong>tes a su<br />
grupo. La herrami<strong>en</strong>ta se ha dividido <strong>en</strong> dos módulos: asignación y monitoreo <strong>de</strong> <strong>la</strong>s<br />
activida<strong>de</strong>s y <strong>de</strong> Comunicación Instantánea. Es bu<strong>en</strong>o ac<strong>la</strong>rar, que cuando se dice que<br />
<strong>la</strong> herrami<strong>en</strong>ta está compuesta por dos módulos, ambos son complem<strong>en</strong>to uno <strong>de</strong>l<br />
otro, por lo que ninguno <strong>de</strong>be ser visto como parte separada.<br />
A continuación se pres<strong>en</strong>tan los módulos que forman el ICAT y <strong>la</strong> información y<br />
opciones que los compon<strong>en</strong> a cada uno (Figuras 1 y 2).
Administración <strong>de</strong><br />
personal<br />
‣ Dar alta nuevo<br />
usuario<br />
‣ Consulta y/o<br />
Cambios<br />
‣ Eliminar<br />
‣ Ver listado <strong>de</strong><br />
personal<br />
Activida<strong>de</strong>s<br />
‣ Asignar<br />
Terminar<br />
‣ Eliminar<br />
‣ Reporte<br />
‣ Reporte gráfico<br />
‣ Mis activida<strong>de</strong>s<br />
Figura 1. Módulo <strong>de</strong> administración y administración <strong>de</strong> tareas.<br />
IM<br />
‣ Selección <strong>de</strong><br />
<strong>de</strong>partam<strong>en</strong>to<br />
‣ Selección <strong>de</strong><br />
usuario<br />
‣ Escribe m<strong>en</strong>saje<br />
‣ Envía m<strong>en</strong>saje<br />
‣ Reporta actividad<br />
‣ Envía archivo<br />
Figura 2. Módulo <strong>de</strong> comunicación instantánea<br />
Con <strong>la</strong> unión <strong>de</strong> los dos módulos se obti<strong>en</strong>e <strong>la</strong>s sigui<strong>en</strong>tes Figura 3, 4 y 5.
Figura 3. V<strong>en</strong>tana <strong>de</strong> inicio.<br />
Figura 4. Sesión iniciada.<br />
Figura 5.V<strong>en</strong>tana inicio IM.
El objetivo <strong>de</strong>l módulo <strong>de</strong> m<strong>en</strong>sajería instantánea <strong>de</strong>l ICAT es; a<strong>de</strong>más, <strong>de</strong> permitir<br />
<strong>la</strong> interacción <strong>en</strong>tre los integrantes <strong>de</strong> un grupo <strong>de</strong> trabajo, <strong>la</strong> visualización gráfica <strong>de</strong>l<br />
estado o alcance <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s asignadas a un usuario. Esta opción se obti<strong>en</strong>e <strong>en</strong><br />
tiempo real, dado que éste módulo cu<strong>en</strong>ta con gráfica (Gantt) <strong>en</strong> <strong>la</strong> parte superior <strong>de</strong><br />
cada v<strong>en</strong>tana <strong>de</strong> conversación. En <strong>la</strong> que se muestra el estado <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s <strong>de</strong>l<br />
usuario receptor. De modo que se ti<strong>en</strong>e <strong>en</strong> una misma v<strong>en</strong>tana <strong>la</strong> opción <strong>de</strong><br />
interactuar y <strong>de</strong> monitorear alcance o atraso <strong>la</strong>s activida<strong>de</strong>s según el tiempo<br />
programado <strong>de</strong> inicio y fin <strong>de</strong> cada una (ver Figura 6). En ésta grafica, los elem<strong>en</strong>tos<br />
<strong>en</strong> rojo repres<strong>en</strong>tan el inicio, azul con palomita los días reportados, y los grises <strong>la</strong><br />
duración <strong>de</strong> <strong>la</strong> actividad.<br />
Figura 6. V<strong>en</strong>tana <strong>de</strong> Comunicación Instantánea.<br />
3.1 Prueba informal <strong>de</strong> <strong>la</strong> herrami<strong>en</strong>ta<br />
Una vez concluida <strong>la</strong> implem<strong>en</strong>tación y <strong>la</strong> revisión por el autor, para fines<br />
<strong>de</strong> probar<strong>la</strong> se lleva a cabo un caso <strong>de</strong> estudio con un empresa hipotética, <strong>en</strong><br />
<strong>la</strong> que se realizó un Proyecto para ser terminado <strong>en</strong> dos semanas, con un<br />
número <strong>de</strong> 7 personas a <strong>la</strong>s cuales se le sugirió hacer uso <strong>de</strong>l ICAT como<br />
herrami<strong>en</strong>ta <strong>de</strong> trabajo. Finalm<strong>en</strong>te, se aplicaron cuestionarios con fin <strong>de</strong><br />
evaluar el diseño, utilidad y usabilidad <strong>de</strong> <strong>la</strong> herrami<strong>en</strong>ta. Los resultados<br />
m<strong>en</strong>os favorables fueron con respeto al diseño, situación que no es para<br />
preocuparse <strong>de</strong>l todo, dado que cada persona ti<strong>en</strong>e una percepción distinta<br />
para el diseño; con re<strong>la</strong>ción a <strong>la</strong> utilidad y usabilidad, se pue<strong>de</strong> concluir, que<br />
el objetivo que <strong>de</strong> crear una herrami<strong>en</strong>ta para administrar y comunicar grupos<br />
<strong>de</strong> trabajo se ha cumplido satisfactoriam<strong>en</strong>te.
4. Conclusiones<br />
La información constituye una valiosa herrami<strong>en</strong>ta <strong>en</strong> <strong>la</strong> p<strong>la</strong>neación <strong>de</strong> proyectos<br />
<strong>en</strong> <strong>en</strong>tornos co<strong>la</strong>borativos, y mucho más <strong>la</strong> facilidad <strong>de</strong> contar con un medio que<br />
permite el intercambio <strong>de</strong> dicha información. Por esta razón se <strong>de</strong>sarrolló el ICAT,<br />
una herrami<strong>en</strong>ta para trabajo <strong>de</strong> grupo <strong>en</strong> un <strong>en</strong>torno co<strong>la</strong>borativo, ésta hace posible <strong>la</strong><br />
interacción <strong>en</strong>tre los usuarios, el seguimi<strong>en</strong>to <strong>de</strong> <strong>la</strong>s tareas que conforman un<br />
proyecto, reportes gráficos <strong>de</strong> los avances <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s, etc.<br />
5. Agra<strong>de</strong>cimi<strong>en</strong>tos<br />
Cuando surge <strong>la</strong> i<strong>de</strong>a <strong>de</strong> crear una herrami<strong>en</strong>ta multip<strong>la</strong>taforma que integre el<br />
concepto <strong>de</strong> comunicación instantánea y administración <strong>de</strong> tareas <strong>en</strong> grupos <strong>de</strong><br />
trabajo, existe <strong>la</strong> limitante <strong>de</strong> que se cu<strong>en</strong>ta con <strong>la</strong>s i<strong>de</strong>as, pero no se ti<strong>en</strong>e <strong>la</strong> forma <strong>de</strong><br />
ord<strong>en</strong>ar<strong>la</strong>s <strong>de</strong> modo que se puedan crear fases para ir evaluando <strong>la</strong> materialización <strong>de</strong><br />
<strong>la</strong> i<strong>de</strong>a inicial. Es ahí don<strong>de</strong> <strong>en</strong>tran personas como el ing<strong>en</strong>iero Pedro Fernando Mir,<br />
el M.C Armando Román Gal<strong>la</strong>rdo, el Ing. Omar Chávez qui<strong>en</strong>es han co<strong>la</strong>borado <strong>de</strong><br />
manera muy estrecha <strong>en</strong> el <strong>de</strong>sarrollo, prueba y evaluación <strong>de</strong> <strong>la</strong> herrami<strong>en</strong>ta ICAT.<br />
6. Refer<strong>en</strong>cias<br />
[1] H. Koontz and H. Weihrich, Administracion una perspectiva global, 11 ed.<br />
México: Mc-Graw Hill, 1998.<br />
[2] A. DIAZ M., "E-business: Tecnología <strong>de</strong> información y re<strong>de</strong>s <strong>de</strong> negocios,"<br />
Debates IESA, vol. V, 2000.<br />
[3] V. M. González González, "«Dinámica <strong>de</strong> Grupos Electrónicos».,"<br />
Soluciones Avanzadas., vol. Año 7, ., pp. 22-24, 1999.<br />
[4] E. Issacs, A. Wal<strong>en</strong>dowski, and D. Ranganthan, "Hubbub: A sound<strong>en</strong>hanced<br />
mobile mess<strong>en</strong>ger that supports awar<strong>en</strong>ess and oportunistic<br />
interactions,", vol. 4, pp. 179-185, 2002.<br />
[5] Hewett, Baecker, Card, Carey, Gas<strong>en</strong>, Mantei, Perlman, S. and, and<br />
Verp<strong>la</strong>nk, "ACM SIGCHI Curricu<strong>la</strong> for Human-Computer Interaction,"<br />
ACM SIGCHI, pp. 5, 2002.<br />
Los autores<br />
Val<strong>de</strong>z Batista, Ironelis ing_val<strong>de</strong>z_b@yahoo.com<br />
Profesora <strong>de</strong> <strong>la</strong> Universidad C<strong>en</strong>tral <strong>de</strong>l Este (UCE). Maestra <strong>en</strong> Ci<strong>en</strong>cias, área<br />
Telemática. Universidad <strong>de</strong> Colima, Colima, Col. México.<br />
Contreras-Castillo, Juan juancont@ucol.mx<br />
Profesor-investigador <strong>de</strong> tiempo completo <strong>de</strong> <strong>la</strong> Facultad <strong>de</strong> Telemática (Universidad<br />
<strong>de</strong> Colima), Colima, Col. México.<br />
Barreto Pa<strong>la</strong>cios, Gerardo grardbato@yahoo.mx<br />
Estudiante <strong>de</strong> <strong>la</strong> Facultad <strong>de</strong> Telemática Universidad <strong>de</strong> Colima.
Kar<strong>en</strong> Cortés Verdín 1 , Ángeles Sumano López 1 , Dolores Vargas Cerdán 2<br />
1 Facultad <strong>de</strong> Estadística e Informática, Universidad Veracruzana, Av. Xa<strong>la</strong>pa s/n,<br />
2 Organo <strong>de</strong> Fiscalización Superior <strong>de</strong>l Estado <strong>de</strong> Veracruz, Av<strong>en</strong>ida Arco Sur s/n, Xa<strong>la</strong>pa,<br />
Ver. kcortes@uv.mx, asumano52@yahoo.com, mdvargasc@hotmail.com<br />
<br />
Áncora is a methodology for Requirem<strong>en</strong>t<br />
Engineering with ori<strong>en</strong>tation to user involvem<strong>en</strong>t,<br />
which inclu<strong>de</strong>s linguistics, psychosocial<br />
and p<strong>la</strong>nning aspects. As usability is a key<br />
quality factor for software <strong>de</strong>velopm<strong>en</strong>t, some<br />
elem<strong>en</strong>ts of Usability Engineering where inclu<strong>de</strong>d<br />
in Áncora´s lifecycle. During the<br />
<strong>de</strong>velopm<strong>en</strong>t of several case studies, it was<br />
possible to state the feasibility of introducing<br />
usability elem<strong>en</strong>ts within <strong>de</strong> first stage of<br />
software <strong>de</strong>velopm<strong>en</strong>t.<br />
<br />
Áncora es una metodología <strong>de</strong> Ing<strong>en</strong>iería <strong>de</strong> Requerimi<strong>en</strong>tos<br />
con ori<strong>en</strong>tación al usuario que<br />
incluye aspectos lingüísticos, psico-sociales y <strong>de</strong><br />
p<strong>la</strong>neación. Debido a que <strong>la</strong> usabilidad es un<br />
factor c<strong>la</strong>ve para el <strong>de</strong>sarrollo <strong>de</strong> software, algunos<br />
elem<strong>en</strong>tos <strong>de</strong> Ing<strong>en</strong>iería <strong>de</strong> Usabilidad se<br />
incluyeron d<strong>en</strong>tro <strong>de</strong>l ciclo <strong>de</strong> vida <strong>de</strong> Áncora.<br />
Durante el <strong>de</strong>sarrollo <strong>de</strong> varios sistemas, fue posible<br />
<strong>de</strong>terminar <strong>la</strong> factibilidad <strong>de</strong> introducir<br />
elem<strong>en</strong>tos <strong>de</strong> usabilidad <strong>en</strong> <strong>la</strong> primera etapa <strong>de</strong>l<br />
<strong>de</strong>sarrollo <strong>de</strong> software.<br />
Usabilidad, requerimi<strong>en</strong>tos, metas <strong>de</strong> usabilidad, evaluación, prototipo<br />
<br />
La usabilidad es uno <strong>de</strong> los aspectos m<strong>en</strong>os cuidados cuando se <strong>de</strong>sarrol<strong>la</strong> un sistema<br />
<strong>de</strong> software, una <strong>de</strong> <strong>la</strong>s razones principales es <strong>la</strong> falta <strong>de</strong> tiempo <strong>de</strong> los <strong>de</strong>sarrol<strong>la</strong>dores.<br />
Por lo anterior <strong>en</strong> este trabajo se muestra una forma <strong>de</strong> incluir <strong>la</strong> usabilidad <strong>de</strong>s<strong>de</strong> <strong>la</strong><br />
primera etapa <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> software, <strong>la</strong> <strong>de</strong> establecimi<strong>en</strong>to <strong>de</strong> requerimi<strong>en</strong>tos.<br />
Áncora es una metodología <strong>de</strong> Ing<strong>en</strong>iería <strong>de</strong> Requerimi<strong>en</strong>tos, abarca <strong>la</strong> obt<strong>en</strong>ción y<br />
análisis <strong>de</strong> requerimi<strong>en</strong>tos <strong>de</strong> software, que conjunta métodos computacionales, psicosociales,<br />
<strong>de</strong> p<strong>la</strong>neación y lingüísticos. Dada su ori<strong>en</strong>tación al usuario se <strong>de</strong>cidió incluir<br />
<strong>en</strong> Áncora algunas estrategias que permitan <strong>de</strong>terminar aspectos <strong>de</strong> usabilidad a <strong>la</strong> par<br />
que se realiza <strong>la</strong> especificación <strong>de</strong> requerimi<strong>en</strong>tos. Después <strong>de</strong> una revisión <strong>de</strong> métodos<br />
y técnicas para <strong>la</strong> <strong>de</strong>finición <strong>de</strong> usabilidad propuestos por varios autores y <strong>de</strong> su aplicación<br />
<strong>en</strong> varios sistemas, <strong>en</strong> este trabajo se pres<strong>en</strong>ta <strong>la</strong> inclusión, <strong>en</strong> Áncora, <strong>de</strong> los<br />
elem<strong>en</strong>tos ya probados.<br />
El trabajo se divi<strong>de</strong> como sigue: <strong>en</strong> <strong>la</strong> sección uno se dan <strong>la</strong> <strong>de</strong>finición <strong>de</strong> Ing<strong>en</strong>iería<br />
<strong>de</strong> Usabilidad (IU) y <strong>la</strong>s etapas <strong>de</strong> su ciclo vida, <strong>en</strong> <strong>la</strong> sección dos una breve<br />
<strong>de</strong>scripción <strong>de</strong> <strong>la</strong> metodología Áncora, <strong>en</strong> <strong>la</strong> sección tres se <strong>de</strong>scribe cómo perfi<strong>la</strong>r al<br />
usuario adaptando dos <strong>de</strong> los artefactos <strong>de</strong> <strong>la</strong> Áncora, <strong>en</strong> <strong>la</strong> sección cuatro se muestra<br />
cómo establecer requerimi<strong>en</strong>tos y metas <strong>de</strong> usabilidad agregando dos nuevos artefactos<br />
a Áncora, <strong>en</strong> <strong>la</strong>s secciones cuatro y cinco se seña<strong>la</strong> cómo se aplican <strong>la</strong>s metas <strong>de</strong> usabilidad<br />
<strong>en</strong> <strong>la</strong> construcción <strong>de</strong>l prototipo y su respectiva evaluación.
Una característica importante que <strong>de</strong>be mostrar un sistema <strong>de</strong> software es <strong>la</strong> usabilidad.<br />
Un sistema <strong>de</strong> software pue<strong>de</strong> t<strong>en</strong>er varias características <strong>de</strong> calidad como: r<strong>en</strong>dimi<strong>en</strong>to,<br />
efici<strong>en</strong>cia, correctez y robustez; pero si no es fácil <strong>de</strong> usar, no será bi<strong>en</strong> empleado<br />
por sus usuarios y por lo tanto, nunca podrá ser aprovechado <strong>en</strong> su totalidad.<br />
La usabilidad <strong>de</strong>termina hasta qué punto un sistema pue<strong>de</strong> ser empleado por sus<br />
usuarios, <strong>de</strong> tal manera que los apoye <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> sus activida<strong>de</strong>s y <strong>en</strong> el logro<br />
<strong>de</strong> sus metas. Tanto Niels<strong>en</strong> [3] como Shnei<strong>de</strong>rman [4] <strong>de</strong>fin<strong>en</strong> <strong>la</strong> usabilidad, <strong>en</strong> términos<br />
<strong>de</strong> cinco factores o propieda<strong>de</strong>s <strong>de</strong>l sistema con los cuales interactuará el usuario:<br />
1. Facilidad <strong>de</strong> apr<strong>en</strong>dizaje, <strong>de</strong> manera que el usuario rápidam<strong>en</strong>te pueda trabajar<br />
con el sistema.<br />
2. Efici<strong>en</strong>cia, es <strong>de</strong>cir que una vez que el usuario ha apr<strong>en</strong>dido a usar el sistema, él<br />
pueda obt<strong>en</strong>er un alto nivel <strong>de</strong> productividad.<br />
3. Facilidad <strong>de</strong> ret<strong>en</strong>ción. Las opciones y operaciones son fáciles le ret<strong>en</strong>er.<br />
4. Baja incid<strong>en</strong>cia <strong>de</strong> errores, o sea que el sistema t<strong>en</strong>ga un bajo nivel <strong>de</strong> errores.<br />
5. Satisfacción. Debe ser agradable <strong>de</strong> usar, <strong>de</strong> manera que los usuarios se si<strong>en</strong>tan<br />
satisfechos al usarlo.<br />
La IU consiste <strong>en</strong> una serie <strong>de</strong> activida<strong>de</strong>s a <strong>de</strong>sarrol<strong>la</strong>r a lo <strong>la</strong>rgo <strong>de</strong>l ciclo <strong>de</strong> vida<br />
<strong>de</strong>l sistema con un especial énfasis <strong>en</strong> involucrar al usuario <strong>de</strong>s<strong>de</strong> <strong>la</strong>s primeras etapas<br />
<strong>de</strong>l mismo [3]. Los aspectos más importantes para <strong>la</strong> usabilidad son: <strong>la</strong>s tareas <strong>de</strong> los<br />
usuarios, sus características individuales y sus difer<strong>en</strong>cias. La IU <strong>de</strong>be incorporarse al<br />
proceso <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>l producto <strong>de</strong> software, pues al incluir factores humanos asegura<br />
el impacto positivo <strong>de</strong>l producto <strong>en</strong> sus cli<strong>en</strong>tes. Las etapas <strong>de</strong> <strong>la</strong> IU son:<br />
1. Conocimi<strong>en</strong>to <strong>de</strong>l usuario.<br />
2. Análisis competitivo<br />
3. Establecimi<strong>en</strong>to <strong>de</strong> metas<br />
<strong>de</strong> usabilidad<br />
4. Diseño paralelo.<br />
5. Diseño participativo<br />
6. Diseño coordinado <strong>de</strong> <strong>la</strong><br />
interfaz total.<br />
7. Aplicación <strong>de</strong> lineami<strong>en</strong>tos<br />
y heurísticas <strong>de</strong> análisis.<br />
8. E<strong>la</strong>boración <strong>de</strong> prototipos<br />
9. Diseño iterativo<br />
10. Retroalim<strong>en</strong>tación <strong>de</strong>l uso<br />
<strong>en</strong> campo<br />
<br />
Áncora (álisis <strong>de</strong> Requerimi<strong>en</strong>tos nduc<strong>en</strong>te al euso <strong>de</strong> rtefactos) [5] es una<br />
metodología para <strong>la</strong> Ing<strong>en</strong>iería <strong>de</strong> Requerimi<strong>en</strong>tos, que se basa <strong>en</strong> <strong>la</strong> interacción con los<br />
involucrados <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong>l sistema. Se ha utilizado <strong>en</strong> más <strong>de</strong> cincu<strong>en</strong>ta proyectos<br />
<strong>de</strong> software con muy bu<strong>en</strong>os resultados y con gran satisfacción por parte <strong>de</strong>l<br />
usuario. El elem<strong>en</strong>to que articu<strong>la</strong> a <strong>la</strong> metodología <strong>de</strong> Áncora es el guión, <strong>en</strong> el que<br />
exist<strong>en</strong>: esc<strong>en</strong>as, ut<strong>en</strong>silios y papeles (interpretados por los usuarios <strong>de</strong>l sistema). Un<br />
ejemplo <strong>de</strong> guión es el <strong>de</strong> <strong>la</strong> Figura 1.El ciclo <strong>de</strong> vida <strong>de</strong> Ancora es el sigui<strong>en</strong>te:<br />
1. Ent<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l Dominio y Contexto <strong>de</strong> <strong>la</strong> Aplicación. El objetivo <strong>de</strong> ésta es <strong>de</strong>finir<br />
c<strong>la</strong>ram<strong>en</strong>te <strong>la</strong>s metas <strong>de</strong> <strong>la</strong> empresa, el dominio <strong>de</strong> <strong>la</strong> aplicación, <strong>la</strong>s<br />
activida<strong>de</strong>s que actualm<strong>en</strong>te lleva a cabo <strong>en</strong> el sistema así como <strong>la</strong> justificación <strong>de</strong>l<br />
nuevo sistema.<br />
2. Recolección y c<strong>la</strong>sificación <strong>de</strong> requerimi<strong>en</strong>tos. El producto <strong>de</strong> esta etapa es <strong>la</strong> propuesta<br />
computacional <strong>de</strong>l nuevo sistema.
3. Reuso <strong>de</strong> requerimi<strong>en</strong>tos. Lo que se busca <strong>en</strong> esta etapa es dar al analista recursos<br />
<strong>de</strong> otros sistemas que ya están probados y cuyas especificaciones <strong>de</strong> requerimi<strong>en</strong>tos<br />
se <strong>en</strong>cu<strong>en</strong>tran ya <strong>en</strong> una base <strong>de</strong> datos <strong>de</strong> reuso.<br />
4. Resolución <strong>de</strong> conflictos, priorización y validación <strong>de</strong> requerimi<strong>en</strong>tos. Para ello, se<br />
realizan <strong>la</strong> Reunión <strong>de</strong> Reflexión y Diseño.<br />
5. Cierre. En don<strong>de</strong> se dan pautas al <strong>de</strong>sarrol<strong>la</strong>dor <strong>de</strong> software para pasar a <strong>la</strong>s sigui<strong>en</strong>tes<br />
etapas <strong>de</strong> <strong>de</strong>sarrollo.<br />
Guión: Diagnóstico<br />
Empresarial<br />
Papeles:<br />
AT = Asist<strong>en</strong>te Técnico<br />
CO = Consultor<br />
EMP = Empresa<br />
EM = Empresario o Cli<strong>en</strong>te<br />
DG = Director g<strong>en</strong>eral<br />
CUSEM<br />
Utiles:<br />
R1= Cédu<strong>la</strong> <strong>de</strong> registro <strong>de</strong><br />
consultor<br />
DE = Directorio <strong>de</strong><br />
Empresas<br />
C1= Solicitud <strong>de</strong> consultoría<br />
C2= Formato <strong>de</strong><br />
seguimi<strong>en</strong>to <strong>de</strong> consultoría<br />
Cu = Cuestionario<br />
C = Computadora<br />
Ca = Cañón <strong>de</strong> proyección<br />
RD = Reporte <strong>de</strong><br />
Diagnóstico<br />
R = Recom<strong>en</strong>daciones<br />
P = Propuesta<br />
IC = Indicadores <strong>de</strong><br />
Consultoría<br />
Condiciones <strong>de</strong> <strong>en</strong>trada:<br />
EM quiere mejorar situación<br />
<strong>de</strong> su empresa<br />
CO quiere o pue<strong>de</strong> apoyar<br />
Condiciones <strong>de</strong> salida:<br />
EM establece re<strong>la</strong>ción <strong>de</strong><br />
trabajo con CUSEM o <strong>la</strong><br />
rechaza<br />
Esc<strong>en</strong>a 1: Id<strong>en</strong>tificación <strong>de</strong>l usuario<br />
USU ingresa nombre y contraseña<br />
¿nombre o contraseña incorrecta?<br />
{USU sale o va a esc<strong>en</strong>a1}<br />
USU ingresa al sistema<br />
Esc<strong>en</strong>a 2: Registrar empresa<br />
AT captura datos <strong>de</strong> Empresa <strong>en</strong> DE<br />
Esc<strong>en</strong>a 3: Registrar Consultor<br />
AT captura R1<br />
Esc<strong>en</strong>a 4: Registro <strong>de</strong> C1<br />
AT captura C1<br />
Esc<strong>en</strong>a 5: Registro <strong>de</strong> cita con EM<br />
CO o AT capturan cita<br />
Esc<strong>en</strong>a 6: A<strong>de</strong>cuación <strong>de</strong> CU<br />
CO ingresa al sistema<br />
CO revisa cuestionario y modifica<br />
Esc<strong>en</strong>a 7: Registro <strong>de</strong> respuestas <strong>de</strong> CU<br />
CO registra respuestas a Cu<br />
CO guarda Cu contestado<br />
Esc<strong>en</strong>a 8: E<strong>la</strong>boración <strong>de</strong>l RD<br />
CO e<strong>la</strong>bora RD con resultados <strong>de</strong>l Cu<br />
¿Está incompleto?<br />
{ Ir a <strong>la</strong> esc<strong>en</strong>a 11}<br />
Esc<strong>en</strong>a 9: Actualización respuestas Cu<br />
CO registrao modifica respuestas a Cu<br />
CO guarda Cu contestado<br />
Esc<strong>en</strong>a 10: E<strong>la</strong>boración <strong>de</strong>l RD<br />
CO e<strong>la</strong>bora RD con resultados <strong>de</strong>l Cu<br />
Esc<strong>en</strong>a 11: Revisión <strong>de</strong>l RD<br />
CO <strong>en</strong>trega RD para revisión a DG<br />
DG revisa RD y hace observaciones<br />
CO realiza modificaciones al RD<br />
Esc<strong>en</strong>a 12: E<strong>la</strong>boración <strong>de</strong> R y P<br />
CO e<strong>la</strong>bora R y P para EM usando RD<br />
Esc<strong>en</strong>a 13: Seguimi<strong>en</strong>to<br />
AT o CO registra C2<br />
Esc<strong>en</strong>a 14: Obt<strong>en</strong>ción <strong>de</strong> Indicadores<br />
AT o DG consultan/imprim<strong>en</strong> IC<br />
<br />
<br />
<br />
Durante <strong>la</strong> etapa 1 <strong>de</strong> Áncora, se llevaron acabo algunas <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s <strong>de</strong> IU necesarias<br />
para <strong>de</strong>terminar los roles y perfiles <strong>de</strong> usuarios. En <strong>la</strong> segunda etapa, <strong>de</strong><br />
recolección y c<strong>la</strong>sificación <strong>de</strong> requerimi<strong>en</strong>tos, al realizar el guión <strong>de</strong> <strong>la</strong> propuesta computacional<br />
(se ve un ejemplo <strong>en</strong> <strong>la</strong> Figura 1) se <strong>de</strong>fin<strong>en</strong> <strong>la</strong>s metas <strong>de</strong> usabilidad <strong>de</strong>l<br />
sistema y se dan pautas para <strong>la</strong> e<strong>la</strong>boración <strong>de</strong>l prototipo rápido. Por último, <strong>en</strong> <strong>la</strong> etapa<br />
<strong>de</strong> resolución <strong>de</strong> conflictos, priorización y validación <strong>de</strong> requerimi<strong>en</strong>tos se propone incluir<br />
lo correspondi<strong>en</strong>te a los requerimi<strong>en</strong>tos <strong>de</strong> usabilidad.
La primera etapa <strong>de</strong>l ciclo <strong>de</strong> <strong>la</strong> IU es realizar un estudio <strong>de</strong> usuarios, el objetivo es<br />
<strong>de</strong>terminar <strong>la</strong>s características individuales <strong>de</strong> los usuarios, los roles o papeles <strong>de</strong>sempeñados<br />
por los usuarios así como <strong>la</strong> variabilidad <strong>en</strong> <strong>la</strong>s tareas, que son los factores que<br />
impactan directam<strong>en</strong>te <strong>en</strong> <strong>la</strong> usabilidad. Áncora ya realiza un análisis <strong>de</strong> tareas mediante<br />
los guiones <strong>de</strong> <strong>la</strong> situación actual y <strong>de</strong> <strong>la</strong> propuesta computacional que obti<strong>en</strong>e el<br />
analista <strong>de</strong>spués <strong>de</strong> establecer contacto con los usuarios mediante observación, y aplicación<br />
<strong>de</strong> 4 tarjetas, para <strong>la</strong> Red Semántica Natural <strong>de</strong>l Dominio <strong>de</strong> <strong>la</strong> aplicación, y <strong>de</strong><br />
<strong>la</strong> <strong>en</strong>cuesta <strong>de</strong> actitud. Aprovechando este mom<strong>en</strong>to, se incluyó una tarjeta adicional<br />
para que los usuarios, <strong>en</strong> forma anónima, list<strong>en</strong> <strong>la</strong> paquetería o sistemas que han empleado,<br />
jerarquizándolos <strong>en</strong> cuanto a gusto y experi<strong>en</strong>cia <strong>en</strong> <strong>la</strong> paquetería o sistemas.<br />
Posteriorm<strong>en</strong>te, <strong>en</strong> Áncora, se aplica <strong>la</strong> <strong>en</strong>cuesta <strong>de</strong> actitud, cuyos objetivos son:<br />
<strong>de</strong>tectar <strong>la</strong> actitud que los usuarios ti<strong>en</strong><strong>en</strong> hacia <strong>la</strong> ev<strong>en</strong>tualidad <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> un<br />
nuevo software y <strong>la</strong> <strong>de</strong>tección <strong>de</strong> los principales problemas. Conjuntam<strong>en</strong>te, para fines<br />
<strong>de</strong> usabilidad, se aplica un cuestionario para <strong>la</strong> <strong>de</strong>finición <strong>de</strong> perfiles <strong>de</strong> usuarios que<br />
conti<strong>en</strong>e, principalm<strong>en</strong>te, preguntas sobre: edad, nivel <strong>de</strong> preparación, ocupación, gustos,<br />
motivación, conocimi<strong>en</strong>to <strong>de</strong>l dominio <strong>de</strong> aplicación y experi<strong>en</strong>cia <strong>en</strong> el manejo <strong>de</strong><br />
cómputo e Internet. Estos datos se resum<strong>en</strong> <strong>en</strong> un instrum<strong>en</strong>to <strong>en</strong> Excel diseñado <strong>de</strong><br />
acuerdo a [2], el cual permitirá <strong>de</strong>terminará los requerimi<strong>en</strong>tos <strong>de</strong> usabilidad. Con los<br />
resultados <strong>de</strong>l cuestionario, se proce<strong>de</strong> al establecimi<strong>en</strong>to <strong>de</strong> metas <strong>de</strong> usabilidad.<br />
<br />
Una vez que se han <strong>de</strong>terminado los requerimi<strong>en</strong>tos <strong>de</strong> usabilidad, éstos se re<strong>la</strong>cionan<br />
con cada una <strong>de</strong> <strong>la</strong>s tareas analizadas. Como ya se ti<strong>en</strong>e realizado el estudio <strong>de</strong> usuarios<br />
y ya se conoc<strong>en</strong> los perfiles <strong>de</strong> éstos, se pued<strong>en</strong> <strong>de</strong>terminar fácilm<strong>en</strong>te cuales serán los<br />
requerimi<strong>en</strong>tos <strong>de</strong> usabilidad que <strong>la</strong> aplicación <strong>de</strong>berá cumplir para <strong>de</strong>terminada tarea<br />
(esc<strong>en</strong>a <strong>de</strong>l guión o caso <strong>de</strong> uso).<br />
<br />
: Registrar Empresa - Capacidad <strong>de</strong> captura rápida <strong>de</strong> datos <br />
- Validación <strong>de</strong> datos<br />
- Ayuda <strong>en</strong> línea<br />
- Soporte para interrupciones<br />
- Retroalim<strong>en</strong>tación<br />
- Capacidad <strong>de</strong> <strong>de</strong>shacer<br />
Registrar Consultor - Capacidad <strong>de</strong> captura rápida <strong>de</strong> datos<br />
- Validación <strong>de</strong> datos<br />
- Soporte para interrupciones<br />
- Retroalim<strong>en</strong>tación<br />
- Capacidad <strong>de</strong> <strong>de</strong>shacer<br />
<br />
<br />
<br />
Para cada una <strong>de</strong> <strong>la</strong>s esc<strong>en</strong>as <strong>de</strong>l guión <strong>de</strong> <strong>la</strong> propuesta computacional se agregan seis<br />
columnas, <strong>la</strong> primera con <strong>la</strong>s características que <strong>la</strong> interfaz <strong>de</strong>berá t<strong>en</strong>er, <strong>la</strong>s cuales se<br />
obti<strong>en</strong><strong>en</strong> a partir <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s <strong>de</strong>scritas por <strong>la</strong> esc<strong>en</strong>a correspondi<strong>en</strong>te, cada una
<strong>de</strong> <strong>la</strong>s cinco columnas restantes correspon<strong>de</strong> un requerimi<strong>en</strong>to <strong>de</strong> usabilidad <strong>de</strong> los propuestos<br />
por [3] y se coloca una marca <strong>en</strong> el requerimi<strong>en</strong>tos si, <strong>de</strong> acuerdo a lo<br />
<strong>en</strong>contrado <strong>en</strong> el estudio <strong>de</strong> usuarios, dicho factor es importante para <strong>la</strong> esc<strong>en</strong>a. En <strong>la</strong><br />
Tab<strong>la</strong> 1 se muestra un ejemplo <strong>de</strong>l guión con <strong>la</strong>s columnas <strong>de</strong> características y requerimi<strong>en</strong>tos<br />
<strong>de</strong> usabilidad por esc<strong>en</strong>a <strong>de</strong>l guión <strong>de</strong> <strong>la</strong> Figura 1. Para cada una <strong>de</strong> <strong>la</strong>s esc<strong>en</strong>as<br />
y para cada uno <strong>de</strong> los requerimi<strong>en</strong>tos <strong>de</strong> usabilidad marcados, se <strong>de</strong>fin<strong>en</strong> <strong>la</strong>s metas <strong>de</strong><br />
usabilidad, “una meta <strong>de</strong> usabilidad significativam<strong>en</strong>te establecida es aquel<strong>la</strong> que es<br />
exitosa al comunicar con <strong>la</strong> m<strong>en</strong>or ambigüedad posible, un int<strong>en</strong>to <strong>de</strong>l equipo <strong>de</strong> <strong>de</strong>sarrollo<br />
<strong>de</strong>l producto <strong>de</strong> <strong>en</strong>tregar un sistema usable” [6]. Hay tres compon<strong>en</strong>tes <strong>en</strong> una<br />
meta <strong>de</strong> usabilidad: 1) Desempeño, ¿qué <strong>de</strong>be po<strong>de</strong>r hacer el usuario?, 2) Circunstancias,<br />
¿bajo que condiciones <strong>de</strong>be el usuario ser capaz <strong>de</strong> hacerlo?, 3) Criterios, ¿qué tan<br />
bi<strong>en</strong> <strong>de</strong>be hacerse?<br />
Muchas <strong>de</strong> <strong>la</strong>s metas <strong>de</strong> usabilidad se obti<strong>en</strong><strong>en</strong> <strong>de</strong>l análisis <strong>de</strong> tareas propuestas <strong>en</strong><br />
[1]. Para cada meta se construye una tab<strong>la</strong> (ver Tab<strong>la</strong> 2), <strong>la</strong> cual correspon<strong>de</strong> al requerimi<strong>en</strong>to<br />
efici<strong>en</strong>cia <strong>de</strong> <strong>la</strong> Esc<strong>en</strong>a 2 <strong>de</strong>l sistema <strong>de</strong> diagnóstico empresarial (Figura 1). Es<br />
útil <strong>de</strong>finir los criterios <strong>de</strong> éxito <strong>en</strong> tres niveles, ya que <strong>de</strong>terminan un mecanismo <strong>de</strong><br />
medición para <strong>la</strong> meta, lo que a su vez permite p<strong>la</strong>near <strong>la</strong>s pruebas <strong>de</strong> usabilidad. De<br />
esta manera, el último r<strong>en</strong>glón permite s<strong>en</strong>tar <strong>la</strong>s bases para <strong>la</strong> etapa <strong>de</strong> evaluación. Al<br />
<strong>de</strong>finir los criterios, <strong>de</strong>be t<strong>en</strong>erse <strong>en</strong> m<strong>en</strong>te: 1) al usuario no al producto [1] y 2) que no<br />
todos los criterios aplican igual a todas <strong>la</strong>s metas ni los valores <strong>en</strong> cada nivel pued<strong>en</strong><br />
ser los mismos para todas el<strong>la</strong>s.<br />
<br />
Efici<strong>en</strong>cia<br />
¿Quién?<br />
Asist<strong>en</strong>te Técnico<br />
¿Qué <strong>de</strong>be po<strong>de</strong>r hacer el Capturar toda <strong>la</strong> información <strong>de</strong> <strong>la</strong> empresa <strong>en</strong> el sistema<br />
usuario?<br />
¿Bajo qué condiciones 1) t<strong>en</strong>ga todos los recursos a <strong>la</strong> mano, 2) haya recibido capacitación<br />
<strong>de</strong>be po<strong>de</strong>r realizarlo? previa o haya leído previam<strong>en</strong>te el manual <strong>de</strong> usuario<br />
¿Cuáles son los criterios Excel<strong>en</strong>te Aceptable Inaceptable<br />
<strong>de</strong> éxito? 3 minutos 5 minutos Más <strong>de</strong> 5 minutos<br />
¿Qué método <strong>de</strong> evaluación<br />
se empleará? captura y se tomará el tiempo <strong>de</strong> terminación exitosa <strong>de</strong> <strong>la</strong><br />
Se les <strong>en</strong>tregará un formato con información <strong>de</strong> <strong>la</strong> empresa para su<br />
tarea.<br />
<br />
<br />
Una vez que están <strong>de</strong>finidas <strong>la</strong>s metas <strong>de</strong> usabilidad, se proce<strong>de</strong> al diseño <strong>de</strong> <strong>la</strong> interfaz.<br />
Para ello, exist<strong>en</strong> diversas maneras, <strong>en</strong>tre el<strong>la</strong>s el diseño participativo [3] con <strong>la</strong> ayuda<br />
<strong>de</strong> prototipos. Así que, se aprovechó que d<strong>en</strong>tro <strong>de</strong>l ciclo <strong>de</strong> vida <strong>de</strong> Áncora existe <strong>la</strong><br />
actividad <strong>de</strong> <strong>la</strong> construcción <strong>de</strong>l prototipo <strong>en</strong> papel (el manual preliminar <strong>de</strong>l usuario).<br />
Este método resultó <strong>de</strong> gran ayuda tanto para los <strong>de</strong>sarrol<strong>la</strong>dores como para los usuarios.<br />
Para estos últimos, al t<strong>en</strong>er una interfaz <strong>en</strong> papel con <strong>la</strong> explicación completa <strong>de</strong><br />
su funcionami<strong>en</strong>to, les es más fácil hacer sus observaciones o propuestas directam<strong>en</strong>te<br />
<strong>en</strong> el papel y para el <strong>de</strong>sarrol<strong>la</strong>dor porque pue<strong>de</strong> <strong>de</strong>tectar y corregir <strong>la</strong>s observaciones<br />
hechas por los usuarios sin estar ellos pres<strong>en</strong>tes. Así, se pue<strong>de</strong> iterar tantas veces como
se consi<strong>de</strong>re necesario hasta que el <strong>de</strong>sarrol<strong>la</strong>dor t<strong>en</strong>ga c<strong>la</strong>ras <strong>la</strong>s características que <strong>la</strong><br />
interfaz <strong>de</strong>ba t<strong>en</strong>er.<br />
Por otra parte, <strong>en</strong> <strong>la</strong> construcción <strong>de</strong>l prototipo Áncora <strong>de</strong>fine que, para sistemas <strong>de</strong><br />
un solo guión, cada esc<strong>en</strong>a <strong>de</strong> <strong>la</strong> propuesta computacional será una opción <strong>en</strong> <strong>la</strong> barra<br />
<strong>de</strong> m<strong>en</strong>ús (o <strong>de</strong> primer nivel) y <strong>la</strong>s acciones d<strong>en</strong>tro <strong>de</strong> cada esc<strong>en</strong>a (quintetas) correspond<strong>en</strong><br />
a m<strong>en</strong>ús Pop-up o <strong>de</strong> segundo nivel.<br />
La primera <strong>de</strong> <strong>la</strong>s evaluaciones <strong>de</strong> los requerimi<strong>en</strong>tos <strong>de</strong> usabilidad, bajo esta propuesta,<br />
se lleva a cabo <strong>en</strong> <strong>la</strong> Reunión <strong>de</strong> Reflexión y Diseño (RRD) [5] d<strong>en</strong>tro <strong>de</strong>l ciclo<br />
<strong>de</strong> vida <strong>de</strong> Áncora. La RRD ayuda a jerarquizar y validar los requerimi<strong>en</strong>tos <strong>de</strong>l software,<br />
por lo que se agrega un punto adicional sobre <strong>la</strong> opinión <strong>de</strong> los usuarios acerca <strong>de</strong><br />
<strong>la</strong> interfaz <strong>de</strong>l prototipo <strong>en</strong> papel. Los aspectos que se consi<strong>de</strong>ran fueron: 1) opinión<br />
acerca <strong>de</strong> <strong>la</strong> disposición <strong>de</strong> <strong>la</strong>s opciones <strong>de</strong> <strong>la</strong> interfaz, 2) <strong>de</strong>spliegue <strong>de</strong> resultados, colores<br />
empleados y 3) secu<strong>en</strong>cia lógica <strong>de</strong> operaciones. Esto ha permitido obt<strong>en</strong>er<br />
bu<strong>en</strong>as i<strong>de</strong>as para el diseño <strong>de</strong> <strong>la</strong> interfaz y <strong>de</strong>terminar los puntos comunes <strong>en</strong>tre todos<br />
los usuarios, lo que ha facilitado <strong>la</strong> aceptación <strong>de</strong>l sistema.<br />
<br />
Como una primera evaluación sobre <strong>la</strong> introducción <strong>de</strong> elem<strong>en</strong>tos <strong>de</strong> usabilidad <strong>en</strong> <strong>la</strong><br />
fase <strong>de</strong> requerimi<strong>en</strong>tos, se llevó a cabo una <strong>en</strong>cuesta <strong>de</strong> usabilidad, basada <strong>en</strong> <strong>la</strong> propuesta<br />
[4], <strong>de</strong> los productos terminados. Se observó que <strong>la</strong> usabilidad <strong>en</strong> ellos aum<strong>en</strong>tó,<br />
logrando m<strong>en</strong>sajes más c<strong>la</strong>ros, mejorándolos estéticam<strong>en</strong>te y manejando el l<strong>en</strong>guaje <strong>de</strong>l<br />
usuario. Sin embargo, ti<strong>en</strong><strong>en</strong> calificación media <strong>en</strong> algunos puntos como son: <strong>la</strong>s ayudas<br />
y <strong>la</strong> facilidad <strong>de</strong> apr<strong>en</strong>dizaje.<br />
Al haber trabajado elem<strong>en</strong>tos <strong>de</strong> usabilidad junto con <strong>la</strong> Ing<strong>en</strong>iería <strong>de</strong> Requerimi<strong>en</strong>tos<br />
mediante Áncora se logró <strong>de</strong>tectar <strong>la</strong> necesidad <strong>de</strong> formalizar el proceso <strong>de</strong><br />
usabilidad, ya que <strong>la</strong>s a<strong>de</strong>cuaciones realizadas <strong>de</strong> manera experim<strong>en</strong>tal arrojaron bu<strong>en</strong>os<br />
resultados. Se pres<strong>en</strong>tó una primera formalización <strong>de</strong> dicho proceso. Se incluyeron<br />
<strong>en</strong> el ciclo <strong>de</strong> vida <strong>de</strong> Áncora <strong>la</strong>s activida<strong>de</strong>s correspondi<strong>en</strong>tes a: los perfiles <strong>de</strong> usuarios,<br />
establecimi<strong>en</strong>to <strong>de</strong> requerimi<strong>en</strong>tos, metas <strong>de</strong> usabilidad y diseño y evaluación <strong>de</strong><br />
<strong>la</strong> interfaz propuesta. Se seguirá trabajando para mejorar lo ya realizado e incursionar<br />
<strong>en</strong> los aspectos faltantes <strong>de</strong> <strong>la</strong>s pruebas <strong>de</strong> usabilidad.<br />
<br />
[1] J.S. Dumas, J.C. Redish, J.C. "A practical Gui<strong>de</strong> to Usability Testing", Intellect Ltd, 1999<br />
[2] D. J. Mayhew, "The usability <strong>en</strong>gineering lifecycle: a practitioners approach for user interface<br />
<strong>de</strong>sign", Morgan Kaufmann Publishers, 1999<br />
[3] J. Niels<strong>en</strong>, "Usability Engineering", New York Aca<strong>de</strong>mic Press, 1993.<br />
[4] B. Shnei<strong>de</strong>rman, "Designing the User-Interface", tercera edición, Addison-Wesley, 1997<br />
[5] M. A. Sumano, "Método para el análisis <strong>de</strong> requerimi<strong>en</strong>tos <strong>de</strong> software con <strong>en</strong>foque conjunto<br />
psicológico, social y lingüístico conduc<strong>en</strong>te al reuso", Tesis doctoral, IPN, 2002.<br />
[6] XEROX Corporation. Usability Analysis & Design version 1.0.
Des arrollo <strong>de</strong> un Marco <strong>de</strong> T r abajo para Juegos<br />
M a te mátic o s M ultius uar i os e n un A mbie nte<br />
D i s tr i buido<br />
Adriana Miramontes Rivera, Gabriel López-Morteo, Gilberto López<br />
Departam<strong>en</strong>to <strong>de</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong><br />
C<strong>en</strong>tro <strong>de</strong> Investigación Ci<strong>en</strong>tífica y <strong>de</strong> Educación Superior <strong>de</strong> Ens<strong>en</strong>ada, CICESE.<br />
e -m a i l : a drysm 90@ ya hoo. c om , ga l ope z @ c i c e se . m x, gl ope z @ c i c e se . m x<br />
Km. 107 Carretera Tijuana - Ens<strong>en</strong>ada, Código Postal 22860, Apdo. Postal 2732,<br />
Ens<strong>en</strong>ada, B.C. México.<br />
Abstract: A research project, based on the way to learn mathematics<br />
through Interactive Instructors of Recreational Mathematics (IIRM), is<br />
being <strong>de</strong>veloped nowadays in the Computer Sci<strong>en</strong>ce Departm<strong>en</strong>t of<br />
CICESE. The objective of this task is to make a group of individuals, in<br />
a virtual community, to support each other by means of recreational<br />
activities re<strong>la</strong>ted to everyday situations A Framework (FIIRM) is now<br />
being <strong>de</strong>veloped in or<strong>de</strong>r to set up a well <strong>de</strong>fined technological<br />
p<strong>la</strong>tform, in which its first stage is focused on the construction of<br />
multip<strong>la</strong>yer mathematical games. We consi<strong>de</strong>r that the standardization<br />
in <strong>de</strong>sign and implem<strong>en</strong>tation of the multip<strong>la</strong>yer games is important in<br />
or<strong>de</strong>r to achieve our goal of the fom<strong>en</strong>t of mathematics learning<br />
through the use of the IIRM, in or<strong>de</strong>r to avoid user's confusion by<br />
abrupt changes in quality and features betwe<strong>en</strong> math games within the<br />
system.<br />
Resum<strong>en</strong>: En el Departam<strong>en</strong>to <strong>de</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong> <strong>de</strong><br />
CICESE, se <strong>de</strong>sarrol<strong>la</strong> un proyecto <strong>de</strong> investigación sobre <strong>la</strong> manera<br />
<strong>de</strong> fom<strong>en</strong>tar el apr<strong>en</strong>dizaje <strong>de</strong> <strong>la</strong>s matemáticas a través <strong>de</strong> Instructores<br />
Interactivos <strong>de</strong> Diversiones Matemáticas (IIDM), buscando que <strong>la</strong><br />
co<strong>la</strong>boración <strong>en</strong>tre individuos <strong>de</strong> una comunidad virtual se realice<br />
mediante activida<strong>de</strong>s divertidas y re<strong>la</strong>cionadas con situaciones<br />
cotidianas. Con el objetivo <strong>de</strong> establecer una p<strong>la</strong>taforma tecnológica<br />
bi<strong>en</strong> <strong>de</strong>finida para el <strong>de</strong>sarrollo <strong>de</strong> los IIDM, se inició <strong>la</strong> creación <strong>de</strong><br />
un Framework (FIIDM) <strong>de</strong>l cual, <strong>la</strong> primera etapa <strong>de</strong> su <strong>de</strong>sarrollo<br />
está ori<strong>en</strong>tada <strong>en</strong> a <strong>la</strong> construcción <strong>de</strong> juegos matemáticos<br />
multiusuarios. Consi<strong>de</strong>ramos que el <strong>de</strong>sarrollo <strong>de</strong>l FIDDM es<br />
importante para <strong>la</strong> estandarización <strong>en</strong> el diseño e implem<strong>en</strong>tación <strong>de</strong><br />
los juegos multiusuarios, con el propósito <strong>de</strong> ayudar al <strong>de</strong>sarrol<strong>la</strong>dor<br />
para hacer uso <strong>de</strong> <strong>la</strong>s diversas herrami<strong>en</strong>tas <strong>de</strong> <strong>la</strong> arquitectura <strong>de</strong><br />
soporte y fom<strong>en</strong>tar <strong>la</strong> reutilización <strong>de</strong> compon<strong>en</strong>tes d<strong>en</strong>tro <strong>de</strong> los<br />
IIDM.<br />
Pa<strong>la</strong>bras C<strong>la</strong>ve: Framework, Juegos matemáticos multiusuarios,<br />
sotfware educativo
1. Introducción<br />
Actualm<strong>en</strong>te <strong>en</strong> CICESE se <strong>de</strong>sarrol<strong>la</strong> un proyecto <strong>de</strong> investigación sobre <strong>la</strong> manera<br />
<strong>de</strong> fom<strong>en</strong>tar el apr<strong>en</strong>dizaje <strong>de</strong> <strong>la</strong>s matemáticas a través <strong>de</strong>l uso <strong>de</strong> aplicaciones<br />
ori<strong>en</strong>tadas a <strong>la</strong> educación, a través <strong>de</strong> situaciones cotidianas y divertidas.<br />
D<strong>en</strong>tro <strong>de</strong> este esquema se ha creado el concepto <strong>de</strong> Instructores Interactivos <strong>de</strong><br />
Diversiones Matemáticas (IIDM), <strong>de</strong>finidos como compon<strong>en</strong>tes <strong>de</strong> software<br />
especializados <strong>en</strong> conceptos matemáticos repres<strong>en</strong>tados a través <strong>de</strong> <strong>la</strong>s matemáticas<br />
recreativas [2][3][4][5] y que ti<strong>en</strong><strong>en</strong> una estructura interna basada <strong>en</strong> XML.<br />
En los IIDM se han explorado el uso <strong>de</strong> los juegos multiusuarios bajo <strong>la</strong> perspectiva<br />
<strong>de</strong> que éstos promet<strong>en</strong> convertirse <strong>en</strong> una <strong>de</strong> <strong>la</strong>s aplicaciones más importantes d<strong>en</strong>tro<br />
<strong>de</strong> los ambi<strong>en</strong>tes co<strong>la</strong>borativos [7], buscando que un concepto que <strong>en</strong> <strong>la</strong>s au<strong>la</strong>s<br />
pudiera ser tedioso y por lo tanto difícil <strong>de</strong> apr<strong>en</strong><strong>de</strong>r, se convierta <strong>en</strong> algo más<br />
s<strong>en</strong>cillo y práctico a través <strong>de</strong> añadir elem<strong>en</strong>tos lúdicos y prácticos a <strong>la</strong> educación.<br />
La construcción <strong>de</strong> los IIDM es compleja ya que requiere que el <strong>de</strong>sarrol<strong>la</strong>dor haga<br />
uso <strong>de</strong> elem<strong>en</strong>tos variados para <strong>la</strong> programación, como por ejemplo los mecanismos<br />
<strong>de</strong> inicio y control <strong>de</strong> <strong>la</strong> sesión multiusuarios para <strong>la</strong> programación <strong>de</strong> elem<strong>en</strong>tos <strong>de</strong><br />
interfaces modificadas para el trabajo distribuido. Cada instancia <strong>de</strong> IIDM pue<strong>de</strong><br />
variar <strong>en</strong> aspectos tales como <strong>la</strong>s políticas <strong>de</strong> acceso, <strong>la</strong>s reg<strong>la</strong>s <strong>de</strong> creación <strong>de</strong> juego,<br />
<strong>la</strong>s reg<strong>la</strong>s <strong>de</strong> ejecución <strong>de</strong> juego, los roles que se <strong>de</strong>berán <strong>de</strong>sempeñar d<strong>en</strong>tro <strong>de</strong>l<br />
juego, <strong>la</strong> cantidad <strong>de</strong> jugadores permitidos d<strong>en</strong>tro <strong>de</strong> una aplicación, y <strong>la</strong>s políticas<br />
<strong>de</strong> privacidad <strong>en</strong>tre otras cosas. Esta información es recopi<strong>la</strong>da a través <strong>de</strong> varias<br />
etapas, <strong>en</strong> <strong>la</strong>s cuales el usuario va introduci<strong>en</strong>do <strong>la</strong> información necesaria para<br />
seleccionar y parametrizar su sesión <strong>de</strong> jugador, como por ejemplo si seleccionó<br />
jugar con uno o más usuarios, o se <strong>de</strong>cidió por <strong>la</strong> iniciación <strong>de</strong> una instancia nueva.<br />
En cualquiera <strong>de</strong> éstos dos casos, el usuario t<strong>en</strong>drá que hacer uso también <strong>de</strong><br />
mecanismos para <strong>la</strong> invitación a otros jugadores para participar <strong>en</strong> una sesión <strong>de</strong><br />
juego, si<strong>en</strong>do éste proceso contro<strong>la</strong>do por el sistema cont<strong>en</strong>edor <strong>de</strong> los IIDM.<br />
Debido a esta variedad <strong>de</strong> opciones, <strong>la</strong> arquitectura <strong>de</strong> soporte a los IIDM se vuelve<br />
compleja. Por ello y con el objetivo <strong>de</strong> establecer una p<strong>la</strong>taforma tecnológica bi<strong>en</strong><br />
<strong>de</strong>finida para el <strong>de</strong>sarrollo <strong>de</strong> los IIDM, se ha iniciado <strong>la</strong> creación <strong>de</strong> un Framework<br />
para el Desarrollo <strong>de</strong> Instructores Interactivos <strong>de</strong> Diversiones Matemáticas (FIIDM)<br />
para <strong>la</strong> construcción <strong>de</strong> juegos matemáticos distribuidos y <strong>de</strong> uno o más jugadores.<br />
La construcción <strong>de</strong>l FIIDM está basada <strong>en</strong> compon<strong>en</strong>tes y hace uso <strong>de</strong> patrones <strong>de</strong><br />
diseño para increm<strong>en</strong>tar su pot<strong>en</strong>cial <strong>de</strong> reutilización <strong>de</strong> código. Con el propósito <strong>de</strong><br />
reforzar <strong>la</strong> estandarización <strong>de</strong> mecanismos <strong>en</strong> <strong>la</strong> arquitectura, todas <strong>la</strong>s<br />
comunicaciones intra-compon<strong>en</strong>tes se realizan a través <strong>de</strong> cad<strong>en</strong>as XML.<br />
El FIIDM se apoya <strong>en</strong> el concepto <strong>de</strong> antesa<strong>la</strong>s, <strong>en</strong> don<strong>de</strong> el usuario recibe toda <strong>la</strong><br />
información necesaria para integrarse a una aplicación <strong>en</strong> ejecución o para crear una<br />
nueva <strong>de</strong> cualquiera <strong>de</strong> los juegos ofrecidos <strong>en</strong> el sistema. La información que se<br />
pres<strong>en</strong>ta al usuario para su elección esta dosificada y es <strong>de</strong>p<strong>en</strong>di<strong>en</strong>te tanto <strong>de</strong>l perfil<br />
<strong>de</strong>l usuario como <strong>de</strong> <strong>la</strong>s elecciones que este vaya haci<strong>en</strong>do durante el proceso.<br />
Se espera que con el uso <strong>de</strong>l FIIDM disminuya el tiempo <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> los IIDM
a <strong>la</strong> vez que disminuya <strong>la</strong> complejidad <strong>de</strong> su construcción. Consi<strong>de</strong>ramos que para<br />
lograr esta meta es importante <strong>la</strong> estandarización <strong>en</strong> el diseño e implem<strong>en</strong>tación <strong>de</strong><br />
los juegos multiusuarios, con lo cual se habilita al <strong>de</strong>sarrol<strong>la</strong>dor para hacer uso <strong>de</strong><br />
<strong>la</strong>s diversas herrami<strong>en</strong>tas <strong>de</strong> <strong>la</strong> arquitectura <strong>de</strong> soporte. Esto se apoya <strong>en</strong> <strong>la</strong><br />
<strong>de</strong>finición <strong>de</strong> un Framework por [6], qui<strong>en</strong>es lo <strong>de</strong>fin<strong>en</strong> como un conjunto <strong>de</strong> c<strong>la</strong>ses<br />
que co<strong>la</strong>boran para ayudar a los <strong>de</strong>sarrol<strong>la</strong>dores a p<strong>la</strong>nificar el uso <strong>de</strong> dicho marco y<br />
que regu<strong>la</strong>rm<strong>en</strong>te es empleado para <strong>la</strong> reutilización <strong>de</strong> código <strong>en</strong> nuevos proyectos<br />
<strong>de</strong> <strong>de</strong>sarrollo.<br />
Sin <strong>la</strong> implem<strong>en</strong>tación <strong>de</strong>l FIIDM, <strong>la</strong> construcción <strong>de</strong> los IIDM manti<strong>en</strong>e una<br />
<strong>de</strong>p<strong>en</strong>d<strong>en</strong>cia total <strong>de</strong> <strong>la</strong>s <strong>de</strong>cisiones <strong>de</strong> diseño e implem<strong>en</strong>tación <strong>de</strong>l <strong>de</strong>sarrol<strong>la</strong>dor,<br />
por lo que cada IIDM d<strong>en</strong>tro <strong>de</strong>l sistema estaría construido <strong>de</strong> manera difer<strong>en</strong>te. Si a<br />
eso se agrega que el <strong>de</strong>sarrol<strong>la</strong>dor ti<strong>en</strong>e que construir <strong>la</strong> aplicación, <strong>la</strong>s herrami<strong>en</strong>tas<br />
necesarias para su bu<strong>en</strong> funcionami<strong>en</strong>to y que <strong>la</strong> reutilización que cada<br />
<strong>de</strong>sarrol<strong>la</strong>dor pue<strong>de</strong> hacer <strong>en</strong> <strong>la</strong> construcción <strong>de</strong> otro IIDM sería mínima, se corre el<br />
riesgo <strong>de</strong> que el trabajar <strong>de</strong> manera in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te al FIIDM pudiera resultar <strong>en</strong> el<br />
<strong>de</strong>sarrollo <strong>de</strong> aplicaciones bajo un panorama poco efectivo y con un nivel <strong>de</strong> calidad<br />
variable.<br />
En este escrito, se pres<strong>en</strong>ta el trabajo <strong>en</strong> proceso <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong>l FIIDM; <strong>en</strong><br />
particu<strong>la</strong>r <strong>en</strong> lo que se refiere a <strong>la</strong> especificación <strong>de</strong> sus requerimi<strong>en</strong>tos y <strong>la</strong><br />
arquitectura resultante. A<strong>de</strong>más, se muestra el primer prototipo <strong>de</strong> IIDM<br />
<strong>de</strong>sarrol<strong>la</strong>do con el Framework.<br />
2. Metodología<br />
Para el <strong>de</strong>sarrollo <strong>de</strong>l Framework, se siguieron los lineami<strong>en</strong>tos para diseño basado<br />
<strong>en</strong> compon<strong>en</strong>tes, propuesto por [6] Esta metodología se basa <strong>en</strong> el empleo <strong>de</strong> UML<br />
para <strong>la</strong> realización <strong>de</strong> <strong>la</strong> <strong>de</strong>finición <strong>de</strong> los compon<strong>en</strong>tes que conforman <strong>la</strong><br />
arquitectura. Esta c<strong>la</strong>ro que <strong>la</strong> <strong>de</strong>finición <strong>de</strong> los compon<strong>en</strong>tes nos lleva a t<strong>en</strong>er un<br />
sistema con un débil acop<strong>la</strong>mi<strong>en</strong>to, que <strong>en</strong> <strong>en</strong>tre otras cosas es una <strong>de</strong> <strong>la</strong>s v<strong>en</strong>tajas<br />
<strong>de</strong>l diseño basado <strong>en</strong> compon<strong>en</strong>tes y que facilita su reutilización. Esta <strong>de</strong>finición <strong>la</strong><br />
logramos basándonos <strong>en</strong> <strong>la</strong> mo<strong>de</strong><strong>la</strong>ción inicial <strong>de</strong> los estados <strong>de</strong> cada uno <strong>de</strong> los<br />
elem<strong>en</strong>tos <strong>de</strong> los compon<strong>en</strong>tes conceptuales <strong>de</strong> <strong>la</strong> arquitectura <strong>de</strong>l framework <strong>en</strong> un<br />
esc<strong>en</strong>ario <strong>de</strong> uso <strong>en</strong> particu<strong>la</strong>r y seguimos el mo<strong>de</strong>lo <strong>de</strong> <strong>de</strong>sarrollo iterativo para el<br />
proceso <strong>de</strong> análisis y diseño [1]. Fue <strong>en</strong> este proceso que se id<strong>en</strong>tificaron esc<strong>en</strong>arios<br />
y procesos repetitivos d<strong>en</strong>tro <strong>de</strong> <strong>la</strong> arquitectura, es por esto que optamos por el<br />
empleo <strong>de</strong> patrones <strong>de</strong> diseño específicos para <strong>la</strong> resolución <strong>de</strong> <strong>la</strong>s necesida<strong>de</strong>s que<br />
<strong>de</strong>bíamos solv<strong>en</strong>tar una y otra vez. Posteriorm<strong>en</strong>te se <strong>de</strong>finieron los candidatos a<br />
c<strong>la</strong>ses haci<strong>en</strong>do uso <strong>de</strong> <strong>la</strong>s tarjetas CRC. En este punto, <strong>en</strong>contramos que <strong>la</strong> mejor<br />
manera <strong>de</strong> <strong>de</strong>finir c<strong>la</strong>ram<strong>en</strong>te a los candidatos a compon<strong>en</strong>tes, fue <strong>la</strong> mo<strong>de</strong><strong>la</strong>ción <strong>de</strong><br />
los esc<strong>en</strong>arios <strong>de</strong> uso mediante diagramas <strong>de</strong> secu<strong>en</strong>cia. Posteriorm<strong>en</strong>te, se<br />
<strong>de</strong>finieron los archivos <strong>de</strong> <strong>de</strong>finición <strong>de</strong> datos (DTD) para <strong>la</strong> g<strong>en</strong>eración <strong>de</strong> <strong>la</strong>s<br />
cad<strong>en</strong>as XML que son empleadas <strong>en</strong> <strong>la</strong>s comunicaciones internas <strong>en</strong>tre los<br />
elem<strong>en</strong>tos <strong>de</strong>l Framework. Finalm<strong>en</strong>te, se integraron los elem<strong>en</strong>tos <strong>de</strong>l FIIDM junto
c on l os se rvi c i os <strong>de</strong> l a a rqui t e c t ura <strong>de</strong> soport e .<br />
3. Resultados.<br />
El <strong>de</strong>sarrollo <strong>de</strong>l FIIDM se está ejecutando <strong>en</strong> varias etapas sucesivas. Actualm<strong>en</strong>te<br />
se cu<strong>en</strong>ta con <strong>la</strong> totalidad <strong>de</strong>l análisis y diseño <strong>de</strong>l Framework, y se están<br />
codificando <strong>la</strong>s c<strong>la</strong>ses empleando el l<strong>en</strong>guaje <strong>de</strong> programación Java. La arquitectura<br />
<strong>de</strong> soporte se <strong>en</strong>cu<strong>en</strong>tra operando y disponible a través <strong>de</strong> un proyecto previo<br />
l<strong>la</strong>mado "Los Supersabios. Un Ambi<strong>en</strong>te <strong>de</strong> Apr<strong>en</strong>dizaje basado <strong>en</strong> IIDM". A<br />
continuación se pres<strong>en</strong>tan los elem<strong>en</strong>tos más relevantes <strong>de</strong>l Framework organizados<br />
através<strong>de</strong>esc<strong>en</strong>arios<strong>de</strong>uso.<br />
3.1 Arquitectura <strong>de</strong>l Framework.<br />
El framework cu<strong>en</strong>ta con una arquitectura basada <strong>en</strong> compon<strong>en</strong>tes que se comunican<br />
<strong>en</strong>tre ellos a través <strong>de</strong> cad<strong>en</strong>as XML. Cada uno <strong>de</strong> ellos provee servicios especiales<br />
para <strong>la</strong> ejecución <strong>de</strong> un juego distribuído multiusuarios. Los compon<strong>en</strong>tes<br />
principales que conforman <strong>la</strong> arquitectura son:<br />
Administrador <strong>de</strong> Antesa<strong>la</strong>s: Crea una instancia <strong>de</strong> antesa<strong>la</strong> por cada<br />
petición recibida y posteriorm<strong>en</strong>te obti<strong>en</strong>e <strong>de</strong> el<strong>la</strong> <strong>la</strong> copia <strong>de</strong> <strong>la</strong> tab<strong>la</strong> <strong>de</strong><br />
los datos y <strong>en</strong>vía los datos a <strong>la</strong> interfaz grafica para el <strong>de</strong>spliegue.<br />
Administrador <strong>de</strong> Despachadores <strong>de</strong> M<strong>en</strong>sajes: Crea un <strong>de</strong>spachador por<br />
cada m<strong>en</strong>saje recibido.<br />
Administrador <strong>de</strong> M<strong>en</strong>sajes: Crea un objeto <strong>de</strong> tipo m<strong>en</strong>saje (protocolo<br />
m<strong>en</strong>saje) por cada m<strong>en</strong>saje que recibe <strong>de</strong>l servidor <strong>de</strong> m<strong>en</strong>sajería. Envía<br />
una notificación al Administrador <strong>de</strong> Despachadores <strong>de</strong> M<strong>en</strong>sajes y<br />
posteriorm<strong>en</strong>te le <strong>en</strong>vía los parámetros al receptor.<br />
Administrador <strong>de</strong> Conexiones <strong>de</strong> Bases <strong>de</strong> Datos: Manti<strong>en</strong>e y administra<br />
<strong>la</strong>s conexiones al manejador <strong>de</strong> bases <strong>de</strong> datos.<br />
Administrador <strong>de</strong> Roles: Asigna un rol al usuario que hizo <strong>la</strong> petición <strong>de</strong><br />
acuerdo a <strong>la</strong> creación <strong>de</strong> <strong>la</strong> instancia, esto es, el rol <strong>de</strong> administrador si se<br />
trata <strong>de</strong> el creador <strong>de</strong> <strong>la</strong> instancia o el rol <strong>de</strong> jugador si no lo es.<br />
Administrador <strong>de</strong> Estructura <strong>de</strong> Juegos: Instancia un objeto <strong>de</strong>l tipo<br />
Estructura por cada petición <strong>de</strong> juego nuevo que se recibe. Envía el objeto<br />
Estructura al evaluador y finalm<strong>en</strong>te <strong>la</strong> <strong>en</strong>vía al juego para que se realice<br />
<strong>la</strong> instanciación con los parámetros ya <strong>de</strong>finidos.<br />
Administrador <strong>de</strong> Peticiones: Instancia un objeto Petición por cada<br />
solicitud <strong>de</strong> instanciación <strong>de</strong> una sesión <strong>de</strong> juego que recibe <strong>de</strong>l servidor.<br />
Envía <strong>la</strong> notificación <strong>de</strong> que <strong>la</strong> solicitud o el protocolo <strong>de</strong> solicitud esta<br />
armado y <strong>de</strong>spués <strong>en</strong>vía todos sus parámetros a <strong>la</strong> estructura, cuando ésta
lo solicita.<br />
3.2 La elección e inicio <strong>de</strong>l juego.<br />
El FIIDM <strong>de</strong>fine como Antesa<strong>la</strong> al espacio <strong>en</strong> don<strong>de</strong> el usuario obti<strong>en</strong>e toda <strong>la</strong><br />
información necesaria para hacer <strong>la</strong> elección <strong>de</strong>l juego (Fig. 1). Es aquí don<strong>de</strong> el<br />
usuario <strong>de</strong>ci<strong>de</strong> si se incorporará a una instancia ya activa o si se será requerida <strong>la</strong><br />
creación <strong>de</strong> una instancia nueva. Se <strong>de</strong>cid<strong>en</strong> también <strong>la</strong>s políticas <strong>de</strong> privacidad <strong>de</strong>l<br />
juego, <strong>la</strong> creació n o ingreso a torn eos y <strong>la</strong>s re g l a <strong>de</strong> s creació n <strong>de</strong> juego. Est a<br />
información es necesaria para a parametrización inicial <strong>de</strong> una instancia. Toda esta<br />
información se actualiza constantem<strong>en</strong>te para evitar que se haga una<br />
parametrización <strong>de</strong> una instancia con datos erróneos. La parametrización <strong>de</strong> <strong>la</strong><br />
instancia <strong>de</strong> un juego, es totalm<strong>en</strong>te <strong>de</strong>p<strong>en</strong>di<strong>en</strong>te <strong>de</strong>l diseño <strong>de</strong> <strong>la</strong> construcción <strong>de</strong>l<br />
IIDM, ya que ésta pue<strong>de</strong> t<strong>en</strong>er lugar antes <strong>de</strong> <strong>la</strong> instanciación o bi<strong>en</strong>, <strong>de</strong>spués <strong>de</strong> que<br />
el juego ha sido iniciado con valores estandarizados.<br />
Figura 1. Diagrama <strong>de</strong> Secu<strong>en</strong>cia que muestra el funcionami<strong>en</strong>to <strong>de</strong> <strong>la</strong> antesa<strong>la</strong>.<br />
3.3El manejo <strong>de</strong>l inicio <strong>de</strong> sesión.<br />
Una vez <strong>de</strong>finidos los parámetros para <strong>la</strong> instanciación, un esc<strong>en</strong>ario <strong>de</strong> uso típico es<br />
aquel <strong>en</strong> el cual un usuario haya elegido <strong>la</strong> creación <strong>de</strong> una instancia nueva y <strong>la</strong>s<br />
reg<strong>la</strong>s <strong>de</strong>l juego que hagan necesaria <strong>la</strong> interacción con otros jugadores. En ese caso<br />
será necesario hacer invitaciones para que otros miembros <strong>de</strong> <strong>la</strong> comunidad virtual<br />
puedan incorporarse a una sesión <strong>de</strong> juego. El FIIDM cu<strong>en</strong>ta con una herrami<strong>en</strong>ta<br />
que brinda soporte para <strong>la</strong> realización <strong>de</strong> invitaciones a usuarios que se <strong>en</strong>cu<strong>en</strong>tr<strong>en</strong><br />
<strong>en</strong> línea al mom<strong>en</strong>to <strong>de</strong> <strong>la</strong> instanciación <strong>de</strong> un juego. Esta invitación pue<strong>de</strong> ser<br />
aceptada o <strong>de</strong>clinada por el o los usuarios invitados a incorporarse a <strong>la</strong> sesión <strong>de</strong>
juego. Estas invitaciones se realizan con el mismo mecanismo que <strong>la</strong> comunicación<br />
interna <strong>de</strong> los jugadores, <strong>la</strong> cual se <strong>de</strong>scribe a <strong>de</strong>talle más a<strong>de</strong><strong>la</strong>nte.<br />
3.4El soporte para usuario <strong>de</strong> incorporación tardía.<br />
El FIIDM también ofrece soporte para los usuarios que <strong>de</strong>se<strong>en</strong> incorporarse<br />
tardíam<strong>en</strong>te a una instancia <strong>en</strong> ejecución. Siempre que <strong>la</strong>s políticas <strong>de</strong> privacidad y<br />
<strong>la</strong>s reg<strong>la</strong>s <strong>de</strong>l juego lo permitan, un usuario pue<strong>de</strong> incorporarse a un juego<br />
previam<strong>en</strong>te iniciado. Para ello, el historial <strong>de</strong>l juego es almac<strong>en</strong>ado <strong>en</strong> cada una <strong>de</strong><br />
<strong>la</strong>s copias <strong>de</strong>l juego pudi<strong>en</strong>do ser <strong>en</strong>viada hacia una base <strong>de</strong> datos c<strong>en</strong>tralizada o<br />
bi<strong>en</strong> a una nueva instancia que se incorpora a <strong>la</strong> sesión como un usuario que se<br />
incorpora tardíam<strong>en</strong>te. Al igual que algunas otras herrami<strong>en</strong>tas <strong>de</strong> <strong>la</strong> arquitectura,<br />
ésta pue<strong>de</strong> ser aplicada <strong>en</strong> conjunto con otros elem<strong>en</strong>tos para crear un esquema<br />
flexible <strong>de</strong> juegos que puedan soportar este esquema, por lo que un usuario podría<br />
integrarse a una sesión <strong>de</strong> juego <strong>en</strong> calidad <strong>de</strong> espectador o <strong>de</strong> un miembro activo,<br />
pero siempre con completa conci<strong>en</strong>cia <strong>de</strong> lo que se ha v<strong>en</strong>ido <strong>de</strong>sarrol<strong>la</strong>ndo durante<br />
<strong>la</strong> ejecución <strong>de</strong>l juego antes <strong>de</strong> que ingresara a <strong>la</strong> sesión.<br />
3.5 El manejo <strong>de</strong> m<strong>en</strong>sajes y ev<strong>en</strong>tos.<br />
Como ya se ha m<strong>en</strong>cionado, <strong>la</strong> co<strong>la</strong>boración forma parte fundam<strong>en</strong>tal para el<br />
<strong>de</strong>sarrollo <strong>de</strong>l apr<strong>en</strong>dizaje <strong>de</strong> <strong>la</strong>s matemáticas que los IIDM buscan <strong>en</strong>señar a través<br />
<strong>de</strong> estas aplicaciones <strong>de</strong> tipo lúdico. Es por ello que <strong>la</strong> comunicación <strong>en</strong>tre usuarios<br />
adquiere una importancia especial <strong>en</strong> nuestro proyecto. Sigui<strong>en</strong>do con <strong>la</strong> flexibilidad<br />
que cada una <strong>de</strong> <strong>la</strong>s herrami<strong>en</strong>tas <strong>de</strong>l FIIDM ofrece, se ha incorporado a <strong>la</strong><br />
arquitectura una herrami<strong>en</strong>ta para el intercambio <strong>de</strong> m<strong>en</strong>sajes <strong>en</strong>tre jugadores<br />
mi<strong>en</strong>tras se lleva acabo un juego. Todo esto con <strong>la</strong> finalidad <strong>de</strong> que <strong>la</strong> co<strong>la</strong>boración<br />
<strong>en</strong>tre individuos esté sust<strong>en</strong>tada por el Framework. El <strong>en</strong>vío <strong>de</strong> m<strong>en</strong>sajes se realiza a<br />
través <strong>de</strong>l servidor <strong>de</strong> m<strong>en</strong>sajería Jabber, el cual <strong>de</strong>fine una familia <strong>de</strong> protocolos <strong>de</strong><br />
comunicación basados <strong>en</strong> m<strong>en</strong>sajes empleando XML.<br />
Esta comunicación pue<strong>de</strong> darse <strong>en</strong> varios niveles, ya sea que se establezca <strong>en</strong>tre dos<br />
individuos o que se <strong>de</strong> <strong>en</strong>tre un grupo más gran<strong>de</strong> <strong>de</strong> personas. Es el diseñador el<br />
<strong>en</strong>cargado <strong>de</strong> <strong>de</strong>finir si <strong>la</strong> comunicación se pue<strong>de</strong> dar so<strong>la</strong>m<strong>en</strong>te <strong>en</strong>tre miembros <strong>de</strong><br />
un mismo equipo o no.<br />
Para <strong>la</strong> construcción <strong>de</strong> un IIDM es necesaria <strong>la</strong> comunicación <strong>en</strong>tre instancias que<br />
interactúan <strong>en</strong> conjunto. Esto fue posible sigui<strong>en</strong>do el mismo esquema <strong>de</strong> paso <strong>de</strong><br />
m<strong>en</strong>sajes que se usa para <strong>la</strong> comunicación <strong>en</strong>tre jugadores. Esta comunicación se<br />
realizó mediante <strong>la</strong> construcción <strong>de</strong> pequeños datagramas (Fig. 2) <strong>de</strong> uso interno<br />
construidos <strong>en</strong> XML, los cuales pued<strong>en</strong> ser fácilm<strong>en</strong>te analizados a través <strong>de</strong> un<br />
parser. Entre otras cosas esta herrami<strong>en</strong>ta nos es útil para programar el nivel <strong>de</strong><br />
conci<strong>en</strong>cia <strong>de</strong> co<strong>la</strong>boración que <strong>de</strong>seamos t<strong>en</strong>er d<strong>en</strong>tro <strong>de</strong> nuestras aplicaciones.<br />
Empleamos el mismo servicio <strong>de</strong> m<strong>en</strong>sajería Jabber para el <strong>en</strong>vío <strong>de</strong> datos y ev<strong>en</strong>tos<br />
<strong>en</strong>tre aplicaciones. Se incluyó <strong>en</strong> cada aplicación un analizador <strong>de</strong> protocolo <strong>de</strong>
ev<strong>en</strong>tos específicos para los IIDM. Gracias a este mecanismo se simplificó <strong>la</strong><br />
comunicación <strong>en</strong>tre <strong>la</strong>s instancias distribuidas <strong>de</strong> un juego.<br />
Fig 2. Diagrama <strong>de</strong> c<strong>la</strong>ses jerarquía <strong>de</strong> Datagramas para Comunicación interna<br />
3.6 El manejo <strong>de</strong> puntuación <strong>en</strong> los juegos<br />
En un mom<strong>en</strong>to dado, es posible t<strong>en</strong>er activos una variedad <strong>de</strong> esquemas <strong>de</strong> juegos<br />
cada uno empleando difer<strong>en</strong>tes esquemas <strong>de</strong> puntuación. Incluso, un mismo tipo <strong>de</strong><br />
juego pue<strong>de</strong> implem<strong>en</strong>tar varios esquemas <strong>de</strong> puntuación <strong>de</strong>p<strong>en</strong>di<strong>en</strong>do <strong>de</strong>l contexto<br />
<strong>en</strong> el que se ejecute, como por ejemplo <strong>en</strong> el caso <strong>en</strong> que éste forme parte <strong>de</strong> una<br />
serie o torneo, que el juego se ejecute por un grupo <strong>de</strong> usuarios o bi<strong>en</strong> que un solo<br />
usuario interactué con <strong>la</strong> computadora. Por ello el FIIDM cu<strong>en</strong>ta con un contro<strong>la</strong>dor<br />
<strong>de</strong> esquemas <strong>de</strong> puntuación, el cual se <strong>en</strong>carga <strong>de</strong> <strong>de</strong>finir distintos esquemas <strong>de</strong>l<br />
manejo <strong>de</strong> <strong>la</strong> puntuación como <strong>en</strong> el caso <strong>en</strong> que los puntos se increm<strong>en</strong>t<strong>en</strong> por una<br />
o varias unida<strong>de</strong>s, o bi<strong>en</strong> que los puntos se asign<strong>en</strong> a un individuo o a un equipo sin<br />
que se actualice <strong>la</strong> el tablero gráfico.
3.7 El manejo <strong>de</strong> turnos <strong>en</strong> los juegos.<br />
Al igual que <strong>en</strong> el caso <strong>de</strong> manejo <strong>de</strong> puntos, <strong>la</strong> necesidad <strong>de</strong> un contro<strong>la</strong>dor <strong>de</strong><br />
turnos se vuelve inmin<strong>en</strong>te para lograr el control <strong>de</strong> los diversos esquemas que se<br />
pued<strong>en</strong> pres<strong>en</strong>tar <strong>en</strong> <strong>la</strong>s aplicaciones construidas sobre el FIIDM. Esto es, para <strong>la</strong>s<br />
difer<strong>en</strong>tes etapas <strong>de</strong> un mismo juego se pued<strong>en</strong> manejar esquemas <strong>de</strong> turno distintos<br />
y a su vez un IIDM pue<strong>de</strong> manejar un esquema totalm<strong>en</strong>te distinto a otro.<br />
Supongamos el caso <strong>en</strong> el que un juego varía su esquema <strong>de</strong>p<strong>en</strong>di<strong>en</strong>do <strong>de</strong>l nivel <strong>de</strong><br />
complejidad <strong>de</strong> sus etapas y que <strong>en</strong> lugar <strong>de</strong> que los turnos sean secu<strong>en</strong>ciales, <strong>en</strong> una<br />
<strong>de</strong> <strong>la</strong>s etapas posteriores, el turno corresponda siempre a aquel jugador que cump<strong>la</strong><br />
con toda una serie <strong>de</strong> características previam<strong>en</strong>te <strong>de</strong>finidas <strong>en</strong> <strong>la</strong>s reg<strong>la</strong>s <strong>de</strong>l juego.<br />
3.8 El manejo <strong>de</strong> turnos <strong>en</strong> los juegos.<br />
El soporte para el almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong>l historial <strong>de</strong>l juego, ti<strong>en</strong>e un papel muy<br />
importante ya que se constituye como un complem<strong>en</strong>to <strong>de</strong>l soporte para usuarios <strong>de</strong><br />
incorporación tardía a una sesión <strong>de</strong> juego: permite que un juego sea retomado por<br />
un usuario <strong>en</strong> una sesión posterior o que un usuario que quiere incorporarse a un<br />
juego pueda recibir una copia <strong>de</strong> <strong>la</strong> instancia sin per<strong>de</strong>rse <strong>de</strong> <strong>la</strong> actividad<br />
<strong>de</strong>sarrol<strong>la</strong>da con anterioridad. Esta copia <strong>de</strong>l juego es guardada <strong>en</strong> una base <strong>de</strong> datos<br />
c<strong>en</strong>tralizada <strong>de</strong> don<strong>de</strong> es recuperada posteriorm<strong>en</strong>te e incorporada al historial activo<br />
<strong>de</strong>l juego, el cual está pres<strong>en</strong>te <strong>en</strong> tiempo <strong>de</strong> ejecución (run-time). Es también un<br />
elem<strong>en</strong>to útil para <strong>la</strong> continuidad <strong>de</strong> series o torneos, pues es aquí don<strong>de</strong> se guarda<br />
<strong>la</strong> información refer<strong>en</strong>te a partidas anteriores. Un elem<strong>en</strong>to importante,<br />
especialm<strong>en</strong>te si se consi<strong>de</strong>ra que los torneos pued<strong>en</strong> ser muy <strong>la</strong>rgos y <strong>de</strong>finirse <strong>en</strong><br />
periodos <strong>de</strong> tiempos prolongados.<br />
4.- Conclusiones<br />
El uso <strong>de</strong>l FIIDM ti<strong>en</strong>e un prometedor pot<strong>en</strong>cial para crear IIDM <strong>de</strong> calidad. El<br />
diseño basado <strong>en</strong> compon<strong>en</strong>tes <strong>de</strong>l FIIDM está fundam<strong>en</strong>tado <strong>en</strong> los distintos<br />
administradores que forman su estructura principal: el administrador <strong>de</strong> antesa<strong>la</strong>s, el<br />
administrador <strong>de</strong> <strong>de</strong>spachadores <strong>de</strong> m<strong>en</strong>sajes, el administrador <strong>de</strong> m<strong>en</strong>sajes, el<br />
administrador <strong>de</strong> conexiones <strong>de</strong> bases <strong>de</strong> datos, el administrador <strong>de</strong> roles, el<br />
administrador <strong>de</strong> estructura <strong>de</strong> los juegos y el administrador <strong>de</strong> peticiones. En su<br />
conjunto, estos compon<strong>en</strong>tes ofrec<strong>en</strong> todas <strong>la</strong>s características necesarias para crear<br />
juegos matemáticos multiusuarios cuyas características d<strong>en</strong> soporte al trabajo<br />
co<strong>la</strong>borativo ori<strong>en</strong>tado al fom<strong>en</strong>to para el apr<strong>en</strong>dizaje <strong>de</strong> <strong>la</strong>s matemáticas. El FIIDM<br />
no solo b<strong>en</strong>eficia al <strong>de</strong>sarrol<strong>la</strong>dor sino también al usuario, puesto que se logra <strong>la</strong><br />
estandarización <strong>en</strong> <strong>la</strong>s IIDM <strong>en</strong> cuanto a sus funciones y <strong>la</strong> calidad <strong>de</strong> sus servicios.<br />
Por otra parte el uso <strong>de</strong>l FIIDM manti<strong>en</strong>e los lineami<strong>en</strong>tos establecidos <strong>en</strong> el
proyecto, <strong>en</strong> lo que se refiere a <strong>la</strong> reutilización <strong>de</strong> código y <strong>la</strong> incorporación a los<br />
IIDM <strong>de</strong> los servicios que ofrece <strong>la</strong> infraestructura <strong>de</strong> soporte. Con el FIIDM, el<br />
<strong>de</strong>sarrol<strong>la</strong>dor pue<strong>de</strong> construir IIDM <strong>de</strong> una manera más s<strong>en</strong>cil<strong>la</strong> a <strong>la</strong> vez que<br />
fom<strong>en</strong>ta <strong>la</strong> reutilización <strong>de</strong> código mediante <strong>la</strong> adopción <strong>de</strong> interfaces y estructuras<br />
heredadas por c<strong>la</strong>ses <strong>de</strong>finidas <strong>en</strong> el Framework. Actualm<strong>en</strong>te continuamos con <strong>la</strong><br />
codificación <strong>de</strong>l FIIDM y se están realizando pruebas <strong>de</strong> implem<strong>en</strong>tación <strong>de</strong>l<br />
Framework <strong>en</strong> difer<strong>en</strong>tes juegos matemáticos recreativos.<br />
5.- Refer<strong>en</strong>cias<br />
[1] Avison D. y Fitzgerald G. 1997. Information Systems Developm<strong>en</strong>t Methodologies,<br />
Techniques and Tools. 2 ed. London: McGraw-Hill, 1997.<br />
[2] López-Morteo G. and López Mariscal G. 2003. An Electronic Ludic Learning<br />
Environm<strong>en</strong>t for Mathematics based on Learning Objects . Proceedings of ED-<br />
MEDIA 2003. World Confer<strong>en</strong>ce on Educational Multimedia, Hypermedia and<br />
Telecommunications. Association for the Advancem<strong>en</strong>t of Computing in Education.<br />
23 al 28 <strong>de</strong> junio <strong>de</strong>l 2003, Honolulu, Hawaii.<br />
[3] López-Morteo G., López Mariscal G e Ibarra Esquer J. 2002. Enticing learners to<br />
mathematics through a ludic col<strong>la</strong>borative learning <strong>en</strong>viironm<strong>en</strong>t. Memorias <strong>de</strong>l<br />
Segundo Congreso Internacional <strong>de</strong> Educación Abierta y a Distancia. 6 al 8 <strong>de</strong> junio<br />
<strong>de</strong>l 2002. Coleccion Innovación Educativa y Nuevas Tecnologias, ANUIES<br />
[4] López-Morteo G., López Mariscal G. e Ibarra Esquer J.. 2001. Ambi<strong>en</strong>te <strong>de</strong><br />
Apr<strong>en</strong>dizaje Basado <strong>en</strong> Instructores Interactivos <strong>de</strong> Diversiones Matemáticas .<br />
International Confer<strong>en</strong>ce on New Technologies in Sci<strong>en</strong>ce Education CINTEC<br />
2000, 4 al 6 <strong>de</strong> julio, Aveiro, Portugal<br />
[5] López-Morteo G. y López Mariscal G. 2000. Una concepción lúdica <strong>de</strong>l software<br />
educativo para <strong>la</strong>s matemáticas. Educacion Abierta y a Distancia. Experi<strong>en</strong>cias y<br />
Perspectivas. Primer Congreso Regional <strong>de</strong> Eduación Abierta y a Distancia. 8 al 10<br />
<strong>de</strong> junio 2000, Ens<strong>en</strong>ada, Baja California, México. Coordinadores Carm<strong>en</strong> Perez<br />
Fragoso, Jesus Fave<strong>la</strong> Vara y Gilberto Lopez Mariscal. 127-140.<br />
[6] Stev<strong>en</strong>s P. y Pooley B., 2002. Utilización <strong>de</strong> UML <strong>en</strong> Ing<strong>en</strong>iería <strong>de</strong>l Software con<br />
Objetos y Compon<strong>en</strong>tes Adison-Wisley<br />
[7] Zhang Y. y Weiss M., 2003. Virtual communities and team formation. Crossroads,<br />
10(1), ACM Press, 13-21.
Diagnóstico Automático <strong>de</strong> Usabilidad <strong>de</strong> Sitios Web<br />
Fernando Sánchez Martínez, Oscar Mayora Ibarra<br />
00379098@aca<strong>de</strong>m01.mor.itesm.mx, omayora@itesm.mx<br />
ITESM, Campus Cuernavaca<br />
Departam<strong>en</strong>to <strong>de</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong><br />
Av. Paseo <strong>de</strong> <strong>la</strong> Reforma 182-A<br />
Col. Lomas <strong>de</strong> Cuernavaca C.P. 62589<br />
Temixco Morelos, MEXICO<br />
Abstrac. Nowadays is recognized the importance that the usability has and its effect in<br />
the <strong>de</strong>sign of Web Sites, nevertheless, is those who do not consi<strong>de</strong>r, during the<br />
<strong>de</strong>velopm<strong>en</strong>t of the site, to inclu<strong>de</strong> a stage to evaluate the usability. On the other hand,<br />
previous studies have <strong>de</strong>monstrated that to improve a Web Site, undoubtedly, the best<br />
investm<strong>en</strong>t of time and performance consists of introducing improvem<strong>en</strong>ts in its<br />
usability. This involves an increase in the time of work and therefore in costs, in g<strong>en</strong>eral<br />
the use of technologies of usability has <strong>de</strong>monstrated an improvem<strong>en</strong>t in the final<br />
product. The pres<strong>en</strong>t article proposes the <strong>de</strong>velopm<strong>en</strong>t of a tool of automatic diagnosis of<br />
usability of Web sites, which it will serve to reducing the time of evaluation and<br />
consist<strong>en</strong>tly the costs.<br />
Resum<strong>en</strong>. Actualm<strong>en</strong>te se reconoce <strong>la</strong> importancia que ti<strong>en</strong>e <strong>la</strong> usabilidad y su efecto <strong>en</strong><br />
el diseño <strong>de</strong> Sitios Web, sin embargo, hay qui<strong>en</strong>es no consi<strong>de</strong>ran, durante el <strong>de</strong>sarrollo<br />
<strong>de</strong>l <strong>sitio</strong>, incluir una etapa para evaluar <strong>la</strong> usabilidad. Por otra parte, estudios anteriores<br />
han <strong>de</strong>mostrado que para mejorar un Sitio Web, sin duda, <strong>la</strong> mejor inversión <strong>de</strong> tiempo y<br />
r<strong>en</strong>dimi<strong>en</strong>to consiste <strong>en</strong> introducir mejoras <strong>en</strong> su usabilidad. Esto implica un increm<strong>en</strong>to<br />
<strong>en</strong> el tiempo <strong>de</strong> trabajo y por lo tanto <strong>en</strong> costos, <strong>en</strong> g<strong>en</strong>eral el uso <strong>de</strong> técnicas <strong>de</strong><br />
usabilidad ha <strong>de</strong>mostrado una mejoría <strong>en</strong> el producto final. El pres<strong>en</strong>te artículo propone<br />
el <strong>de</strong>sarrollo <strong>de</strong> una herrami<strong>en</strong>ta <strong>de</strong> diagnóstico automático <strong>de</strong> usabilidad <strong>de</strong> Sitios Web,<br />
que servirá a reducir el tiempo <strong>de</strong> evaluación y consecu<strong>en</strong>tem<strong>en</strong>te los costos.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve. Usabilidad, diagnóstico, diseño <strong>de</strong> <strong>sitio</strong>s web.<br />
1. Introducción<br />
La usabilidad se refiere a <strong>la</strong> efici<strong>en</strong>cia y satisfacción con <strong>la</strong> que usuarios pued<strong>en</strong> alcanzar<br />
metas específicas <strong>en</strong> un sistema computacional <strong>de</strong>terminado. Se <strong>de</strong>fine <strong>la</strong> ing<strong>en</strong>iería <strong>de</strong><br />
usabilidad como el proceso para <strong>de</strong>finir, medir y sucesivam<strong>en</strong>te mejorar, el uso <strong>de</strong> los<br />
productos [1]. Estas técnicas se han <strong>de</strong>sarrol<strong>la</strong>do <strong>de</strong>bido a <strong>la</strong> necesidad <strong>de</strong> tras<strong>la</strong>dar <strong>la</strong><br />
usabilidad <strong>de</strong>s<strong>de</strong> el dominio <strong>de</strong> <strong>la</strong> opinión personal a un atributo que sea cuantificable<br />
como otros atributos <strong>de</strong> <strong>la</strong> ing<strong>en</strong>iería. Debido al gran auge que ha t<strong>en</strong>ido <strong>en</strong> el ámbito<br />
mundial el uso y navegación por Internet y <strong>la</strong> economía electrónica, los diseñadores <strong>de</strong><br />
Sitios Web y qui<strong>en</strong>es los contratan para <strong>la</strong> construcción <strong>de</strong> sus portales, se han<br />
preocupado por <strong>la</strong>s razones que implican que un usuario regrese o no al <strong>sitio</strong>; pues <strong>en</strong> el<br />
comercio electrónico, el usuario primero se <strong>en</strong>fr<strong>en</strong>ta a <strong>la</strong> usabilidad y <strong>de</strong>spués hace el<br />
pago. La experi<strong>en</strong>cia ha <strong>en</strong>señado a los diseñadores que <strong>sitio</strong>s prometedores <strong>de</strong> gran<br />
éxito por el servicio que ofrec<strong>en</strong>, se han visto opacados <strong>de</strong>bido a <strong>la</strong> impresión que causan<br />
a los usuarios, ya que <strong>la</strong> calidad es afectada o fortalecida directam<strong>en</strong>te por el diseño y
usabilidad <strong>de</strong>l Sitio Web. La experi<strong>en</strong>cia <strong>de</strong>l usuario durante <strong>la</strong> navegación, <strong>la</strong> facilidad<br />
<strong>de</strong> <strong>en</strong>t<strong>en</strong><strong>de</strong>r <strong>la</strong> distribución <strong>de</strong> <strong>la</strong>s páginas, el tiempo <strong>de</strong> <strong>de</strong>scarga, <strong>la</strong> cantidad <strong>de</strong> imág<strong>en</strong>es<br />
o texto, los multimedios e incluso <strong>la</strong> disponibilidad <strong>de</strong> ciertos links, influye <strong>en</strong> <strong>la</strong><br />
disposición o <strong>de</strong>seo <strong>de</strong> los usuarios a regresar a un <strong>de</strong>terminado <strong>sitio</strong>.<br />
En los últimos diez años se han realizado una gran cantidad <strong>de</strong> estudios <strong>de</strong> usabilidad <strong>de</strong>l<br />
Web y durante este tiempo muchas cosas han cambiado. Don<strong>de</strong> Niels<strong>en</strong> <strong>en</strong>tre otros, se ha<br />
dado a <strong>la</strong> tarea <strong>de</strong> reexaminar el estado <strong>de</strong>l Web distingui<strong>en</strong>do varios problemas comunes<br />
<strong>de</strong> diseño [2]. Para evitar los problemas <strong>de</strong> usabilidad <strong>en</strong> el diseño <strong>de</strong> interfaces se<br />
consi<strong>de</strong>ra llevar a cabo una evaluación como una etapa más <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> una<br />
aplicación o un Sitio Web. La evaluación o diagnóstico <strong>de</strong> usabilidad consiste <strong>en</strong> <strong>la</strong>s<br />
metodologías que mid<strong>en</strong> los aspectos <strong>de</strong> usabilidad <strong>de</strong> una interfaz utilizada por un<br />
sistema e id<strong>en</strong>tificar problemas específicos; si<strong>en</strong>do una parte importante <strong>de</strong>l proceso total<br />
<strong>de</strong>l diseño <strong>de</strong> <strong>la</strong> interfaz <strong>de</strong> usuario, que consiste <strong>en</strong> ciclos iterativos <strong>de</strong> diseñar, <strong>de</strong><br />
prototipos y <strong>de</strong> <strong>la</strong> evaluación.<br />
El hecho <strong>de</strong> asegurar <strong>la</strong> usabilidad como parte <strong>de</strong>l proceso <strong>de</strong> diseño, es una excel<strong>en</strong>te<br />
práctica, ya que <strong>en</strong> cuando más rápido es <strong>de</strong>tectado un problema es más fácil su solución<br />
y cuesta m<strong>en</strong>os resolverlo que <strong>en</strong> etapas posteriores. Por ello, contar con una herrami<strong>en</strong>ta<br />
que <strong>de</strong> manera automática haga un diagnóstico preliminar y le informe al equipo <strong>de</strong><br />
trabajo cuáles son <strong>la</strong>s páginas que no pres<strong>en</strong>tan problemas, cuales otras pres<strong>en</strong>tan<br />
problemas <strong>de</strong> sobrecarga <strong>de</strong> texto, animaciones o imág<strong>en</strong>es, <strong>en</strong>tre otro tipo <strong>de</strong><br />
información; es un ahorro consi<strong>de</strong>rable <strong>en</strong> tiempo, esfuerzo y costos.<br />
2. Estado <strong>de</strong>l Arte<br />
Se ha propuesto una amplia gama <strong>de</strong> técnicas <strong>de</strong> evaluación y un subconjunto <strong>de</strong> estas<br />
son actualm<strong>en</strong>te <strong>de</strong> uso común. Algunas técnicas <strong>de</strong> evaluación, como <strong>la</strong>s pruebas<br />
formales <strong>de</strong> usuarios, sólo pued<strong>en</strong> ser aplicadas <strong>de</strong>spués <strong>de</strong> que el diseño <strong>de</strong> <strong>la</strong> interfaz se<br />
ha <strong>de</strong>sarrol<strong>la</strong>do. Otras, como <strong>la</strong> evaluación heurística, pue<strong>de</strong> ser aplicada <strong>en</strong> <strong>la</strong>s primeras<br />
etapas <strong>de</strong> diseño. Cada técnica ti<strong>en</strong>e sus propias exig<strong>en</strong>cias, y g<strong>en</strong>eralm<strong>en</strong>te diversas<br />
técnicas pres<strong>en</strong>tan difer<strong>en</strong>tes problemas <strong>de</strong> usabilidad. Cuando se hace una evaluación <strong>de</strong><br />
usabilidad <strong>en</strong> una interfaz, <strong>la</strong>s conclusiones <strong>de</strong> difer<strong>en</strong>tes evaluadores pued<strong>en</strong> variar<br />
ext<strong>en</strong>sam<strong>en</strong>te, incluso si usan <strong>la</strong> misma técnica <strong>de</strong> evaluación. Por lo que los expertos<br />
recomi<strong>en</strong>dan que a <strong>la</strong> misma interfaz se le apliqu<strong>en</strong> varias técnicas <strong>de</strong> usabilidad y así<br />
<strong>de</strong>tectar todas <strong>la</strong>s posibles situaciones críticas. Muchos métodos <strong>de</strong> evaluación <strong>de</strong><br />
usabilidad requier<strong>en</strong> <strong>de</strong> <strong>la</strong> grabación <strong>de</strong> <strong>la</strong>s acciones que un usuario ejecuta mi<strong>en</strong>tras<br />
interactúa con una interfaz. Esto pue<strong>de</strong> ser hecho por un evaluador que toma apuntes<br />
mi<strong>en</strong>tras el participante usa el sistema <strong>en</strong> vivo o vi<strong>en</strong>do repetidam<strong>en</strong>te una cinta <strong>de</strong> ví<strong>de</strong>o<br />
<strong>de</strong> <strong>la</strong> sesión: ambas son activida<strong>de</strong>s que llevan mucho tiempo. Como <strong>la</strong>s técnicas <strong>de</strong><br />
captura alternativas, automatizadas pued<strong>en</strong> registrar <strong>la</strong> actividad <strong>de</strong>l usuario<br />
automáticam<strong>en</strong>te. Una distinción importante pue<strong>de</strong> ser hecha <strong>en</strong>tre <strong>la</strong> información que es<br />
fácil para registrar, pero difícil <strong>de</strong> interpretar (p.ej., keystrokes) y <strong>la</strong> información que es<br />
significativa, pero difícil <strong>de</strong> etiquetar automáticam<strong>en</strong>te, como <strong>la</strong> terminación <strong>de</strong> una<br />
tarea.<br />
En el ámbito <strong>de</strong> <strong>la</strong> evaluación <strong>de</strong> usabilidad <strong>en</strong> Sitios Web se han registrado muy ricas<br />
aportaciones que han permitido a los diseñadores obt<strong>en</strong>er mejores resultados. Uno <strong>de</strong> los<br />
investigadores que mayores avances a logrado <strong>en</strong> el campo <strong>de</strong> <strong>la</strong> usabilidad es Jakob<br />
Niels<strong>en</strong> [3], qui<strong>en</strong> ha publicado una gran cantidad <strong>de</strong> docum<strong>en</strong>tos re<strong>la</strong>cionados con el<br />
tema <strong>en</strong>focándose no solo a los Sitios Web sino también a <strong>la</strong>s aplicaciones
computacionales <strong>en</strong> g<strong>en</strong>eral. Para realizar <strong>la</strong> propuesta <strong>de</strong> este proyecto <strong>de</strong> investigación<br />
se han analizado <strong>la</strong>s difer<strong>en</strong>tes herrami<strong>en</strong>tas <strong>de</strong> diagnóstico <strong>de</strong> automático <strong>de</strong> usabilidad<br />
<strong>de</strong> Sitios Web que están disponibles <strong>en</strong> el mercado, <strong>en</strong>tre los que <strong>de</strong>stacaron:<br />
- WebSat [4]<br />
- UsableNet’s Lift Online y Lift Onsite [5]<br />
- WebCriteria [6]<br />
- NetRaker Suite [7]<br />
- Ergosoft – ErgoBrowser [8]<br />
- A – Prompt [9]<br />
- Bobby [10]<br />
- Doctor Html [11]<br />
- LinkBot [12]<br />
- NetMechanich [13]<br />
- WebGarage [14]<br />
En 1999, el National Institute of Standards and Technology (NIST) anunció el<br />
<strong>la</strong>nzami<strong>en</strong>to <strong>de</strong> WebSat (Web Static Analyzer Tool) que ti<strong>en</strong>e como tarea principal<br />
id<strong>en</strong>tificar problemas pot<strong>en</strong>ciales <strong>de</strong> usabilidad, comprobando el código HTML. Es un<br />
software gratuito y que da a los usuarios <strong>la</strong> posibilidad <strong>de</strong> utilizarlo <strong>en</strong> línea o como<br />
aplicación. Evalúa si <strong>la</strong> página hace uso <strong>de</strong> etiquetas para usuarios visualm<strong>en</strong>te<br />
discapacitados. Checa <strong>la</strong> pres<strong>en</strong>cia <strong>de</strong> botones Submit and Reset. Analiza el tamaño y<br />
codificación <strong>de</strong> los gráficos <strong>en</strong> re<strong>la</strong>ción con <strong>la</strong> velocidad <strong>de</strong> <strong>de</strong>scarga <strong>de</strong> <strong>la</strong> página.<br />
Comprueba los tags y el código que haría más fácil migrar <strong>la</strong> página a otro <strong>sitio</strong> <strong>de</strong><br />
navegación. Hace una comprobación básica <strong>de</strong> cómo los links son codificados. Su mayor<br />
limitación es que no <strong>de</strong>sarrol<strong>la</strong> <strong>la</strong> evaluación <strong>en</strong> el <strong>sitio</strong> completo sino solo por página.<br />
Posteriorm<strong>en</strong>te, apareció Lift Online y Lift Onsite, t<strong>en</strong>i<strong>en</strong>do como valor agregado a <strong>la</strong><br />
evaluación una serie <strong>de</strong> recom<strong>en</strong>daciones <strong>de</strong> cambios específicos <strong>en</strong> el código. Su<br />
limitante es también que el diagnóstico se <strong>de</strong>sarrol<strong>la</strong> por página.<br />
WebCriteria utiliza un ag<strong>en</strong>te intelig<strong>en</strong>te que rastrea el <strong>sitio</strong>, simu<strong>la</strong>ndo <strong>la</strong> experi<strong>en</strong>cia <strong>de</strong><br />
un usuario, analizando <strong>la</strong> accesabilidad, el tiempo <strong>de</strong> <strong>de</strong>scarga y el cont<strong>en</strong>ido. En<br />
accesabilidad evalúa <strong>la</strong> velocidad con <strong>la</strong> que un usuario pue<strong>de</strong> <strong>en</strong>contrar algo sobre el<br />
<strong>sitio</strong>. El primer factor <strong>de</strong> accesabilidad es el tiempo <strong>de</strong> exploración <strong>de</strong>l link que se basa<br />
<strong>en</strong> <strong>la</strong> premisa <strong>de</strong> que los links colocados más arriba son los más accesibles. El segundo<br />
factor es el browse path, que hace un promedio <strong>de</strong>l m<strong>en</strong>or número <strong>de</strong> clicks <strong>en</strong>tre <strong>la</strong><br />
página <strong>de</strong> inicio a cualquier página <strong>en</strong> particu<strong>la</strong>r. La aplicación resume el porc<strong>en</strong>taje <strong>de</strong><br />
difer<strong>en</strong>tes medios (texto, gráficos, multimedios) y tecnologías como PDF, f<strong>la</strong>sh, etc.<br />
NetRaker Suite es una herrami<strong>en</strong>ta <strong>de</strong> suscripción m<strong>en</strong>sual que proporciona al usuario<br />
una versión limitada <strong>de</strong> una prueba <strong>de</strong> usabilidad. Su v<strong>en</strong>taja principal es que provee <strong>la</strong><br />
retroalim<strong>en</strong>tación <strong>de</strong> una tarea específica <strong>en</strong> oposición a <strong>la</strong>s comprobaciones <strong>de</strong> código.<br />
Ergosoft <strong>de</strong>sarrolló un navegador Web l<strong>la</strong>mado ergoBrowser <strong>de</strong>stinado a facilitar el<br />
trabajo a los profesionales <strong>de</strong> usabilidad, ya que facilita <strong>la</strong> evaluación al grabar el tiempo<br />
ocupado <strong>en</strong> cada página y e<strong>la</strong>borando un registro completo <strong>de</strong> tec<strong>la</strong>zos, el número <strong>de</strong><br />
clicks <strong>en</strong> <strong>la</strong>s páginas y scrollbars. Su limitante es que no trabaja <strong>en</strong> re<strong>de</strong>s locales ni con<br />
páginas que utilic<strong>en</strong> frames. Otro <strong>de</strong>sarrollo realizado <strong>en</strong> <strong>la</strong> Universidad <strong>de</strong> Toronto<br />
produjo A-Prompt, que es una herrami<strong>en</strong>ta que permite <strong>de</strong>sarrol<strong>la</strong>r páginas Web<br />
accesibles a minusválidos. Localiza barreras <strong>de</strong> accesabilidad, realiza reparaciones<br />
cuando es posible y asiste al evaluador <strong>en</strong> <strong>la</strong>s reparaciones manuales.
Bobby es un servicio online o software offline que analiza páginas Web y ayuda a reparar<br />
<strong>la</strong>s barreras <strong>de</strong> accesabilidad, promovi<strong>en</strong>do el uso <strong>de</strong> directrices.<br />
Por su parte, Doctor HTML, es una <strong>de</strong> <strong>la</strong>s herrami<strong>en</strong>tas más completas disponibles <strong>en</strong> el<br />
mercado para el diagnóstico <strong>de</strong> usabilidad. Fue <strong>la</strong>nzado <strong>en</strong> 1997 y permite hacer un<br />
diagnóstico <strong>de</strong>l <strong>sitio</strong> completo <strong>de</strong>s<strong>de</strong> Internet o <strong>en</strong> <strong>la</strong> Intranet. Cada uno <strong>de</strong> los errores<br />
id<strong>en</strong>tificados por <strong>la</strong> aplicación son acompañados <strong>de</strong> un com<strong>en</strong>tario <strong>de</strong>scriptivo. Funciona<br />
con código HTML abierto, verifica <strong>la</strong> pres<strong>en</strong>cia <strong>de</strong> los tags, localiza ligas muertas, <strong>la</strong><br />
sintaxis <strong>de</strong> <strong>la</strong>s imág<strong>en</strong>es, valida <strong>la</strong> estructura <strong>de</strong> los forms, da formato al código HTML,<br />
verifica <strong>la</strong> ortografía <strong>de</strong>l cont<strong>en</strong>ido. A<strong>de</strong>más, elimina los espacios innecesarios, verifica<br />
frames, evalúa <strong>la</strong> compatibilidad con los navegadores más comunes, el uso <strong>de</strong> fu<strong>en</strong>tes<br />
estándares. Muestra <strong>la</strong> página que está si<strong>en</strong>do evaluada y si se requiere <strong>de</strong> un nombre <strong>de</strong><br />
usuario y password pue<strong>de</strong>s ser agregados.<br />
LinkBot, evalúa el <strong>sitio</strong>, g<strong>en</strong>erando el árbol <strong>de</strong> navegación y muestra una lista <strong>de</strong> los links<br />
rotos, archivos huérfanos, páginas l<strong>en</strong>tas y páginas que omit<strong>en</strong> los títulos o ALT.<br />
NetMechanic es una aplicación que analiza el código HTML para <strong>en</strong>contrar errores y<br />
pue<strong>de</strong> corregirlos automáticam<strong>en</strong>te.<br />
Finalm<strong>en</strong>te, WebGarage que validad los links, el tiempo <strong>de</strong> <strong>de</strong>scarga, <strong>la</strong> compatibilidad<br />
con los navegadores y valida el código HTML.<br />
Para <strong>de</strong>sarrol<strong>la</strong>r el análisis <strong>de</strong> <strong>la</strong>s diversas herrami<strong>en</strong>tas <strong>de</strong> diagnóstico se <strong>de</strong>finió una<br />
taxonomía <strong>en</strong> base a los elem<strong>en</strong>tos que se verifican <strong>en</strong> cada una <strong>de</strong> el<strong>la</strong>s y posteriorm<strong>en</strong>te<br />
se pres<strong>en</strong>ta una tab<strong>la</strong> con los resultados. Los elem<strong>en</strong>tos <strong>de</strong> evaluación son los sigui<strong>en</strong>tes:<br />
- Id<strong>en</strong>tificación <strong>de</strong> errores. Consiste <strong>en</strong> <strong>la</strong> localización e id<strong>en</strong>tificación <strong>de</strong><br />
instrucciones <strong>en</strong> HTML que se expresan <strong>de</strong> manera incorrecta <strong>en</strong> alguna página<br />
<strong>de</strong>l <strong>sitio</strong> web.<br />
- Id<strong>en</strong>tificación <strong>de</strong> etiquetas para discapacitados. Localización e id<strong>en</strong>tificación <strong>de</strong><br />
etiquetas útiles para discapacitados visuales.<br />
- Tamaño <strong>de</strong> gráficos. Cont<strong>en</strong>ido <strong>en</strong> <strong>la</strong> página <strong>de</strong> gráficos. Expresado <strong>en</strong> bytes.<br />
- Tamaño <strong>de</strong> texto. Cantidad <strong>de</strong> texto incluido <strong>en</strong> <strong>la</strong> página.<br />
- Tamaño <strong>de</strong> multimedios. Memoria ocupada <strong>en</strong> multimedios.<br />
- Evaluación <strong>de</strong> migración. Se verifica si el <strong>sitio</strong> pue<strong>de</strong> migrar <strong>de</strong> p<strong>la</strong>taforma.<br />
- Comprobación <strong>de</strong> links. Se verifica si no exist<strong>en</strong> ligas muertas.<br />
- Recom<strong>en</strong>daciones <strong>de</strong> cambios <strong>en</strong> el código. Si <strong>la</strong> herrami<strong>en</strong>ta pres<strong>en</strong>ta<br />
recom<strong>en</strong>daciones al diseñador acerca <strong>de</strong> cómo mejorar el código html.<br />
- Tiempo <strong>de</strong> <strong>de</strong>scarga. Si se incluye un análisis <strong>de</strong>l tiempo <strong>de</strong> <strong>de</strong>scarga <strong>de</strong> cada<br />
página.<br />
- Corrección <strong>de</strong> errores <strong>en</strong> el código html automáticam<strong>en</strong>te.<br />
- Asist<strong>en</strong>cia <strong>en</strong> reparación manuales <strong>de</strong>l código.<br />
- Compatibilidad <strong>de</strong> navegadores. Análisis <strong>de</strong>l <strong>sitio</strong> con respecto a difer<strong>en</strong>tes<br />
navegadores <strong>de</strong> Internet.<br />
- Ortografía <strong>de</strong>l cont<strong>en</strong>ido. Si <strong>la</strong> herrami<strong>en</strong>ta evalúa <strong>la</strong> ortografía <strong>de</strong>l texto<br />
cont<strong>en</strong>ido <strong>en</strong> el <strong>sitio</strong>.<br />
- G<strong>en</strong>erar árbol <strong>de</strong> navegación. Si se muestra al usuario el árbol <strong>de</strong> navegación <strong>de</strong>l<br />
<strong>sitio</strong> completo.<br />
- Desarrollo <strong>de</strong> tareas <strong>en</strong> el <strong>sitio</strong>. G<strong>en</strong>era un reporte que indica el tiempo que tarda<br />
un usuario <strong>en</strong> realizar o llegar a un punto específico d<strong>en</strong>tro <strong>de</strong>l <strong>sitio</strong>; incluye<br />
clicks, tec<strong>la</strong>zos, scroll bar, etc.
- Niveles <strong>de</strong> profundidad. Se evalúa el número <strong>de</strong> niveles <strong>de</strong> profundidad<br />
horizontal y vertical <strong>de</strong>l <strong>sitio</strong>.<br />
- Servicio fuera <strong>de</strong> línea. Si <strong>la</strong> herrami<strong>en</strong>ta pue<strong>de</strong> usarse como aplicación local.<br />
- Servicio <strong>en</strong> línea. Si esta disponible vía web.<br />
- Evaluación <strong>de</strong> una so<strong>la</strong> página. Si <strong>la</strong> herrami<strong>en</strong>ta evalúa solo por página<br />
- Evaluación <strong>de</strong>l Sitio completo. Caso contrario al anterior.<br />
- Costo. Gratuito, pago por páginas evaluadas, por m<strong>en</strong>sualidad o por lic<strong>en</strong>cias.<br />
Tab<strong>la</strong> 1. Características que id<strong>en</strong>tifican a <strong>la</strong>s herrami<strong>en</strong>tas <strong>de</strong> diagnóstico<br />
Características WS ULO WC NS E AP B DH LB NM WG<br />
Id<strong>en</strong>tificación <strong>de</strong> X X X X X X<br />
errores HTML<br />
Id<strong>en</strong>tificación <strong>de</strong> X<br />
X<br />
etiquetas para<br />
discapacitados<br />
Tamaño <strong>de</strong> X X X<br />
gráficos<br />
Tamaño <strong>de</strong> texto X X<br />
Tamaño <strong>de</strong><br />
X<br />
X<br />
multimedios<br />
Evalúa <strong>la</strong> X<br />
migración<br />
Comprobación <strong>de</strong> X X X X X X X<br />
links (ligas<br />
muertas)<br />
Recom<strong>en</strong>daciones X X X<br />
<strong>de</strong> cambios <strong>en</strong> el<br />
código<br />
Tiempo <strong>de</strong><br />
X X X X X<br />
<strong>de</strong>scarga<br />
Corrección <strong>de</strong><br />
X<br />
X<br />
errores <strong>en</strong> el<br />
código HTML<br />
automáticam<strong>en</strong>te<br />
Asist<strong>en</strong>cia <strong>en</strong><br />
X<br />
reparaciones<br />
Compatibilidad<br />
X<br />
X<br />
con navegadores<br />
Ortografía <strong>de</strong>l<br />
X<br />
cont<strong>en</strong>ido<br />
G<strong>en</strong>era árbol <strong>de</strong><br />
X<br />
navegación<br />
Desarrollo <strong>de</strong><br />
X X X<br />
tareas <strong>en</strong> el <strong>sitio</strong><br />
(Tiempo <strong>de</strong><br />
exploración)<br />
Inconsist<strong>en</strong>cias<br />
X<br />
<strong>en</strong> etiquetas<br />
Servicio fuera <strong>de</strong> X X X<br />
línea<br />
Servicio <strong>en</strong> línea X X X X X X<br />
Evaluación <strong>de</strong> X X X<br />
una so<strong>la</strong> página<br />
Evaluación <strong>de</strong>l<br />
X X X X<br />
Sitio completo<br />
Costo Gratis Páginas M<strong>en</strong>sual Lic<strong>en</strong>cias Gratis Gratis Lic<strong>en</strong>cias Lic<strong>en</strong>cias Páginas Limitado
WS<br />
ULO<br />
WC<br />
NS<br />
WebSat<br />
UsableNet’s Lift Online<br />
y Lift Onsite<br />
WebCriteria<br />
NetRaker Suite<br />
E<br />
AP<br />
B<br />
DH<br />
Ergosoft–<br />
ErgoBrowser<br />
A – Prompt<br />
Bobby<br />
Doctor Html<br />
LB<br />
NM<br />
WG<br />
LinkBot<br />
NetMechanich<br />
WebGarage<br />
En el análisis <strong>de</strong> <strong>la</strong>s v<strong>en</strong>tajas y limitaciones <strong>de</strong> cada una <strong>de</strong> <strong>la</strong>s herrami<strong>en</strong>tas <strong>de</strong> diagnóstico <strong>de</strong> usabilidad que<br />
están disponibles <strong>en</strong> el mercado se pue<strong>de</strong> id<strong>en</strong>tificar que <strong>en</strong> su mayoría están <strong>de</strong>dicadas al análisis <strong>de</strong>l código<br />
HTML y a id<strong>en</strong>tificar errores <strong>de</strong> codificación, únicam<strong>en</strong>te; <strong>en</strong> este caso se <strong>en</strong>cu<strong>en</strong>tran WebSAT, Lift Online y<br />
Lift Onsite, NetRaker Suite, Bobby, Doctor HTML, NetMechanic y WebGarage. Estas herrami<strong>en</strong>tas son <strong>de</strong><br />
un gran apoyo para aquellos que están codificando <strong>la</strong>s páginas <strong>de</strong>bido al <strong>en</strong>foque que ti<strong>en</strong><strong>en</strong>; si<strong>en</strong>do <strong>de</strong> estas,<br />
solo Doctor HTML y WebGarage los que evalúan un <strong>sitio</strong> completo.<br />
Por otra parte, están <strong>la</strong> herrami<strong>en</strong>tas que facilitan <strong>la</strong>s evaluaciones <strong>de</strong> usabilidad, contando el número <strong>de</strong><br />
tec<strong>la</strong>zos o clicks <strong>en</strong> los links <strong>de</strong>l <strong>sitio</strong>, simu<strong>la</strong>ndo <strong>la</strong> experi<strong>en</strong>cia <strong>de</strong> los usuarios y midi<strong>en</strong>do el tiempo <strong>de</strong><br />
<strong>de</strong>scarga, tal como WebCriteria, ergoBrowser y LinkBot. En esta otra categoría, <strong>la</strong>s tres herrami<strong>en</strong>tas se<br />
<strong>en</strong>focan al aspectos funcionalidad <strong>de</strong>l <strong>sitio</strong>, evaluando y grabando los movimi<strong>en</strong>tos <strong>de</strong> los usuarios d<strong>en</strong>tro <strong>de</strong>l<br />
<strong>sitio</strong> web cuando se les solicita realizar una tarea específicam<strong>en</strong>te. No se consi<strong>de</strong>ran aspectos <strong>de</strong> codificación,<br />
ni el espacio ocupado <strong>en</strong> texto, imág<strong>en</strong>es o multimedios. Estas herrami<strong>en</strong>tas están <strong>de</strong>stinadas al proceso <strong>de</strong><br />
evaluación <strong>de</strong>l <strong>sitio</strong> ante los usuarios, y no <strong>en</strong> el tiempo <strong>de</strong> codificación o diseño.<br />
Finalm<strong>en</strong>te A-Prompt que es una herrami<strong>en</strong>ta que guía <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> páginas Web, id<strong>en</strong>tificando y<br />
corrigi<strong>en</strong>do errores automáticam<strong>en</strong>te o asisti<strong>en</strong>do al <strong>de</strong>sarrol<strong>la</strong>dor <strong>en</strong> <strong>la</strong> reparación manual. Es una<br />
herrami<strong>en</strong>ta dirigida a los codificadores <strong>de</strong> páginas y no a los diseñadores directam<strong>en</strong>te, pues no evalúa<br />
aspectos <strong>de</strong> espacio, tiempo <strong>de</strong> <strong>de</strong>scarga, ni <strong>la</strong> experi<strong>en</strong>cia <strong>de</strong> los usuarios ante el <strong>sitio</strong>.<br />
3. DAU: Herrami<strong>en</strong>ta <strong>de</strong> Diagnóstico Automático <strong>de</strong> Usabilidad<br />
Desarrol<strong>la</strong>r <strong>la</strong> evaluación <strong>de</strong> usabilidad <strong>de</strong> un Sitio <strong>en</strong> busca <strong>de</strong> fu<strong>en</strong>tes pot<strong>en</strong>ciales <strong>de</strong> conflicto requiere <strong>de</strong><br />
muchas horas <strong>de</strong> trabajo para po<strong>de</strong>r recorrerlo completam<strong>en</strong>te e ir evaluando <strong>la</strong>s difer<strong>en</strong>tes directrices, página<br />
por página d<strong>en</strong>tro <strong>de</strong>l mismo dominio. Si a esto sumamos que pue<strong>de</strong> tratarse <strong>de</strong> un Sitio Web <strong>de</strong> gran tamaño<br />
— empresas internacionales, instituciones gubernam<strong>en</strong>tales, instituciones educativas, comercios electrónicos,<br />
etc.— es un trabajo que requiere <strong>de</strong> un gran equipo <strong>de</strong> trabajo, que <strong>de</strong>b<strong>en</strong> <strong>de</strong>dicar muchas horas <strong>en</strong> revisar el<br />
<strong>sitio</strong> e ir haci<strong>en</strong>do anotaciones con respecto a <strong>la</strong>s variables <strong>de</strong> usabilidad.<br />
La automatización <strong>de</strong> <strong>la</strong> evaluación <strong>de</strong> usabilidad ti<strong>en</strong>e varias v<strong>en</strong>tajas pot<strong>en</strong>ciales sobre <strong>la</strong> evaluación no<br />
automatizada, <strong>en</strong>tre <strong>la</strong>s que están:<br />
- Reducir el costo <strong>de</strong> evaluación <strong>de</strong> usabilidad.<br />
- Consist<strong>en</strong>cia <strong>de</strong> los errores localizados.<br />
- Detectar errores <strong>en</strong> <strong>la</strong>s primeras etapas <strong>de</strong> trabajo.<br />
- Reducir <strong>la</strong> necesidad <strong>de</strong> experi<strong>en</strong>cia <strong>en</strong>tre evaluadores individuales.<br />
- Aum<strong>en</strong>to <strong>de</strong> <strong>la</strong> cobertura <strong>de</strong> parámetros evaluados.<br />
- La incorporación <strong>de</strong> <strong>la</strong> evaluación d<strong>en</strong>tro <strong>de</strong> <strong>la</strong> fase <strong>de</strong> diseño <strong>de</strong> <strong>de</strong>sarrollo, a difer<strong>en</strong>cia <strong>de</strong> <strong>la</strong><br />
aplicación <strong>de</strong>spués imp<strong>la</strong>ntado.<br />
Después <strong>de</strong>l análisis <strong>de</strong>sarrol<strong>la</strong>do a <strong>la</strong>s diversas herrami<strong>en</strong>tas que exist<strong>en</strong> <strong>en</strong> el mercado se pue<strong>de</strong> <strong>de</strong>terminar<br />
que cada una <strong>de</strong> el<strong>la</strong>s se <strong>en</strong>foca únicam<strong>en</strong>te a una o dos <strong>de</strong> <strong>la</strong>s etapas <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>l <strong>sitio</strong> web, es <strong>de</strong>cir, <strong>en</strong><br />
el mom<strong>en</strong>to <strong>de</strong> codificación o ya cuando está implem<strong>en</strong>tado, <strong>en</strong> <strong>la</strong> experi<strong>en</strong>cia <strong>de</strong> los usuarios. Es <strong>de</strong> suma<br />
importancia, no solo consi<strong>de</strong>rar estas etapas sino también los problemas que son difíciles <strong>de</strong> <strong>de</strong>tectar, como<br />
son <strong>la</strong>s ligas muertas, <strong>la</strong> <strong>de</strong>tección <strong>de</strong> una navegación usable, los niveles <strong>de</strong> profundidad y los tiempos <strong>de</strong><br />
navegación <strong>de</strong>bido al tamaño <strong>de</strong>l cont<strong>en</strong>ido <strong>de</strong> cada página <strong>de</strong>l <strong>sitio</strong>.<br />
Es necesaria una herrami<strong>en</strong>ta que permita a los diseñadores no solo evaluar código y accesibilidad sino<br />
también que haga un diagnóstico preliminar que informe al equipo <strong>de</strong> trabajo cuáles son <strong>la</strong>s páginas con
problemas <strong>de</strong> sobrecarga, ligas no exist<strong>en</strong>tes, páginas huérfanas, información duplicada, niveles <strong>de</strong><br />
profundidad, y cuales están d<strong>en</strong>tro <strong>de</strong> los parámetros <strong>de</strong> usabilidad.<br />
La experi<strong>en</strong>cia <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> aplicaciones nos ha llevado a apr<strong>en</strong><strong>de</strong>r que <strong>en</strong>tre más tiempo pase <strong>en</strong><br />
<strong>de</strong>tectarse un error, más costoso pue<strong>de</strong> ser solucionarlo. Si se hab<strong>la</strong> <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> <strong>sitio</strong>s web, <strong>de</strong>tectar<br />
páginas con <strong>de</strong>masiada carga <strong>de</strong> información pue<strong>de</strong> poner <strong>en</strong> riesgo el <strong>sitio</strong> al <strong>en</strong>fr<strong>en</strong>tarse al aburrimi<strong>en</strong>to o<br />
<strong>en</strong>fado <strong>de</strong> los usuarios. Muchos <strong>de</strong> los errores <strong>de</strong> este tipo ni siquiera son <strong>de</strong>tectados. Es por ello que llevar un<br />
diagnóstico con estas características a <strong>la</strong>s primeras etapas <strong>de</strong> <strong>de</strong>sarrollo permitirá a cualquier equipo <strong>de</strong> trabajo<br />
<strong>de</strong>tectar errores o <strong>de</strong>fectos <strong>en</strong> el diseño o distribución <strong>de</strong> <strong>la</strong> información a tiempo; reduci<strong>en</strong>do <strong>de</strong> esta manera<br />
los posibles increm<strong>en</strong>tos <strong>en</strong> tiempo <strong>de</strong> <strong>de</strong>sarrollo y reconstrucción <strong>de</strong>l <strong>sitio</strong>. Para <strong>la</strong> evaluación <strong>de</strong> este tipo <strong>de</strong><br />
parámetros <strong>de</strong> usabilidad se propone el <strong>de</strong>sarrollo <strong>de</strong> DAU, una herrami<strong>en</strong>ta <strong>de</strong> diagnóstico dirigida a los<br />
diseñadores <strong>de</strong> <strong>sitio</strong>s web. DAU es una herrami<strong>en</strong>ta <strong>en</strong> proceso <strong>de</strong> construcción que <strong>de</strong> manera automática<br />
hará un diagnóstico preliminar y le informará al equipo <strong>de</strong> trabajo cuáles son <strong>la</strong>s páginas con problemas y<br />
cuales están d<strong>en</strong>tro <strong>de</strong> los parámetros <strong>de</strong> usabilidad. En <strong>la</strong> tab<strong>la</strong> 2 se podrán observar <strong>la</strong>s características que<br />
pres<strong>en</strong>tará <strong>la</strong> aplicación y que podrá comparar con <strong>la</strong> taxonomía evaluada <strong>en</strong> <strong>la</strong>s otras herrami<strong>en</strong>tas<br />
disponibles <strong>en</strong> el mercado.<br />
Tab<strong>la</strong> 2. Características que id<strong>en</strong>tificaran a DAU.<br />
Características<br />
Id<strong>en</strong>tificación <strong>de</strong> errores HTML<br />
Id<strong>en</strong>tificación <strong>de</strong> etiquetas para discapacitados<br />
Tamaño <strong>de</strong> gráficos<br />
Tamaño <strong>de</strong> texto<br />
Tamaño <strong>de</strong> multimedios<br />
Evalúa <strong>la</strong> migración<br />
Comprobación <strong>de</strong> links (ligas muertas)<br />
Recom<strong>en</strong>daciones <strong>de</strong> cambios <strong>en</strong> el código<br />
Tiempo <strong>de</strong> <strong>de</strong>scarga<br />
Corrección <strong>de</strong> errores <strong>en</strong> el código HTML automáticam<strong>en</strong>te<br />
Asist<strong>en</strong>cia <strong>en</strong> reparaciones manuales<br />
Compatibilidad con navegadores<br />
Ortografía <strong>de</strong>l cont<strong>en</strong>ido<br />
G<strong>en</strong>era árbol <strong>de</strong> navegación<br />
Desarrollo <strong>de</strong> tareas <strong>en</strong> el <strong>sitio</strong> (Tiempo <strong>de</strong> exploración)<br />
Información duplicada<br />
Inconsist<strong>en</strong>cias <strong>en</strong> etiquetas<br />
Niveles <strong>de</strong> profundidad<br />
Servicio fuera <strong>de</strong> línea<br />
Servicio <strong>en</strong> línea<br />
Evaluación <strong>de</strong> una so<strong>la</strong> página<br />
Evaluación <strong>de</strong>l Sitio completo<br />
Costo<br />
DAU<br />
X<br />
X<br />
X<br />
X<br />
X<br />
X<br />
X<br />
X<br />
X<br />
X<br />
X<br />
X<br />
Gratis<br />
El sistema DAU contará con <strong>la</strong>s sigui<strong>en</strong>tes funcionalida<strong>de</strong>s:<br />
- G<strong>en</strong>erar el árbol <strong>de</strong> navegación <strong>de</strong>l Sitio Web d<strong>en</strong>tro basado <strong>en</strong> el dominio. Este árbol se pres<strong>en</strong>tará<br />
gráficam<strong>en</strong>te <strong>en</strong> <strong>la</strong> aplicación y el usuario t<strong>en</strong>drá <strong>la</strong> posibilidad <strong>de</strong> cerrar o abrir los niveles <strong>de</strong><br />
profundidad <strong>de</strong>l <strong>sitio</strong> web y ver los resultados <strong>de</strong> evaluación por nivel <strong>de</strong> profundidad o por página,<br />
lo que le permitirá discriminar los reportes <strong>de</strong> acuerdo a lo que le interese <strong>en</strong> ese mom<strong>en</strong>to.<br />
- Con respecto a los parámetros <strong>de</strong> evaluación, DAU dará <strong>la</strong> posibilidad a los diseñadores seleccionar<br />
únicam<strong>en</strong>te los parámetros que sean <strong>de</strong> su interés. Los parámetros son:Ligas muertas<br />
o Información duplicada<br />
o Posibles inconsist<strong>en</strong>cias <strong>de</strong> etiquetasDetección <strong>de</strong> navegación usable<br />
o Detección <strong>de</strong> riesgo <strong>de</strong> exceso <strong>de</strong> texto <strong>en</strong> una página <strong>de</strong>terminada<br />
o Detección <strong>de</strong> riesgo <strong>de</strong> exceso <strong>de</strong> gráficos y animaciones <strong>en</strong> una página <strong>de</strong>terminada
o Detección <strong>de</strong> cont<strong>en</strong>idos y excesos<br />
o Detección <strong>de</strong> exceso <strong>de</strong> niveles <strong>de</strong> profundidad horizontal y vertical<br />
o Id<strong>en</strong>tificación <strong>de</strong> tiempos óptimos <strong>de</strong> navegación <strong>en</strong> los distintos niveles <strong>de</strong>l <strong>sitio</strong><br />
o Detección <strong>de</strong> problemas <strong>en</strong> el código HTML<br />
o Páginas correctas <strong>en</strong> usabilidad<br />
- Emitir reportes <strong>de</strong> usabilidad con cierto grado <strong>de</strong> flexibilidad. La flexibilidad se especificará <strong>en</strong> <strong>la</strong><br />
selección <strong>de</strong> los parámetros evaluados y <strong>en</strong> el nivel <strong>de</strong>l árbol que se <strong>de</strong>see analizar. Estos reportes<br />
podrán verse <strong>en</strong> pantal<strong>la</strong> o si el usuario lo <strong>de</strong>sea imprimirlos.<br />
Otra característica <strong>de</strong> DAU, será <strong>la</strong> <strong>de</strong> evitar que el diseñador <strong>de</strong>ba recorrer el <strong>sitio</strong> completo <strong>de</strong> manera<br />
manual e ir haci<strong>en</strong>do <strong>la</strong> evaluación midi<strong>en</strong>do el tiempo <strong>de</strong> <strong>de</strong>scarga, el cont<strong>en</strong>ido <strong>de</strong> <strong>la</strong>s páginas, etc. Al<br />
contar con <strong>la</strong> herrami<strong>en</strong>ta, el tiempo <strong>de</strong> diagnóstico y <strong>la</strong> consist<strong>en</strong>cia <strong>de</strong> criterios <strong>de</strong> análisis reducirá el tiempo<br />
<strong>de</strong> evaluación y a su vez ajustará el <strong>sitio</strong> web a ciertos estándares pre<strong>de</strong>terminados. Es importante hacer notar<br />
que se consi<strong>de</strong>ra a <strong>la</strong>s técnicas automatizadas como un complem<strong>en</strong>to útil a <strong>la</strong> adición <strong>de</strong> técnicas <strong>de</strong><br />
evaluación estándar, como <strong>la</strong> evaluación heurística y pruebas <strong>de</strong> usuario, no un sustituto. Difer<strong>en</strong>tes técnicas<br />
localizan difer<strong>en</strong>tes tipos <strong>de</strong> problemas, y <strong>la</strong>s medidas subjetivas, como <strong>la</strong> satisfacción <strong>de</strong> usuario no es tan<br />
confiable si se hace con métodos automatizados.<br />
4. Conclusión<br />
Asegurar <strong>la</strong> usabilidad como parte <strong>de</strong>l proceso <strong>de</strong> diseño, es una excel<strong>en</strong>te práctica, ya que <strong>en</strong>tre más pronto<br />
es <strong>de</strong>tectado un problema es más fácil su solución y cuesta m<strong>en</strong>os resolverlo que <strong>en</strong> etapas posteriores. SE<br />
<strong>de</strong>tectaron varias herrami<strong>en</strong>tas que llevan a cabo un cierto tipo <strong>de</strong> evaluación <strong>de</strong> usabilidad, algunos<br />
ori<strong>en</strong>tados específicam<strong>en</strong>te <strong>en</strong> <strong>la</strong> codificación, otras <strong>en</strong> <strong>la</strong> experi<strong>en</strong>cia <strong>de</strong>l usuario y una última como guía <strong>de</strong><br />
<strong>de</strong>sarrollo <strong>de</strong> <strong>sitio</strong>s web; pero ninguna que haga un diagnóstico preliminar que consi<strong>de</strong>re <strong>la</strong> pres<strong>en</strong>tación <strong>de</strong> un<br />
árbol <strong>de</strong> navegación y <strong>la</strong> emisión <strong>de</strong> reportes flexibles a los parámetros <strong>de</strong> evaluación y con <strong>la</strong> posibilidad <strong>de</strong><br />
ampliar sus horizontes <strong>de</strong> evaluación. En el pres<strong>en</strong>te artículo, se propone el <strong>de</strong>sarrollo <strong>de</strong> una herrami<strong>en</strong>ta que<br />
<strong>de</strong> manera automática haga un evaluación preliminar y le informe al equipo <strong>de</strong> diseño cuáles son <strong>la</strong>s páginas<br />
que no pres<strong>en</strong>tan problemas, cuales otras ti<strong>en</strong><strong>en</strong> sobrecarga <strong>de</strong> texto, animaciones o imág<strong>en</strong>es, <strong>en</strong>tre otros<br />
<strong>de</strong>fectos; lo que implica un ahorro consi<strong>de</strong>rable <strong>en</strong> tiempo, esfuerzo y costos.<br />
5. Refer<strong>en</strong>cias<br />
[1] D<strong>en</strong>is Wixon y Chauncey Wilson<br />
[2] Jakob Niels<strong>en</strong>'s Website http://www.useit.com/<br />
[3] Jakob Niels<strong>en</strong>. Designing Web Usability : The Practice of Simplicity<br />
[4] WebSat. http://zing.ncsl.gov/webmet/sat/websat-process.html<br />
[5] UsableNet’s Lift Online y Lift Onsite. http://www.usabl<strong>en</strong>et.com<br />
[6] WebCriteria. http://www.webcriteria.com<br />
[7] NetRaker Suite. http://www.netraker.com<br />
[8] Ergosoft – ErgoBrowser. http://www.ergo<strong>la</strong>bs.com<br />
[9] A – Prompt. http://aprompt.snow.utoronto.ca<br />
[10] Bobby. http://www.watchfire.com<br />
[11] Doctor Html. http://www2.imagiware.com/RXHTML<br />
[12] LinkBot. http://www.web<strong>de</strong>velopersjournal.com/software/linkbot.html<br />
[13] NetMechanich. http://www.netmechanic.com/toolbox/html-co<strong>de</strong>.htm<br />
[14] WebGarage. http://www.stetson.edu/administration/it/mediaservices/webgarage.php<br />
[15] R. Molich, N. Bevan, S. Butler, I. Curson, E. Kindlund, J. Kirakowski, and D. Miller. Comparative evaluation<br />
of usability tests. In Proceedings of UPA98, pages 189{200, June 1998.
[16] R. Molich, A. D. Thoms<strong>en</strong>, B. Karyukina, L. Schmidt, M. E<strong>de</strong>, W. van Oel, and M. Arcuri. Comparative<br />
evaluation of usability tests. In Proceedings of ACM CHI'99 Confer<strong>en</strong>ce on Human Factors in Computing<br />
Systems, pages 83-86, May1999.<br />
[17] Jakob Niels<strong>en</strong>. Usability Engineering. Aca<strong>de</strong>mic Press, Boston, MA, 1993.<br />
[18] NIELSEN, J. 1993. Usability Engineering. Boston, MA: Aca<strong>de</strong>mic Press.<br />
[19] MELODY Y. IVORY, MARTI A. HEARST. The State of the Art in Automating Usability Evaluation of User<br />
Interfaces. University of California, Berkeley
Estudio sobre el uso <strong>de</strong> gestos <strong>en</strong> una interfaz<br />
multimodal hombre-máquina simu<strong>la</strong>da<br />
Luis Vil<strong>la</strong>señor Pineda & C<strong>la</strong>udia Vázquez Valerdi<br />
Laboratorio <strong>de</strong> Tecnologías <strong>de</strong>l L<strong>en</strong>guaje<br />
Instituto Nacional <strong>de</strong> Astrofísica, Óptica y Electrónica<br />
Sta. María Tonantzint<strong>la</strong>, Pueb<strong>la</strong>, México<br />
vil<strong>la</strong>s<strong>en</strong>@inaoep.mx<br />
Resum<strong>en</strong>. La nueva g<strong>en</strong>eración <strong>de</strong> interfaces hombre-máquina son <strong>la</strong>s l<strong>la</strong>madas<br />
interfaces multimodales. En el<strong>la</strong>s <strong>la</strong> comunicación con el sistema automático se<br />
realiza gracias a más <strong>de</strong> un modo <strong>de</strong> <strong>en</strong>trada, principalm<strong>en</strong>te <strong>la</strong> voz y el gesto.<br />
El pres<strong>en</strong>te trabajo pres<strong>en</strong>ta un estudio empírico sobre el tipo <strong>de</strong> expresiones<br />
verbales que son acompañadas con indicaciones gestuales <strong>en</strong> una interfaz<br />
multimodal simu<strong>la</strong>da. Este estudio <strong>de</strong>scribe y propone una c<strong>la</strong>sificación <strong>de</strong>l tipo<br />
<strong>de</strong> expresiones que los usuarios acompañaron <strong>de</strong> un gesto.<br />
1 Introducción<br />
Entre los proyectos realizados <strong>en</strong> el Laboratorio <strong>de</strong> Tecnologías <strong>de</strong>l L<strong>en</strong>guaje <strong>de</strong>l<br />
INAOE se estudian los medios para ext<strong>en</strong><strong>de</strong>r <strong>la</strong> expresividad <strong>en</strong> <strong>la</strong> comunicación<br />
hombre-máquina al incluir varios modos <strong>de</strong> <strong>en</strong>trada. Lo que se busca es permitir una<br />
comunicación oral apoyada por otros modos <strong>de</strong> <strong>en</strong>trada como el ratón o el tec<strong>la</strong>do.<br />
Con este propósito se estudiaron vi<strong>de</strong>o-grabaciones <strong>de</strong> sesiones <strong>de</strong> trabajo <strong>en</strong>tre<br />
dos personas. El corpus utilizado <strong>en</strong> este estudio es el corpus DIME [Vil<strong>la</strong>señor et al.<br />
01]. Este corpus multimodal provee información empírica sobre el uso y <strong>la</strong><br />
interre<strong>la</strong>ción <strong>en</strong> los intercambios conversacionales, a<strong>de</strong>más <strong>de</strong> brindar elem<strong>en</strong>tos para<br />
el estudio <strong>de</strong>l l<strong>en</strong>guaje hab<strong>la</strong>do, incluy<strong>en</strong>do f<strong>en</strong>óm<strong>en</strong>os comunes como <strong>la</strong> anáfora, <strong>la</strong><br />
elipsis, <strong>la</strong>s expresiones <strong>de</strong>ícticas, etc. La recolección <strong>de</strong>l corpus se realizó mediante el<br />
esc<strong>en</strong>ario <strong>de</strong>l Mago <strong>de</strong> Oz [Dahlbäck et al. 93]. Este esc<strong>en</strong>ario consiste <strong>de</strong> una<br />
persona (el mago) que toma el papel <strong>de</strong>l sistema computacional y <strong>de</strong> una persona (el<br />
sujeto) a <strong>la</strong> cual se le solicita <strong>la</strong> resolución <strong>de</strong> una tarea con ayuda <strong>de</strong>l mago. La<br />
interacción se lleva a cabo a través <strong>de</strong> un sistema <strong>de</strong> audio y computadoras que<br />
permit<strong>en</strong> observar <strong>la</strong> tarea realizada por el otro sin contacto visual <strong>en</strong>tre ellos. La<br />
gráfica 1 muestra <strong>la</strong> p<strong>la</strong>taforma usada para <strong>la</strong> adquisición <strong>de</strong>l corpus DIME. El corpus<br />
consiste <strong>de</strong> 31 grabaciones con una duración total <strong>de</strong> 7 horas 10 minutos (<strong>en</strong> promedio<br />
14 minutos por grabación).<br />
Los datos aportados por este corpus nos han permitido analizar difer<strong>en</strong>tes f<strong>en</strong>óm<strong>en</strong>os<br />
<strong>en</strong> este tipo <strong>de</strong> interacción [Taylor et al 89]. En particu<strong>la</strong>r este estudio se <strong>en</strong>foca al<br />
l<strong>en</strong>guaje no verbal, el cual funcionó para regu<strong>la</strong>r, interpretar y retroalim<strong>en</strong>tar el<br />
proceso <strong>de</strong> comunicación. Por ejemplo <strong>en</strong>:
mago: ¿quieres que borre este objeto?<br />
sujeto: sí<br />
El mago emitió <strong>la</strong> expresión este objeto acompañada <strong>de</strong> <strong>la</strong> señalización directa sobre<br />
el objeto al que se refiere, este gesto ayuda al sujeto a ubicar el objeto eliminando<br />
cualquier ambigüedad, ya que <strong>en</strong> este caso <strong>la</strong> expresión este objeto no ti<strong>en</strong><strong>en</strong> solución<br />
posible. Es <strong>de</strong>cir, el gesto fue indisp<strong>en</strong>sable para establecer <strong>la</strong> correcta ubicación <strong>de</strong>l<br />
objeto, a<strong>de</strong>más <strong>de</strong> regu<strong>la</strong>r e interpretar <strong>la</strong> comunicación.<br />
El pres<strong>en</strong>te trabajo <strong>de</strong>scribe y c<strong>la</strong>sifica <strong>la</strong>s expresiones verbales acompañadas <strong>de</strong><br />
gestos. A continuación se pres<strong>en</strong>ta brevem<strong>en</strong>te los aspectos fundam<strong>en</strong>tales <strong>de</strong>l<br />
l<strong>en</strong>guaje no verbal; <strong>en</strong>seguida, se <strong>de</strong>scrib<strong>en</strong> los <strong>de</strong>talles <strong>de</strong> <strong>la</strong> transcripción usada así<br />
como los difer<strong>en</strong>tes tipos <strong>de</strong> uso <strong>de</strong> gestos id<strong>en</strong>tificados. Por último, <strong>en</strong> <strong>la</strong> cuarta<br />
sección se discut<strong>en</strong> <strong>la</strong>s perspectivas <strong>de</strong> este trabajo.<br />
cuarto <strong>de</strong>l usuario<br />
cuarto <strong>de</strong>l simu<strong>la</strong>dor <strong>de</strong>l sistema<br />
computadora para grabación<br />
Fig. 1. P<strong>la</strong>taforma para <strong>la</strong> grabación <strong>de</strong>l corpus DIME<br />
2 El l<strong>en</strong>guaje no verbal<br />
Diversos aspectos no verbales <strong>de</strong>l comportami<strong>en</strong>to comunicativo son tan connaturales<br />
<strong>en</strong> <strong>la</strong>s interacciones <strong>de</strong> <strong>la</strong> vida cotidiana que es difícil ser pl<strong>en</strong>am<strong>en</strong>te consci<strong>en</strong>tes <strong>de</strong><br />
sus funciones y significado. Entre <strong>la</strong>s difer<strong>en</strong>tes manifestaciones <strong>de</strong>l l<strong>en</strong>guaje no<br />
verbal po<strong>de</strong>mos <strong>en</strong>contrar los sigui<strong>en</strong>tes: el contacto corporal, <strong>la</strong> distancia<br />
interpersonal, <strong>la</strong> ori<strong>en</strong>tación, <strong>la</strong> postura, <strong>la</strong> mímica <strong>de</strong>l rostro, el comportami<strong>en</strong>to<br />
visual, etc. (para una <strong>de</strong>scripción completa véase [Vázquez 04]).<br />
Entre <strong>la</strong>s funciones discursivas <strong>de</strong>l l<strong>en</strong>guaje no verbal t<strong>en</strong>emos:<br />
1. Marca <strong>de</strong> manera consci<strong>en</strong>te o inconsci<strong>en</strong>te <strong>la</strong> sucesión gramatical <strong>de</strong> <strong>la</strong>s pa<strong>la</strong>bras.<br />
2. Resalta algún aspecto semántico <strong>de</strong>l m<strong>en</strong>saje discursivo.<br />
3. Seña<strong>la</strong> algo <strong>en</strong> particu<strong>la</strong>r <strong>en</strong> el contexto refer<strong>en</strong>cial (gestos <strong>de</strong>ícticos).<br />
4. Muestra objetos, modos <strong>de</strong> actuar, estados <strong>de</strong> ánimo, reacciones, emociones, etc.
5. Ti<strong>en</strong>e un gran cont<strong>en</strong>ido semántico <strong>en</strong> cuanto a <strong>la</strong> actitud e int<strong>en</strong>ción comunicativa<br />
<strong>de</strong> los sujetos <strong>en</strong> los proceso <strong>de</strong> interacción.<br />
6. Pue<strong>de</strong> oponerse al l<strong>en</strong>guaje verbal, ya que el l<strong>en</strong>guaje no verbal no pu<strong>de</strong> m<strong>en</strong>tir, es<br />
<strong>de</strong> difícil manipu<strong>la</strong>ción.<br />
Es tan importante el l<strong>en</strong>guaje no verbal que no sólo ayuda a <strong>de</strong>sm<strong>en</strong>tir lo que se<br />
dice verbalm<strong>en</strong>te sino a<strong>de</strong>más provee tanta información como para interpretar<br />
múltiples significados. En lo que respecta a este trabajo sólo nos <strong>en</strong>focaremos a <strong>la</strong><br />
función <strong>de</strong>l l<strong>en</strong>guaje no verbal cuando este sirve para seña<strong>la</strong>r algo <strong>en</strong> el contexto<br />
refer<strong>en</strong>cial. Esta función está íntimam<strong>en</strong>te asociada con <strong>la</strong> <strong>de</strong>ixis. En los párrafos<br />
sigui<strong>en</strong>tes se <strong>de</strong>scribe este f<strong>en</strong>óm<strong>en</strong>o lingüístico.<br />
2.1 La <strong>de</strong>ixis<br />
Como se m<strong>en</strong>cionó anteriorm<strong>en</strong>te <strong>de</strong>seamos establecer <strong>la</strong>s re<strong>la</strong>ciones <strong>en</strong>tre el l<strong>en</strong>guaje<br />
verbal y no verbal. De particu<strong>la</strong>r importancia para nosotros es lo que los lingüistas<br />
l<strong>la</strong>man <strong>de</strong>ixis. Una expresión que es capaz <strong>de</strong> “mostrar” <strong>la</strong> situación <strong>de</strong> <strong>en</strong>unciación<br />
<strong>de</strong> un hab<strong>la</strong>nte <strong>en</strong> alguna medida es d<strong>en</strong>ominada frase o pa<strong>la</strong>bra <strong>de</strong>íctica. Es <strong>de</strong>cir, los<br />
elem<strong>en</strong>tos <strong>de</strong>ícticos ti<strong>en</strong><strong>en</strong> una función refer<strong>en</strong>cial, pero <strong>de</strong>b<strong>en</strong> ser interpretados con<br />
respecto al hab<strong>la</strong>nte. Básicam<strong>en</strong>te t<strong>en</strong>emos dos tipos <strong>de</strong> <strong>de</strong>ixis 1 :<br />
• Deixis situacional: cuyo punto <strong>de</strong> partida lo establece el hab<strong>la</strong>nte <strong>en</strong> el acto <strong>de</strong> <strong>la</strong><br />
<strong>en</strong>unciación a partir <strong>de</strong> un conjunto <strong>de</strong> coord<strong>en</strong>adas actuales <strong>de</strong> persona, espacio<br />
y tiempo. Deixis mostrativa, con carácter egocéntrico <strong>de</strong> los pronombres<br />
personales, formas verbales, adverbios locativos.<br />
• Deixis contextual (o <strong>de</strong>ixis “fórica”: anáfora y catáfora): actúa <strong>en</strong> el interior <strong>de</strong>l<br />
texto, refiriéndose a otras pa<strong>la</strong>bras que ya han aparecido o van a aparecer <strong>en</strong> él.<br />
Este tipo <strong>de</strong> <strong>de</strong>ixis no ti<strong>en</strong>e carácter egocéntrico, sino sólo aporta información<br />
acerca <strong>de</strong> <strong>la</strong> situación g<strong>en</strong>eral <strong>de</strong> <strong>en</strong>unciación y <strong>de</strong>l subjetivo punto <strong>de</strong> vista <strong>de</strong>l<br />
hab<strong>la</strong>nte <strong>en</strong> el<strong>la</strong>.<br />
En g<strong>en</strong>eral, <strong>la</strong>s expresiones que indican “persona”, “espacio” o “tiempo” no ti<strong>en</strong><strong>en</strong><br />
más remedio que ser egocéntricas, pues incluso cuando <strong>la</strong> refer<strong>en</strong>cia respecto <strong>de</strong> <strong>la</strong><br />
cual se toman no es el locutor, sino un punto externo, este punto no es “externo”<br />
respecto <strong>de</strong>l locutor, que es el responsable <strong>de</strong>l <strong>en</strong>unciado y el que por necesidad ha <strong>de</strong><br />
expresar siempre <strong>en</strong> él un <strong>de</strong>terminado punto <strong>de</strong> vista.<br />
El caso <strong>de</strong> <strong>la</strong> <strong>de</strong>ixis situacional po<strong>de</strong>mos c<strong>la</strong>sificarlos <strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te manera:<br />
• De lugar (por ejemplo: aquí/acá, ahí, allí/allá, etc.)<br />
• De tiempo (por ejemplo: ahora, mañana, etc.)<br />
Los <strong>de</strong>ícticos espaciales y temporales se <strong>de</strong>codifican, gracias a <strong>la</strong> fecha y lugar <strong>de</strong><br />
<strong>en</strong>unciación dada. En nuestro estudio no tomaremos <strong>en</strong> cu<strong>en</strong>ta los <strong>de</strong>ícticos<br />
temporales, ya que <strong>en</strong> su mayoría son usados como muletil<strong>la</strong>s, por ejemplo:<br />
U: sí, ahora, el:: estante que está aquí arriba moverlo arriba <strong>de</strong>l::<br />
<strong>de</strong>l refrigerador (ejemplo <strong>de</strong>l diálogo 3, tarea1- turno 6).<br />
Lo que es más, <strong>en</strong> el contexto <strong>de</strong>l corpus DIME, el sistema computacional no está<br />
si<strong>en</strong>do programado para funciones futuras sino pres<strong>en</strong>tes.<br />
1 http://www.ucm.es/info/circulo/no1/vigara.htm
2.2 El pronombre como <strong>de</strong>íctico<br />
Otro elem<strong>en</strong>to lingüístico asociado al l<strong>en</strong>guaje no verbal es el pronombre. Esta<br />
re<strong>la</strong>ción es discutible, pues po<strong>de</strong>mos ver un pronombre cumpli<strong>en</strong>do una función<br />
anafórica al reemp<strong>la</strong>zar un término anterior y no un <strong>de</strong>íctico al no “mostrar” un objeto<br />
vincu<strong>la</strong>do a <strong>la</strong> situación <strong>de</strong> <strong>en</strong>unciación. Sin embargo, <strong>en</strong> nuestro trabajo recuperamos<br />
muestras <strong>en</strong> <strong>la</strong>s que se utilizan, por ejemplo pronombres <strong>de</strong>mostrativos, sin<br />
vincu<strong>la</strong>ción anafórica o catafórica. A<strong>de</strong>más, los pronombres implican un gesto que<br />
<strong>de</strong>signa al objeto al mismo tiempo que se pronuncia <strong>la</strong> instancia <strong>de</strong>l término. La<br />
re<strong>la</strong>ción <strong>en</strong>tre los pronombres y los <strong>de</strong>ícticos <strong>la</strong> establece también el Esbozo <strong>de</strong> <strong>la</strong><br />
Real Aca<strong>de</strong>mia <strong>de</strong> <strong>la</strong> L<strong>en</strong>gua Españo<strong>la</strong> (1978:202):<br />
“Hay una propiedad común a todos los pronombres que no es morfológica<br />
ni propiam<strong>en</strong>te sintáctica, aunque t<strong>en</strong>ga consecu<strong>en</strong>cias <strong>de</strong> ord<strong>en</strong> sintáctico.<br />
Son nulos o escasos los cont<strong>en</strong>idos semánticos <strong>de</strong>l pronombre. No sabemos<br />
lo que significa el pronombre esto, por ejemplo, pero sí para lo que sirve:<br />
para seña<strong>la</strong>r a algo que está ante nuestros ojos o algo que acabamos <strong>de</strong><br />
pronunciar o escribir, sin m<strong>en</strong>tar su concepto. A estas dos funciones aludía <strong>la</strong><br />
Gramática griega al <strong>de</strong>cir que todo pronombre es <strong>de</strong>íctico (seña<strong>la</strong><br />
inconceptualm<strong>en</strong>te a lo que vemos o recordamos) o anafórico (remite a lo que<br />
se acaba <strong>de</strong> <strong>en</strong>unciar). El pronombre yo seña<strong>la</strong> <strong>de</strong>ícticam<strong>en</strong>te al que está<br />
dici<strong>en</strong>do yo, el re<strong>la</strong>tivo que remite anafóricam<strong>en</strong>te a su anteced<strong>en</strong>te <strong>en</strong> el<br />
contexto.”<br />
3 Transcripción y análisis <strong>de</strong> los diálogos<br />
El primer paso para el estudio <strong>de</strong>l l<strong>en</strong>guaje no verbal usado <strong>en</strong> <strong>la</strong> interacción<br />
hombre-máquina fue <strong>la</strong> transcripción <strong>de</strong> toda situación <strong>en</strong> <strong>la</strong> que un gesto fue usado.<br />
Esta anotación nos permitió, <strong>de</strong> manera explícita, establecer <strong>la</strong>s re<strong>la</strong>ciones <strong>en</strong>tre el<br />
l<strong>en</strong>guaje verbal y no verbal con respecto a su función <strong>de</strong>íctica.<br />
Con <strong>la</strong> transcripción empieza el análisis. En el<strong>la</strong> se <strong>de</strong>tal<strong>la</strong>n los sil<strong>en</strong>cios, tono <strong>de</strong> <strong>la</strong><br />
voz y tartamu<strong>de</strong>os. Naturalm<strong>en</strong>te <strong>la</strong> transcripción siempre se revisó y a<strong>de</strong>cuó a <strong>la</strong>s<br />
necesida<strong>de</strong>s que se <strong>de</strong>scubrieron <strong>en</strong> el proceso <strong>de</strong> <strong>de</strong>scripción y análisis. Para el<br />
<strong>de</strong>talle <strong>de</strong> <strong>la</strong>s conv<strong>en</strong>ciones <strong>de</strong> <strong>la</strong> transcripción véase [Tusón, 1997].<br />
A partir <strong>de</strong> esta transcripción se id<strong>en</strong>tificaron tres gran<strong>de</strong>s tipos <strong>de</strong> expresiones<br />
lingüísticas acompañadas <strong>de</strong> gesto. Las sigui<strong>en</strong>tes tab<strong>la</strong>s pres<strong>en</strong>tan estos tres tipos y<br />
<strong>de</strong>scrib<strong>en</strong> sus características. Del conjunto total <strong>de</strong> diálogos se tomaron únicam<strong>en</strong>te 4<br />
diálogos.<br />
En <strong>la</strong> Tab<strong>la</strong> 1 <strong>en</strong>contramos el caso más común <strong>de</strong> uso coordinado <strong>de</strong> l<strong>en</strong>guaje<br />
verbal y no verbal: los <strong>de</strong>ícticos gramaticales (éste, ése, aquel, ahí, allí, acá, etc.).<br />
Para <strong>de</strong>scribirlos se usaron difer<strong>en</strong>tes características: (i) el <strong>de</strong>íctico gramatical usado<br />
por el sujeto (columna 1); (ii) <strong>la</strong> pres<strong>en</strong>cia <strong>de</strong> un gesto (1 o 2) 2 o no (0) (columna 2);<br />
2 En cuanto a <strong>la</strong> manifestación gestual, o selección, tomamos dos variantes: el (1) indica que el gesto<br />
acompaña al <strong>de</strong>íctico <strong>de</strong> forma directa con el cursor, el (2) hace refer<strong>en</strong>cia a que <strong>la</strong> selección es indirecta,<br />
es <strong>de</strong>cir, que ya estaba seleccionada <strong>la</strong> v<strong>en</strong>tana o área a <strong>la</strong> que se le hace refer<strong>en</strong>cia, o bi<strong>en</strong>, el cursor ya<br />
estaba colocado <strong>en</strong> el objeto o lugar indicado, antes o durante <strong>la</strong> emisión <strong>de</strong> <strong>la</strong> expresión <strong>de</strong>íctica.
(iii) el refer<strong>en</strong>te asociado (columna 3); (iv) se indica si el <strong>de</strong>íctico se resuelve por<br />
texto o no(0), ya sea por anáfora (1) o catáfora (2) (columna 4); y (v) el tipo <strong>de</strong><br />
<strong>de</strong>íctico, ya sea asociado a un objeto (1) o a un lugar (2). Por supuesto, también se<br />
ti<strong>en</strong>e información para <strong>de</strong>terminar <strong>en</strong> que diálogo y <strong>en</strong> que interv<strong>en</strong>ción aparee el<br />
<strong>de</strong>íctico.<br />
Deíctico<br />
Acompañada por<br />
un gesto<br />
Refer<strong>en</strong>te<br />
Posible resolución por<br />
texto<br />
ésta 1 v<strong>en</strong>tana superior izquierda 1 1<br />
ésta 1 v<strong>en</strong>tana superior <strong>de</strong>recha 1 1<br />
ésta 1 v<strong>en</strong>tana inferior 1 1<br />
éste 1 a<strong>la</strong>c<strong>en</strong>a 0 1<br />
éste 1 campaña extractora 0 1<br />
Éste 1 a<strong>la</strong>c<strong>en</strong>a 0 1<br />
aquí 1 esquina inferior izquierda 0 2<br />
Éste 1 gabinete <strong>de</strong> piso, b<strong>la</strong>nco, doble 2 1<br />
Tipo<br />
Table 1. Ejemplos <strong>de</strong> <strong>de</strong>ícticos gramaticales pres<strong>en</strong>tes <strong>en</strong> el corpus DIME<br />
Expresión<br />
refer<strong>en</strong>cial<br />
Acompañada<br />
por gesto<br />
Refer<strong>en</strong>te<br />
Posible<br />
resolución<br />
por texto<br />
este mueblecito 1 campaña extractora b<strong>la</strong>nca 2 1<br />
este mueble 1 gabinete <strong>de</strong> piso b<strong>la</strong>nco doble 2 1<br />
este mueble 1 gabinete <strong>de</strong> piso b<strong>la</strong>nco doble 1 1<br />
esta esquina 1 esquina superior izquierda 0 2<br />
este mueble 1 gabinete <strong>de</strong> piso b<strong>la</strong>nco doble 1 2<br />
esta estufa 1 estufa b<strong>la</strong>nca 0 1<br />
aquí <strong>en</strong>cima 1 arriba <strong>de</strong>l gabinete <strong>de</strong> piso b<strong>la</strong>nco doble 0 2<br />
Tipo<br />
Tab<strong>la</strong> 2. Ejemplos <strong>de</strong> expresiones refer<strong>en</strong>ciales pres<strong>en</strong>tes <strong>en</strong> el corpus DIME.<br />
La Tab<strong>la</strong> 2 muestra expresiones que cumpl<strong>en</strong> un papel <strong>de</strong> mostrar el refer<strong>en</strong>te (<strong>la</strong><br />
tab<strong>la</strong> también está compuesta <strong>de</strong> cinco columnas, <strong>la</strong>s mismas <strong>de</strong> <strong>la</strong> Tab<strong>la</strong> 1). Estas<br />
expresiones refer<strong>en</strong>ciales no son propiam<strong>en</strong>te <strong>de</strong>ícticos gramaticales. Pero<br />
consi<strong>de</strong>ramos que <strong>la</strong> información que se explicita por medio <strong>de</strong>l l<strong>en</strong>guaje oral no es<br />
sufici<strong>en</strong>te para <strong>la</strong> resolución <strong>de</strong> <strong>la</strong> ord<strong>en</strong>, y como nos estamos <strong>en</strong>focando a un<br />
ambi<strong>en</strong>te computacional, es indisp<strong>en</strong>sable canalizar este tipo <strong>de</strong> expresiones y darles<br />
solución refer<strong>en</strong>cial. Por ejemplo, t<strong>en</strong>emos <strong>la</strong> expresión este mueble, <strong>la</strong> cual no es<br />
c<strong>la</strong>ra si no nos <strong>en</strong>contramos <strong>en</strong> el contexto; sabemos que <strong>la</strong> tarea es realizar un diseño<br />
<strong>de</strong> cocina <strong>en</strong> el cual están involucrados muchos muebles, y si escuchamos esta<br />
expresión, nos es imposible saber exactam<strong>en</strong>te a qué mueble se refiere el usuario. Así<br />
como esta expresión t<strong>en</strong>emos otras simi<strong>la</strong>res, <strong>en</strong> cuanto a que sólo <strong>la</strong> expresión verbal<br />
no se basta a sí misma para explicar el refer<strong>en</strong>te. Igualm<strong>en</strong>te, <strong>la</strong> computadora, no
sabrá a qué mueble se refiere el usuario sin ayuda <strong>de</strong>l contexto o gesto asociado.<br />
Tradicionalm<strong>en</strong>te, este tipo <strong>de</strong> expresiones se resolverían como anáforas (o catáforas),<br />
sin embargo, gracias a nuestro estudio po<strong>de</strong>mos constatar que los usuarios usan <strong>de</strong><br />
manera natural el l<strong>en</strong>guaje verbal y no verbal <strong>en</strong> estas condiciones. Aprovechando<br />
todos los medios a su alcance para asegurar <strong>la</strong> correcta interpretación <strong>de</strong> su<br />
interv<strong>en</strong>ción. Por supuesto, esto ti<strong>en</strong>e una implicación práctica <strong>en</strong> <strong>la</strong> construcción <strong>de</strong><br />
una interfaz hombre-máquina, pues <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista computacional, será más<br />
fácil <strong>de</strong>scifrar <strong>la</strong> ord<strong>en</strong> aprovechando <strong>la</strong> información gestual.<br />
En <strong>la</strong> Tab<strong>la</strong> 3 se han tomado <strong>en</strong> cu<strong>en</strong>ta expresiones que sí se resuelv<strong>en</strong> por el texto:<br />
“gabinete <strong>de</strong> piso b<strong>la</strong>nco doble”. Sin embargo, los usuarios acompañan <strong>la</strong> expresión<br />
verbal con una indicación gestual. Siempre con <strong>la</strong> int<strong>en</strong>ción <strong>de</strong> hacer llegar su<br />
m<strong>en</strong>saje <strong>de</strong> <strong>la</strong> manera más c<strong>la</strong>ra posible. Nuevam<strong>en</strong>te, <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista<br />
computacional, aprovechar este comportami<strong>en</strong>to por parte <strong>de</strong> los usuarios hará más<br />
fácil <strong>de</strong> <strong>de</strong>scifrar el m<strong>en</strong>saje. La tab<strong>la</strong> 3 <strong>de</strong>scribe estas expresiones <strong>de</strong>finidas a través<br />
<strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te información: (i) <strong>la</strong> expresión “<strong>de</strong>finida” que hac<strong>en</strong> refer<strong>en</strong>cia a un<br />
objeto o lugar (columna 1); (ii) indicamos si <strong>la</strong> expresión está acompañada <strong>de</strong> gesto<br />
(1 o 2) o no (0); (iii) el tipo <strong>de</strong> refer<strong>en</strong>te asociado, ya sea un objeto o un lugar<br />
(columna 3).<br />
Expresión <strong>de</strong>finida <strong>de</strong> un objeto o lugar<br />
Acompañada por<br />
gesto<br />
gabinete <strong>de</strong> piso b<strong>la</strong>nco doble 2 1<br />
este gabinete <strong>de</strong> piso, b<strong>la</strong>nco, doble 2 1<br />
<strong>la</strong> campana 1 1<br />
<strong>la</strong> estufa 1 1<br />
<strong>de</strong>bajo <strong>de</strong> <strong>la</strong> v<strong>en</strong>tana 0 2<br />
mueblecito este, b<strong>la</strong>nco o armario 1 1<br />
al mismo nivel que <strong>la</strong> campana 0 2<br />
los refrigeradores 0 1<br />
Tipo<br />
Tab<strong>la</strong> 3. Ejemplos <strong>de</strong> expresiones <strong>de</strong>finidas pres<strong>en</strong>tes <strong>en</strong> el corpus DIME.<br />
En <strong>la</strong> Tab<strong>la</strong> 3 hay expresiones tan cortas como el refrigerador, consi<strong>de</strong>ramos que<br />
contextualm<strong>en</strong>te, sintáctica y gramaticalm<strong>en</strong>te el usuario emite este tipo <strong>de</strong><br />
expresiones con el artículo <strong>de</strong>finido masculino el para dirigirse a un sólo refrigerador<br />
que hay <strong>en</strong> el contexto, y no es necesario para el simu<strong>la</strong>dor <strong>de</strong>l sistema que el usuario<br />
especifique a qué refrigerador se refiere, ya que es el único. También po<strong>de</strong>mos<br />
<strong>en</strong>contrar expresiones <strong>la</strong>rgas y con <strong>de</strong>mostrativos (aún sin ser necesarios para el tipo<br />
<strong>de</strong> oración formu<strong>la</strong>da) como estos tres son los mo<strong>de</strong>los <strong>de</strong> refrigeradores, están<br />
ubicadas <strong>en</strong> esta tab<strong>la</strong> porque son expresiones que se resuelv<strong>en</strong> por sí mismas,<br />
a<strong>de</strong>más, <strong>en</strong>t<strong>en</strong><strong>de</strong>mos el refer<strong>en</strong>te.<br />
Después id<strong>en</strong>tificar y anotar estos tres tipos <strong>de</strong> expresiones lingüísticas asociadas a<br />
gestos se obtuvieron los sigui<strong>en</strong>tes resultados. La Tab<strong>la</strong> 4 resume <strong>la</strong> información para<br />
los <strong>de</strong>ícticos gramaticales. Como pue<strong>de</strong> observarse obtuvimos un total <strong>de</strong> 95<br />
<strong>de</strong>ícticos, <strong>de</strong> los cuales 92 <strong>de</strong> ellos tuvieron un gesto asociado, es <strong>de</strong>cir el 97%, lo que<br />
repres<strong>en</strong>ta un alto grado <strong>de</strong> <strong>de</strong>p<strong>en</strong>d<strong>en</strong>cia <strong>de</strong>l gesto al emitir este tipo <strong>de</strong> expresiones, lo
cual concuerda con lo esperado. Sin embargo, nos topamos con tres casos que no<br />
ti<strong>en</strong><strong>en</strong> un gesto asociado. Esto se <strong>de</strong>bió a que el <strong>de</strong>íctico fue resuelto por el texto<br />
(anáfora) ya que se pres<strong>en</strong>ta su refer<strong>en</strong>te con anterioridad. A continuación se pres<strong>en</strong>ta<br />
el fragm<strong>en</strong>to <strong>en</strong> que se da esta situación:<br />
T 62- U: ¿me pue<strong>de</strong>s poner/ <strong>la</strong> mesa con cajones junto a <strong>la</strong> estufa <strong>de</strong>l <strong>la</strong>do <strong>de</strong>recho?<br />
T 63- S: ¿<strong>de</strong>l <strong>la</strong>do <strong>de</strong>recho <strong>de</strong> <strong>la</strong> estufa?<br />
T 64- U: sí, aquí<br />
T 65- S: ok, (trabajando) el mueble no cabe ahí<br />
El <strong>de</strong>íctico gramatical aquí sustituye al <strong>la</strong>do <strong>de</strong>recho <strong>de</strong> <strong>la</strong> estufa, dado que fue<br />
seña<strong>la</strong>do el lugar pocos segundos antes, posiblem<strong>en</strong>te el interlocutor consi<strong>de</strong>ró obvio<br />
el refer<strong>en</strong>te y no volvió a especificarlo con un gesto.<br />
Porc<strong>en</strong>tajes con<br />
Número <strong>de</strong> <strong>de</strong>ícticos respecto al total <strong>de</strong><br />
<strong>de</strong>ícticos<br />
Total <strong>de</strong> <strong>de</strong>ícticos con gesto asociado 92 97%<br />
-- cursor (directa) 87<br />
-- objeto seleccionado (indirecta) 5<br />
Total <strong>de</strong> <strong>de</strong>ícticos sin gesto asociado 3 3%<br />
Total <strong>de</strong> <strong>de</strong>ícticos <strong>de</strong>signando un objeto 49 52%<br />
Total <strong>de</strong> <strong>de</strong>ícticos <strong>de</strong>signando un lugar 46 48%<br />
Total <strong>de</strong> <strong>de</strong>ícticos con posible resolución por texto 24 25%<br />
-- con posible resolución por anáfora 19 20%<br />
-- con posible resolución por catáfora 5 5%<br />
Total <strong>de</strong> <strong>de</strong>ícticos gramaticales 95<br />
Tab<strong>la</strong> 4. Resum<strong>en</strong> sobre los <strong>de</strong>ícticos gramaticales <strong>en</strong>contrados <strong>en</strong> el corpus DIME.<br />
La mayoría <strong>de</strong> los <strong>de</strong>ícticos <strong>en</strong> esta tab<strong>la</strong>, 87, tuvieron el gesto asociado <strong>de</strong><br />
manera directa, o sea, que <strong>en</strong> el mom<strong>en</strong>to <strong>de</strong> emitir <strong>la</strong> expresión, el usuario hizo al<br />
mismo tiempo <strong>la</strong> indicación con el cursor. Sólo 5 <strong>de</strong> ellos tuvieron el gesto asociado<br />
<strong>de</strong> manera indirecta: como ya vimos antes, el refer<strong>en</strong>te <strong>de</strong>l objeto o lugar ya estaba<br />
seleccionado o el cursor se mantuvo <strong>en</strong> el refer<strong>en</strong>te durante <strong>la</strong> emisión <strong>de</strong> <strong>la</strong><br />
expresión.<br />
Es relevante notar que <strong>la</strong> utilización <strong>de</strong> los <strong>de</strong>ícticos fueron ap<strong>en</strong>as más<br />
abundantes para indicar un objeto (49 = 52%) que un lugar (46 = 48%). En cuanto a <strong>la</strong><br />
posible resolución <strong>de</strong> los <strong>de</strong>ícticos a través <strong>de</strong>l discurso t<strong>en</strong>emos un 24 (25%), don<strong>de</strong><br />
19 <strong>de</strong> ellos se pued<strong>en</strong> resolver por anáfora (20%), y 5 por catáfora (5%). De los que se<br />
pued<strong>en</strong> resolver por anáfora 2 no tuvieron gesto asociado, 15 con gesto directo, y el<br />
resto (2) con indirecto.<br />
La Tab<strong>la</strong> 5 muestra los resultados obt<strong>en</strong>idos para <strong>la</strong>s expresiones refer<strong>en</strong>ciales.<br />
Éstas fueron un total <strong>de</strong> 121, 96 <strong>de</strong> el<strong>la</strong>s tuvieron un gesto asociado (79%), <strong>de</strong> <strong>la</strong>s<br />
cuales 86 fueron con señalización directa y 10 indirecta. De estas expresiones<br />
po<strong>de</strong>mos <strong>en</strong>contrar un total <strong>de</strong> 74 (61%) para <strong>de</strong>signar un objeto y 47 (39%) para un<br />
lugar; caso contrastante con <strong>la</strong> Tab<strong>la</strong> 4 que mostraba una equival<strong>en</strong>cia <strong>en</strong> <strong>la</strong>
<strong>de</strong>signación <strong>de</strong> cualquiera <strong>de</strong> estos dos elem<strong>en</strong>tos, <strong>en</strong> este caso se pres<strong>en</strong>ta una<br />
prefer<strong>en</strong>cia por <strong>la</strong>s expresiones que indican un objeto. Muy probablem<strong>en</strong>te por ser<br />
más fácil nombrar un objeto que un lugar. Sólo el 43 (36%) expresiones pued<strong>en</strong> t<strong>en</strong>er<br />
una posible resolución por el texto, 30 <strong>de</strong> el<strong>la</strong>s por anáfora (25%) y 13 por catáfora<br />
(11%).<br />
Número <strong>de</strong><br />
expresiones<br />
Porc<strong>en</strong>tajes con<br />
respecto al total <strong>de</strong><br />
expresiones<br />
Total <strong>de</strong> expresiones con gesto asociado 96 79%<br />
-- cursor (directa) 86<br />
-- objeto seleccionado (indirecta) 10<br />
Total <strong>de</strong> expresiones sin gesto asociado 25 21%<br />
Total <strong>de</strong> expresiones <strong>de</strong>signando un objeto 74 61%<br />
Total <strong>de</strong> expresiones <strong>de</strong>signando un lugar 47 39%<br />
Total <strong>de</strong> expresiones con posible resolución por<br />
texto<br />
43 36%<br />
- con posible resolución por anáfora 30 25%<br />
- con posible resolución por catáfora 13 11%<br />
Total <strong>de</strong> expresiones refer<strong>en</strong>ciales 121<br />
Tab<strong>la</strong> 5. Resum<strong>en</strong> sobre <strong>la</strong>s expresiones refer<strong>en</strong>ciales <strong>en</strong>contradas <strong>en</strong> el corpus DIME.<br />
Por último, <strong>en</strong> <strong>la</strong> Tab<strong>la</strong> 6 se pres<strong>en</strong>tan los resultados <strong>de</strong> <strong>la</strong>s expresiones <strong>de</strong>finidas. Se<br />
obtuvieron 247 expresiones, número mucho mayor <strong>en</strong> comparación con <strong>la</strong>s otras dos<br />
tab<strong>la</strong>s. 123 expresiones ti<strong>en</strong><strong>en</strong> un gesto que <strong>la</strong>s acompaña lo que repres<strong>en</strong>ta el 50%,<br />
102 ti<strong>en</strong><strong>en</strong> el gesto asociado <strong>de</strong> manera directa (41%) y 22 indirecta (9%). Del total <strong>de</strong><br />
expresiones 182 expresiones fueron empleadas para <strong>de</strong>signar un objeto (73%) y 66<br />
(27%) para <strong>de</strong>signar un lugar.<br />
Número <strong>de</strong><br />
expresiones<br />
Porc<strong>en</strong>tajes con<br />
respecto al total <strong>de</strong><br />
expresiones<br />
Total <strong>de</strong> expresiones <strong>de</strong>signando un objeto 181 73%<br />
Total <strong>de</strong> expresiones <strong>de</strong>signando un lugar 66 27%<br />
Total <strong>de</strong> expresiones con gesto 123 50%<br />
Total <strong>de</strong> expresiones con gesto (directa) 102 41%<br />
Total <strong>de</strong> expresiones con gesto (indirecta) 22 9%<br />
Total <strong>de</strong> expresiones <strong>de</strong>finidas 247<br />
Tab<strong>la</strong> 6. Resum<strong>en</strong> sobre <strong>la</strong>s expresiones <strong>de</strong>finidas <strong>en</strong>contradas <strong>en</strong> el corpus DIME.
4 Perspectivas<br />
El pres<strong>en</strong>te estudio es parte <strong>de</strong>l esfuerzo empr<strong>en</strong>dido para <strong>de</strong>terminar c<strong>la</strong>ram<strong>en</strong>te<br />
cuales son los f<strong>en</strong>óm<strong>en</strong>os propios <strong>de</strong> <strong>la</strong> comunicación oral humana que <strong>de</strong>b<strong>en</strong> estar<br />
pres<strong>en</strong>tes <strong>en</strong> <strong>la</strong> comunicación oral hombre-máquina para que ésta sea realm<strong>en</strong>te útil.<br />
Este trabajo estudia <strong>la</strong>s implicaciones <strong>de</strong>l uso <strong>de</strong> gestos <strong>en</strong> <strong>la</strong> comunicación<br />
hombre-máquina. Es evid<strong>en</strong>te que el uso <strong>de</strong>l l<strong>en</strong>guaje no verbal como modo <strong>de</strong><br />
<strong>en</strong>trada <strong>en</strong> <strong>la</strong> comunicación hombre-máquina es natural para el usuario y que mejora<br />
<strong>la</strong> eficacia <strong>de</strong> esta comunicación. Cabe recordar que el objetivo primordial <strong>de</strong> <strong>la</strong><br />
investigación <strong>en</strong> <strong>la</strong>s interfaces hombre-máquina es el <strong>de</strong>sarrollo <strong>de</strong> modos <strong>de</strong><br />
comunicación <strong>en</strong>tre el usuario y <strong>la</strong> computadora que sean tolerantes a errores y <strong>de</strong><br />
fácil apr<strong>en</strong>dizaje.<br />
El uso <strong>de</strong> gestos <strong>en</strong> <strong>la</strong> comunicación hombre-máquina es <strong>de</strong> gran valía por su<br />
<strong>en</strong>orme carga comunicacional. Si recordamos nuestro caso <strong>de</strong> estudio, <strong>la</strong>s dos<br />
personas se comunicaron sin establecer contacto visual directo. Este contacto visual<br />
es <strong>de</strong> <strong>en</strong>orme importancia para confirmar <strong>la</strong> recepción (y <strong>en</strong>t<strong>en</strong>dimi<strong>en</strong>to) <strong>de</strong>l m<strong>en</strong>saje<br />
emitido. Bajo estas condiciones, el emisor <strong>de</strong>l m<strong>en</strong>saje cambia su estrategia y trata,<br />
con todos los medios a su alcance, <strong>de</strong> ser lo más c<strong>la</strong>ro posible para que el m<strong>en</strong>saje<br />
llegue con éxito a su interlocutor. Esta es una probable explicación a <strong>la</strong> alta frecu<strong>en</strong>cia<br />
<strong>de</strong> uso <strong>de</strong> gestos (50%) <strong>en</strong> <strong>la</strong>s expresiones <strong>de</strong>finidas. Expresiones que <strong>de</strong>scrib<strong>en</strong><br />
verbalm<strong>en</strong>te un lugar u objeto sin ambigüedad alguna. Es <strong>de</strong>cir, que aún “sin <strong>la</strong><br />
necesidad” <strong>de</strong> reforzar <strong>la</strong> comunicación, los usuarios consi<strong>de</strong>raron indisp<strong>en</strong>sable<br />
acompañar<strong>la</strong>s con un gesto seguram<strong>en</strong>te para precisar el refer<strong>en</strong>te.<br />
Los resultados <strong>de</strong> este estudio darán <strong>la</strong>s bases para <strong>la</strong> creación <strong>de</strong> sistemas<br />
computacionales que integr<strong>en</strong> y aprovech<strong>en</strong> el uso <strong>de</strong> gestos <strong>en</strong> <strong>la</strong> comunicación<br />
hombre-máquina. Los sistemas multimodales actuales fusionan <strong>la</strong> información verbal<br />
y no verbal a partir <strong>de</strong> sólo unos cuantos <strong>de</strong>ícticos gramaticales 3 . Nuestro estudio no<br />
sólo <strong>en</strong>lista exhaustivam<strong>en</strong>te los <strong>de</strong>ícticos gramaticales usados, sino exti<strong>en</strong><strong>de</strong> este<br />
repertorio a expresiones que, a pesar <strong>de</strong> ser expresiones <strong>de</strong>finidas o “completas”, son<br />
acompañadas por gestos. Des<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> un sistema<br />
computacional este hecho es <strong>de</strong> gran importancia pues impactará <strong>en</strong> <strong>la</strong> efici<strong>en</strong>cia y<br />
eficacia al mom<strong>en</strong>to <strong>de</strong> <strong>de</strong>terminar un refer<strong>en</strong>te. Decimos que será más efici<strong>en</strong>te pues<br />
no será necesario recurrir a procesos computacionalm<strong>en</strong>te costosos <strong>de</strong>dicados a <strong>la</strong><br />
inferir <strong>de</strong> que objeto (o lugar) se hab<strong>la</strong>, sólo bastará tomar <strong>la</strong> posición <strong>de</strong>l cursor para<br />
<strong>de</strong>terminar el objeto (o lugar) involucrado. Por ejemplo, <strong>en</strong> el caso <strong>de</strong> una ord<strong>en</strong><br />
involucrando <strong>la</strong> expresión <strong>de</strong>finida “<strong>la</strong> estufa roja” necesitamos un proceso<br />
computacional que revise cada una <strong>de</strong> <strong>la</strong>s <strong>de</strong>scripciones <strong>de</strong> los objetos <strong>en</strong> <strong>la</strong> esc<strong>en</strong>a,<br />
<strong>en</strong>focándose <strong>en</strong> el tipo y color hasta <strong>de</strong>terminar <strong>de</strong> qué objeto se trata. Este proceso <strong>de</strong><br />
búsqueda <strong>de</strong> refer<strong>en</strong>tes pue<strong>de</strong> llegar a ser mucho más costoso al imaginar expresiones<br />
como “<strong>la</strong> estufa al <strong>la</strong>do <strong>de</strong> <strong>la</strong> a<strong>la</strong>c<strong>en</strong>a”. Con ayuda <strong>de</strong> los gestos el proceso se<br />
simplifica mejorando su efici<strong>en</strong>cia y, los que es más, su eficacia. Nuestro estudio<br />
comprueba <strong>la</strong> pres<strong>en</strong>cia <strong>de</strong> gestos y su uso, y <strong>de</strong>termina c<strong>la</strong>ram<strong>en</strong>te que éstos no sólo<br />
son usados como acompañami<strong>en</strong>to <strong>de</strong> los <strong>de</strong>ícticos gramaticales.<br />
3 Cabe m<strong>en</strong>cionar que dichos sistemas sólo exist<strong>en</strong> para el idioma inglés y que hasta el mom<strong>en</strong>to este es el<br />
primer estudio para el español.
Agra<strong>de</strong>cimi<strong>en</strong>tos<br />
Los autores agra<strong>de</strong>c<strong>en</strong> el financiami<strong>en</strong>to parcial otorgado por el CONACYT, el SIN y<br />
el Laboratorio Franco-Mexicano <strong>de</strong> Informática (LAFMI) bajo el marco <strong>de</strong>l proyecto<br />
“Interacción oral hombre-máquina”.<br />
Refer<strong>en</strong>cias<br />
[Dahlbäck et al, 93] Dahlbäck, N., Jönsson, A. & Ahr<strong>en</strong>berg, L. Wizard of Oz Studies - Why<br />
and How. Knowledge-based Systems, 6(4), (1993) 258-266.<br />
[Taylor et al 89] Taylor, M., Néel, F. & Bouwhuis, D. (Eds) The Structure of Multimodal<br />
Dialogue. Elsevier Sci<strong>en</strong>ce Publishers, 1989.<br />
[Tusón 97] Tusón De Valls, A. (1997). Análisis <strong>de</strong> <strong>la</strong> conversación, Barcelona, Ariel. 1997<br />
[Vázquez 04] Vázquez, C. Análisis <strong>de</strong> <strong>de</strong>ícticos <strong>en</strong> <strong>la</strong> conversación ori<strong>en</strong>tada por <strong>la</strong> tarea<br />
<strong>en</strong>tre un usuario y un sistema computacional simu<strong>la</strong>do. Tesis <strong>de</strong> Lic<strong>en</strong>ciatura.<br />
Facultad <strong>de</strong> Filosofía y Letras. BUAP. 2004.<br />
[Vil<strong>la</strong>señor et al 01] Vil<strong>la</strong>señor, L., Massé A. Pineda, L. The DIME corpus. Memorias <strong>de</strong>l<br />
3er Encu<strong>en</strong>tro Internacional <strong>de</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong>. pp 599-600, SMCC-<br />
INEGI, México. 2001.
Diseño <strong>de</strong> Aplicaciones Interactivas utilizando el<br />
Paradigma <strong>de</strong> Patrones<br />
Jaime Muñoz Arteaga 1 , Juan M. González Calleros 2 y Jorge Agui<strong>la</strong>r Cisneros 3<br />
1 Departam<strong>en</strong>to <strong>de</strong> Sistemas <strong>de</strong> Información <strong>de</strong> <strong>la</strong> Universidad Autónoma <strong>de</strong> Aguascali<strong>en</strong>tes<br />
Av. Universidad # 940, Fraccionami<strong>en</strong>to Bosques, C.P. 20100, Aguascali<strong>en</strong>tes, México<br />
jmunozar@correo.uaa.mx<br />
2 Coordinación <strong>de</strong> Ci<strong>en</strong>cias Computacionales <strong>de</strong>l (INAOE), Calle Luis Enrique Erro No. 1,<br />
Tonantzint<strong>la</strong>, Pueb<strong>la</strong>, 72840, México,<br />
jmgonzalez@ccc.inaoep.mx<br />
3 Universidad Tecnológica <strong>de</strong> Pueb<strong>la</strong>, Antiguo camino a <strong>la</strong> Resurrección #1002-A Zona<br />
Industrial, Pueb<strong>la</strong>, , México, C.P 72300<br />
jagui<strong>la</strong>r@utpueb<strong>la</strong>.edu.mx<br />
Abstract. An interactive application allows to gui<strong>de</strong> and to make easy the<br />
user’s task. However the <strong>de</strong>sign of this kind of application is known as a difficult<br />
task, one of the main troubles is to take into account the usability aspects<br />
in agreem<strong>en</strong>t with the functionality aspects. These two aspects in this paper are<br />
tak<strong>en</strong> into account specifying an interactive application in terms of pattern<br />
approach. The patterns capture the best practices in the user-based <strong>de</strong>sign. The<br />
goal is to offer to <strong>de</strong>signer an specification methodology for specify an<br />
interactive application in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t of any programming <strong>la</strong>nguage and this<br />
specification could facilitate the communication with the people involved in the<br />
software <strong>de</strong>velopm<strong>en</strong>t.<br />
Resum<strong>en</strong>. Una aplicación interactiva permite guiar y facilitar <strong>la</strong> tarea <strong>de</strong>l<br />
usuario. Sin embargo el diseño <strong>de</strong> este tipo <strong>de</strong> aplicaciones se reconoce como<br />
una tarea difícil, una <strong>de</strong> <strong>la</strong>s principales dificulta<strong>de</strong>s es integrar los<br />
requerimi<strong>en</strong>tos <strong>de</strong>l usuario <strong>en</strong> el software <strong>de</strong> <strong>la</strong> aplicación. Estos dos aspectos<br />
<strong>en</strong> el pres<strong>en</strong>te trabajo son tomados <strong>en</strong> cu<strong>en</strong>ta, especificando una aplicación<br />
interactiva <strong>en</strong> términos <strong>de</strong>l paradigma <strong>de</strong> patrones. Los patrones pued<strong>en</strong><br />
repres<strong>en</strong>tar soluciones exitosas <strong>en</strong> el diseño c<strong>en</strong>trado <strong>en</strong> el usuario El objetivo<br />
es proveer al diseñador <strong>de</strong> una metdología para diseñar una aplicación<br />
interactiva in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>tem<strong>en</strong>te <strong>de</strong> un l<strong>en</strong>guaje <strong>de</strong> programación y que el diseño<br />
facilite <strong>la</strong> comunicación <strong>de</strong>l personal involucrado con el <strong>de</strong>sarrollo <strong>de</strong> software.<br />
1 Introducción<br />
Cuando se diseña una aplicación interactiva implica especificar tanto <strong>la</strong> funcionalidad<br />
(o parte interna) como <strong>la</strong> interfaz <strong>de</strong> usuario (o parte externa) así como <strong>la</strong>s re<strong>la</strong>ciones<br />
<strong>en</strong>tre estos dos módulos <strong>de</strong> software. Una aplicación interactiva ti<strong>en</strong>e por objetivo<br />
facilitar y guiar al usuario <strong>en</strong> su tarea a través <strong>de</strong> <strong>la</strong> interfaz gráfica <strong>de</strong>l usuario. Para<br />
esto el software no sólo <strong>de</strong>be <strong>de</strong> asegurar <strong>la</strong> funcionalidad misma <strong>de</strong> <strong>la</strong> aplicación,
sino también el software <strong>de</strong>be <strong>de</strong> asegurar <strong>la</strong> comunicación que se requier<strong>en</strong> <strong>en</strong>tre el<br />
usuario y <strong>la</strong> aplicación. En particu<strong>la</strong>r es necesario adaptar y reutilizar el software <strong>de</strong> <strong>la</strong><br />
interfaz <strong>de</strong> usuario dada <strong>la</strong> diversidad <strong>de</strong> perfiles <strong>de</strong> usuarios que pued<strong>en</strong> llegar a<br />
t<strong>en</strong>er una aplicación interactiva.<br />
El pres<strong>en</strong>te trabajo propone el diseño <strong>de</strong> aplicaciones interactivas <strong>en</strong> base al<br />
<strong>en</strong>foque <strong>de</strong> patrones; don<strong>de</strong> <strong>la</strong> funcionalidad se especifica <strong>en</strong> términos <strong>de</strong> patrones <strong>de</strong><br />
diseño [1] y <strong>la</strong> interfaz <strong>de</strong> usuario <strong>en</strong> términos <strong>de</strong> patrones <strong>de</strong> interacción [6]. La<br />
sección 2 <strong>de</strong> este trabajo <strong>de</strong>scribe a <strong>de</strong>talle <strong>la</strong> problemática que pres<strong>en</strong>tan el diseño <strong>de</strong><br />
aplicaciones interactivas. En <strong>la</strong> sección 3 se propone una metodología como solución<br />
para diseñar este tipo <strong>de</strong> aplicaciones. La sección 4 pres<strong>en</strong>ta un caso <strong>de</strong> estudio y<br />
finalm<strong>en</strong>te el <strong>en</strong>foque aquí propuesto es puesto <strong>en</strong> comparación con otros trabajos<br />
re<strong>la</strong>cionados.<br />
2 Problemática<br />
La concepción <strong>de</strong> aplicaciones interactivas es un tema <strong>de</strong> investigación <strong>de</strong> gran<br />
interés particu<strong>la</strong>rm<strong>en</strong>te <strong>en</strong> <strong>la</strong>s áreas <strong>de</strong> <strong>la</strong> Interacción Humano-Computadora (IHC) y<br />
<strong>la</strong> Ing<strong>en</strong>iería <strong>de</strong> Software (IS). En el marco <strong>de</strong> <strong>la</strong>s re<strong>la</strong>ciones <strong>en</strong>tre estos campos <strong>de</strong><br />
estudio se abordan dos aspectos:<br />
La dificultad para construir software con alto nivel <strong>de</strong> utilidad y usabilidad<br />
Los problemas <strong>de</strong> comunicación <strong>en</strong>tre los especialistas involucrados <strong>en</strong> el<br />
<strong>de</strong>sarrollo <strong>de</strong> una aplicación.<br />
En cuanto al primer aspecto <strong>la</strong> usabilidad es una cualidad <strong>de</strong>l software que está<br />
estrecham<strong>en</strong>te ligada a <strong>la</strong> interfaz <strong>de</strong> <strong>la</strong> aplicación. De una manera intuitiva, <strong>la</strong><br />
usabilidad <strong>de</strong>l software está <strong>de</strong>terminada por el grado <strong>de</strong> satisfacción <strong>de</strong>l usuario<br />
cuando utiliza el producto. Esta característica pue<strong>de</strong> <strong>de</strong>terminar el éxito o el fracaso<br />
<strong>de</strong> un producto. En cuanto al segundo aspecto el proceso <strong>de</strong> realización <strong>de</strong> una AI<br />
<strong>de</strong>be integrar un grupo <strong>de</strong> personas con difer<strong>en</strong>tes especialida<strong>de</strong>s (analista,<br />
diseñadores, programadores, ergónomos etc…) así como el mismo usuario con el fin<br />
<strong>de</strong> obt<strong>en</strong>er un producto usable y <strong>de</strong> calidad.<br />
La falta <strong>de</strong> integración <strong>en</strong>tre <strong>la</strong> Ing<strong>en</strong>iería <strong>de</strong> Software y <strong>la</strong> Interacción Humano-<br />
Computadora se manifiesta <strong>de</strong> distintas formas. Por un <strong>la</strong>do, <strong>la</strong> aus<strong>en</strong>cia <strong>de</strong>l<br />
tratami<strong>en</strong>to <strong>de</strong> <strong>la</strong> construcción <strong>de</strong> interfaces <strong>en</strong> <strong>la</strong>s metodologías más conocidas y<br />
usadas, <strong>en</strong> particu<strong>la</strong>r <strong>en</strong> el caso <strong>de</strong> <strong>la</strong>s metodologías ori<strong>en</strong>tadas a objeto reve<strong>la</strong> parte<br />
<strong>de</strong> <strong>la</strong>s dificulta<strong>de</strong>s. En efecto, <strong>la</strong> mayoría <strong>de</strong> <strong>la</strong>s metodologías adolec<strong>en</strong> <strong>de</strong> un<br />
tratami<strong>en</strong>to que integre el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> interfaz y el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> aplicación, hay<br />
un divorcio <strong>en</strong>tre estos dos aspectos indisolublem<strong>en</strong>te asociados <strong>de</strong> una aplicación, y<br />
si bi<strong>en</strong> <strong>en</strong> ésta son inseparables, su construcción es realizada, <strong>en</strong> muchos casos, <strong>de</strong><br />
manera in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te. Por otro <strong>la</strong>do, pue<strong>de</strong> seña<strong>la</strong>rse que esa separación <strong>en</strong> <strong>la</strong><br />
metodología es un reflejo <strong>de</strong> <strong>la</strong>s difer<strong>en</strong>cias <strong>de</strong> los mo<strong>de</strong>los m<strong>en</strong>tales <strong>de</strong> ambos<br />
participantes, <strong>en</strong> lo concerni<strong>en</strong>te al proceso, don<strong>de</strong> cada parte ti<strong>en</strong>e su propia<br />
perspectiva y su propio conocimi<strong>en</strong>to. Por ejemplo, para un ing<strong>en</strong>iero <strong>de</strong> software <strong>la</strong><br />
funcionalidad <strong>de</strong> una aplicación pue<strong>de</strong> ser <strong>la</strong> cualidad más importante, mi<strong>en</strong>tras que<br />
para un especialista <strong>en</strong> Interacción Humano-Computadora <strong>la</strong> usabilidad pue<strong>de</strong> ser el<br />
objetivo. Tal separación ti<strong>en</strong>e implicaciones también a nivel <strong>de</strong> <strong>la</strong> comunicación.
3 Metodología para Especificar Aplicación Interactivas<br />
El pres<strong>en</strong>te trabajo propone especificar a nivel <strong>de</strong> análisis el poner <strong>en</strong> re<strong>la</strong>ción los<br />
requerimi<strong>en</strong>tos <strong>de</strong> <strong>la</strong> parte externa con los <strong>de</strong> parte interna tomando como base un<br />
prototipo <strong>de</strong> <strong>la</strong> interfaz <strong>de</strong> usuario <strong>de</strong> <strong>la</strong> aplicación interactiva a <strong>de</strong>sarrol<strong>la</strong>r. Para <strong>la</strong><br />
etapa <strong>de</strong> diseño se propone aplicar el <strong>en</strong>foque <strong>de</strong> patrones como un mecanismo que<br />
facilite <strong>la</strong> flui<strong>de</strong>z <strong>de</strong> <strong>la</strong> comunicación <strong>en</strong>tre <strong>la</strong>s partes (<strong>en</strong> particu<strong>la</strong>r el diseñado y el<br />
programador), don<strong>de</strong> cada una ti<strong>en</strong>e su propia experi<strong>en</strong>cia y conocimi<strong>en</strong>tos (fig. 1).<br />
Por <strong>de</strong>finición, un patrón es un una solución a un problema recurr<strong>en</strong>te d<strong>en</strong>tro <strong>de</strong> un<br />
contexto específico. La especificación <strong>de</strong> un patrón permite comunicar <strong>la</strong> experi<strong>en</strong>cia<br />
y el conocimi<strong>en</strong>to <strong>en</strong> un área <strong>de</strong> interés [1]. La aplicación <strong>de</strong> <strong>la</strong> experi<strong>en</strong>cia registrada<br />
por los patrones conlleva una serie <strong>de</strong> b<strong>en</strong>eficios, por ejemplo los patrones <strong>de</strong> diseño<br />
permit<strong>en</strong> el reuso exitoso <strong>de</strong> diseños y arquitecturas, son un medio para compartir el<br />
conocimi<strong>en</strong>to y nos proporcionan un l<strong>en</strong>guaje común <strong>en</strong>tre diseñadores.<br />
Análisis<br />
Funcionalidad<br />
Usabilidad<br />
Diseño<br />
Patrones <strong>de</strong><br />
diseño <strong>de</strong><br />
software<br />
Patrones <strong>de</strong><br />
diseño <strong>de</strong> <strong>la</strong><br />
Interfaz<br />
Fig. 1 Especificación <strong>de</strong> una aplicación interactiva utilizando el paradigma <strong>de</strong> patrones<br />
Conforme a <strong>la</strong> figura 1, el pres<strong>en</strong>te trabajo preconiza diseñar <strong>la</strong> funcionalidad<br />
(parte interna) <strong>de</strong> una aplicación interactiva <strong>en</strong> términos <strong>de</strong> patrones <strong>de</strong> diseño [1] y <strong>la</strong><br />
interfaz <strong>de</strong> usuario (parte externa) <strong>en</strong> términos <strong>de</strong> patrones <strong>de</strong> interacción [6]. Ambos<br />
tipos <strong>de</strong> patrones ti<strong>en</strong><strong>en</strong> un formato bi<strong>en</strong> <strong>de</strong>finido a saber: nombre <strong>de</strong>l patrón,<br />
problema que resuelve, solución propuesta, contexto, ejemplos etc. Esto permitirá<br />
tanto al diseñador como al programador analizar a <strong>de</strong>talle aspectos <strong>de</strong> <strong>la</strong><br />
funcionalidad y <strong>la</strong> usabilidad <strong>de</strong> una aplicación<br />
4 Caso <strong>de</strong> estudio<br />
El pres<strong>en</strong>te caso <strong>de</strong> estudio pres<strong>en</strong>ta el diseño <strong>de</strong> una aplicación interactiva <strong>de</strong>dicada a<br />
<strong>la</strong> administración (visualizar, editar y agregar información) <strong>de</strong> catálogo <strong>de</strong> autos. La<br />
figura 2 muestra el prototipo <strong>de</strong> <strong>la</strong> interfaz usuario <strong>en</strong> don<strong>de</strong> se id<strong>en</strong>tifican tres partes<br />
a saber: <strong>la</strong> zona <strong>de</strong> edición, <strong>la</strong> zona <strong>de</strong> comandos y <strong>la</strong> zona <strong>de</strong> <strong>de</strong>spliegue <strong>de</strong><br />
información.
Fig. 2 Prototipo <strong>de</strong> <strong>la</strong> interfaz <strong>de</strong> <strong>la</strong> aplicación gestionadora <strong>de</strong> catálogo <strong>de</strong> autos<br />
A través <strong>de</strong> los botones <strong>de</strong> <strong>la</strong> zona <strong>de</strong> comandos el usuario pue<strong>de</strong> modificar,<br />
agregar y eliminar los registros sobre autos. El usuario pue<strong>de</strong> editar y visualizar los<br />
cont<strong>en</strong>idos <strong>de</strong> los registros que se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong> el catálogo utilizando<br />
respectivam<strong>en</strong>te los compon<strong>en</strong>tes <strong>de</strong> <strong>en</strong>trada <strong>en</strong> <strong>la</strong> zona <strong>de</strong> edición y el compon<strong>en</strong>te<br />
<strong>de</strong> lista <strong>en</strong> <strong>la</strong> zona <strong>de</strong> <strong>de</strong>spliegue <strong>de</strong> cada uno <strong>de</strong> los registros exist<strong>en</strong>te <strong>en</strong> el catálogo<br />
<strong>de</strong> autos.<br />
4.1 Análisis <strong>de</strong> requerimi<strong>en</strong>tos<br />
A nivel <strong>de</strong> <strong>la</strong> etapa <strong>de</strong> análisis los requerimi<strong>en</strong>tos son p<strong>la</strong>smados <strong>en</strong> forma tabu<strong>la</strong>r <strong>la</strong><br />
cual permite razonar sobre <strong>la</strong> re<strong>la</strong>ción <strong>de</strong> los elem<strong>en</strong>tos <strong>de</strong> <strong>la</strong> parte externa con los <strong>de</strong><br />
<strong>la</strong> parte interna <strong>de</strong> <strong>la</strong> aplicación <strong>de</strong> nuestro caso <strong>de</strong> estudio.<br />
Tab<strong>la</strong> 1 Análisis <strong>de</strong> requerimi<strong>en</strong>tos <strong>de</strong> <strong>la</strong> aplicación catálogo <strong>de</strong> autos.<br />
Parte Externa (Interfaz Usuario)<br />
Parte Interna<br />
(Funcionalidad)<br />
Interactor Ev<strong>en</strong>tos Servicios Estado C<strong>la</strong>ses<br />
Botón 1 Click Agregar Activación GestionActivacion<br />
Botón 2 Click Deshacer Activación GestionActivacion<br />
Botón 3 Click Cambiar Activación GestionActivacion<br />
Botón 4 Click Eliminar Activación GestionActivacion<br />
Radio botón 1 Click Editar Edición GestionEdicion<br />
Radio botón 2 Click Editar Edición GestionEdicion<br />
Radio botón 3 Click Editar Edición GestionEdicion<br />
Cuadro edición 1 AnyKey Editar Edición GestionEdicion<br />
Cuadro edición 2 AnyKey Editar Edición GestionEdicion<br />
Cuadro <strong>de</strong> lista Click Seleccionar Selección GestionCatalogo<br />
Note que <strong>en</strong> <strong>la</strong> tab<strong>la</strong>, por ejemplo, más <strong>de</strong> un objeto <strong>de</strong> interacción pue<strong>de</strong> estar<br />
asociado a un servicio que ofrece <strong>la</strong> aplicación al usuario, este es el caso <strong>de</strong>l servicio<br />
Editar, el cual ti<strong>en</strong>e 3 Radio botones y 2 Cuadro <strong>de</strong> Edición asociados. Otro re<strong>la</strong>ción<br />
importante es que por cada servicio se muestra su variable <strong>de</strong> estado y <strong>la</strong> c<strong>la</strong>se
ori<strong>en</strong>tada a objetos que le correspon<strong>de</strong>, por ejemplo el servicio Editar está<br />
implem<strong>en</strong>tado por <strong>la</strong> c<strong>la</strong>se GestionEdicion y dicho servicio estará disponible (o<br />
indisponible) <strong>en</strong> función <strong>de</strong>l valor <strong>de</strong>l estado Edición que tome durante el proceso <strong>de</strong><br />
interacción.<br />
La información <strong>de</strong> <strong>la</strong> pres<strong>en</strong>te tab<strong>la</strong> 1 es <strong>de</strong> utilidad para <strong>la</strong> etapa <strong>de</strong> diseño se<br />
pres<strong>en</strong>ta <strong>en</strong> <strong>la</strong> dos subsecciones sigui<strong>en</strong>tes.<br />
4.2 Especificación <strong>de</strong> <strong>la</strong> interfaz <strong>en</strong> términos <strong>de</strong> patrones <strong>de</strong> interacción<br />
A partir <strong>de</strong> <strong>la</strong> información obt<strong>en</strong>ida <strong>en</strong> <strong>la</strong> etapa <strong>de</strong> análisis y <strong>de</strong> <strong>la</strong>s c<strong>la</strong>sificaciones <strong>de</strong><br />
patrones <strong>de</strong> interacción propuestos por Welie [6] y Muñoz [4] es posible id<strong>en</strong>tificar<br />
los patrones Lista [6]y Activación proactiva [4] para así diseñar <strong>la</strong> interfaz <strong>de</strong> usuario<br />
<strong>de</strong> <strong>la</strong> aplicación gestionadora <strong>de</strong> catálogos <strong>de</strong> autos.<br />
Nombre Activación proactiva<br />
Problema El usuario necesita conocer a priori <strong>la</strong>s acciones posibles con el fin<br />
<strong>de</strong> <strong>de</strong>terminar su sigui<strong>en</strong>te acción.<br />
Principio Predictibilidad y acciones explicitas<br />
usabilidad<br />
Contexto El espacio <strong>de</strong> interacción <strong>de</strong>be ser visualizada continuam<strong>en</strong>te al<br />
usuario.<br />
Fuerza Guiar al usuario <strong>en</strong> sus acciones ofreci<strong>en</strong>do los servicios disponibles <strong>en</strong><br />
función <strong>de</strong>l estado actual <strong>de</strong> una aplicación interactiva.<br />
Solución At<strong>en</strong>uar los widgets <strong>de</strong> <strong>la</strong> interfaz para evitarle al usuario activar<br />
servicios indisponibles <strong>en</strong> <strong>la</strong> interfaz <strong>de</strong>l usuario. Cuando un<br />
servicio este disponible los widgets asociados <strong>de</strong>be estar resaltados.<br />
Cosecu<strong>en</strong>c<br />
ia<br />
Ejemplo<br />
Este tipo <strong>de</strong> retroalim<strong>en</strong>tación es bastante común a pesar que no ofrecer<br />
información sufici<strong>en</strong>te sobre <strong>la</strong> razón <strong>de</strong>l porque <strong>de</strong> <strong>la</strong> disponibilidad <strong>de</strong><br />
los servicios <strong>de</strong>l sistema.<br />
En <strong>la</strong> parte <strong>de</strong> interfaz anterior, el conjunto <strong>de</strong> servicios validos son<br />
aquellos botones con <strong>la</strong> etiqueta Agregar, Cambiar y Eliminar.<br />
Nombre<br />
Problema<br />
Principio<br />
usabilidad<br />
Contexto<br />
Fuerza<br />
Solución<br />
Lista<br />
¿Cómo mostrar el estado <strong>de</strong> una aplicación cuya información ti<strong>en</strong>e<br />
una estructura p<strong>la</strong>na?<br />
Reducir <strong>la</strong> carga cognitiva y repres<strong>en</strong>tación coher<strong>en</strong>te.<br />
Una gran cantidad <strong>de</strong> información será secu<strong>en</strong>cial. El usuario pue<strong>de</strong><br />
facilitarse el acceso <strong>de</strong> <strong>la</strong> información <strong>de</strong>sp<strong>la</strong>zándose a través <strong>de</strong> una <strong>de</strong><br />
lista.<br />
Una repres<strong>en</strong>tación <strong>de</strong> lista es fácil <strong>de</strong> <strong>en</strong>t<strong>en</strong><strong>de</strong>r y <strong>de</strong> manipu<strong>la</strong>r. El<br />
usuario manipu<strong>la</strong> y visualiza <strong>la</strong> re<strong>la</strong>ción <strong>de</strong> los elem<strong>en</strong>tos.<br />
Mostrar los datos <strong>en</strong> forma <strong>de</strong> lista don<strong>de</strong> exista un punto <strong>de</strong> base y
Ejemplo<br />
el punto terminal, repres<strong>en</strong>tan datos elem<strong>en</strong>tales.<br />
La repres<strong>en</strong>tación p<strong>la</strong>na motiva al usuario a <strong>de</strong>scubrir información que<br />
le pue<strong>de</strong> ser útil para alcanzar su objetivo. Dicha repres<strong>en</strong>tación<br />
también le permite t<strong>en</strong>er una imag<strong>en</strong> m<strong>en</strong>tal correcta <strong>de</strong>l acceso <strong>de</strong> <strong>la</strong><br />
información que ofrece el sistema interactivo.<br />
A través <strong>de</strong> esta repres<strong>en</strong>tación p<strong>la</strong>na el usuario pue<strong>de</strong> acce<strong>de</strong>r y elegir<br />
sus datos que le son útiles.<br />
4.3 Especificación <strong>de</strong> <strong>la</strong> interfaz <strong>en</strong> términos <strong>de</strong> patrones <strong>de</strong> software<br />
A partir <strong>de</strong> <strong>la</strong> información obt<strong>en</strong>ida <strong>en</strong> <strong>la</strong> etapa <strong>de</strong> análisis y <strong>de</strong> <strong>la</strong> c<strong>la</strong>sificación <strong>de</strong><br />
patrones <strong>de</strong> diseño propuesto por [1] es posible id<strong>en</strong>tificar los patrones Comando e<br />
Iterador para así diseñar el software con <strong>la</strong> funcionalidad <strong>de</strong> <strong>la</strong> aplicación<br />
gestionadora <strong>de</strong> catálogo <strong>de</strong> autos.<br />
Nombre<br />
Propósito<br />
Motivación<br />
Consecu<strong>en</strong>cia<br />
Aplicabilidad<br />
Comando<br />
Encapsu<strong>la</strong> una petición <strong>en</strong> un objeto, permiti<strong>en</strong>do así parametrizar a<br />
los cli<strong>en</strong>tes con difer<strong>en</strong>tes peticiones hacer fi<strong>la</strong> o llevar un registro <strong>de</strong><br />
<strong>la</strong>s peticiones, y po<strong>de</strong>r <strong>de</strong>shacer <strong>la</strong>s operaciones.<br />
A veces es necesario <strong>en</strong>viar peticiones a objetos sin saber acerca <strong>de</strong> <strong>la</strong><br />
operación solicitada o <strong>de</strong> qui<strong>en</strong> es el recetor <strong>de</strong> <strong>la</strong> petición. Por<br />
ejemplo los tooolkits <strong>de</strong> interfaces <strong>de</strong> usuario incluy<strong>en</strong> botones y<br />
m<strong>en</strong>ús que realizan una petición <strong>en</strong> respuesta a una <strong>en</strong>trada <strong>de</strong> usuario.<br />
Usar el patrón comando cuando se quiera:<br />
Párametrizar objetos con una acción a realizar como ocurre con los<br />
objetos.<br />
Especificar, poner <strong>en</strong> fi<strong>la</strong> y ejecutar peticiones <strong>en</strong> difer<strong>en</strong>tes<br />
instantes <strong>de</strong> tiempo<br />
Permitir <strong>de</strong>shacer y registrar los cambios <strong>de</strong> manera que se puedan<br />
volver a aplicar <strong>en</strong> caso <strong>de</strong> una caída <strong>de</strong>l sistema
Estructura<br />
Ord<strong>en</strong> (Gestión <strong>de</strong> Activación) :<br />
<strong>de</strong>c<strong>la</strong>ra una interfaz para ejecutar una operación<br />
Ord<strong>en</strong>Concreta(Agregar,cambiar, etc.)<br />
Define un <strong>en</strong><strong>la</strong>ce <strong>en</strong>tre un objeto Receptor y una acción<br />
Implem<strong>en</strong>ta el método <strong>de</strong> ejecución<br />
El cli<strong>en</strong>te crea un objeto Ord<strong>en</strong>Concreta y espefica su receptor.<br />
Un objeto Invocador almac<strong>en</strong>a el objeto Ord<strong>en</strong>Concreta.<br />
El Invocador <strong>en</strong>vía una petición l<strong>la</strong>mando ejecutar sobre <strong>la</strong> ord<strong>en</strong>..<br />
Cosecu<strong>en</strong>cia El patrón comando ti<strong>en</strong>e <strong>la</strong>s sigui<strong>en</strong>tes consecu<strong>en</strong>cias:<br />
1. Las órd<strong>en</strong>es son objetos <strong>de</strong> primera c<strong>la</strong>se. Pued<strong>en</strong> ser manipu<strong>la</strong>dos<br />
y ext<strong>en</strong>didos como cualquier otro objeto,<br />
2. Es fácil añadir nuevas ord<strong>en</strong>es, ya que no hay cambiar <strong>la</strong>s c<strong>la</strong>ses<br />
exist<strong>en</strong>tes.<br />
Editar ()<br />
CrearIterador()<br />
Cli<strong>en</strong>te<br />
Primero()<br />
Sigui<strong>en</strong>te()<br />
HaTerminado()<br />
Elem<strong>en</strong>toActual()<br />
return new IteradorConcreto<br />
GestorCatalogoConcreto<br />
Editar ()<br />
CrearIterador()<br />
IteradorConcreto<br />
Participantes<br />
Co<strong>la</strong>boraciones<br />
Nombre Iterador<br />
Propósito El patrón Iterador, proporciona una manera <strong>de</strong> acce<strong>de</strong>r<br />
secu<strong>en</strong>cialm<strong>en</strong>te a los elem<strong>en</strong>tos <strong>de</strong> un objeto agregado sin exponer su<br />
repres<strong>en</strong>tación interna.<br />
Motivación Es conv<strong>en</strong>i<strong>en</strong>te usar este patrón cuando una c<strong>la</strong>se necesita acce<strong>de</strong>r el<br />
cont<strong>en</strong>ido <strong>de</strong> una colección, sin hacerse <strong>de</strong>p<strong>en</strong>di<strong>en</strong>te <strong>de</strong> <strong>la</strong> c<strong>la</strong>se que<br />
implem<strong>en</strong>ta <strong>la</strong> colección. También es útil cuando una c<strong>la</strong>se necesita<br />
acce<strong>de</strong>r el cont<strong>en</strong>ido <strong>de</strong> múltiples colecciones, <strong>de</strong> manera uniforme.<br />
Aplicabilidad<br />
El patrón Iterador se emplea: Para acce<strong>de</strong>r el cont<strong>en</strong>ido <strong>de</strong> un objeto<br />
agregado sin exponer su repres<strong>en</strong>tación interna y permite varios<br />
recorridos sobre objetos agregados.<br />
Estructura<br />
GestorCatalogo<br />
Iterador<br />
Participantes<br />
Co<strong>la</strong>bora-<br />
Iterador: Es una interfaz para recorrer los elem<strong>en</strong>tos y acce<strong>de</strong>r a ellos.<br />
IteradorConcreto: Implem<strong>en</strong>ta <strong>la</strong> interfaz <strong>de</strong> Iterador.<br />
GestorCatalogo: Define una interfaz para crear un objeto Iterador.<br />
GestorCatalogoConcreto: Implem<strong>en</strong>ta <strong>la</strong> interfaz <strong>de</strong> creación <strong>de</strong><br />
Iterador retornando una instancia IteradorConcreto apropiado.<br />
Una c<strong>la</strong>se IteradorConcreto sabe cual es el objeto actual <strong>de</strong>l agregado
ciones y pue<strong>de</strong> calcu<strong>la</strong>r el objeto sigui<strong>en</strong>te <strong>en</strong> el recorrido.<br />
Cosecu<strong>en</strong>cia Permite variaciones <strong>en</strong> el recorrido <strong>de</strong> un agregado.<br />
La interfaz <strong>de</strong> recorrido <strong>de</strong> Iterador elimina <strong>la</strong> necesidad <strong>de</strong> una<br />
interfaz simi<strong>la</strong>r <strong>en</strong> Agregado.<br />
Se pue<strong>de</strong> hacer más <strong>de</strong> un recorrido a <strong>la</strong> vez sobre un agregado. Un<br />
Iterador manti<strong>en</strong>e su propio estado <strong>de</strong>l recorrido.<br />
Trabajos re<strong>la</strong>cionados<br />
En esta sección el pres<strong>en</strong>te trabajo es comparado con otros trabajos re<strong>la</strong>cionados <strong>en</strong> el<br />
diseño <strong>de</strong> aplicaciones interactivas.<br />
Tab<strong>la</strong> 2. Comparación <strong>de</strong> trabajos re<strong>la</strong>cionados<br />
Parte Externa Parte Interna Patrones<br />
Ev<strong>en</strong>to Paradigma OO Servicios Iteractor Estado Diseño Interacción<br />
Explora[2] No Si Si Si Si Si No<br />
WDPL[3] No No Si Si Si No Si<br />
PIUI[5] No No Si No No Si No<br />
DiaMOD[6] No No Si Si Si Si No<br />
In&outSpec Si Si Si Si Si Si Si<br />
Conforme a <strong>la</strong> tab<strong>la</strong> 2 el mo<strong>de</strong>lo DiaMODL[6] y el <strong>en</strong>foque aquí pres<strong>en</strong>tado,<br />
titu<strong>la</strong>do In&OutSpec (especificación <strong>de</strong> <strong>la</strong> parte interna y externa <strong>de</strong> una aplicación),<br />
muestran cubrir mejor <strong>la</strong>s criterios <strong>de</strong> <strong>la</strong> tab<strong>la</strong>. Note también que el <strong>en</strong>foque<br />
In&OutSpec es el único que especifica una aplicación interactiva aplicando patrones<br />
<strong>de</strong> diseño <strong>de</strong> software y <strong>de</strong> interfaces <strong>de</strong> usuario.<br />
6. Conclusiones<br />
El pres<strong>en</strong>te trabajo preconiza a nivel <strong>de</strong> análisis y diseño <strong>la</strong> reutilización y el fácil<br />
mant<strong>en</strong>imi<strong>en</strong>to <strong>de</strong> <strong>la</strong> parte interna y externa <strong>de</strong> una aplicación interactiva. A nivel <strong>de</strong><br />
análisis se propone poner <strong>en</strong> re<strong>la</strong>ción los requerimi<strong>en</strong>tos <strong>de</strong> <strong>la</strong> parte interna y externa<br />
<strong>de</strong> una aplicación. A nivel <strong>de</strong> diseño se propone una especificación más cerca al<br />
código <strong>en</strong> términos <strong>de</strong> patrones <strong>de</strong> diseño y un especificación más cercana a los<br />
requerimi<strong>en</strong>tos <strong>de</strong>l usuario <strong>en</strong> términos <strong>de</strong> <strong>de</strong> patrones <strong>de</strong> interacción. Uno <strong>de</strong> los<br />
objetivos alcanzados con los patrones es el <strong>de</strong> facilitar <strong>la</strong> flui<strong>de</strong>z <strong>de</strong> <strong>la</strong> comunicación<br />
<strong>en</strong>tre <strong>la</strong>s partes, don<strong>de</strong> cada una ti<strong>en</strong>e su propia experi<strong>en</strong>cia y conocimi<strong>en</strong>tos. Los<br />
patrones <strong>de</strong> diseño permit<strong>en</strong> especificar el código <strong>de</strong> <strong>la</strong> funcionalidad <strong>de</strong> una<br />
aplicación dando soluciones al diseñador para reutilizar y mant<strong>en</strong>er fácilm<strong>en</strong>te el<br />
código. Por su parte, los patrones <strong>de</strong> interacción propuestos aquí permit<strong>en</strong> especificar<br />
<strong>la</strong>s experi<strong>en</strong>cias exitosas <strong>en</strong> el diseño <strong>de</strong> <strong>la</strong> interfaz gráfica, tomando <strong>en</strong> cu<strong>en</strong>ta <strong>la</strong>s<br />
necesida<strong>de</strong>s <strong>de</strong>l usuario y los compon<strong>en</strong>tes <strong>de</strong> una interfaz gráfica. El mo<strong>de</strong>lo aquí<br />
propuesto pue<strong>de</strong> ser ext<strong>en</strong>dido a aplicar los patrones <strong>de</strong> software para <strong>la</strong> g<strong>en</strong>eración
<strong>de</strong> código <strong>de</strong> una aplicación interactiva. Esto con el fin <strong>de</strong> llevar a cabo un rápido<br />
prototipaje y realizar así pruebas <strong>en</strong> conjunto con el usuario.<br />
7 Refer<strong>en</strong>cias<br />
1 Gamma E., Helm R., Johnson R., Vlissi<strong>de</strong>s J. and Booch G.: Design Patterns :<br />
Elem<strong>en</strong>ts of Reusable Object-Ori<strong>en</strong>ted Software, Addison-Wesley Professional<br />
Computing (1995)<br />
2 Molina, Pedro J., Torres, Ismael, and Pastor, Oscar: Patrones <strong>de</strong> interfaz <strong>de</strong> usuario<br />
para <strong>la</strong> exploración ori<strong>en</strong>tada a objetos. Congress IPO’2002 (Interacción Persona<br />
Ord<strong>en</strong>ador). (2002) 27-36.<br />
3 Montero, Francisco, Lozano, María Dolores, González, Pascual, and Ramos,<br />
Isidro: Designing Web Sites by Using Design Patterns. Second Latin American<br />
Confer<strong>en</strong>ce on Pattern Languages of Programming: SugarLoafPLoP. Río <strong>de</strong> Janeiro,<br />
Brasil. (2002). 209-224.<br />
4 Muoz Arteaga J: A visual feedback for interactive systems. In Task Mo<strong>de</strong>ls and<br />
Diagrams for User Interface Design. International Workshop on Task mo<strong>de</strong>ls and<br />
Diagrams for user interface <strong>de</strong>sign Tamodia’2002. INFOREC Publishing House,<br />
Bucharest, Romania (2002).<br />
5 Orantes Jiménez, Sandra Dinora: Patrones <strong>de</strong> Diseño para Interfaces <strong>de</strong> Usuario.<br />
Instituto Politécnico Nacional. México, D. F. (1999)<br />
6 Welie, van Martijn and Trtteberg, Hallvard: Interaction Patterns in User Interfaces.7<br />
th Pattern Languages of Programs Confer<strong>en</strong>ce. Allerton Park Monticello, Illinois,<br />
USA. (2000)
Impacto <strong>de</strong> <strong>la</strong> usabilidad <strong>en</strong> <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong> un<br />
ambi<strong>en</strong>te <strong>de</strong> tesis digitales<br />
Lour<strong>de</strong>s Fernán<strong>de</strong>z Ramírez, J. Alfredo Sánchez, Alberto García<br />
Bibliotecas, Universidad <strong>de</strong> <strong>la</strong>s Américas, Pueb<strong>la</strong><br />
e-mail: {lulu, alfredo, alberto}@mail.ud<strong>la</strong>p.mx<br />
Santa Catarina Mártir, San Andrés Cholu<strong>la</strong>, Pueb<strong>la</strong>, México 72820<br />
Abstract: We pres<strong>en</strong>t the results and implications of a usability study in the<br />
context of a col<strong>la</strong>borative <strong>en</strong>vironm<strong>en</strong>t for the construction and use of an<br />
institutional digital theses collection. The aca<strong>de</strong>mic <strong>de</strong>partm<strong>en</strong>ts, which p<strong>la</strong>y an<br />
important role in the workflow, have be<strong>en</strong> involved with differ<strong>en</strong>t participation<br />
levels. For this reason, it is our interest to id<strong>en</strong>tify which factors influ<strong>en</strong>ce how<br />
tasks are performed. The results show that the usability is good and that it does<br />
not influ<strong>en</strong>ce task performance. On the other hand, the results show an<br />
important corre<strong>la</strong>tion betwe<strong>en</strong> performance and direct assignm<strong>en</strong>t by a<br />
supervisor of the activities within the organization.<br />
Resum<strong>en</strong>: Se pres<strong>en</strong>tan los resultados e implicaciones <strong>de</strong> un estudio <strong>de</strong><br />
usabilidad realizado <strong>en</strong> el contexto <strong>de</strong> un ambi<strong>en</strong>te <strong>de</strong> co<strong>la</strong>boración, el cual está<br />
ori<strong>en</strong>tado a <strong>la</strong> construcción y uso <strong>de</strong> una colección institucional <strong>de</strong> tesis<br />
digitales. Los <strong>de</strong>partam<strong>en</strong>tos académicos, que juegan un papel importante <strong>en</strong> el<br />
flujo <strong>de</strong> trabajo <strong>de</strong>l sistema, se han involucrado con difer<strong>en</strong>tes niveles <strong>de</strong><br />
participación. De tal manera, nuestro interés ha sido <strong>de</strong>terminar los factores que<br />
influy<strong>en</strong> sobre <strong>la</strong>s tareas a <strong>de</strong>sempeñar. Los resultados muestran que <strong>la</strong><br />
usabilidad <strong>de</strong>l ambi<strong>en</strong>te es bu<strong>en</strong>a y que no influye <strong>en</strong> el <strong>de</strong>sempeño <strong>de</strong> <strong>la</strong>s<br />
tareas. En contraste, los resultados muestran una corre<strong>la</strong>ción importante <strong>en</strong>tre el<br />
<strong>de</strong>sempeño y <strong>la</strong> asignación directa <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s d<strong>en</strong>tro <strong>de</strong> <strong>la</strong> organización.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve: Tesis digitales, Flujo <strong>de</strong> trabajo, Usabilidad.<br />
1. Introducción<br />
La Universidad <strong>de</strong> <strong>la</strong>s Américas, Pueb<strong>la</strong> (UDLA), es <strong>la</strong> primera universidad <strong>en</strong><br />
México <strong>en</strong> establecer <strong>la</strong> <strong>en</strong>trega <strong>de</strong> tesis <strong>en</strong> formato digital como requisito <strong>de</strong><br />
graduación o titu<strong>la</strong>ción para todos sus programas académicos. En 1999, <strong>la</strong> Biblioteca<br />
inició un proyecto para crear un acervo digital <strong>de</strong> tesis que incluyera todas <strong>la</strong>s tesis<br />
g<strong>en</strong>eradas por sus graduados [3]. A finales <strong>de</strong>l 2002, <strong>la</strong> Universidad aprobó el<br />
requisito <strong>de</strong> tesis digitales para todos sus programas académicos (39 lic<strong>en</strong>ciaturas, 25<br />
maestrías y 2 doctorados). Puesto que el volum<strong>en</strong> <strong>de</strong> tesis a manejar se increm<strong>en</strong>taría<br />
consi<strong>de</strong>rablem<strong>en</strong>te se <strong>de</strong>sarrolló un ambi<strong>en</strong>te que permitieran a los involucrados <strong>en</strong> el
proyecto co<strong>la</strong>borar <strong>en</strong> <strong>la</strong> construcción <strong>de</strong> <strong>la</strong> colección <strong>de</strong> tesis digitales. A este<br />
ambi<strong>en</strong>te <strong>de</strong> co<strong>la</strong>boración se le ha d<strong>en</strong>ominado g<strong>en</strong>éricam<strong>en</strong>te “Tales”.<br />
Hoy <strong>en</strong> día, <strong>de</strong>spués <strong>de</strong> un año <strong>de</strong> establecer el requisito <strong>de</strong> tesis digital para los 26<br />
<strong>de</strong>partam<strong>en</strong>tos <strong>de</strong> <strong>la</strong> universidad, el nivel <strong>de</strong> participación ha variado <strong>de</strong> un<br />
<strong>de</strong>partam<strong>en</strong>to a otro, aunque el requisito es g<strong>en</strong>eral. El propósito <strong>de</strong> nuestra<br />
investigación es id<strong>en</strong>tificar los factores que influ<strong>en</strong>cian el nivel <strong>de</strong> participación <strong>de</strong> los<br />
participantes y si el sistema <strong>de</strong> flujo <strong>de</strong> trabajo es el más a<strong>de</strong>cuado para realizar <strong>la</strong>s<br />
tareas. Este trabajo se <strong>en</strong>foca a <strong>la</strong> función <strong>de</strong>l coordinador <strong>de</strong>l <strong>de</strong>partam<strong>en</strong>to<br />
académico que es qui<strong>en</strong> inicia el flujo <strong>de</strong> trabajo <strong>en</strong> <strong>la</strong> parte administrativa. La tarea<br />
<strong>de</strong>l coordinador <strong>de</strong>l <strong>de</strong>partam<strong>en</strong>to consiste <strong>en</strong> registrar <strong>en</strong> Tales [2], el comité <strong>de</strong><br />
evaluación <strong>de</strong>l exam<strong>en</strong> profesional que correspon<strong>de</strong> a cada estudiante. Esta tarea es<br />
muy importante ya que sin ésta el director <strong>de</strong> <strong>la</strong> tesis no pue<strong>de</strong> proce<strong>de</strong>r a hacer <strong>la</strong><br />
revisión y autorización <strong>de</strong> <strong>la</strong> misma. El área <strong>de</strong> Bibliotecas Digitales procesa y hace<br />
disponible <strong>la</strong> tesis únicam<strong>en</strong>te hasta que es autorizada.<br />
Nuestro interés es saber si son <strong>la</strong> falta <strong>de</strong> asignación directa, el tiempo <strong>de</strong><br />
procesami<strong>en</strong>to o <strong>la</strong> usabilidad <strong>de</strong>l ambi<strong>en</strong>te Tales <strong>la</strong>s causas que <strong>de</strong>terminan que <strong>la</strong><br />
participación <strong>en</strong> el registro <strong>de</strong> comité <strong>de</strong> evaluación <strong>de</strong> tesis varíe <strong>en</strong>tre los difer<strong>en</strong>tes<br />
<strong>de</strong>partam<strong>en</strong>tos académicos. Para respon<strong>de</strong>r a este problema se aplicaron <strong>en</strong>cuestas a<br />
los profesores <strong>de</strong> tiempo completo y a asist<strong>en</strong>tes <strong>de</strong> nuestra Universidad que<br />
<strong>de</strong>sempeñan o podrían <strong>de</strong>sempeñar este rol. Es importante m<strong>en</strong>cionar que <strong>en</strong> este<br />
proyecto no se ha consi<strong>de</strong>rado el punto <strong>de</strong> vista <strong>de</strong> otro tipo <strong>de</strong> usuarios, como<br />
estudiantes o directores <strong>de</strong> tesis.<br />
2. Creación co<strong>la</strong>borativa <strong>de</strong> una colección digital <strong>de</strong> tesis<br />
Tales se <strong>de</strong>sarrol<strong>la</strong> d<strong>en</strong>tro <strong>de</strong> <strong>la</strong> iniciativa internacional <strong>de</strong> una Red <strong>de</strong> Bibliotecas<br />
Digitales <strong>de</strong> Tesis y Disertaciones (Networked Digital Library of Theses and<br />
Dissertations, NDLTD) [4]. La colección <strong>de</strong> tesis digitales se integra a <strong>la</strong> biblioteca<br />
tradicional y a <strong>la</strong>s bibliotecas digitales, b<strong>en</strong>eficiándose <strong>de</strong> los servicios que ambas<br />
ofrec<strong>en</strong>. Por ejemplo, <strong>de</strong> <strong>la</strong> biblioteca tradicional recibe <strong>la</strong> c<strong>la</strong>sificación y<br />
catalogación, mi<strong>en</strong>tras que <strong>de</strong> <strong>la</strong> Biblioteca Digital pue<strong>de</strong> recibir servicios <strong>de</strong><br />
recom<strong>en</strong>dación [6] y refer<strong>en</strong>cia virtual [7].<br />
Con el propósito <strong>de</strong> integrar <strong>en</strong> un ambi<strong>en</strong>te co<strong>la</strong>borativo todas <strong>la</strong>s etapas <strong>de</strong>l ciclo <strong>de</strong><br />
vida <strong>de</strong> <strong>la</strong> colección <strong>de</strong> tesis digitales se diseñó e implem<strong>en</strong>tó Tales [2]. El sistema <strong>de</strong><br />
flujo <strong>de</strong> trabajo apoya a los participantes <strong>en</strong> el proceso <strong>de</strong>s<strong>de</strong> producción hasta<br />
publicación: autores, directores <strong>de</strong> tesis, coordinadores <strong>de</strong> los <strong>de</strong>partam<strong>en</strong>tos<br />
académicos, administradores y personal <strong>de</strong> biblioteca. El ciclo inicia con <strong>la</strong> <strong>en</strong>trada <strong>de</strong><br />
los docum<strong>en</strong>tos a <strong>la</strong> colección para revisión, continúa con <strong>la</strong> anotación y publicación,<br />
y finaliza con <strong>la</strong>s búsquedas y navegación sobre <strong>la</strong> colección.<br />
Otras instituciones miembros <strong>de</strong> <strong>la</strong> organización NDLTD sigu<strong>en</strong> un flujo <strong>de</strong> trabajo<br />
propuesto <strong>en</strong> el software <strong>de</strong> distribución libre sugerido por <strong>la</strong> organización [1]. Éste<br />
basa sus tareas <strong>en</strong> el autor (estudiante graduado) y biblioteca. Cabe m<strong>en</strong>cionar que <strong>la</strong>
mayoría <strong>de</strong> <strong>la</strong>s instituciones participantes sólo consi<strong>de</strong>ran programas <strong>de</strong> maestría y<br />
doctorado; esto reduce, <strong>la</strong> mayoría <strong>de</strong> <strong>la</strong>s veces, el número <strong>de</strong> tesis a procesar por<br />
semestre.<br />
3. Metodología<br />
De acuerdo a <strong>la</strong> política publicada por Junta Académica a finales <strong>de</strong>l 2002 son los<br />
<strong>de</strong>partam<strong>en</strong>tos académicos los <strong>en</strong>cargados <strong>de</strong> hacer el registro <strong>de</strong> los comités <strong>de</strong><br />
evaluación <strong>de</strong> tesis. Como ya se m<strong>en</strong>cionó, es <strong>de</strong> nuestro interés comprobar si <strong>la</strong> falta<br />
<strong>de</strong> asignación directa, el tiempo <strong>de</strong> proceso y <strong>la</strong> usabilidad <strong>de</strong>l ambi<strong>en</strong>te diseñado son<br />
factores que influy<strong>en</strong> negativam<strong>en</strong>te <strong>en</strong> <strong>la</strong> tarea <strong>de</strong> registrar comités a través <strong>de</strong> Tales.<br />
Esta investigación conti<strong>en</strong>e 3 variables in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>tes y una <strong>de</strong>p<strong>en</strong>di<strong>en</strong>te. Las<br />
variables in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>tes son: asignación directa, tiempo <strong>de</strong> proceso (número <strong>de</strong> tesis<br />
registradas) y usabilidad <strong>de</strong>l ambi<strong>en</strong>te. Mi<strong>en</strong>tras que <strong>la</strong> variable <strong>de</strong>p<strong>en</strong>di<strong>en</strong>te es el<br />
número <strong>de</strong> comités registrados a través <strong>de</strong>l ambi<strong>en</strong>te.<br />
Asignación directa. Se refiere a recibir una instrucción directa por parte <strong>de</strong> un<br />
superior para <strong>de</strong>sempeñar una tarea y se calcu<strong>la</strong> directam<strong>en</strong>te con base <strong>en</strong> <strong>la</strong> pregunta<br />
5 <strong>de</strong>l instrum<strong>en</strong>to: sí hubo asignación o no hubo asignación.<br />
Tiempo <strong>de</strong> proceso. El tiempo <strong>de</strong> proceso <strong>en</strong> registro <strong>de</strong> comités <strong>de</strong> evaluación es<br />
directam<strong>en</strong>te proporcional al número <strong>de</strong> estudiantes que registran su tesis vía Tales.<br />
Cada estudiante registrado correspon<strong>de</strong>rá a una unidad <strong>de</strong> tiempo. La información <strong>de</strong><br />
número <strong>de</strong> tesis registradas <strong>en</strong> el ambi<strong>en</strong>te se obtuvo <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos <strong>de</strong> Tesis<br />
digitales.<br />
Usabilidad <strong>de</strong> Tales. La usabilidad es <strong>la</strong> medida <strong>de</strong> calidad <strong>en</strong> <strong>la</strong> experi<strong>en</strong>cia <strong>de</strong> uso<br />
que ti<strong>en</strong>e el usuario al interactuar con el sistema, sea éste un <strong>sitio</strong> <strong>de</strong> Web, una<br />
aplicación <strong>de</strong> software, alguna tecnología móvil o <strong>de</strong> algún otro dispositivo [5]. Para<br />
esta investigación el resultado <strong>de</strong> usabilidad se calcu<strong>la</strong> con base <strong>en</strong> <strong>la</strong>s respuestas <strong>de</strong><br />
<strong>la</strong>s preguntas 10 a <strong>la</strong> 19 que mid<strong>en</strong> <strong>la</strong>s características <strong>de</strong> un sistema usable. Se obti<strong>en</strong>e<br />
un promedio <strong>de</strong> <strong>de</strong> <strong>la</strong>s respuestas <strong>en</strong> una esca<strong>la</strong> <strong>de</strong>l 1 a 5; don<strong>de</strong> 1 es calificación más<br />
baja y 5 <strong>la</strong> más alta. Cabe m<strong>en</strong>cionar que no todos los <strong>en</strong>cuestados respondieron estas<br />
preguntas porque sólo algunos estaban capacitados para hacerlo (qui<strong>en</strong>es ya han<br />
utilizado Tales).<br />
Número <strong>de</strong> comités registrados a través <strong>de</strong>l ambi<strong>en</strong>te. El registro <strong>de</strong> comité es <strong>la</strong><br />
asignación, a través <strong>de</strong> una forma disponible vía Web, <strong>de</strong> cada uno <strong>de</strong> los evaluadores<br />
<strong>de</strong> <strong>la</strong> tesis: presid<strong>en</strong>te, secretario, vocal, supl<strong>en</strong>te (<strong>en</strong> algunos casos) y director. El<br />
número <strong>de</strong> comités registrados a estudiantes con ayuda <strong>de</strong>l ambi<strong>en</strong>te Tales se obti<strong>en</strong>e<br />
<strong>de</strong> <strong>la</strong> base <strong>de</strong> datos <strong>de</strong> Tesis digitales.<br />
Esta investigación se realizó sin manipu<strong>la</strong>r <strong>de</strong>liberadam<strong>en</strong>te <strong>la</strong>s variables; <strong>la</strong>s<br />
variables in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>tes ya habían ocurrido. Se realizaron mediciones simultáneas <strong>en</strong><br />
don<strong>de</strong> cada escue<strong>la</strong> <strong>de</strong> <strong>la</strong> universidad correspon<strong>de</strong> a un grupo <strong>de</strong> <strong>en</strong>foque.
4. Resultados<br />
En <strong>la</strong> Tab<strong>la</strong> 1 se muestran los resultados obt<strong>en</strong>idos <strong>de</strong>l promedio <strong>de</strong> <strong>la</strong>s respuestas <strong>de</strong><br />
usabilidad (los nombres <strong>de</strong> <strong>la</strong>s escue<strong>la</strong>s se han sustituido por E1-E5 para proteger su<br />
anonimato). Se obtuvo una media <strong>de</strong> los reactivos concerni<strong>en</strong>tes a esta área <strong>en</strong> el<br />
ambi<strong>en</strong>te (10 reactivos). Se muestra un resultado satisfactorio ya que 4 escue<strong>la</strong>s<br />
pres<strong>en</strong>tan una media mayor a 4 puntos (<strong>en</strong> una esca<strong>la</strong> <strong>de</strong> 1 a 5).<br />
Escue<strong>la</strong>: E1 E2 E3 E4 E5 promedio<br />
media 4.4 3.6 4.3 4.1 4.9 4.3<br />
varianza 0.087 0.267 0.162 0.045 0.100 0.054<br />
<strong>de</strong>sviación estándar 0.295 0.516 0.403 0.212 0.316 0.233<br />
Tab<strong>la</strong> 1.<br />
Resultados <strong>de</strong> <strong>la</strong> prueba <strong>de</strong> usabilidad<br />
La Tab<strong>la</strong> 2 muestra los resultados <strong>de</strong> <strong>la</strong> prueba <strong>de</strong> usabilidad <strong>de</strong>sglosado por tipo <strong>de</strong><br />
respuesta. Aquí se id<strong>en</strong>tifica que más <strong>de</strong>l 80% <strong>de</strong> los usuarios evaluaron el ambi<strong>en</strong>te<br />
satisfactoriam<strong>en</strong>te.<br />
E1 E2 E3 E4 E5 promedio<br />
5. excel<strong>en</strong>te 40% 0% 50% 22% 90% 40%<br />
4. muy bi<strong>en</strong> 55% 60% 32% 70% 10% 45%<br />
3. regu<strong>la</strong>r 5% 40% 13% 8% 0% 13%<br />
2. mal 0% 0% 5% 0% 0% 1%<br />
1. muy mal 0% 0% 0% 0% 0% 0%<br />
Tab<strong>la</strong> 2.<br />
Resultados <strong>de</strong> <strong>la</strong> prueba <strong>de</strong> usabilidad<br />
La asignación directa se muestra <strong>en</strong> <strong>la</strong> Tab<strong>la</strong> 3. Se pue<strong>de</strong> id<strong>en</strong>tificar <strong>en</strong> el<strong>la</strong> que hay<br />
una variación consi<strong>de</strong>rable <strong>en</strong>tre <strong>la</strong>s difer<strong>en</strong>tes escue<strong>la</strong>s.<br />
E1 E2 E3 E4 E5 promedio<br />
sí 50% 60% 80% 78% 40% 65%<br />
no 50% 40% 20% 22% 60% 35%<br />
Tab<strong>la</strong> 3.<br />
Resultados <strong>de</strong> asignación directa<br />
En <strong>la</strong> Tab<strong>la</strong> 4 po<strong>de</strong>mos ver cuál es <strong>la</strong> proporción <strong>de</strong> <strong>la</strong>s tesis registradas que ti<strong>en</strong><strong>en</strong> el<br />
comité evaluador asignado a través <strong>de</strong>l sistema.<br />
E1 E2 E3 E4 E5 promedio<br />
72% 69% 71% 63% 26% 59%<br />
Tab<strong>la</strong> 4.<br />
Proporción <strong>de</strong> comités registrados a tesis registradas
5. Análisis <strong>de</strong> resultados<br />
Al comparar cada una <strong>de</strong> <strong>la</strong>s variables in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>tes con <strong>la</strong> variable <strong>de</strong>p<strong>en</strong>di<strong>en</strong>te<br />
pued<strong>en</strong> <strong>de</strong>rivarse algunas observaciones importantes. Respecto a <strong>la</strong> usabilidad <strong>de</strong>l<br />
ambi<strong>en</strong>te, no parece influir directam<strong>en</strong>te o negativam<strong>en</strong>te, ya que <strong>la</strong> escue<strong>la</strong> con el<br />
mejor <strong>de</strong>sempeño <strong>en</strong> cuanto a usabilidad (E5) ti<strong>en</strong>e <strong>la</strong> m<strong>en</strong>or proporción <strong>de</strong> comités<br />
registrados. De <strong>la</strong> misma manera, <strong>la</strong> escue<strong>la</strong> con <strong>la</strong> evaluación más baja (E2), ti<strong>en</strong>e un<br />
porc<strong>en</strong>taje alto (comparado con <strong>la</strong> media) <strong>de</strong> comités registrados. La asignación<br />
directa si parece ser un factor que influye negativam<strong>en</strong>te ya que <strong>la</strong> escue<strong>la</strong> que ti<strong>en</strong>e<br />
m<strong>en</strong>or porc<strong>en</strong>taje <strong>de</strong> asignación directa (E5), también ti<strong>en</strong>e <strong>la</strong> m<strong>en</strong>or proporción <strong>de</strong><br />
comités registrados por tesis. En los <strong>de</strong>más casos los resultados son muy simi<strong>la</strong>res. El<br />
número <strong>de</strong> comités a registrar tampoco parece t<strong>en</strong>er influ<strong>en</strong>cia directa ya que casi<br />
todas <strong>la</strong>s escue<strong>la</strong>s (excepto E5) un porc<strong>en</strong>taje simi<strong>la</strong>r <strong>de</strong> comités registrados respecto<br />
<strong>de</strong> tesis recibidas.<br />
6. Conclusiones y perspectivas<br />
Como resultado <strong>de</strong>l estudio realizado se tomaran diversas acciones, <strong>la</strong>s cuales se<br />
com<strong>en</strong>tan brevem<strong>en</strong>te a continuación:<br />
(1) Se simplificará <strong>la</strong> interfaz al asignar roles a miembros <strong>de</strong>l jurado evaluador, con <strong>la</strong><br />
opción <strong>de</strong> agregar o eliminar miembros e incluy<strong>en</strong>do opciones para agregar profesores<br />
no registrados. (2) Se implem<strong>en</strong>tará un servicio <strong>de</strong> alertas periódicas para que los<br />
responsables id<strong>en</strong>tifiqu<strong>en</strong> fácilm<strong>en</strong>te a estudiantes con el registro <strong>de</strong> comité p<strong>en</strong>di<strong>en</strong>te.<br />
(3) Se g<strong>en</strong>erarán reportes con <strong>la</strong>s tesis que están p<strong>en</strong>di<strong>en</strong>tes por registro <strong>de</strong> comité o<br />
para revisión, resaltando <strong>la</strong> fecha o tiempo <strong>de</strong> espera. (4) Los directores <strong>de</strong> tesis se<br />
podrán registrar automáticam<strong>en</strong>te <strong>en</strong> los comités <strong>de</strong> sus asesorados.<br />
El servicio <strong>de</strong> alertas ayudará al responsable a verificar sus registros p<strong>en</strong>di<strong>en</strong>tes y su<br />
prioridad. La id<strong>en</strong>tificación <strong>de</strong> un responsable permitirá que los autores y asesores los<br />
contact<strong>en</strong> directam<strong>en</strong>te, lo que reducirá tiempos <strong>de</strong> espera. Los asesores no t<strong>en</strong>drán<br />
que esperar a que algui<strong>en</strong> más haga el registro porque podrán hacerlo ellos mismos.<br />
La int<strong>en</strong>ción <strong>de</strong>l sistema <strong>de</strong>sarrol<strong>la</strong>do es ser un ambi<strong>en</strong>te que ayu<strong>de</strong> <strong>en</strong> <strong>la</strong>s tareas <strong>de</strong><br />
registro <strong>de</strong> comité, no increm<strong>en</strong>tar su trabajo. Por ejemplo, algunos hac<strong>en</strong> el registro<br />
como estaban acostumbrados a hacerlo (ya sea papel y lápiz o <strong>de</strong> manera electrónica)<br />
y <strong>de</strong>spués lo hac<strong>en</strong> <strong>en</strong> el ambi<strong>en</strong>te. De esta manera se duplica el trabajo y esto es lo<br />
que se quiere evitar. El ambi<strong>en</strong>te <strong>de</strong>bería cubrir lo que ya hace actualm<strong>en</strong>te y más. Es<br />
importante que cada semestre se revise con cada <strong>de</strong>partam<strong>en</strong>to quién es el <strong>en</strong>cargado<br />
<strong>de</strong> hacer este registro y si el ambi<strong>en</strong>te cubre o no sus necesida<strong>de</strong>s.<br />
A pesar <strong>de</strong> que <strong>la</strong> evaluación <strong>de</strong> <strong>la</strong> usabilidad <strong>en</strong> g<strong>en</strong>eral es positiva, <strong>la</strong><br />
retroalim<strong>en</strong>tación recibida durante el <strong>de</strong>sarrollo <strong>de</strong> este proyecto permitirá hacer<br />
modificaciones al ambi<strong>en</strong>te para mejorar su usabilidad y utilidad. Entre estas<br />
modificaciones sobresal<strong>en</strong>, <strong>la</strong> modificación <strong>de</strong> <strong>la</strong> interfaz para registro <strong>de</strong> comités y <strong>la</strong>
implem<strong>en</strong>tación <strong>de</strong> alertas periódicas para que los responsables id<strong>en</strong>tifiqu<strong>en</strong><br />
fácilm<strong>en</strong>te qué estudiantes ti<strong>en</strong><strong>en</strong> p<strong>en</strong>di<strong>en</strong>te el registro <strong>de</strong> comités.<br />
Nuestras recom<strong>en</strong>daciones para interesados <strong>en</strong> construir colecciones o servicios<br />
simi<strong>la</strong>res son consi<strong>de</strong>rando que cada caso t<strong>en</strong>drá necesida<strong>de</strong>s difer<strong>en</strong>tes. Es<br />
importante que los involucrados se rijan sobre una norma y que ésta se <strong>de</strong> a conocer a<br />
cada uno <strong>de</strong> los participantes; que no haya ambigüeda<strong>de</strong>s <strong>en</strong> su nivel <strong>de</strong> participación.<br />
Pue<strong>de</strong> existir un rechazo por <strong>la</strong> asignación <strong>de</strong> nuevas activida<strong>de</strong>s pero se verá<br />
disminuido cuando los participantes reciban <strong>la</strong>s instrucciones y el soporte a<strong>de</strong>cuados;<br />
siempre tomando <strong>en</strong> consi<strong>de</strong>ración su opinión. El tamaño <strong>de</strong> <strong>la</strong> colección es un factor<br />
que pue<strong>de</strong> <strong>de</strong>terminar si es mejor un flujo <strong>de</strong> trabajo don<strong>de</strong> se involucr<strong>en</strong> a varios<br />
participantes o si <strong>la</strong> opción <strong>de</strong> un servicio c<strong>en</strong>tralizado es <strong>la</strong> más a<strong>de</strong>cuada.<br />
7. Refer<strong>en</strong>cias<br />
[1] Doug<strong>la</strong>s, K., Coles, B., Porter, G., Van <strong>de</strong> Vel<strong>de</strong>, E. 2003. Taking the Plunge:<br />
Requiring the ETD. En memorias <strong>de</strong>l Sexto Congreso Internacional <strong>de</strong> Tesis y<br />
Disertaciones Electrónicas (ETD 2003, Berlín, Alemania, Mayo).<br />
[2] Fernán<strong>de</strong>z Ramírez, L., Sánchez, J. A. 2003. Community Tales: An infrastructure for<br />
the col<strong>la</strong>borative construction of digital theses repositories. En memorias <strong>de</strong>l Sexto<br />
Congreso Internacional <strong>de</strong> Tesis y Disertaciones Electrónicas (ETD 2003, Berlín,<br />
Alemania, Mayo).<br />
[3] Fernán<strong>de</strong>z Ramírez, L., Sánchez, J. A., García, A. 2002. Tales: Integración <strong>de</strong> tesis <strong>en</strong><br />
una biblioteca digital avanzada. Scire: Repres<strong>en</strong>tación y Organización <strong>de</strong>l<br />
Conocimi<strong>en</strong>to 8, 2 (Jul.-Dic.), 61-70. Zaragoza, España. (ISSN 1135-3761)<br />
[4] Fox, E., Eaton, J. L., McMil<strong>la</strong>n, G., Kipp, N. A., Mather, P., Phanouriou, C. 2001.<br />
Networked Digital Library of Theses and Dissertations. NDLTD Project. Disponible<br />
<strong>en</strong>: http://www.ndltd.org/; fecha <strong>de</strong> última modificación: 26 marzo 2001; fecha <strong>de</strong><br />
último acceso: julio 2001.<br />
[5] Niels<strong>en</strong>, J. 1993. Usability <strong>en</strong>gineering; Morgan Kaufmann publishers. USA<br />
[6] Ramírez Vargas, M. 2001. Servicios <strong>de</strong> recom<strong>en</strong>dación <strong>en</strong> <strong>la</strong> biblioteca digital <strong>de</strong> <strong>la</strong><br />
UDLA-P. Tesis Lic<strong>en</strong>ciatura. Ing<strong>en</strong>iería <strong>en</strong> Sistemas Computacionales. Departam<strong>en</strong>to<br />
<strong>de</strong> Ing<strong>en</strong>iería <strong>en</strong> Sistemas Computacionales, Escue<strong>la</strong> <strong>de</strong> Ing<strong>en</strong>iería, Universidad <strong>de</strong> <strong>la</strong>s<br />
Américas-Pueb<strong>la</strong>. Mayo.<br />
[7] Sánchez, J. A., García, A. J., Proal, C., Fernán<strong>de</strong>z, L. 2001. Enabling the col<strong>la</strong>borative<br />
construction and reuse of knowledge through a virtual refer<strong>en</strong>ce <strong>en</strong>vironm<strong>en</strong>t.<br />
Proceedings of the Sev<strong>en</strong>th International Workshop on Groupware (Darmstadt,<br />
Germany, Sept. 6-8). IEEE Computer Society Press, Los A<strong>la</strong>mitos, Calif. 90-97.
Evaluación <strong>de</strong> Maestros: Una Herrami<strong>en</strong>ta <strong>en</strong> Línea<br />
Gerardo Barreto Ironelis Val<strong>de</strong>z Batista Omar Álvarez Sara Sandoval<br />
Facultad <strong>de</strong> Telemática Universidad <strong>de</strong> Colima<br />
Av. Universidad 333 Col. Las Víboras Colima, Col. 28044 México<br />
grardbato@yahoo.com.mx<br />
Abstract<br />
The teacher evaluation, a process that is periodically carried out, is consi<strong>de</strong>red<br />
tedious because of the quantity of calcu<strong>la</strong>tion and consi<strong>de</strong>ration that should be<br />
evaluated with the process. Giv<strong>en</strong> that the teacher is consi<strong>de</strong>red as the principal ag<strong>en</strong>t<br />
of educational <strong>de</strong>velopm<strong>en</strong>t, the catalyst of knowledge, ability, attitu<strong>de</strong>s and values<br />
in stud<strong>en</strong>t. Teacher evaluation forms the base for quality in the educational<br />
institution. In this chapter we have the proposal and solution to the complexity of this<br />
process in search of quality, through the implem<strong>en</strong>tation, test and functionality<br />
<strong>de</strong>finition of a <strong>de</strong>signed tool to be used on-line, which allows the stud<strong>en</strong>ts to evaluate<br />
their teachers. This tool was <strong>de</strong>signed un<strong>de</strong>r the directions cited by Niels<strong>en</strong> (2002).<br />
Resum<strong>en</strong><br />
La evaluación <strong>de</strong> maestros, es un proceso que se realiza periódicam<strong>en</strong>te, se<br />
consi<strong>de</strong>ra tedioso por <strong>la</strong> cantidad <strong>de</strong> cálculos y condiciones que se <strong>de</strong>b<strong>en</strong> evaluar con<br />
éste. Dado que el maestro es consi<strong>de</strong>rado como el ag<strong>en</strong>te principal <strong>de</strong>l <strong>de</strong>sarrollo<br />
educativo, el <strong>de</strong>tonador <strong>de</strong>l conocimi<strong>en</strong>to, habilida<strong>de</strong>s, actitu<strong>de</strong>s y valores <strong>en</strong> los<br />
estudiantes. Es <strong>la</strong> base <strong>de</strong> <strong>la</strong> calidad <strong>de</strong> <strong>la</strong> institución educativa. En este apartado se<br />
ti<strong>en</strong>e <strong>la</strong> propuesta y solución a <strong>la</strong> complejidad <strong>de</strong> éste proceso <strong>en</strong> busca <strong>de</strong> calidad,<br />
mediante <strong>la</strong> implem<strong>en</strong>tación, prueba y <strong>de</strong>finición <strong>de</strong> funcionalidad <strong>de</strong> una<br />
herrami<strong>en</strong>ta diseñada para ser usada <strong>en</strong> línea, <strong>la</strong> misma permite a los alumnos evaluar<br />
a los maestros. Esta herrami<strong>en</strong>ta se diseño basada <strong>en</strong> <strong>la</strong>s directrices citadas por<br />
Niels<strong>en</strong> (2002).<br />
Pa<strong>la</strong>bras c<strong>la</strong>ves: HCI, Anáhua, EM, Web.<br />
1. Introducción<br />
En los últimos tiempos se hab<strong>la</strong> más que nunca <strong>de</strong> <strong>la</strong> necesidad <strong>de</strong> una educación y<br />
<strong>de</strong> universida<strong>de</strong>s <strong>de</strong> calidad. El clima <strong>de</strong> <strong>de</strong>sarrollo tecnológico que se vive <strong>en</strong> <strong>la</strong><br />
actualidad, el creci<strong>en</strong>te interés por <strong>la</strong> eficacia, <strong>la</strong> efectividad <strong>de</strong> los servicios y los
altos costes <strong>de</strong> <strong>la</strong> educación superior ti<strong>en</strong>e mucho que ver con esa preocupación<br />
creci<strong>en</strong>te por <strong>en</strong>contrar <strong>la</strong> calidad anhe<strong>la</strong>da.<br />
El doc<strong>en</strong>te (maestro) es consi<strong>de</strong>rado <strong>en</strong> <strong>la</strong>s universida<strong>de</strong>s como elem<strong>en</strong>to<br />
indisp<strong>en</strong>sable, parte integrante <strong>de</strong>l sistema que contribuye para lograr los objetivos<br />
finales y <strong>la</strong> calidad <strong>en</strong> <strong>la</strong> educación. No es uno más <strong>en</strong>tre los que participan, sino que<br />
es, a modo personal, uno <strong>de</strong> los principales que influy<strong>en</strong> <strong>de</strong>cisivam<strong>en</strong>te <strong>en</strong> el producto<br />
final [1].<br />
La evaluación <strong>de</strong> maestros por parte <strong>de</strong> los estudiantes es un proceso continuo, lo<br />
cual repres<strong>en</strong>ta un gasto <strong>en</strong> <strong>la</strong>s casas <strong>de</strong> estudios, <strong>de</strong>bido a los insumos requeridos<br />
para este proceso como papel, lápiz, etc. Agregando <strong>la</strong> mano <strong>de</strong> obra directa e<br />
indirecta que <strong>en</strong> muchos casos <strong>de</strong>b<strong>en</strong> ser tomados empleados <strong>de</strong> difer<strong>en</strong>tes<br />
<strong>de</strong>partam<strong>en</strong>tos, lo que finalm<strong>en</strong>te repres<strong>en</strong>ta un gasto y atraso <strong>en</strong> <strong>la</strong> <strong>en</strong>trega <strong>de</strong><br />
resultados. Otro aspecto que se <strong>de</strong>be consi<strong>de</strong>rar <strong>en</strong> el proceso <strong>de</strong> evaluación <strong>de</strong><br />
maestros, son los errores que se ti<strong>en</strong><strong>en</strong> al manejar valores y el conteo <strong>de</strong> forma<br />
manual.<br />
Por ésta razón se <strong>de</strong>ci<strong>de</strong> crear una herrami<strong>en</strong>ta disponible <strong>en</strong> Internet, dado que<br />
esta red se ha consi<strong>de</strong>rado como una gran base <strong>de</strong> datos <strong>de</strong> cobertura global. En este<br />
contexto, herrami<strong>en</strong>tas para <strong>la</strong> evaluación <strong>de</strong> maestros por parte <strong>de</strong> los estudiantes vía<br />
Web, ofrece un mayor soporte para <strong>la</strong> realización <strong>de</strong> este proceso, <strong>en</strong> ocasiones arduo<br />
y costoso para <strong>la</strong>s instituciones educativas [2]. Con <strong>la</strong> herrami<strong>en</strong>ta <strong>de</strong> evaluación, se<br />
obti<strong>en</strong>e una recolección <strong>de</strong> datos confiables bajo perspectivas distintas, que asegur<strong>en</strong><br />
<strong>la</strong> calidad y exactitud <strong>en</strong> <strong>la</strong> solución p<strong>la</strong>nteada.<br />
2. Revisión <strong>de</strong> <strong>la</strong> Literatura<br />
El maestro es consi<strong>de</strong>rado como el ag<strong>en</strong>te principal <strong>de</strong>l <strong>de</strong>sarrollo educativo, el<br />
<strong>de</strong>tonador <strong>de</strong>l conocimi<strong>en</strong>to, habilida<strong>de</strong>s, actitu<strong>de</strong>s y valores <strong>en</strong> los estudiantes. Es <strong>la</strong><br />
base <strong>de</strong> <strong>la</strong> calidad <strong>de</strong> <strong>la</strong> institución educativa. Por estas y otras razones todas <strong>la</strong>s<br />
universida<strong>de</strong>s e instituciones educativas llevan a cabo el proceso <strong>de</strong> evaluación<br />
doc<strong>en</strong>te por parte <strong>de</strong> los estudiantes [3]. Los principales conductas que se persigu<strong>en</strong><br />
evaluar son: asist<strong>en</strong>cia, puntualidad, dominio <strong>de</strong> <strong>la</strong> materia, cumplimi<strong>en</strong>to <strong>de</strong>l<br />
programa, estructuración <strong>de</strong>l curso, dinámica <strong>de</strong> <strong>la</strong> c<strong>la</strong>se, manejo <strong>de</strong>l grupo,<br />
motivación, evaluación, interés por <strong>en</strong>señar, etc. La evaluación por parte <strong>de</strong> los<br />
estudiantes implica, <strong>de</strong>finir el perfil doc<strong>en</strong>te i<strong>de</strong>al, g<strong>en</strong>erar y recopi<strong>la</strong>r información,<br />
pres<strong>en</strong>tar<strong>la</strong>, analizar<strong>la</strong> e interpretar<strong>la</strong> para finalm<strong>en</strong>te: diagnosticar, formu<strong>la</strong>r juicios y<br />
tomar <strong>de</strong>cisiones.<br />
Las <strong>de</strong>cisiones que se <strong>de</strong>b<strong>en</strong> tomar son:<br />
‣ De índole formativa:<br />
a) Id<strong>en</strong>tificar vías que realc<strong>en</strong> <strong>la</strong>s <strong>de</strong>strezas profesionales <strong>de</strong>l personal académico.<br />
b) Instrum<strong>en</strong>tar <strong>la</strong> profesionalización <strong>de</strong> <strong>la</strong> <strong>en</strong>señanza.<br />
c) Mo<strong>de</strong>rnizar y actualizar al maestro <strong>en</strong> el uso <strong>de</strong> nuevas tecnologías y recursos<br />
didácticos diversos,
d) P<strong>la</strong>nificar el perfeccionami<strong>en</strong>to y el <strong>de</strong>sarrollo profesional.<br />
e) Id<strong>en</strong>tificar interv<strong>en</strong>ciones <strong>de</strong> capacitación y mejora.<br />
‣ De índole administrativa:<br />
a) Promover cambios <strong>en</strong> <strong>la</strong> estructura académica.<br />
b) Remoción <strong>de</strong>l personal no a<strong>de</strong>cuado.<br />
La universidad Anáhuac [4], <strong>de</strong>fine <strong>la</strong> evaluación doc<strong>en</strong>te como un proceso que<br />
está inmerso <strong>en</strong> una filosofía <strong>de</strong> <strong>la</strong> educación, va más allá <strong>de</strong> <strong>la</strong> g<strong>en</strong>eración <strong>de</strong>scriptiva<br />
o comparativa, <strong>de</strong> indicadores y estadísticas. Es una evaluación ori<strong>en</strong>tada al<br />
<strong>de</strong>sarrollo que se id<strong>en</strong>tifica con <strong>la</strong> evaluación formativa, cuyos objetivos son seña<strong>la</strong>r<br />
aspectos que pued<strong>en</strong> ser mejorados y guiar <strong>la</strong>s <strong>de</strong>cisiones <strong>en</strong> torno a como mejorarlos.<br />
La información está dirigida a los propios sujetos evaluados, qui<strong>en</strong>es participan<br />
activam<strong>en</strong>te <strong>en</strong> el proceso. Dicha universidad inicia un proceso formal <strong>de</strong> <strong>la</strong><br />
evaluación doc<strong>en</strong>te a partir <strong>de</strong>l año <strong>de</strong> 1988 y hoy <strong>en</strong> día reconoce que su calidad a<br />
nivel doc<strong>en</strong>te ha crecido notablem<strong>en</strong>te.<br />
Dado que el proceso <strong>de</strong> evaluación ti<strong>en</strong>e que ser realizado <strong>en</strong> <strong>la</strong>s instituciones<br />
públicas y privadas, <strong>en</strong> el 2003 el Ministerio <strong>de</strong> Educación Nacional <strong>de</strong> Colombia<br />
promulgó el Decreto 2582. El objetivo <strong>de</strong> este <strong>de</strong>creto es establecer <strong>la</strong>s reg<strong>la</strong>s y<br />
mecanismos g<strong>en</strong>erales para <strong>la</strong> evaluación <strong>de</strong>l <strong>de</strong>sempeño <strong>de</strong> los doc<strong>en</strong>tes y directivos<br />
doc<strong>en</strong>tes que <strong>la</strong>boran <strong>en</strong> los establecimi<strong>en</strong>tos educativos estatales [4]. El <strong>de</strong>creto<br />
<strong>de</strong>fine los principios y el cont<strong>en</strong>ido <strong>de</strong> <strong>la</strong> evaluación, asigna <strong>la</strong>s responsabilida<strong>de</strong>s <strong>de</strong>l<br />
Ministerio <strong>de</strong> Educación Nacional, <strong>la</strong>s Secretarías <strong>de</strong> Educación, los rectores y<br />
directores; <strong>de</strong>tal<strong>la</strong> el proceso g<strong>en</strong>eral <strong>de</strong> evaluación, establece el período <strong>en</strong> el que se<br />
aplicará y precisa el uso <strong>de</strong> sus resultados.<br />
La evaluación <strong>de</strong>l <strong>de</strong>sempeño <strong>de</strong> los doc<strong>en</strong>tes es una parte importante <strong>de</strong> <strong>la</strong><br />
evaluación institucional y se realizará al terminar cada año lectivo. Ésta evaluará <strong>la</strong><br />
actuación <strong>de</strong>l doc<strong>en</strong>te como profesional que participa <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong>l proyecto<br />
educativo institucional, p<strong>la</strong>nea su <strong>la</strong>bor, aplica estrategias pedagógicas apropiadas,<br />
evalúa los resultados <strong>de</strong>l apr<strong>en</strong>dizaje y se integra con <strong>la</strong> comunidad educativa.<br />
La evaluación <strong>de</strong>l doc<strong>en</strong>te <strong>en</strong> una institución <strong>de</strong> educación superior, surge a raíz <strong>de</strong><br />
consi<strong>de</strong>rar que uno <strong>de</strong> los principales problemas y dificulta<strong>de</strong>s que han impedido <strong>la</strong><br />
aceptación y consolidación <strong>de</strong> los procesos <strong>de</strong> evaluación <strong>de</strong>l profesorado<br />
universitario, han t<strong>en</strong>ido su orig<strong>en</strong> <strong>en</strong> que éstos se inician sin el a<strong>de</strong>cuado cons<strong>en</strong>so <strong>de</strong><br />
<strong>la</strong>s partes implicadas, lo que indudablem<strong>en</strong>te g<strong>en</strong>era actitu<strong>de</strong>s <strong>de</strong> <strong>de</strong>sconfianza,<br />
inhibición y rechazo. Por ello se consi<strong>de</strong>ró que antes <strong>de</strong> int<strong>en</strong>tar hacer un<br />
p<strong>la</strong>nteami<strong>en</strong>to <strong>de</strong> evaluación, se <strong>de</strong>be consi<strong>de</strong>rar, tanto <strong>la</strong>s opiniones <strong>de</strong> los profesores<br />
como <strong>de</strong> aquellos otros miembros <strong>de</strong> <strong>la</strong> comunidad implicados <strong>en</strong> esta evaluación, es<br />
<strong>de</strong>cir: saber qué pi<strong>en</strong>san, sobre quién, cómo y a través <strong>de</strong> qué procedimi<strong>en</strong>tos <strong>de</strong>be<br />
efectuarse el proceso <strong>de</strong> control <strong>de</strong> <strong>la</strong> actividad <strong>de</strong>l profesorado al servicio <strong>de</strong> <strong>la</strong><br />
Institución. Especialm<strong>en</strong>te interesa conocer sus opiniones con re<strong>la</strong>ción a <strong>la</strong> utilidad o<br />
usos que puedan t<strong>en</strong>er estos procesos <strong>de</strong> evaluación <strong>de</strong>l profesor, con <strong>la</strong> finalidad <strong>de</strong><br />
diseñar un mo<strong>de</strong>lo <strong>de</strong> evaluación doc<strong>en</strong>te acor<strong>de</strong> a sus características contextuales<br />
[5].
La puesta <strong>en</strong> marcha <strong>de</strong>l sistema <strong>de</strong> evaluación doc<strong>en</strong>te es un paso <strong>en</strong> <strong>la</strong> dirección<br />
correcta para conseguir mejoras tangibles <strong>en</strong> <strong>la</strong> educación. Pero se trata sólo <strong>de</strong>l<br />
primer paso. Lo que se requiere es aprovechar <strong>la</strong> radiografía para corregir <strong>la</strong>s ma<strong>la</strong>s<br />
prácticas doc<strong>en</strong>tes, mejorar el sistema <strong>de</strong> apoyo técnico a los maestros, pot<strong>en</strong>ciar <strong>la</strong>s<br />
bu<strong>en</strong>as experi<strong>en</strong>cias. Por ejemplo, sería provechoso que aquellos maestros <strong>de</strong>stacados<br />
pudieran convertirse <strong>en</strong> verda<strong>de</strong>ros monitores <strong>de</strong>l perfeccionami<strong>en</strong>to <strong>de</strong> sus colegas.<br />
La calidad <strong>de</strong> <strong>la</strong> <strong>en</strong>señanza se <strong>de</strong>fine <strong>en</strong> <strong>la</strong> sa<strong>la</strong> <strong>de</strong> c<strong>la</strong>ses. Si los profesores no ti<strong>en</strong><strong>en</strong><br />
un bu<strong>en</strong> <strong>de</strong>sempeño, no sirv<strong>en</strong> <strong>de</strong> mucho los gran<strong>de</strong>s lineami<strong>en</strong>tos sobre cómo<br />
mejorar <strong>la</strong> educación [6].<br />
3. Solución propuesta<br />
El sistema <strong>de</strong> evaluación <strong>de</strong> maestros <strong>en</strong> línea, fue creado con el propósito <strong>de</strong><br />
obt<strong>en</strong>er una herrami<strong>en</strong>ta que permita recolectar los datos que sirv<strong>en</strong> para evaluar a<br />
los maestros, permiti<strong>en</strong>do a los estudiantes <strong>de</strong> una manera fácil, c<strong>la</strong>ra, y eficaz<br />
respon<strong>de</strong>r <strong>la</strong>s preguntas necesarias, <strong>la</strong>s cuales arrojarán los datos que finalm<strong>en</strong>te serán<br />
tabu<strong>la</strong>dos y pres<strong>en</strong>tados <strong>en</strong> estadísticas. Pero, ¿Qué es <strong>la</strong> herrami<strong>en</strong>ta <strong>de</strong> Evaluación<br />
<strong>de</strong> Maestros (EM)?. Es una herrami<strong>en</strong>ta <strong>en</strong> línea que permite a los alumnos evaluar a<br />
un maestro a manera <strong>de</strong> puntaje y también ti<strong>en</strong>e <strong>la</strong> posibilidad <strong>de</strong> emitir com<strong>en</strong>tarios a<br />
un <strong>de</strong>terminado maestro si así lo <strong>de</strong>sea.<br />
La manera <strong>en</strong> que <strong>la</strong> herrami<strong>en</strong>ta <strong>de</strong> “Evaluación <strong>de</strong> Maestros” guarda, procesa y<br />
pres<strong>en</strong>ta <strong>la</strong> información <strong>la</strong> convierte <strong>en</strong> un elem<strong>en</strong>to para <strong>de</strong>finir<strong>la</strong> como<br />
indisp<strong>en</strong>sable, para obt<strong>en</strong>er resultados efici<strong>en</strong>tes y confiables <strong>en</strong> el proceso <strong>de</strong><br />
evaluación <strong>de</strong> maestros.<br />
Las v<strong>en</strong>tajas que brinda esta herrami<strong>en</strong>ta son muchas, pero para este apartado<br />
<strong>de</strong>finiremos solo algunas:<br />
‣ G<strong>en</strong>eración <strong>de</strong> reportes ord<strong>en</strong>ados por grupo <strong>de</strong> c<strong>la</strong>se.<br />
‣ G<strong>en</strong>eración <strong>de</strong> estadísticas g<strong>en</strong>eral o individual.<br />
‣ Facilidad para <strong>la</strong> obt<strong>en</strong>ción <strong>de</strong> datos refer<strong>en</strong>te a los maestros y los grupos, ya que<br />
los mismos pued<strong>en</strong> ser cargados directam<strong>en</strong>te <strong>de</strong>s<strong>de</strong> archivo <strong>de</strong> texto.<br />
‣ Guarda <strong>la</strong> información exist<strong>en</strong>te <strong>en</strong> <strong>la</strong> base <strong>de</strong> datos <strong>en</strong> un archivo externo<br />
(archivo <strong>de</strong> texto simple), archivo que pue<strong>de</strong> ser cargado nuevam<strong>en</strong>te si el<br />
usuario lo <strong>de</strong>sea; esta opción permite mant<strong>en</strong>er <strong>la</strong> información ord<strong>en</strong>ada por<br />
periodo.<br />
‣ Seguridad <strong>en</strong> <strong>la</strong> información y acceso.<br />
‣ Control <strong>de</strong> alumnos, mediante una lista que indica qui<strong>en</strong>es han evaluado y<br />
qui<strong>en</strong>es no.<br />
Su implem<strong>en</strong>tación se e<strong>la</strong>boró <strong>en</strong> p<strong>la</strong>taformas <strong>de</strong> software libre, los cuales son<br />
ampliam<strong>en</strong>te difundidos <strong>en</strong> el área <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> sistemas con <strong>la</strong> madurez<br />
sufici<strong>en</strong>te para ser aplicados acertadam<strong>en</strong>te <strong>en</strong> este proyecto (Tab<strong>la</strong> 1).
Tipo Nombre Características<br />
Servidor<br />
Web<br />
Apache Servidor web más<br />
empleado <strong>en</strong> el mundo,<br />
flexibilidad <strong>de</strong><br />
configuración.<br />
Base <strong>de</strong> MySQL Motor <strong>de</strong> base <strong>de</strong><br />
datos<br />
datos re<strong>la</strong>cional,<br />
compacto y efici<strong>en</strong>te.<br />
Interfaz HTML L<strong>en</strong>guaje <strong>de</strong><br />
<strong>de</strong>finición <strong>de</strong> formato y<br />
cont<strong>en</strong>ido.<br />
Interfaz JavaScrip L<strong>en</strong>guaje <strong>de</strong><br />
t<br />
programación.<br />
Interfaz PHP L<strong>en</strong>guaje <strong>de</strong><br />
programación.<br />
Tab<strong>la</strong>1. Software utilizados para el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> herrami<strong>en</strong>ta.<br />
Es una herrami<strong>en</strong>ta creada bajo el <strong>en</strong>torno <strong>de</strong> software libre, con mira a dotar<strong>la</strong> <strong>de</strong><br />
algunas <strong>de</strong> <strong>la</strong>s v<strong>en</strong>tajas <strong>de</strong>l software libre, <strong>de</strong> <strong>la</strong>s cuales se pued<strong>en</strong> citar algunas:<br />
‣ Bajo coste <strong>de</strong> propiedad:<br />
Permite un muy s<strong>en</strong>sible ahorro <strong>de</strong> costes <strong>en</strong> infraestructura y mant<strong>en</strong>imi<strong>en</strong>to<br />
para proyectos a medida, <strong>en</strong> función <strong>de</strong> <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong>l usuario.<br />
‣ Garantías <strong>de</strong> seguridad:<br />
El hecho <strong>de</strong> disponer <strong>de</strong>l código fu<strong>en</strong>te <strong>de</strong> sus aplicaciones garantiza <strong>la</strong><br />
seguridad, a<strong>de</strong>más <strong>de</strong> <strong>la</strong> fiabilidad <strong>de</strong>l producto.<br />
‣ Cualquier <strong>de</strong>sarrollo pue<strong>de</strong> ser personalizado para un cli<strong>en</strong>te, <strong>de</strong>bido a que<br />
disponemos <strong>de</strong>l código fu<strong>en</strong>te. Permite adaptar soluciones ya creadas para<br />
proyectos a medida.<br />
‣ Permite un mayor avance <strong>de</strong> <strong>la</strong> tecnología <strong>de</strong>bido a que el conocimi<strong>en</strong>to se<br />
comparte. La ci<strong>en</strong>cia avanza porque los ci<strong>en</strong>tíficos compart<strong>en</strong> los<br />
<strong>de</strong>scubrimi<strong>en</strong>tos <strong>de</strong> manera libre.<br />
Tomando <strong>en</strong> cu<strong>en</strong>ta <strong>la</strong>s v<strong>en</strong>tajas <strong>de</strong> software libre y <strong>la</strong>s v<strong>en</strong>tajas observadas <strong>en</strong> <strong>la</strong><br />
propuesta para <strong>la</strong> herrami<strong>en</strong>ta <strong>de</strong> evaluación <strong>de</strong> maestros, se va implem<strong>en</strong>tando <strong>de</strong><br />
manera segm<strong>en</strong>tada o <strong>en</strong> Frames, para fines <strong>de</strong> ir evaluando el alcance <strong>de</strong> cada una <strong>de</strong><br />
<strong>la</strong>s características <strong>de</strong>finidas <strong>en</strong> el análisis y diseño <strong>de</strong> <strong>la</strong> herrami<strong>en</strong>ta. De dichos<br />
Frames, se obti<strong>en</strong><strong>en</strong> los módulos que forman el Sistema <strong>de</strong> Evaluación <strong>de</strong> Maestros y<br />
<strong>la</strong> información y opciones que los compon<strong>en</strong> a cada uno <strong>de</strong> ellos (Figuras 1 y 2).
Sistema <strong>de</strong><br />
Administración<br />
Configuración<br />
‣ Materias<br />
‣ Maestros<br />
‣ Lista <strong>de</strong><br />
Alumnos<br />
‣ Estadísticas<br />
‣ Re<strong>la</strong>ción<br />
Materias-<br />
Maestro<br />
‣ Configurar<br />
datos <strong>de</strong>l<br />
sistema<br />
‣ Modificar<br />
datos <strong>de</strong>l<br />
sistema<br />
Figura 1. Módulo <strong>de</strong> administración y configuración.<br />
Usuarios<br />
‣ Selección <strong>de</strong><br />
grupo e<br />
inserción <strong>de</strong><br />
c<strong>la</strong>ve <strong>de</strong> usuario<br />
‣ Evaluar<br />
responsabilidad<br />
‣ Evaluar<br />
r<strong>en</strong>dimi<strong>en</strong>to<br />
Figura 2. Módulo <strong>de</strong> evaluación para usuarios.<br />
Según el funcionami<strong>en</strong>to <strong>de</strong> <strong>la</strong> herrami<strong>en</strong>ta, se pue<strong>de</strong> <strong>de</strong>cir que <strong>la</strong> misma <strong>en</strong>tra <strong>en</strong><br />
<strong>la</strong> <strong>de</strong>finición <strong>de</strong> HCI (Interacción Humano Computadora). HCI es una disciplina que<br />
se refiere al diseño, evaluación y puesta <strong>en</strong> marcha <strong>de</strong> los sistemas <strong>de</strong> cálculo y<br />
operaciones interactivos <strong>de</strong> humano-maquina [4]. Una <strong>de</strong> <strong>la</strong>s características <strong>de</strong> HCI,<br />
es <strong>la</strong> manipu<strong>la</strong>ción <strong>de</strong> información, qué es precisam<strong>en</strong>te lo que hace refer<strong>en</strong>ciar <strong>la</strong><br />
herrami<strong>en</strong>ta <strong>de</strong> evaluación con el HCI, dado que EM es una herrami<strong>en</strong>ta para<br />
colectar, manipu<strong>la</strong>r y procesar datos refer<strong>en</strong>te a <strong>la</strong> evaluación <strong>de</strong> maestros, haci<strong>en</strong>do<br />
uso <strong>de</strong> <strong>la</strong>s disponibilida<strong>de</strong>s <strong>de</strong> <strong>la</strong> web.
Para el diseño <strong>de</strong> <strong>la</strong> interfaz se toman <strong>en</strong> cu<strong>en</strong>ta <strong>la</strong>s directrices citadas por Niels<strong>en</strong><br />
(2002), qui<strong>en</strong> recomi<strong>en</strong>da <strong>en</strong> primer lugar <strong>de</strong>terminar el cont<strong>en</strong>ido <strong>de</strong> <strong>la</strong> página <strong>de</strong><br />
inicio según <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> <strong>la</strong>s empresas, <strong>en</strong> ésta se usan colores <strong>en</strong> distintos<br />
tonos, basados siempre <strong>en</strong> <strong>la</strong>s recom<strong>en</strong>daciones <strong>de</strong> Niels<strong>en</strong>, que recomi<strong>en</strong>da evitar<br />
colores fuertes a <strong>la</strong> vista <strong>de</strong>l usuario. En esta página <strong>de</strong> inicio se <strong>en</strong>cu<strong>en</strong>tran también<br />
el logotipo <strong>de</strong> <strong>la</strong> herrami<strong>en</strong>ta <strong>en</strong> una tamaño razonable; el eslogan, para <strong>de</strong>finir<br />
explícitam<strong>en</strong>te <strong>la</strong>s activida<strong>de</strong>s <strong>de</strong>l <strong>sitio</strong>; objetos <strong>de</strong> ori<strong>en</strong>tación para el usuario [7].<br />
A continuación se <strong>de</strong>scribe <strong>de</strong> forma g<strong>en</strong>eral el funcionami<strong>en</strong>to <strong>de</strong> esta<br />
herrami<strong>en</strong>ta.<br />
Al iniciar, <strong>la</strong> herrami<strong>en</strong>ta <strong>de</strong>tecta que no se ha configurado el sistema y le avisa al<br />
usuario, <strong>en</strong> seguida ti<strong>en</strong>e que consultar al sistema <strong>de</strong> administración el cual lo<br />
redireccionará al módulo <strong>de</strong> configuración, ya que si no se configura el sistema no<br />
podrá seguir a<strong>de</strong><strong>la</strong>nte, los datos necesarios para <strong>la</strong> configuración <strong>de</strong>l sistema se<br />
pres<strong>en</strong>tan <strong>de</strong> modo c<strong>la</strong>ro, ord<strong>en</strong>ados y precisos (Figura 3).<br />
Figura 3. Sistema <strong>de</strong> Configuración.<br />
Una vez proporcionados los datos podrá dirigirse al módulo <strong>de</strong> administración(Ver<br />
Figura 4).<br />
Figura 4. Sistema <strong>de</strong> Administración.
En cuanto a <strong>la</strong>s estadísticas, como ya se había m<strong>en</strong>cionado, se pued<strong>en</strong> pres<strong>en</strong>tar<br />
por cada grupo), <strong>de</strong> manera g<strong>en</strong>eral por grupo (Figura 5), y para establecer mediante<br />
estadísticas g<strong>en</strong>eradas por <strong>la</strong> herrami<strong>en</strong>ta el mejor maestro (Figura 6). En esta los<br />
puntos van <strong>de</strong> 0 a 100, si<strong>en</strong>do 100 el puntaje más alto. Cuando se visualizan <strong>la</strong>s<br />
estadísticas se pres<strong>en</strong>tan junto con los puntos obt<strong>en</strong>idos <strong>de</strong> cada maestro los alumnos<br />
que evaluaron a dicho maestro y los com<strong>en</strong>tarios obt<strong>en</strong>idos, y al final <strong>de</strong> <strong>la</strong>s<br />
estadísticas por cada grupo o <strong>de</strong> manera g<strong>en</strong>eral hay un <strong>en</strong><strong>la</strong>ce para <strong>la</strong>s estadísticas y<br />
otro para los com<strong>en</strong>tarios los cuales mandan l<strong>la</strong>mar una nueva v<strong>en</strong>tana con los datos<br />
correspondi<strong>en</strong>tes con <strong>la</strong> posibilidad <strong>de</strong> imprimirlos.<br />
Figura 5. Estadísticas por cada grupo.<br />
Figura 6. Estadísticas visualizando el mejor maestro.<br />
Una <strong>de</strong> <strong>la</strong>s metas esperadas con el <strong>de</strong>sarrollo <strong>de</strong>l sistema <strong>de</strong> Evaluación <strong>de</strong><br />
Maestros configurable totalm<strong>en</strong>te, <strong>en</strong> cuanto a puntos <strong>de</strong> evaluación y el<br />
ord<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> materias, maestros, y alumnos, <strong>de</strong> acuerdo a <strong>la</strong>s necesida<strong>de</strong>s y p<strong>la</strong>nes<br />
<strong>de</strong> estudios <strong>de</strong> <strong>la</strong>s instituciones. En esta versión solo se pued<strong>en</strong> evaluar 10 puntos para<br />
responsabilidad y otros 10 puntos para r<strong>en</strong>dimi<strong>en</strong>to ( Figura 7).
La funcionalidad <strong>de</strong> <strong>la</strong> herrami<strong>en</strong>ta por su facilidad <strong>de</strong> uso ha sido aceptada por los<br />
estudiantes <strong>de</strong> manera muy positiva, ya que los mismo han contribuido con sus<br />
recom<strong>en</strong>daciones y com<strong>en</strong>tarios, a <strong>la</strong>s modificaciones pertin<strong>en</strong>tes, para obt<strong>en</strong>er una<br />
herrami<strong>en</strong>ta amigable, fácil <strong>de</strong> usar, fiable y abierta a ser adaptada a <strong>la</strong>s necesida<strong>de</strong>s<br />
<strong>de</strong> cada institución que <strong>de</strong>cida usar<strong>la</strong> como herrami<strong>en</strong>ta <strong>de</strong> evaluación a los maestros.<br />
4. Conclusiones<br />
Figura 7. V<strong>en</strong>tana <strong>de</strong> evaluación.<br />
La automatización <strong>de</strong> <strong>la</strong> información <strong>de</strong> recursos siempre ha sido un factor<br />
importante <strong>en</strong> cualquier organización ya sea por los costos que implica cierta<br />
actividad o por <strong>la</strong> duración que pueda implicar el realizar<strong>la</strong>. Anteriorm<strong>en</strong>te se ha<br />
observado el trabajo y tiempo que se lleva el p<strong>la</strong>near e implem<strong>en</strong>tar una evaluación <strong>de</strong><br />
maestros con el método tradicional, <strong>en</strong> el que se utilizan lápiz y papel como artefactos<br />
principales para <strong>la</strong> recolección <strong>de</strong> los datos, <strong>la</strong> tabu<strong>la</strong>ción <strong>de</strong> esos datos; todos estos<br />
conllevan una serie <strong>de</strong> pasos que al realizarlos manualm<strong>en</strong>te se incurre <strong>en</strong> errores que<br />
pued<strong>en</strong> llegar a pasar <strong>de</strong>sapercibidos <strong>en</strong> <strong>la</strong> organización, pero igual pued<strong>en</strong> g<strong>en</strong>erar<br />
una serie <strong>de</strong> problemas, riesgos y conflictos <strong>de</strong> soluciones. Ésta herrami<strong>en</strong>ta ha sido<br />
implem<strong>en</strong>tada y probada <strong>en</strong> dos faculta<strong>de</strong>s (escue<strong>la</strong>s) <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Colima, y<br />
se observó que <strong>la</strong> evaluación a los maestros por parte <strong>de</strong> los estudiantes se realizó <strong>en</strong><br />
m<strong>en</strong>or tiempo, con igual o mejor precisión <strong>de</strong> cálculos, y que al final <strong>de</strong> ésta ya se<br />
contaban con los resultados a modo <strong>de</strong> reporte, los cuales, solo era cuestión <strong>de</strong><br />
imprimirlos, tal como se pudo observar <strong>en</strong> Figura 5. Al comparar los resultados<br />
obt<strong>en</strong>idos con el reporte <strong>de</strong> <strong>la</strong> herrami<strong>en</strong>ta el error porc<strong>en</strong>tual fue <strong>de</strong> un dos a tres por<br />
ci<strong>en</strong>to, lo que significa que el rango <strong>de</strong> confiabilidad <strong>de</strong> los resultados es <strong>de</strong> 97%.<br />
Uno <strong>de</strong> los problemas que se pres<strong>en</strong>taron al inicio, <strong>en</strong> <strong>la</strong> prueba <strong>de</strong> <strong>la</strong> herrami<strong>en</strong>ta<br />
por parte <strong>de</strong> <strong>la</strong>s faculta<strong>de</strong>s <strong>de</strong> <strong>la</strong> universidad que se pusieron <strong>en</strong> <strong>la</strong> disposición, fue que<br />
<strong>la</strong> herrami<strong>en</strong>ta no ofrecía <strong>la</strong> flexibilidad para que los alumnos <strong>de</strong> un mismo grupo<br />
tuvieran difer<strong>en</strong>tes maestros, por ejemplo el caso <strong>de</strong> Inglés, para esta materia <strong>la</strong>s<br />
distintas faculta<strong>de</strong>s (escue<strong>la</strong>s) hac<strong>en</strong> un exam<strong>en</strong> <strong>de</strong> nivel y según <strong>la</strong>s calificaciones<br />
obt<strong>en</strong>idas, son colocados <strong>en</strong> distintos grupos, y es <strong>en</strong> el caso <strong>en</strong> que los estudiantes <strong>de</strong>
un grupo, pued<strong>en</strong> <strong>en</strong> una materia como <strong>la</strong> citada previam<strong>en</strong>te pued<strong>en</strong> estar <strong>en</strong> más <strong>de</strong><br />
un grupo <strong>en</strong> un mismo semestre. Una vez <strong>de</strong>sarrol<strong>la</strong>da esta parte, <strong>la</strong> herrami<strong>en</strong>ta fue<br />
probada nuevam<strong>en</strong>te y los resultados fueron tal y como se p<strong>la</strong>neo al mom<strong>en</strong>to <strong>de</strong> <strong>la</strong><br />
revisión. Una característica más que pres<strong>en</strong>ta <strong>la</strong> herrami<strong>en</strong>ta es que brinda confianza<br />
y seguridad <strong>en</strong> los cálculos <strong>de</strong> <strong>la</strong> información.<br />
La evaluación <strong>de</strong> maestros es un proceso <strong>de</strong> mucha importancia, ya que con este<br />
se <strong>en</strong>caminan <strong>la</strong>s instituciones educativas, a ser instituciones con calidad, respeto y<br />
confianza. Por tal razón el crear una herrami<strong>en</strong>ta para realizar este proceso vía Web,<br />
permite al estudiante hacerlo sin presión, con más conci<strong>en</strong>cia, seguridad y facilidad.<br />
Por lo que a futuro se espera que esta herrami<strong>en</strong>ta sea totalm<strong>en</strong>te configurable al<br />
gusto y necesidad, según los p<strong>la</strong>nes <strong>de</strong> estudio <strong>de</strong> <strong>la</strong>s casas <strong>de</strong> estudios, tanto para <strong>la</strong>s<br />
preguntas <strong>de</strong> evaluación que aplican, el peso o valor <strong>de</strong> cada una y a forma que<br />
<strong>de</strong>se<strong>en</strong> manejar los resultados.<br />
5. Agra<strong>de</strong>cimi<strong>en</strong>tos<br />
Al <strong>de</strong>sarrol<strong>la</strong>r una herrami<strong>en</strong>ta como ésta, siempre es indisp<strong>en</strong>sable contar con el<br />
apoyo <strong>de</strong> alguna <strong>de</strong>p<strong>en</strong>d<strong>en</strong>cia, <strong>la</strong> cual t<strong>en</strong>ga <strong>la</strong> necesidad y <strong>la</strong> problemática <strong>de</strong>finida a<br />
<strong>la</strong> hora <strong>de</strong> pres<strong>en</strong>tar una propuesta <strong>de</strong> solución. Por esta razón se agra<strong>de</strong>ce a <strong>la</strong>s<br />
faculta<strong>de</strong>s <strong>de</strong> Telemática y Trabajo Social, ambas, <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Colima<br />
qui<strong>en</strong>es apoyaron <strong>de</strong>s<strong>de</strong> <strong>la</strong> implem<strong>en</strong>tación hasta <strong>la</strong> prueba, siempre con <strong>la</strong><br />
disposición <strong>de</strong> suger<strong>en</strong>cias para que <strong>la</strong> funcionalidad <strong>de</strong> <strong>la</strong> herrami<strong>en</strong>ta para<br />
evaluación <strong>de</strong> maestros sea <strong>la</strong> más próxima a los objetivos <strong>de</strong> <strong>de</strong>sarrollo.<br />
6. Refer<strong>en</strong>cias<br />
[1] F. A. a. R. González, "La calidad <strong>de</strong> <strong>la</strong> <strong>en</strong>señanza superior y otros temas<br />
universitarios," Universidad Politécnica., Madrid, 1994.<br />
[2] J. S. d. l. Heras, ""Nuevos servicios a comunida<strong>de</strong>s virtuales <strong>de</strong> usuarios<br />
(CVUs) <strong>de</strong> RedIRIS,"," Boletín <strong>de</strong> <strong>la</strong> RedIris, 1999.<br />
[3] U. d. Anáhuac, "La evaluación doc<strong>en</strong>te,",, pp. pp. 30, 2002.<br />
[4] Hewett, Baecker, Card, Carey, Gas<strong>en</strong>, Mantei, Perlman, S. and, and<br />
Verp<strong>la</strong>nk, "ACM SIGCHI Curricu<strong>la</strong> for Human-Computer Interaction,"<br />
ACM SIGCHI, pp. 5, 2002.<br />
[5] J. C. a. A. Porto, "Evaluación <strong>de</strong> <strong>la</strong> doc<strong>en</strong>cia <strong>de</strong>l profesorado universitario<br />
por los alumnos: En PÉREZ JUSTE, R.; CRISTÓBAL MARTÍN, MA. Y<br />
MARTÍNEZ AZNAR, BERTHA (Coords.)," in Evaluación <strong>de</strong> Profesores y<br />
Reformas Educativas, U. T. S.A, Ed. Madrid, 1995, pp. 45-89.<br />
[6] E. P. L. Nación, "La evaluación <strong>de</strong> los profesores," in La Nación, Digital ed.<br />
Chile, 2004.<br />
[7] J. Niels<strong>en</strong>, "Usability Engineering," AP Professional, 1993.
Interfaz con reconocimi<strong>en</strong>to <strong>de</strong> voz para <strong>la</strong><br />
manipu<strong>la</strong>ción robótica<br />
Carlos Miranda-Palma 1 , Oscar Mayora-Ibarra 2 y Esmeralda Uraga-Serratos 3<br />
1 UADY, Calle 48 A s/n x 31, 97700, Tizimín, Yucatán, México<br />
2 ITESM, Av. Paseo <strong>de</strong> <strong>la</strong> Reforma 182-A, 62589, Lomas <strong>de</strong> Cuernavaca,<br />
Temixco, Morelos, México<br />
3 IIMAS- UNAM, Circuito Esco<strong>la</strong>r s/n, Ciudad Universitaria, 04510, D.F., México<br />
cmiranda@tunku.uady.mx, omayora@itesm.mx, euraga@leibniz.iimas.unam.mx<br />
Abstract. In this paper we <strong>de</strong>scribe an interface with speech recognition for the manipu<strong>la</strong>tion of<br />
a mobile Nomad Scout II robot. We <strong>de</strong>scribe the speech recognition system <strong>de</strong>veloped and we<br />
pres<strong>en</strong>t the results obtained during the training of the acoustic mo<strong>de</strong>ls and during the recognition<br />
of the commands for the manipu<strong>la</strong>tion of the mobile robot. For the creation of the acoustic<br />
mo<strong>de</strong>ls, we used the HTK software of speech recognition.<br />
Resum<strong>en</strong>. En este trabajo <strong>de</strong>scribimos una interfaz con reconocimi<strong>en</strong>to <strong>de</strong> voz para <strong>la</strong><br />
manipu<strong>la</strong>ción <strong>de</strong> un robot móvil Nomad Scout II. Se <strong>de</strong>scribe el sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong><br />
voz <strong>de</strong>sarrol<strong>la</strong>do y se pres<strong>en</strong>tan los resultados obt<strong>en</strong>idos durante el <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> los mo<strong>de</strong>los<br />
acústicos y durante el reconocimi<strong>en</strong>to <strong>de</strong> los comandos para <strong>la</strong> manipu<strong>la</strong>ción <strong>de</strong>l robot móvil.<br />
Para <strong>la</strong> creación <strong>de</strong> los mo<strong>de</strong>los acústicos, se utilizó el software <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong> voz HTK.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve: Interfaz, reconocimi<strong>en</strong>to <strong>de</strong> voz, corpus <strong>de</strong> voz.<br />
1. Introducción<br />
El uso <strong>de</strong> robots móviles para diversas áreas <strong>de</strong> <strong>la</strong> investigación se ha increm<strong>en</strong>tado <strong>en</strong><br />
estos últimos tiempos <strong>de</strong>s<strong>de</strong> una simple manipu<strong>la</strong>ción hasta tareas complejas y <strong>de</strong><br />
apr<strong>en</strong>dizaje. Reci<strong>en</strong>tem<strong>en</strong>te se han <strong>de</strong>sarrol<strong>la</strong>do diversos mecanismos para contro<strong>la</strong>r<br />
sistemas <strong>de</strong> navegación robótica: a través <strong>de</strong> una lista <strong>de</strong> comandos secuénciales<br />
introducidos <strong>en</strong> modo <strong>de</strong> texto a una página Web [1], con gestos dinámicos realizados<br />
con <strong>la</strong> mano [2], y reci<strong>en</strong>tem<strong>en</strong>te el uso <strong>de</strong>l reconocimi<strong>en</strong>to <strong>de</strong> voz [3]. Esto nos<br />
permite diversificar y ampliar <strong>la</strong>s opciones <strong>de</strong> interacción <strong>en</strong> sistemas <strong>de</strong> navegación <strong>de</strong><br />
un robot móvil. También nos brinda <strong>la</strong> oportunidad <strong>de</strong> realizar comparaciones <strong>de</strong><br />
resultados al utilizar estas diversas opciones <strong>de</strong> navegación, y <strong>de</strong> realizar estudios <strong>de</strong><br />
usabilidad <strong>de</strong> <strong>la</strong>s interfaces <strong>de</strong>sarrol<strong>la</strong>das para <strong>la</strong> manipu<strong>la</strong>ción <strong>de</strong> un robot móvil [4].<br />
En el IIMAS <strong>de</strong> <strong>la</strong> UNAM también se han v<strong>en</strong>ido <strong>de</strong>sarrol<strong>la</strong>ndo diversos proyectos que<br />
incluy<strong>en</strong> <strong>la</strong> comunicación hab<strong>la</strong>da como forma <strong>de</strong> interacción [5][6]. En [7] se pres<strong>en</strong>ta<br />
un sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong>l hab<strong>la</strong> que también fue integrado al sistema <strong>de</strong><br />
navegación <strong>de</strong> un robot móvil. Algunos <strong>de</strong> estos sistemas y herrami<strong>en</strong>tas <strong>de</strong>sarrol<strong>la</strong>das
<strong>en</strong> estos proyectos fueron utilizadas y/o adaptadas para crear <strong>la</strong> interfaz con<br />
reconocimi<strong>en</strong>to <strong>de</strong> voz pres<strong>en</strong>tada <strong>en</strong> este trabajo [8][9].<br />
En este trabajo pres<strong>en</strong>tamos una interfaz para <strong>la</strong> manipu<strong>la</strong>ción <strong>de</strong> un robot móvil<br />
empleando <strong>la</strong> forma más natural <strong>de</strong> comunicación humana: el hab<strong>la</strong>. Se pres<strong>en</strong>ta el<br />
<strong>de</strong>sarrollo <strong>de</strong> un sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong> voz continua <strong>en</strong> español para <strong>la</strong><br />
navegación robótica por medio <strong>de</strong> comandos vocales. Los comandos hab<strong>la</strong>dos que se<br />
implem<strong>en</strong>taron para su reconocimi<strong>en</strong>to son 6: Avanza, Gira_Derecha, Gira_Izquierda,<br />
Retroce<strong>de</strong>, Inicio y Fin.<br />
Para <strong>la</strong> creación <strong>de</strong>l sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong> voz continua <strong>en</strong> español se<br />
<strong>de</strong>sarrolló un corpus <strong>de</strong> voz <strong>de</strong>l español hab<strong>la</strong>do <strong>en</strong> México. En este trabajo<br />
pres<strong>en</strong>tamos <strong>la</strong>s características <strong>de</strong> los hab<strong>la</strong>ntes, el diseño <strong>de</strong>l corpus y los resultados<br />
obt<strong>en</strong>idos <strong>en</strong> <strong>la</strong> evaluación <strong>de</strong>l sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong> voz.<br />
2. Corpus <strong>de</strong> Voz<br />
Se han <strong>de</strong>sarrol<strong>la</strong>do algunos corpus <strong>de</strong> voz <strong>en</strong> español castel<strong>la</strong>no y sudamericano, pero<br />
para el español hab<strong>la</strong>do <strong>en</strong> México, que utiliza un sistema fonético y prosódico<br />
difer<strong>en</strong>te a estos corpus <strong>de</strong> voz ya creados, muy pocos. En [10] y [11] se pres<strong>en</strong>tan<br />
algunos trabajos sobre <strong>la</strong> creación <strong>de</strong> corpus <strong>de</strong> voz para el español hab<strong>la</strong>do <strong>en</strong> México.<br />
En este trabajo el corpus fue diseñado para un propósito g<strong>en</strong>eral. Para <strong>la</strong> navegación<br />
<strong>de</strong>l robot móvil sólo se necesitaba un corpus que permitiera mo<strong>de</strong><strong>la</strong>r básicam<strong>en</strong>te 6<br />
comandos vocales, sin embargo se diseñó un corpus cuyo cont<strong>en</strong>ido fonológico<br />
permitiera <strong>la</strong> construcción <strong>de</strong> un mo<strong>de</strong>lo acústico para que no sólo pueda reconocer<br />
estos comandos sino que esté diseñado para aum<strong>en</strong>tar el número <strong>de</strong> comandos a<br />
reconocer o que pueda reconocer otro tipo <strong>de</strong> pa<strong>la</strong>bras o frases <strong>de</strong> tal manera que<br />
posteriorm<strong>en</strong>te pueda ser usado por otra aplicación.<br />
Como el propósito <strong>de</strong>l corpus es g<strong>en</strong>eral se diseñó el cont<strong>en</strong>ido lingüístico <strong>de</strong>l corpus<br />
basado <strong>en</strong> oraciones formadas con frases que cont<strong>en</strong>gan a <strong>la</strong> mayoría <strong>de</strong> los fonemas<br />
para el español hab<strong>la</strong>do <strong>en</strong> México y que nos permitan obt<strong>en</strong>er un número <strong>de</strong> muestras<br />
sufici<strong>en</strong>tes para crear sus mo<strong>de</strong>los acústicos [11]. Las oraciones se diseñaron con<br />
significado lingüístico.<br />
La grabación <strong>de</strong> los datos <strong>de</strong> voz consistió <strong>en</strong> que los hab<strong>la</strong>ntes leyeran <strong>de</strong> manera<br />
natural el conjunto <strong>de</strong> frases diseñadas. Cada uno <strong>de</strong> los hab<strong>la</strong>ntes grabó un conjunto <strong>de</strong><br />
54 frases. Las grabaciones se realizaron con un grupo formado por 40 personas cuya<br />
l<strong>en</strong>gua materna es el español hab<strong>la</strong>do <strong>en</strong> México. Estos 40 hab<strong>la</strong>ntes, (23 hombres y 17<br />
mujeres), son prov<strong>en</strong>i<strong>en</strong>tes <strong>de</strong> difer<strong>en</strong>tes estados <strong>de</strong> <strong>la</strong> República Mexicana (9 <strong>de</strong><br />
Morelos, 8 <strong>de</strong> Yucatán, 5 <strong>de</strong> Tabasco, 5 <strong>de</strong> Guerrero, 3 <strong>de</strong> Veracruz, 2 <strong>de</strong> Tamaulipas,<br />
y 1 <strong>de</strong> los sigui<strong>en</strong>tes Estados: Campeche, San Luis Potosí, Michoacán, Chiapas,<br />
Sinaloa, Chihuahua, Jalisco y Distrito Fe<strong>de</strong>ral).
3. El sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong> voz<br />
El sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong> voz utiliza 3 mo<strong>de</strong>los principales:<br />
Un mo<strong>de</strong>lo <strong>de</strong>l l<strong>en</strong>guaje que está basado <strong>en</strong> una gramática <strong>de</strong> estados finitos. En<br />
esta gramática se <strong>de</strong>fin<strong>en</strong> <strong>la</strong>s posibles frases que serán utilizadas para interactuar<br />
con el sistema <strong>de</strong> navegación robótica y que se <strong>de</strong>scrib<strong>en</strong> <strong>la</strong> sección 4. Con esta<br />
gramática se reconoc<strong>en</strong> los 6 comandos vocales <strong>de</strong> navegación: Avanza,<br />
Gira_Derecha, Gira_Izquierda, Retroce<strong>de</strong>, Inicio y Fin.<br />
Un mo<strong>de</strong>lo <strong>de</strong> pronunciación formado por el vocabu<strong>la</strong>rio necesario para <strong>de</strong>finir <strong>la</strong>s<br />
frases <strong>de</strong> <strong>la</strong> gramática, don<strong>de</strong> <strong>la</strong> pronunciación se repres<strong>en</strong>ta como <strong>la</strong> secu<strong>en</strong>cia <strong>de</strong><br />
fonemas correspondi<strong>en</strong>te a cada pa<strong>la</strong>bra. El vocabu<strong>la</strong>rio <strong>de</strong> este sistema cu<strong>en</strong>ta con<br />
34 pa<strong>la</strong>bras <strong>en</strong> el dominio <strong>de</strong> navegación robótica.<br />
Un mo<strong>de</strong>lo acústico basado <strong>en</strong> mo<strong>de</strong>los ocultos <strong>de</strong> Markov que fue <strong>en</strong>tr<strong>en</strong>ado con<br />
el corpus <strong>de</strong> voz <strong>de</strong>scrito <strong>en</strong> <strong>la</strong> sección 2. Se mo<strong>de</strong><strong>la</strong>ron unida<strong>de</strong>s in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>tes<br />
<strong>de</strong>l contexto para id<strong>en</strong>tificar los fonemas <strong>de</strong>l Español hab<strong>la</strong>do <strong>en</strong> México. Para el<br />
<strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to se usaron <strong>la</strong>s librerías <strong>de</strong>l Hidd<strong>en</strong> Markov Tool Kit, HTK [12].<br />
Aunque <strong>la</strong> gramática que se utiliza actualm<strong>en</strong>te está limitada a reconocer frases para 6<br />
comandos <strong>de</strong> navegación, el sistema ti<strong>en</strong>e <strong>la</strong> flexibilidad para aum<strong>en</strong>tar el número y<br />
complejidad <strong>de</strong> <strong>la</strong>s frases a reconocer, y <strong>en</strong> caso necesario, po<strong>de</strong>r agregar más<br />
comandos al sistema. Para po<strong>de</strong>r utilizar un vocabu<strong>la</strong>rio más amplio y un l<strong>en</strong>guaje más<br />
flexible <strong>en</strong> <strong>la</strong> interacción con el sistema será necesario ext<strong>en</strong><strong>de</strong>r el mo<strong>de</strong>lo <strong>de</strong><br />
pronunciación y el mo<strong>de</strong>lo <strong>de</strong>l l<strong>en</strong>guaje, respectivam<strong>en</strong>te.<br />
Para evaluar que el mo<strong>de</strong>lo acústico <strong>de</strong>l sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong> voz es g<strong>en</strong>eral e<br />
in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te <strong>de</strong>l hab<strong>la</strong>nte, este mo<strong>de</strong>lo se integró <strong>en</strong> un sistema <strong>de</strong> diálogo capaz <strong>de</strong><br />
reconocer poco más <strong>de</strong> 1000 pa<strong>la</strong>bras <strong>en</strong> Español [5]. El corpus <strong>de</strong> evaluación consiste<br />
<strong>de</strong> 611 oraciones con 2651 pa<strong>la</strong>bras y fue grabado con 8 hab<strong>la</strong>ntes que participaron <strong>en</strong><br />
4 diálogos (dos personas por diálogo) para diseñar una cocina [9]. El <strong>de</strong>sempeño <strong>de</strong><br />
este sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong> voz se evaluó a nivel <strong>de</strong> oraciones y a nivel <strong>de</strong><br />
pa<strong>la</strong>bras.<br />
4. Interfaz con reconocimi<strong>en</strong>to <strong>de</strong> voz<br />
En <strong>la</strong> interfaz para <strong>la</strong> manipu<strong>la</strong>ción <strong>de</strong>l robot a través <strong>de</strong> comandos hab<strong>la</strong>dos se<br />
utilizaron <strong>la</strong>s librerías <strong>de</strong> grapHvite para construir sistemas reconocimi<strong>en</strong>to <strong>de</strong>l hab<strong>la</strong>.<br />
Los comandos son <strong>de</strong>tectados a través <strong>de</strong> un micrófono al interactuar con <strong>la</strong> interfaz <strong>de</strong><br />
<strong>la</strong> figura 1 a). Dicha interfaz permite introducir los comandos <strong>de</strong> manera hab<strong>la</strong>da y se<br />
ejecuta como un applet <strong>en</strong> un cli<strong>en</strong>te <strong>de</strong> Web. El usuario al dar clic <strong>en</strong> el botón<br />
“Hab<strong>la</strong>r” introduce <strong>la</strong> instrucción <strong>de</strong> navegación <strong>de</strong>l robot.
a) b)<br />
Figura 1: a) Interfaz con reconocimi<strong>en</strong>to <strong>de</strong> voz, b) Interfaz para <strong>la</strong> calibración <strong>de</strong>l micrófono.<br />
El botón “Calibrar” permite verificar el nivel <strong>de</strong> sonido <strong>en</strong>tre voz y sil<strong>en</strong>cio para <strong>la</strong><br />
calibración <strong>de</strong>l micrófono. Al oprimir este botón aparece <strong>la</strong> interfaz <strong>de</strong> <strong>la</strong> figura 1 b).<br />
Al terminar el proceso <strong>de</strong> calibración <strong>de</strong>l micrófono se oprime el botón “Salir” y<br />
regresamos a <strong>la</strong> interfaz principal.<br />
Como se m<strong>en</strong>cionó anteriorm<strong>en</strong>te, el botón “Hab<strong>la</strong>r” es usado para introducir <strong>la</strong><br />
secu<strong>en</strong>cia <strong>de</strong> comandos para su ejecución <strong>en</strong> el robot. La secu<strong>en</strong>cia <strong>de</strong> comandos<br />
reconocidos por <strong>la</strong> interfaz se pued<strong>en</strong> observar <strong>en</strong> <strong>la</strong> v<strong>en</strong>tana <strong>de</strong> “Resultados”.<br />
Finalm<strong>en</strong>te, el botón “Salir” nos permite terminar con <strong>la</strong> interacción con <strong>la</strong> interfaz.<br />
La interfaz reconoce los comandos <strong>en</strong> forma <strong>de</strong> texto y estos son traducidos a su<br />
respectivo comando y parámetro para <strong>en</strong>viarlo al sistema <strong>de</strong> manipu<strong>la</strong>ción <strong>de</strong>l robot.<br />
En <strong>la</strong> tab<strong>la</strong> 1, se pres<strong>en</strong>tan algunos ejemplos <strong>de</strong> esta correspond<strong>en</strong>cia <strong>en</strong>tre el texto<br />
reconocido y el comando y su parámetro correspondi<strong>en</strong>te.<br />
Texto Comando Parámetro<br />
Avanza cuatro unida<strong>de</strong>s Avanza 4<br />
Gira a <strong>la</strong> <strong>de</strong>recha cuar<strong>en</strong>ta y cinco grados Gira_Derecha 45<br />
Gira a <strong>la</strong> izquierda ci<strong>en</strong>to och<strong>en</strong>ta grados Gira_Izquierda 180<br />
Avanza hacia atrás<br />
Retroce<strong>de</strong><br />
Det<strong>en</strong>te<br />
Fin<br />
Tab<strong>la</strong> 1: Comando y su parámetro obt<strong>en</strong>ido <strong>de</strong>l texto reconocido<br />
Esta interfaz fue utilizada para evaluar <strong>en</strong> vivo el <strong>de</strong>sempeño <strong>de</strong>l sistema <strong>de</strong><br />
reconocimi<strong>en</strong>to <strong>de</strong> voz. Cuando <strong>la</strong> interfaz con reconocimi<strong>en</strong>to <strong>de</strong> voz ha reconocido<br />
un comando y su parámetro, éstos son validados por el sistema y son agregados a un<br />
arreglo. Este arreglo es <strong>en</strong>viado por medio <strong>de</strong> un socket Cli<strong>en</strong>te implem<strong>en</strong>tado <strong>en</strong> <strong>la</strong>
interfaz a un socket Servidor <strong>de</strong>sarrol<strong>la</strong>do <strong>en</strong> C ANSI, este socket Servidor es el<br />
<strong>en</strong>cargado <strong>de</strong> ejecutar el comando <strong>en</strong> el robot móvil.<br />
Cabe m<strong>en</strong>cionar que <strong>la</strong> interfaz sólo reconoce como comandos válidos aquellos<br />
comandos que se pronunci<strong>en</strong> con <strong>la</strong> gramática <strong>de</strong>finida <strong>en</strong> el mo<strong>de</strong>lo <strong>de</strong>l l<strong>en</strong>guaje. Es<br />
<strong>de</strong>cir, si el usuario <strong>de</strong>l sistema pronuncia un comando <strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te forma: “Gira<br />
ses<strong>en</strong>ta grados a <strong>la</strong> izquierda” o “A <strong>la</strong> izquierda gira ses<strong>en</strong>ta grados”, el sistema lo<br />
reconocerá como comando no válido, se t<strong>en</strong>dría que haber pronunciado: “Gira a <strong>la</strong><br />
izquierda ses<strong>en</strong>ta grados” para que el sistema lo reconozca como un comando válido.<br />
Comando Pronunciado %Pa<strong>la</strong>bras<br />
Avanza una unidad 87.79<br />
Avanza tres unida<strong>de</strong>s 96.67<br />
Avanza cuatro unida<strong>de</strong>s 100.00<br />
Avanza cinco unida<strong>de</strong>s 98.89<br />
Avanza seis unida<strong>de</strong>s 97.78<br />
Avanza siete unida<strong>de</strong>s 100.00<br />
Avanza ocho unida<strong>de</strong>s 88.89<br />
Avanza nueve unida<strong>de</strong>s 82.23<br />
Gira <strong>de</strong>recha treinta grados 100.00<br />
Gira <strong>de</strong>recha cuar<strong>en</strong>ta y cinco grados 95.56<br />
Gira <strong>de</strong>recha nov<strong>en</strong>ta grados 100.00<br />
Gira a <strong>la</strong> <strong>de</strong>recha treinta grados 86.67<br />
Gira a <strong>la</strong> <strong>de</strong>recha ses<strong>en</strong>ta grados 91.12<br />
Gira a <strong>la</strong> <strong>de</strong>recha ci<strong>en</strong>to och<strong>en</strong>ta grados 90.48<br />
Gira izquierda treinta grados 98.34<br />
Gira izquierda cuar<strong>en</strong>ta y cinco grados 100.00<br />
Gira izquierda ses<strong>en</strong>ta grados 95.01<br />
Gira izquierda ci<strong>en</strong>to och<strong>en</strong>ta grados 94.68<br />
Gira a <strong>la</strong> izquierda cuar<strong>en</strong>ta y cinco grados 95.84<br />
Gira a <strong>la</strong> izquierda nov<strong>en</strong>ta grados 88.89<br />
Retroce<strong>de</strong> 100.00<br />
Avanza hacia atrás (Retroce<strong>de</strong>) 73.34<br />
Inicio 86.67<br />
Det<strong>en</strong>te (Fin) 100.00<br />
Tab<strong>la</strong> 2: Resultados al evaluar el reconocedor <strong>de</strong> voz con 5 hab<strong>la</strong>ntes<br />
5. Resultados<br />
La metodología utilizada para evaluar el <strong>de</strong>sempeño <strong>de</strong> <strong>la</strong> interfaz con reconocedor <strong>de</strong><br />
voz se basó <strong>en</strong> el criterio <strong>de</strong> evaluación <strong>de</strong>l porc<strong>en</strong>taje <strong>de</strong> reconocimi<strong>en</strong>to correcto. Este<br />
porc<strong>en</strong>taje se <strong>de</strong>terminó <strong>en</strong> el <strong>de</strong>sempeño <strong>de</strong>l reconocimi<strong>en</strong>to correcto a nivel <strong>de</strong><br />
pa<strong>la</strong>bras.
Para <strong>la</strong> evaluación se realizaron 30 iteraciones para cada uno <strong>de</strong> los comandos. Esta<br />
evaluación se realizó con 5 hab<strong>la</strong>ntes, 3 hombres y 2 mujeres.<br />
En g<strong>en</strong>eral, los resultados obt<strong>en</strong>idos con el reconocedor fueron satisfactorios, ya que<br />
los niveles <strong>de</strong> reconocimi<strong>en</strong>to estuvieron <strong>en</strong> el rango <strong>de</strong>l 80 al 100 por ci<strong>en</strong>to. En <strong>la</strong><br />
tab<strong>la</strong> 2, se pres<strong>en</strong>tan algunos <strong>de</strong> estos resultados. La primera columna es el comando<br />
pronunciado y <strong>la</strong> segunda columna es el porc<strong>en</strong>taje <strong>de</strong> pa<strong>la</strong>bras reconocidas<br />
correctam<strong>en</strong>te. El mejor <strong>de</strong>sempeño <strong>de</strong>l reconocedor se obtuvo para un grupo <strong>de</strong> 7<br />
comandos cuyo porc<strong>en</strong>taje <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong> pa<strong>la</strong>bras fue <strong>de</strong>l 100 por ci<strong>en</strong>to.<br />
6. Conclusiones<br />
En este trabajo se <strong>de</strong>scribió el proceso realizado para <strong>la</strong> creación <strong>de</strong> un corpus <strong>de</strong> voz<br />
continua <strong>en</strong> español con <strong>la</strong>s sigui<strong>en</strong>tes características: datos <strong>de</strong> voz <strong>en</strong> español, estos<br />
datos fueron obt<strong>en</strong>idos a partir <strong>de</strong> 1,155 frases leídas con naturalidad por 40 personas,<br />
lo cual fue sufici<strong>en</strong>te para construir un reconocedor fonético in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te <strong>de</strong>l locutor<br />
y <strong>de</strong> propósito g<strong>en</strong>eral.<br />
Los fonemas <strong>de</strong>l Español mexicano se mo<strong>de</strong><strong>la</strong>ron acústicam<strong>en</strong>te utilizando el tipo <strong>de</strong><br />
mo<strong>de</strong><strong>la</strong>do in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te <strong>de</strong>l contexto y el <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> los mismos se realizó<br />
utilizando los mo<strong>de</strong>los ocultos <strong>de</strong> Markov. Se construyó un sistema <strong>de</strong> reconocimi<strong>en</strong>to<br />
<strong>de</strong> voz continua <strong>en</strong> español con los mo<strong>de</strong>los fonéticos <strong>en</strong>tr<strong>en</strong>ados. Este sistema es<br />
multilocutor y maneja un vocabu<strong>la</strong>rio <strong>de</strong> 34 pa<strong>la</strong>bras <strong>en</strong> el dominio <strong>de</strong> comandos <strong>de</strong><br />
navegación robótica.<br />
Se pres<strong>en</strong>tó una interfaz gráfica con reconocimi<strong>en</strong>to <strong>de</strong> voz. El sistema <strong>de</strong><br />
reconocimi<strong>en</strong>to <strong>de</strong> voz mostró un <strong>de</strong>sempeño <strong>de</strong>l 80 al 100 por ci<strong>en</strong>to <strong>de</strong><br />
reconocimi<strong>en</strong>to correcto <strong>de</strong> pa<strong>la</strong>bras <strong>de</strong>l sistema <strong>de</strong> navegación robótica.<br />
El sistema permite que no sólo se pueda percibir <strong>en</strong> <strong>la</strong> interfaz el comando reconocido<br />
a través <strong>de</strong>l hab<strong>la</strong> sino que a <strong>la</strong> vez se pueda observar que ese comando se ejecute <strong>en</strong> el<br />
robot móvil.<br />
Refer<strong>en</strong>cias<br />
[1] L. Enrique Sucar, M. A. López Trinidad, Laboratorio Virtual <strong>de</strong> Robótica Móvil. Segundo<br />
Congreso Nacional <strong>de</strong> Robótica, Toluca (México), 2000.<br />
[2] Avilés H. and Sucar E., Dynamic Bayesian Networks for Visual Recognition of Dynamic<br />
Gestures. Journal of Intellig<strong>en</strong>t & Fuzzy Systems, Vol. 12 pp. 243-250, 2002.<br />
[3] Miranda-Palma C. and Mayora-Ibarra O. Robotic Remote Navigation by Speech Commands<br />
with Automatic Obstacles Detection. Proceedings of RA 2003, Salzburg, Austria, June 2003.
[4] Mayora-Ibarra O., Sucar-Succar E., Aviles H. and Miranda-Palma C. From HCI to HRI:<br />
Usability Inspection in Multimodal Human – Robot Interactions. Proceedings of RO-<br />
MAN’03, San Francisco, USA, November 2003.<br />
[5] Pineda, L.A., Massé, A., Meza, I., Sa<strong>la</strong>s, M., Schwarz, E., Uraga, E. y Vil<strong>la</strong>señor, L. The<br />
DIME project. MICAI 2002: Mexican International Confer<strong>en</strong>ce on Artificial Intellig<strong>en</strong>ce.<br />
Lecture Notes in Artificial Intellig<strong>en</strong>ce. Vol. 2313. pp 166-175. 2002<br />
[6] Romero, L., Impulsa el IIMAS <strong>la</strong> investigación <strong>en</strong> Cómputo. Publicado el 2 <strong>de</strong> septiembre <strong>de</strong><br />
2002 <strong>en</strong> Gaceta UNAM. No. 3569. ISBN 0188-5138. http://www.unam.mx/gaceta<br />
[7] Ochoa, P. Integración <strong>de</strong> un sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong> voz al sistema <strong>de</strong> navegación <strong>de</strong><br />
un robot móvil. Tesis <strong>de</strong> Lic<strong>en</strong>ciatura <strong>en</strong> Ing<strong>en</strong>iería <strong>en</strong> <strong>Computación</strong>, UNAM, Diciembre<br />
2002.<br />
[8] Uraga, E., Pineda, L. A., Automatic G<strong>en</strong>eration of Pronunciation Lexicons for Spanish,<br />
Memorias <strong>de</strong>l "Third International CICLing 2002: Computational Linguistics and Intellig<strong>en</strong>t<br />
Text Processing". Lecture Notes in Computer Sci<strong>en</strong>ce, Vol. 2276, Editado por: Gelbukh, A.<br />
Editorial Springer-Ver<strong>la</strong>g. pp 330-338. 2002.<br />
[9] Gamboa, C., Un sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong> voz para el español. Tesis <strong>de</strong> Lic<strong>en</strong>ciatura <strong>en</strong><br />
Informática, UNAM. Noviembre 2002.<br />
[10] Uraga, E., (1999), Mo<strong>de</strong><strong>la</strong>do Fonético para un Sistema <strong>de</strong> Reconocimi<strong>en</strong>to <strong>de</strong> Voz Contínua<br />
<strong>en</strong> Español, Tesis <strong>de</strong> Maestría, ITESM Campus Cuernavaca, Maestría <strong>en</strong> Ci<strong>en</strong>cias<br />
Computacionales.<br />
[11] Uraga, E., Gamboa, C., VOXMEX speech database: Design of a phonetically ba<strong>la</strong>nced<br />
corpus. International Confer<strong>en</strong>ce on Spok<strong>en</strong> Language Resources and Evaluation, LREC 2004.<br />
Portugal, Mayo 2004.<br />
[12] Young, S. The HTK Book. Cambridge University Engineering Departm<strong>en</strong>t, December 2002.
Towards a Methodology to Envision and Evaluate<br />
Ubiquitous Computing<br />
Víctor M. González 1 , Jesus Fave<strong>la</strong> 2 , and Marce<strong>la</strong> Rodríguez 2<br />
1 Departm<strong>en</strong>t of Informatics, University of California, Irvine, CA, USA<br />
vmgyg@ics.uci.edu<br />
2 Departam<strong>en</strong>to <strong>de</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong>, CICESE, Ens<strong>en</strong>ada, México<br />
{fave<strong>la</strong>, marcerod}@cicese.mx<br />
Abstract: The <strong>de</strong>sign of ubiquitous computing solutions is intrinsically<br />
complex and should be groun<strong>de</strong>d on a <strong>de</strong>ep un<strong>de</strong>rstanding of the ways that<br />
activities aimed to be supported are <strong>en</strong>acted in practice. From our experi<strong>en</strong>ce in<br />
the <strong>de</strong>velopm<strong>en</strong>t of an ubicomp medical application we have sketched a<br />
<strong>de</strong>velopm<strong>en</strong>t methodology that emphasizes workp<strong>la</strong>ce studies to <strong>en</strong>rich<br />
requirem<strong>en</strong>t gathering and early, low-cost evaluation before the system is<br />
actually <strong>de</strong>ployed. We p<strong>la</strong>n to continue shaping this methodology with the<br />
<strong>de</strong>velopm<strong>en</strong>t of new ubiquitous computing solutions.<br />
1. Introduction<br />
The inher<strong>en</strong>t complexity in the <strong>de</strong>velopm<strong>en</strong>t of useful and usable computer<br />
solutions, more than any other area, becomes critically acc<strong>en</strong>tuated in the area of<br />
ubiquitous computing (ubicomp). Proposed by Weiser in the early nineties, the<br />
ubiquitous computing vision favors a new conceptualization of the role of computers<br />
which takes them beyond particu<strong>la</strong>r locations (e.g. the <strong>de</strong>sktop) and embeds them on<br />
the whole physical <strong>en</strong>vironm<strong>en</strong>t [10]. Ubicomp <strong>en</strong>visions a collection of computers<br />
of differ<strong>en</strong>t capacities ranging from portable <strong>de</strong>vices to digital whiteboards providing<br />
a wi<strong>de</strong> spectrum of functionality. Consequ<strong>en</strong>tly <strong>de</strong>signs for ubiquitous computing<br />
must consi<strong>de</strong>r issues that traditional applications take for granted such as mobility of<br />
<strong>de</strong>vices, synchronization of data, <strong>en</strong>ergy consumption, access mechanisms,<br />
information adaptation, etc. The complexity to create these systems and make them<br />
both useful and usable <strong>de</strong>mands efforts at many differ<strong>en</strong>t levels.<br />
Among those efforts, the evaluation of ubiquitous computing <strong>en</strong>vironm<strong>en</strong>ts in<br />
particu<strong>la</strong>r, has become an issue of consi<strong>de</strong>rable att<strong>en</strong>tion within the HCI community<br />
in rec<strong>en</strong>t years. In ubicomp computing becomes secondary or peripheral to the task at<br />
hand rather than the user’s focus of att<strong>en</strong>tion, consequ<strong>en</strong>tly evaluations has to expand<br />
their scope to consi<strong>de</strong>r the interactions of the individual with their whole<br />
<strong>en</strong>vironm<strong>en</strong>ts and not just with single <strong>de</strong>vices. Furthermore the evaluation has to be<br />
c<strong>en</strong>tered around whole activities rather than on individual tasks supported by some<br />
<strong>de</strong>vices. Thus, traditional evaluation techniques used in HCI, based on controlled<br />
experim<strong>en</strong>ts where the analysis c<strong>en</strong>ters on constrained and iso<strong>la</strong>ted tasks have limited
applicability. In other hand, full <strong>de</strong>ploym<strong>en</strong>t and testing of ubicomp technology<br />
which would make possible to have compreh<strong>en</strong>sive evaluations is very complex for<br />
some kinds of applications, <strong>de</strong>mands a consi<strong>de</strong>rable investm<strong>en</strong>t in infrastructure, and<br />
the <strong>de</strong>finition of requirem<strong>en</strong>ts too early in the <strong>de</strong>sign process. A better alternative<br />
would be to have a middle ground methodology that allow <strong>de</strong>signers to evaluate and<br />
<strong>en</strong>vision the opportunities of ubicomp within the context of use but does not <strong>de</strong>mand<br />
afull<strong>de</strong>ploym<strong>en</strong>t.<br />
In this paper we pres<strong>en</strong>t a methodological approach to <strong>de</strong>sign, <strong>de</strong>velop, and<br />
evaluate ubiquitous computing applications. Although we focus on the healthcare<br />
domain, we believe that the methodology can be ext<strong>en</strong><strong>de</strong>d to other areas of<br />
application of ubicomp. We aim to <strong>de</strong>fine a methodology that improves the chances<br />
of the technology being adopted. Design and prototype <strong>de</strong>velopm<strong>en</strong>t are based on a<br />
groun<strong>de</strong>d un<strong>de</strong>rstanding of user needs and the id<strong>en</strong>tification of validated sc<strong>en</strong>arios of<br />
use. The evaluation phase is performed in two stages, the fist one being a preliminary<br />
estimation of user int<strong>en</strong>tion of adoption and a second based on a contextual study with<br />
the technology in actual use. This is particu<strong>la</strong>rly important in ubicomp healthcare<br />
sc<strong>en</strong>arios were the costs and risks associated with the implem<strong>en</strong>tation of new,<br />
complex technology are consi<strong>de</strong>rable.<br />
2. Closing the gap: from <strong>en</strong>visioned <strong>de</strong>signs to practical solutions<br />
C<strong>en</strong>tral to the efforts to <strong>de</strong>velop ubiquitous computing solutions is the chall<strong>en</strong>ge<br />
of closing the gap betwe<strong>en</strong> <strong>en</strong>visioned <strong>de</strong>signs and practical solutions. As innovative<br />
as a solution might appear to <strong>de</strong>signers it is within the framework of user’s work<br />
practices that b<strong>en</strong>efits are established. Aiming to evaluate technologies in situ, the<br />
concept of “living <strong>la</strong>boratories” in their study of home and c<strong>la</strong>ssroom applications has<br />
be<strong>en</strong> explored [1, 7]. In those settings real users can get in touch with technologies in<br />
<strong>en</strong>vironm<strong>en</strong>ts very simi<strong>la</strong>r to the context for which the <strong>de</strong>signs are aimed for. Without<br />
neglecting the importance of those efforts, we argue that many other situations and<br />
solutions for ubiquitous computing are less likely to be explored through those<br />
methodologies. Areas where the failure of applications will <strong>de</strong>rive on financial<br />
repercussions, or threat<strong>en</strong> the life of people are upfront discar<strong>de</strong>d to be explored with<br />
living <strong>la</strong>boratories. However, we would also argue that in g<strong>en</strong>eral evaluating<br />
ubiquitous computing applications where work productivity can be affected will result<br />
on users being less willing to <strong>en</strong>act real work on living <strong>la</strong>boratories.<br />
Ev<strong>en</strong> consi<strong>de</strong>ring the complexity of evaluations, perhaps a more fundam<strong>en</strong>tal<br />
aspect to close the gap re<strong>la</strong>tes to mechanisms to <strong>en</strong>vision the solution itself. There is<br />
always a danger that the <strong>en</strong>visioned solution might be too far removed from the work<br />
practices to be supported. Therefore <strong>de</strong>signers, without limiting their innovation, have<br />
to be conscious of grounding their visions on the ess<strong>en</strong>ce of what people actually do<br />
and the way they like to do it. Propon<strong>en</strong>ts of participatory <strong>de</strong>sign have for many years<br />
advocated to inclu<strong>de</strong> users early in the projects in such a way that solutions can be<br />
<strong>de</strong>veloped with the constant feedback of those that will b<strong>en</strong>efit from them [5]. Such<br />
scheme of feedback can result ess<strong>en</strong>tial on the <strong>de</strong>sign of ubiquitous computing giv<strong>en</strong><br />
the multiple effects that the paradigm would inflict on users. In contrast with <strong>de</strong>sktop
computing, <strong>en</strong>visioning ubiquitous computing involves an analysis of working<br />
practices from an ecological perspective which consi<strong>de</strong>rs how users and their<br />
<strong>en</strong>vironm<strong>en</strong>t interact and have influ<strong>en</strong>ce over each other [8].<br />
The direct participation of real users in <strong>en</strong>visioning and <strong>de</strong>signing ubiquitous<br />
computing has started to be used in some projects. In particu<strong>la</strong>r the <strong>de</strong>velopm<strong>en</strong>t of<br />
ubiquitous computing applications for healthcare support has be<strong>en</strong> fruitfully explored<br />
with this scheme [2, 9]. Using dynamic and static sc<strong>en</strong>arios, surveys, and other<br />
methods users are invited to evaluate technologies during one-day workshops or<br />
shorter evaluation meetings. There, people have the opportunity to see prototypes of<br />
emerging technologies and provi<strong>de</strong> direct feedback to the <strong>de</strong>signers. Those efforts in<br />
g<strong>en</strong>eral are prece<strong>de</strong>d and complem<strong>en</strong>ted with the use of ethnographic techniques that<br />
help consolidate initial un<strong>de</strong>rstandings about the practices of individuals. The<br />
methodology that we pres<strong>en</strong>t here is inspired in those previous efforts but ori<strong>en</strong>ted<br />
towards a more systematic consolidation of those processes.<br />
3. A Methodology for the Developm<strong>en</strong>t of Healthcare Ubicomp<br />
Figure 1 <strong>de</strong>picts the process we followed in the implem<strong>en</strong>tation of an ubicomp<br />
healthcare application <strong>de</strong>scribed in [9]. The application is a context-aware<br />
col<strong>la</strong>borative system that <strong>de</strong>livers information based on the location and role of<br />
people, the timing and the artifact of relevant artifacts, including <strong>de</strong>vices and<br />
docum<strong>en</strong>ts. The system can also be used by the hospital staff to exchange messages<br />
that <strong>de</strong>p<strong>en</strong>d, for their <strong>de</strong>livery, on the status of people, resources and/or <strong>de</strong>vices.<br />
Sc<strong>en</strong>arios<br />
Initial<br />
un<strong>de</strong>rstanding<br />
Workp<strong>la</strong>ce<br />
Studies<br />
Design<br />
Prototype<br />
Evaluate<br />
Int<strong>en</strong>tion of use<br />
Ubicomp<br />
system<br />
Insights<br />
Fig. 1. The user interface of the System’s Context-aware Cli<strong>en</strong>t<br />
We next <strong>de</strong>scribe the methodology illustrating it with our experi<strong>en</strong>ce in the<br />
<strong>de</strong>velopm<strong>en</strong>t of the above-m<strong>en</strong>tioned system.<br />
3.1 Initial Un<strong>de</strong>rstanding<br />
Our efforts began with an initial un<strong>de</strong>rstanding of the practices we wanted to<br />
support, these came from previous experi<strong>en</strong>ce in healthcare process re-<strong>en</strong>gineering<br />
and a preliminary vision of the nature of the technology we p<strong>la</strong>nned to <strong>de</strong>velop:<br />
context-aware support for hospital processes.
3.2 Workp<strong>la</strong>ce Study<br />
With the aim of acquiring a robust un<strong>de</strong>rstanding of the ess<strong>en</strong>tial contextual<br />
elem<strong>en</strong>ts that support the managem<strong>en</strong>t of information in a hospital setting we<br />
conducted a workp<strong>la</strong>ce study. We used qualitative methodologies to gain<br />
un<strong>de</strong>rstandings beyond requirem<strong>en</strong>ts gathering of how routine and non-routine work<br />
is performed in a daily basis. For a period of three months using participant<br />
observation and interviews we studied three areas of the hospital. Every day, an<br />
average of two hours was sp<strong>en</strong>t following and observing nurses, physicians, and <strong>la</strong>b<br />
staff, while doing their work. We moved around the hospital by ourselves or<br />
following a physician or a nurse. In this way we conducted many informal interviews<br />
that let us to become familiar with the setting, people and their practices.<br />
Together, observations and interviews were used to construct an un<strong>de</strong>rstanding of<br />
the effects of contextual elem<strong>en</strong>ts on managing information in the hospital. We<br />
analyzed the transcripts of the interviews and notes and came out with a groun<strong>de</strong>d<br />
repres<strong>en</strong>tation of the work that let us to synthesize the particu<strong>la</strong>r characteristics that<br />
context-aware technologies ought to support. The workp<strong>la</strong>ce study provi<strong>de</strong>d us with<br />
two important inputs to our <strong>de</strong>sign: sc<strong>en</strong>arios of use and insights into work practices.<br />
3.3 Sc<strong>en</strong>arios of Use<br />
We <strong>de</strong>ci<strong>de</strong>d to use sc<strong>en</strong>arios to frame our un<strong>de</strong>rstanding of hospital's work practices<br />
and also to project our vision of how their work could be augm<strong>en</strong>ted with contextaware<br />
tools. We used a sc<strong>en</strong>ario-based approach [3] to frame our findings from the<br />
study into specific vignettes that offer a new vision of how context aware tools can<br />
operate into the curr<strong>en</strong>t work practices. Sc<strong>en</strong>arios are a conv<strong>en</strong>i<strong>en</strong>t approach to<br />
evaluate novel technologies [6]. One of these sc<strong>en</strong>arios is the following:<br />
Rita, a doctor in a local hospital, makes her final round and notices that a pati<strong>en</strong>t is<br />
not responding well to her medication. Rita wishes to leave a note to the doctor who<br />
will be reviewing the pati<strong>en</strong>t in the afternoon shift. She doesn’t know who that will be,<br />
so she writes a message to the first doctor to check the pati<strong>en</strong>t after her.<br />
3.4 Insights and Study Findings<br />
From the study we id<strong>en</strong>tified characteristics that context-aware technologies should<br />
support. In particu<strong>la</strong>r, we id<strong>en</strong>tified that col<strong>la</strong>boration in the hospital is highly based<br />
on a set of contextual elem<strong>en</strong>ts such as: (1) the location of people and <strong>de</strong>vices, (2) the<br />
timing of messages to be <strong>de</strong>livered, (3) the role-ori<strong>en</strong>ted nature of the work and (4)<br />
the artifact-mediate nature of information gathering. For instance, access to a pati<strong>en</strong>t’s<br />
medical records is most relevant wh<strong>en</strong> the doctor or nurse is with that pati<strong>en</strong>t.<br />
Likewise, a doctor might want to leave a message that <strong>de</strong>scribes recomm<strong>en</strong>dations for<br />
treatm<strong>en</strong>t to the nurse on the next shift, whom he might not know a-priori who that<br />
will be or a doctor might want to disp<strong>la</strong>y the pati<strong>en</strong>t’s <strong>la</strong>b analysis results in the<br />
closest public disp<strong>la</strong>y as soon as they become avai<strong>la</strong>ble.
3.5 Design and Implem<strong>en</strong>tation of a Prototype<br />
Sc<strong>en</strong>arios and findings gui<strong>de</strong>d the <strong>de</strong>sign that led into a working prototype. We<br />
ext<strong>en</strong><strong>de</strong>d the Instant Messaging paradigm to support what we refer to as contextaware<br />
communication, which allows users to specify a set of circumstances that need<br />
to apply for a message to be <strong>de</strong>livered. For example, the s<strong>en</strong><strong>de</strong>r can indicate that the<br />
message will be s<strong>en</strong>d wh<strong>en</strong> the recipi<strong>en</strong>t <strong>en</strong>ters the emerg<strong>en</strong>cy room; or for a message<br />
to be s<strong>en</strong>t to the <strong>la</strong>st person to leave the <strong>la</strong>boratory wh<strong>en</strong> the air conditioning is on.<br />
To illustrate the use of the context-aware messaging system we revisit the sc<strong>en</strong>ario<br />
pres<strong>en</strong>ted before. As Rita, the physician in turn checks her <strong>la</strong>st pati<strong>en</strong>t; she <strong>de</strong>ci<strong>de</strong>s to<br />
s<strong>en</strong>d a message to the doctor who will be reviewing the pati<strong>en</strong>t in the afternoon shift.<br />
She turns to her PDA showing the Context-aware cli<strong>en</strong>t, which lists the staff and<br />
<strong>de</strong>vices avai<strong>la</strong>ble in the hospital, to s<strong>en</strong>d a message to the first doctor to check the<br />
pati<strong>en</strong>t during the next shift. As illustrated in Figure 2a, this cli<strong>en</strong>t is able not only to<br />
notify the status of other users, but also to show resources avai<strong>la</strong>ble in the vicinity<br />
such as a printer, and their status as well as the services they can provi<strong>de</strong> to the user.<br />
In addition to the information provi<strong>de</strong>d by an instant messaging system, the Contextaware<br />
Cli<strong>en</strong>t also shows the location of users and <strong>de</strong>vices if known. This information<br />
is shown par<strong>en</strong>thesis after the user’s name as shown in Figure 2a.<br />
Wh<strong>en</strong> a context-aware message is created the s<strong>en</strong><strong>de</strong>r specifies the criteria that need<br />
to be met for the message to be <strong>de</strong>livered. Figure 2b shows the form used by Rita to<br />
write the message and specify the context for its <strong>de</strong>livery. Rita writes the message and<br />
specifies that it should be s<strong>en</strong>t to any doctor to be in Room 226, after 2pm, today.<br />
Fig. 2. The Context-aware System provi<strong>de</strong>s users with awar<strong>en</strong>ess information of other people<br />
and <strong>de</strong>vices, and lets them exchange messages that <strong>de</strong>p<strong>en</strong>d on context for their <strong>de</strong>livery.<br />
Additional <strong>de</strong>tails on the system’s functionality can be consulted in [9].<br />
3.6 Preliminary Evaluation<br />
A preliminary evaluation of ubicomp technology is important before actual<br />
<strong>de</strong>ploym<strong>en</strong>t and investing on the required infrastructure, to evaluate the system’s core
characteristics, the staff’s int<strong>en</strong>tion to use the system, and their perception of system<br />
utility and ease of use. According to the Technology Acceptance Mo<strong>de</strong>l [4], these<br />
aspects are fundam<strong>en</strong>tal <strong>de</strong>terminants of system use.<br />
The participants (28 medical staff) validated both sc<strong>en</strong>arios and provi<strong>de</strong>d us with<br />
additional insights and opportunities for applying our technology. The results of the<br />
TAM questionnaire show that 91 perc<strong>en</strong>t of the participants would use the system.<br />
Additionally, 84 perc<strong>en</strong>t believe that using the system would <strong>en</strong>hance their job<br />
performance-ahigh<strong>de</strong>greeofperceivedusefulness-and78perc<strong>en</strong>tperceivedthe<br />
system to be easy to use.<br />
3.7 System’s Refinem<strong>en</strong>t and in-situ evaluation<br />
From the results of the preliminary evaluation we have modified the system and<br />
improved its robustness. The evaluation also motivated the hospital’s administration<br />
to support conducting a pilot study. We p<strong>la</strong>n to <strong>de</strong>ploy the system within the next few<br />
months and conduct a second field study to evaluate its b<strong>en</strong>efits.<br />
4. Conclusions<br />
We pres<strong>en</strong>t the methodology we have followed for the <strong>de</strong>sign of an ubicomp<br />
healthcare application. The methodology has be<strong>en</strong> applied in the <strong>de</strong>velopm<strong>en</strong>t of a<br />
context-aware system that supports communication and coordination of hospital staff.<br />
More rec<strong>en</strong>tly, we have used a variant of this methodology to explore the uses of<br />
<strong>la</strong>rge public disp<strong>la</strong>ys in a hospital and its integration with ubiquitous system we have<br />
already <strong>de</strong>veloped. The modifications consist on performing the preliminary<br />
evaluation earlier in the <strong>de</strong>sign phase and without a working prototype, but mockups<br />
of the technology. We are in the process of conducting a second evaluation with a<br />
working prototype in which users have the opportunity to <strong>en</strong>act sc<strong>en</strong>arios with it.<br />
Refer<strong>en</strong>ces<br />
1. Abowd, G.D., C<strong>la</strong>ssroom 2000: An experim<strong>en</strong>t with the instruction of a living educational<br />
<strong>en</strong>vironm<strong>en</strong>t. IBM Systems Journal, 1999. 38(4): p. 508-530.<br />
2. Bardram, J.E., Sc<strong>en</strong>ario-Based Design of Cooperative Systems – Re-<strong>de</strong>signing an Hospital<br />
Information System in D<strong>en</strong>mark. Group Decision and Negotiation, 2000. 9: p. 237-250.<br />
3. Carroll, J., Making Use. 2000, Cambridge, Massachusetts: MIT Press.<br />
4. Davis, F., Perceived Usefulness, Perceived Ease of Use, and User Acceptance of<br />
Information Technology. MISQuarterly, 1989. 13(3): p. 319-340.<br />
5. Gre<strong>en</strong>baum, J. and M. Kyng, Design at Work. 1991: Lawr<strong>en</strong>ce Erlbaum Assoc.<br />
6. Ikon<strong>en</strong>, V. and K. R<strong>en</strong>tto. Sc<strong>en</strong>ario Evaluation for Ubiquitous Computing - Stories Come<br />
True? in Ubicomp 2002 - Workshop on User-C<strong>en</strong>tered Evaluation of Ubiquitous Computing<br />
Application. 2002. Goteborg, Swed<strong>en</strong>.<br />
7. Kidd,C.D.,R.Orr,G.D.Abowd,C.G.Atkeson,I.A.Essa,B.MacIntyre,E.D.Mynatt,T.E.<br />
Starner, and W. Newstetter. The aware home: A living <strong>la</strong>boratory for ubiquitous computing
esearch. in Proceedings of the International Workshop on Cooperative Buildings. 1999.<br />
Pittsburgh, P<strong>en</strong>nsylvania: Spring Ver<strong>la</strong>g. 191-198.<br />
8. Kirsh, D., The Context of Work. Human Computer Interaction, 2001. 16(2): p. 306-322.<br />
9. Munoz, M.A., M. Rodriguez, J. Fave<strong>la</strong>, A.I. Martinez-Garcia, and V.M. Gonzalez, Contextaware<br />
mobile communication in hospitals.Computer, 2003. 36(9): p. 38-46.<br />
10. Weiser, M., The Computer of the 21st C<strong>en</strong>tury. Sci<strong>en</strong>tific American, 1991. 265(3): p. 94-<br />
104.
Importancia <strong>de</strong> Mo<strong>de</strong>los <strong>de</strong>l Proceso Creativo <strong>en</strong> <strong>la</strong> IHM<br />
Rafael Pérez y Pérez, Fernando Gamboa, UNAM, rpyp@servidor.unam.mx<br />
El pres<strong>en</strong>te docum<strong>en</strong>to pone <strong>de</strong> manifiesto <strong>la</strong> necesidad <strong>de</strong> incorporar algoritmos <strong>de</strong>l<br />
proceso creativo <strong>en</strong> <strong>la</strong> IHM. Esta necesidad se vuelve particu<strong>la</strong>rm<strong>en</strong>te relevante <strong>en</strong><br />
sistemas que se adaptan al usuario: un sistema que es capaz <strong>de</strong> respon<strong>de</strong>r <strong>en</strong> formas<br />
no establecidas previam<strong>en</strong>te por los diseñadores <strong>de</strong>l mismo, brinda un nuevo <strong>en</strong>foque<br />
que pue<strong>de</strong> permitir resolver el problema <strong>de</strong> una adaptación efici<strong>en</strong>te. Para ello<br />
proponemos un mo<strong>de</strong>lo <strong>en</strong> computadora <strong>de</strong>l proceso creativo y <strong>de</strong>scribimos un<br />
sistema <strong>de</strong> ori<strong>en</strong>tación vocacional que estamos <strong>de</strong>sarrol<strong>la</strong>ndo <strong>en</strong> nuestro <strong>la</strong>boratorio<br />
y cuya principal característica es que se adapta <strong>en</strong> forma creativa al usuario.<br />
Abstract<br />
This paper points out the relevance of incorporating creative algorithms in HCI.<br />
Creativity is particu<strong>la</strong>rly important for adaptive computer systems: a system able to<br />
behave in ways no explicitly pre<strong>de</strong>fined by the <strong>de</strong>signers op<strong>en</strong>s new possibilities to<br />
<strong>de</strong>velop more effici<strong>en</strong>t adaptive systems. In this paper we introduce a computer mo<strong>de</strong>l<br />
of creativity and <strong>de</strong>scribe an computer system un<strong>de</strong>r <strong>de</strong>velopm<strong>en</strong>t to support<br />
vocational guidance and whose main characteristic is its capacity to adapt in a<br />
creative ways to the user.<br />
1. Introducción<br />
A riesgo <strong>de</strong> establecer lo obvio, po<strong>de</strong>mos afirmar que el objetivo principal <strong>de</strong>l área <strong>de</strong><br />
Interacción Humano-Computadora es el <strong>de</strong>sarrollo <strong>de</strong> interfaces capaces <strong>de</strong> adaptarse<br />
al usuario y sus necesida<strong>de</strong>s. Exist<strong>en</strong> varios <strong>en</strong>foques que buscan lograr este<br />
cometido: análisis <strong>de</strong>l usuario y su tarea, <strong>de</strong> modo a diseñar sistemas que contempl<strong>en</strong><br />
sus objetivos primordiales [1-6]; técnicas multimodales, capaces <strong>de</strong> “observar” al<br />
usuario y comunicarse con él (el<strong>la</strong>) utilizando un l<strong>en</strong>guaje multimedia int<strong>en</strong>sivo [7-<br />
10]; interfaces “intelig<strong>en</strong>tes”, que buscan mo<strong>de</strong><strong>la</strong>r al usuario y su experi<strong>en</strong>cia, <strong>de</strong> tal<br />
manera que puedan guiarlo <strong>de</strong> manera personalizada [1, 11, 12]; etc. A estos<br />
<strong>en</strong>foques, que aquí d<strong>en</strong>ominaremos “clásicos”, se les adjunta uno que reci<strong>en</strong>tem<strong>en</strong>te<br />
ha sido <strong>de</strong>sarrol<strong>la</strong>do por <strong>la</strong> comunidad <strong>de</strong> Intelig<strong>en</strong>cia Artificial, <strong>de</strong> su verti<strong>en</strong>te más<br />
apegada a <strong>la</strong> Psicología Cognitiva: los mo<strong>de</strong>los <strong>de</strong>l proceso creativo [13-15].<br />
Bajo este nuevo <strong>en</strong>foque se establece que, <strong>en</strong> un sistema adaptable, el<br />
comportami<strong>en</strong>to <strong>de</strong>l programa está <strong>en</strong> función <strong>de</strong> <strong>la</strong>s características <strong>de</strong>l usuario <strong>en</strong><br />
turno: si todas <strong>la</strong>s posibles respuestas que dicho sistema pue<strong>de</strong> dar al usuario están<br />
previam<strong>en</strong>te <strong>de</strong>finidas, se dice que t<strong>en</strong>emos un sistema adaptable estático; <strong>en</strong> caso<br />
contrario, t<strong>en</strong>emos un sistema adaptable dinámico.<br />
Por supuesto no se implica que un sistema dinámico sea mejor que uno estático; <strong>la</strong><br />
elección <strong>de</strong>p<strong>en</strong><strong>de</strong> <strong>de</strong> <strong>la</strong>s características <strong>de</strong>l problema a resolver. Por ejemplo, <strong>en</strong> un
cajero automático es posible imaginar <strong>la</strong> casi totalidad <strong>de</strong> posibles situaciones a <strong>la</strong>s<br />
cuales se <strong>en</strong>fr<strong>en</strong>tará un usuario. Sin embargo, exist<strong>en</strong> otros contextos <strong>en</strong> lo que esto<br />
no es tan c<strong>la</strong>ro. Un ejemplo es <strong>la</strong> consultoría: cada caso es único y difer<strong>en</strong>te a los<br />
<strong>de</strong>más. Es precisam<strong>en</strong>te <strong>en</strong> estas circunstancias cuando se requier<strong>en</strong> mo<strong>de</strong>los <strong>de</strong>l<br />
proceso creativo que permitan dar respuestas no <strong>de</strong>finidas con anterioridad. De esta<br />
manera, para los seguidores <strong>de</strong> esta nueva verti<strong>en</strong>te, un sistema adaptable dinámico<br />
<strong>de</strong>ber ser capaz <strong>de</strong> dar respuestas creativas, es <strong>de</strong>cir, respuestas no <strong>de</strong>finidas<br />
previam<strong>en</strong>te <strong>en</strong> forma explícita por los diseñadores <strong>de</strong>l sistema [para una <strong>de</strong>scripción<br />
<strong>de</strong> <strong>la</strong>s características que <strong>de</strong>be poseer un programa <strong>de</strong> cómputo que mo<strong>de</strong><strong>la</strong> el proceso<br />
creativo ver 16].<br />
En el Laboratorio <strong>de</strong> Interacción Humano-Máquina y Multimedios <strong>de</strong>l CCADET<br />
estamos <strong>de</strong>sarrol<strong>la</strong>ndo un programa <strong>en</strong> computadora para el apoyo a <strong>la</strong> ori<strong>en</strong>tación<br />
vocacional <strong>en</strong> <strong>la</strong> UNAM. Como característica principal, nuestro sistema pue<strong>de</strong><br />
adaptarse <strong>en</strong> forma creativa a los difer<strong>en</strong>tes requerimi<strong>en</strong>tos <strong>de</strong> los usuarios <strong>de</strong>l mismo.<br />
El sistema se basa <strong>en</strong> un mo<strong>de</strong>lo <strong>de</strong>l proceso creativo d<strong>en</strong>ominado Mo<strong>de</strong>lo E-R el cual<br />
ha sido probado <strong>en</strong> otros dominios.<br />
El pres<strong>en</strong>te docum<strong>en</strong>to está organizado <strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te manera: <strong>la</strong> sección 2 <strong>de</strong>scribe<br />
<strong>la</strong>s características principales <strong>de</strong>l Mo<strong>de</strong>lo E-R; <strong>la</strong> sección 3 <strong>de</strong>scribe <strong>la</strong>s características<br />
principales <strong>de</strong>l programa creativo <strong>de</strong> ori<strong>en</strong>tación vocacional que estamos<br />
<strong>de</strong>sarrol<strong>la</strong>ndo; <strong>la</strong> sección 4 discute <strong>la</strong>s consecu<strong>en</strong>cias e importancia <strong>de</strong> nuestro sistema<br />
<strong>en</strong> <strong>la</strong> IHM.<br />
2. El Mo<strong>de</strong>lo E-R<br />
Pérez y Pérez [17] <strong>de</strong>sarrolló un mo<strong>de</strong>lo para <strong>la</strong> g<strong>en</strong>eración <strong>de</strong> programas creativos <strong>en</strong><br />
computadora d<strong>en</strong>ominado Mo<strong>de</strong>lo E-R. Está basado <strong>en</strong> <strong>la</strong> <strong>de</strong>scripción <strong>de</strong> Sharples<br />
[13] sobre el proceso que seguimos los seres humanos al mom<strong>en</strong>to escribir. El<br />
Mo<strong>de</strong>lo E-R ha sido implem<strong>en</strong>tado exitosam<strong>en</strong>te <strong>en</strong> un programa <strong>de</strong> cómputo para <strong>la</strong><br />
g<strong>en</strong>eración <strong>de</strong> cu<strong>en</strong>tos [18]. En nuestro Laboratorio actualm<strong>en</strong>te se <strong>de</strong>sarrol<strong>la</strong>n cuatro<br />
sistemas creativos basados <strong>en</strong> el Mo<strong>de</strong>lo E-R: uno para <strong>la</strong> improvisación musical, otro<br />
para <strong>la</strong> solución <strong>de</strong> problemas <strong>en</strong> geometría, uno para <strong>la</strong> g<strong>en</strong>eración <strong>de</strong> cu<strong>en</strong>tos y uno<br />
para <strong>la</strong> ori<strong>en</strong>tación vocacional. Los tres primeros se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong> una etapa avanzada<br />
<strong>de</strong> <strong>de</strong>sarrollo y pronto publicaremos los resultados obt<strong>en</strong>idos. Como el lector pue<strong>de</strong><br />
observar, el mo<strong>de</strong>lo pue<strong>de</strong> ser empleado <strong>en</strong> difer<strong>en</strong>tes dominios. El Mo<strong>de</strong>lo E-R<br />
contemp<strong>la</strong> tres tareas básicas:<br />
• Definición <strong>de</strong> experi<strong>en</strong>cias.<br />
• Transformación <strong>de</strong> dichas experi<strong>en</strong>cias <strong>en</strong> estructuras <strong>de</strong>l conocimi<strong>en</strong>to.<br />
• G<strong>en</strong>eración <strong>de</strong> material novedoso e interesante a través <strong>de</strong> ciclos E-R.<br />
2.1 Definición <strong>de</strong> experi<strong>en</strong>cias<br />
El Mo<strong>de</strong>lo E-R requiere que se <strong>de</strong>finan por parte <strong>de</strong>l usuario una serie <strong>de</strong> experi<strong>en</strong>cias<br />
(o casos previos) exitosos. Por ejemplo, para <strong>la</strong> g<strong>en</strong>eración <strong>de</strong> cu<strong>en</strong>tos dichas<br />
experi<strong>en</strong>cias están formadas por secu<strong>en</strong>cias <strong>de</strong> acciones que ejemplifican historias<br />
construidas a<strong>de</strong>cuadam<strong>en</strong>te; para <strong>la</strong> solución <strong>de</strong> problemas, los casos previos los
constituy<strong>en</strong> secu<strong>en</strong>cias <strong>de</strong> acciones utilizadas para resolver exitosam<strong>en</strong>te diversos<br />
problemas <strong>de</strong> geometría; etc. En el Mo<strong>de</strong>lo E-R, a cada una <strong>de</strong> <strong>la</strong>s acciones que<br />
forman el conjunto <strong>de</strong> experi<strong>en</strong>cias o casos previos se les d<strong>en</strong>ominan Acciones<br />
Primarias; cada una <strong>de</strong> el<strong>la</strong>s ti<strong>en</strong>e asociadas precondiciones y poscondiciones.<br />
Precondiciones→ Acción Primaria→ Poscondiciones<br />
Las precondiciones constituy<strong>en</strong> los requerimi<strong>en</strong>tos que <strong>de</strong>b<strong>en</strong> ser satisfechos para que<br />
una acción se pueda ejecutar. Las poscondiciones constituy<strong>en</strong> <strong>la</strong>s consecu<strong>en</strong>cias <strong>de</strong><br />
ejecutar una acción; existe una estructura conocida como contexto, <strong>la</strong> cual registra<br />
todas <strong>la</strong>s poscondiciones que se activan cada vez que se ejecuta una acción primaria.<br />
De esta manera, el contexto repres<strong>en</strong>ta el estado actual <strong>de</strong>l mundo virtual creado por<br />
el sistema <strong>de</strong> cómputo. Normalm<strong>en</strong>te, <strong>la</strong>s precondiciones y poscondiciones están<br />
formadas por re<strong>la</strong>ciones <strong>en</strong>tre los diversos actores <strong>de</strong> un dominio dado: personajes <strong>en</strong><br />
un cu<strong>en</strong>to; puntos, círculos, rectas <strong>en</strong> <strong>la</strong> solución <strong>de</strong> problemas <strong>de</strong> geometría; notas <strong>en</strong><br />
<strong>la</strong> improvisación musical; etc.<br />
2.2 Estructuras <strong>de</strong>l Conocimi<strong>en</strong>to<br />
Para crear <strong>la</strong>s estructuras <strong>de</strong>l conocimi<strong>en</strong>to <strong>en</strong> memoria es necesario procesar caso por<br />
caso y acción por acción el conjunto <strong>de</strong> experi<strong>en</strong>cias. Para ello se sigu<strong>en</strong> los<br />
sigui<strong>en</strong>tes pasos (ver figura 1):<br />
1. Se obti<strong>en</strong>e una acción <strong>de</strong>l conjunto <strong>de</strong> experi<strong>en</strong>cias y se ejecuta; <strong>la</strong>s consecu<strong>en</strong>cias<br />
o poscondiciones <strong>de</strong> dicha acción g<strong>en</strong>eran un nuevo contexto.<br />
2. Dicho contexto se copia a memoria <strong>en</strong> una nueva estructura d<strong>en</strong>ominada átomo.<br />
3. La sigui<strong>en</strong>te acción <strong>en</strong> <strong>la</strong>s experi<strong>en</strong>cias se asocia a dicho átomo.<br />
4. Se regresa al paso 1 hasta que <strong>la</strong>s acciones que forman el caso termin<strong>en</strong>.<br />
Este proceso se repite para cada uno <strong>de</strong> los casos que conforman <strong>la</strong>s experi<strong>en</strong>cias o<br />
casos previos.<br />
Experi<strong>en</strong>cias<br />
Caso 1<br />
Acción 1<br />
[contexto a]<br />
Acción 2<br />
[contexto b]<br />
Acción 3<br />
[contexto c]<br />
…<br />
Memoria<br />
Átomo 1<br />
[contexto a]<br />
Acción 2<br />
Átomo 2<br />
[contexto b]<br />
Acción 3<br />
Figura 1. Cómo se crean los átomos <strong>en</strong> memoria.
Cuando el número <strong>de</strong> experi<strong>en</strong>cias o casos previos son los sufici<strong>en</strong>tem<strong>en</strong>te<br />
repres<strong>en</strong>tativos, es posible t<strong>en</strong>er <strong>en</strong> memoria grupos <strong>de</strong> varias acciones asociados a<br />
cada átomo (ver figura 2).<br />
Memoria<br />
Átomo n<br />
[contexto n]<br />
Acción w<br />
Acción x<br />
Acción y<br />
Acción z<br />
Figura 2. Repres<strong>en</strong>tación <strong>de</strong> una átomo con su contexto y varias acciones<br />
asociadas.<br />
2.3 Ciclos E-R<br />
Una vez que se han creado <strong>la</strong>s estructuras <strong>de</strong>l conocimi<strong>en</strong>to <strong>en</strong> memoria, el sistema<br />
ejecuta un proceso cíclico <strong>en</strong>tre dos modos <strong>de</strong> operación conocidos como estado-E y<br />
estado-R.<br />
Estado-E. Cuando el sistema trabaja <strong>en</strong> el estado-E emplea todos sus recursos para<br />
recuperar <strong>de</strong> memoria acciones primarias que le permitan llevar a cabo <strong>la</strong> tarea<br />
asignada. Funciona <strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te manera:<br />
• se escoge una acción.<br />
• el sistema <strong>la</strong> ejecuta y sus poscondiciones g<strong>en</strong>eran un nuevo contexto.<br />
• el sistema busca <strong>en</strong> memoria un átomo igual al nuevo contexto.<br />
• recupera todas <strong>la</strong>s acciones asociadas a ese átomo, escoge una y vuelve a<br />
com<strong>en</strong>zar el ciclo.<br />
Durante este proceso el sistema ignora por completo <strong>la</strong>s precondiciones; sólo emplea<br />
el contexto producido por cada acción como guía para <strong>en</strong>contrar un átomo y po<strong>de</strong>r así<br />
recuperar <strong>de</strong> memoria más acciones para continuar su tarea. Si el sistema no pue<strong>de</strong><br />
localizar <strong>en</strong> memoria un átomo igual al contexto actual, emplea difer<strong>en</strong>tes estrategias<br />
para <strong>en</strong>contrar al m<strong>en</strong>os uno simi<strong>la</strong>r. La primera consiste <strong>en</strong> buscar un átomo que<br />
cont<strong>en</strong>ga como parte <strong>de</strong> su estructura el contexto; <strong>la</strong> única restricción es que el átomo<br />
y el contexto sean iguales <strong>en</strong> al m<strong>en</strong>os un porc<strong>en</strong>taje previam<strong>en</strong>te <strong>de</strong>terminado. A esta<br />
estrategia se le conoce como Contexto D<strong>en</strong>tro <strong>de</strong>l Átomo (CODA). La segunda<br />
consiste <strong>en</strong> buscar un átomo cuya estructura se <strong>en</strong>cu<strong>en</strong>tre d<strong>en</strong>tro <strong>de</strong>l contexto; <strong>la</strong> única<br />
restricción es que el átomo y el contexto sean iguales <strong>en</strong> al m<strong>en</strong>os un porc<strong>en</strong>taje<br />
previam<strong>en</strong>te <strong>de</strong>terminado. A esta estrategia se le conoce como Átomo D<strong>en</strong>tro <strong>de</strong>l<br />
Contexto (ADCO). La tercera consiste <strong>en</strong> Modificar el Contexto (MOCO) agregando,<br />
eliminando o alterando elem<strong>en</strong>tos <strong>de</strong>l mismo. Esta estrategia requiere que <strong>la</strong>s<br />
características es<strong>en</strong>ciales <strong>de</strong>l contexto se conserv<strong>en</strong> <strong>de</strong>spués <strong>de</strong> cada transformación.<br />
De otra manera, <strong>la</strong>s acciones recuperadas <strong>de</strong> memoria t<strong>en</strong>drán muy poca conexión con<br />
el estado actual <strong>de</strong>l mundo virtual creado por el sistema.
Una vez que se han recuperado <strong>de</strong> memoria un conjunto <strong>de</strong> posibles acciones a<br />
ejecutar, es necesario eliminar todas aquel<strong>la</strong>s que no satisfagan cabalm<strong>en</strong>te los<br />
requerimi<strong>en</strong>tos <strong>de</strong> <strong>la</strong> tarea. De ello se ocupan una serie <strong>de</strong> rutinas l<strong>la</strong>madas filtros.<br />
Exist<strong>en</strong> dos tipos <strong>de</strong> constricciones asociadas a los filtros: 1) <strong>la</strong>s constricciones<br />
estáticas, que están <strong>de</strong>finidas d<strong>en</strong>tro <strong>de</strong>l código <strong>de</strong>l programa (por ejemplo, <strong>en</strong> el<br />
<strong>de</strong>sarrollo <strong>de</strong> un cu<strong>en</strong>to está prohibido que un personaje ejecute dos veces seguidas <strong>la</strong><br />
misma acción. Las constricciones estáticas le indican a los filtros que este tipo <strong>de</strong><br />
situaciones se <strong>de</strong>b<strong>en</strong> evitar); 2) <strong>la</strong>s constricciones dinámicas, cuyo valor se actualiza<br />
constantem<strong>en</strong>te mi<strong>en</strong>tras el programa se está ejecutando (por ejemplo, si durante el<br />
<strong>de</strong>sarrollo <strong>de</strong> un cu<strong>en</strong>to el sistema <strong>de</strong>tecta que el mismo está resultando aburrido, <strong>la</strong>s<br />
constricciones dinámicas le indican a los filtros que <strong>de</strong>b<strong>en</strong> eliminar todas aquel<strong>la</strong>s<br />
acciones que no contribuyan a hacer una historia más interesante). De esta manera, si<br />
alguna <strong>de</strong> <strong>la</strong>s acciones recuperadas <strong>de</strong> memoria no satisface todas <strong>la</strong>s constricciones<br />
estáticas y dinámicas, los filtros se ocupan <strong>de</strong> eliminar<strong>la</strong>. El funcionami<strong>en</strong>to <strong>de</strong>l<br />
estado-E se pue<strong>de</strong> resumir <strong>en</strong> los sigui<strong>en</strong>tes pasos:<br />
1. Se ejecuta una acción <strong>la</strong> cual produce un nuevo contexto.<br />
2. El sistema busca <strong>en</strong> memoria un átomo que sea igual al nuevo contexto.<br />
3. Si <strong>la</strong> búsqueda es exitosa<br />
Recupera <strong>de</strong> memoria el conjunto <strong>de</strong> posibles acciones a ejecutar.<br />
Elimina por medio <strong>de</strong> los filtros todas aquel<strong>la</strong>s acciones no útiles.<br />
Entre <strong>la</strong>s acciones restantes selecciona una y regresa al paso 1.<br />
<strong>de</strong> lo contrario<br />
Int<strong>en</strong>ta <strong>la</strong> estrategia CODA; si <strong>la</strong> búsqueda es exitosa regresa al paso 3.<br />
Int<strong>en</strong>ta <strong>la</strong> estrategia ADCO; si <strong>la</strong> búsqueda es exitosa regresa al paso 3.<br />
Int<strong>en</strong>ta <strong>la</strong> estrategia MOCO; si <strong>la</strong> búsqueda es exitosa regresa al paso 3.<br />
El sistema se <strong>de</strong>c<strong>la</strong>ra bloqueado (no pue<strong>de</strong> recuperar acciones para continuar<br />
su tarea).<br />
Estado-R. Cuando el sistema trabaja <strong>en</strong> el estado-R:<br />
• Verifica que todas <strong>la</strong>s precondiciones <strong>de</strong> <strong>la</strong>s acciones primarias empleadas hasta<br />
ese mom<strong>en</strong>to estén satisfechas. En caso necesario inserta acciones para cumplir<br />
con este requerimi<strong>en</strong>to.<br />
• Evalúa el material producido durante el estado-E para revisar que cump<strong>la</strong> con los<br />
requerimi<strong>en</strong>tos <strong>de</strong> <strong>la</strong> tarea asignada. Si <strong>la</strong> evaluación resulta negativa, el sistema<br />
g<strong>en</strong>era una serie <strong>de</strong> lineami<strong>en</strong>tos (l<strong>la</strong>mados constricciones dinámicas) que los<br />
filtros emplean durante <strong>la</strong> g<strong>en</strong>eración <strong>de</strong> material <strong>en</strong> el estado-E para eliminar<br />
aquel<strong>la</strong>s acciones que no satisfagan los requerimi<strong>en</strong>tos <strong>de</strong> <strong>la</strong> tarea.<br />
• En caso <strong>de</strong> que se <strong>de</strong>c<strong>la</strong>re un bloqueo durante el estado-E, se activan una serie <strong>de</strong><br />
rutinas para int<strong>en</strong>tar romper dicho bloqueo.<br />
El <strong>de</strong>sarrollo <strong>de</strong> cu<strong>en</strong>tos novedosos e interesantes, <strong>la</strong> solución <strong>de</strong> problemas <strong>de</strong><br />
geometría, <strong>la</strong> producción <strong>de</strong> improvisaciones musicales, etc., son el resultado <strong>de</strong> una<br />
estrecha interacción <strong>en</strong>tre el estado-E y el estado-R.
3. Programa Creativo <strong>de</strong> Ori<strong>en</strong>tación Vocacional<br />
El Programa Creativo <strong>de</strong> Ori<strong>en</strong>tación Vocacional (PROCOV) es un sistema capaz <strong>de</strong><br />
dar respuestas creativas —es <strong>de</strong>cir, respuestas no <strong>de</strong>finidas previam<strong>en</strong>te <strong>en</strong> forma<br />
explícita por los diseñadores <strong>de</strong>l sistema— a un usuario. El objetivo <strong>de</strong> PROCOV es<br />
apoyar a estudiantes <strong>de</strong> bachillerato <strong>en</strong> el proceso <strong>de</strong> toma <strong>de</strong> <strong>de</strong>cisión <strong>de</strong> <strong>la</strong> carrera a<br />
estudiar <strong>en</strong> <strong>la</strong> universidad. El sistema actúa como un ori<strong>en</strong>tador que, por medio <strong>de</strong> una<br />
serie <strong>de</strong> preguntas, se va aproximando a el perfil <strong>de</strong>l usuario. Si es necesario,<br />
PROCOV pue<strong>de</strong> solicitar <strong>de</strong>sarrol<strong>la</strong>r alguna actividad previam<strong>en</strong>te <strong>de</strong>finida con el fin<br />
<strong>de</strong> obt<strong>en</strong>er más datos <strong>de</strong>l usuario. El sistema inclusive pue<strong>de</strong> sugerir contestar alguna<br />
prueba psicológica para completar sus datos. Una vez que el sistema obti<strong>en</strong>e el perfil<br />
<strong>de</strong>l usuario g<strong>en</strong>era una recom<strong>en</strong>dación vocacional. El conjunto <strong>de</strong> preguntas,<br />
activida<strong>de</strong>s y pruebas psicológicas que lleva a cabo el sistema constituy<strong>en</strong> <strong>la</strong><br />
estrategia <strong>de</strong> ori<strong>en</strong>tación empleada por PROCOV para asesorar al estudiante. El<br />
sistema cu<strong>en</strong>ta con un conjunto <strong>de</strong> experi<strong>en</strong>cias o casos previos, proporcionados por<br />
expertos ori<strong>en</strong>tadores <strong>de</strong> <strong>la</strong> UNAM, que funcionan como base para llevar a cabo <strong>la</strong><br />
asesoría. Como característica principal, cuando PROCOV se <strong>en</strong>fr<strong>en</strong>ta a una situación<br />
no contemp<strong>la</strong>da <strong>en</strong> dichas experi<strong>en</strong>cias, es capaz <strong>de</strong> g<strong>en</strong>erar una estrategia <strong>de</strong><br />
ori<strong>en</strong>tación nueva que le permita afrontar a<strong>de</strong>cuadam<strong>en</strong>te <strong>la</strong> situación.<br />
La recom<strong>en</strong>dación vocacional se pres<strong>en</strong>ta al usuario <strong>en</strong> forma <strong>de</strong> secu<strong>en</strong>cias <strong>de</strong><br />
imág<strong>en</strong>es y textos. PROCOV ti<strong>en</strong>e como objetivo que dicha pres<strong>en</strong>tación sea original<br />
e interesante para que el usuario se id<strong>en</strong>tifique con el<strong>la</strong>. Por original nos referimos a<br />
que una persona no vea <strong>la</strong> misma pres<strong>en</strong>tación dos veces; por interesante nos<br />
referimos a que <strong>la</strong> pres<strong>en</strong>tación capture <strong>la</strong> at<strong>en</strong>ción <strong>de</strong>l usuario.<br />
De esta manera, PROCOV constituye un programa capaz <strong>de</strong> adaptarse <strong>en</strong> forma<br />
creativa a los requerimi<strong>en</strong>tos <strong>de</strong> un usuario. PROCOV está dividido <strong>en</strong> dos módulos<br />
principales: Conocimi<strong>en</strong>to <strong>de</strong>l usuario y Recom<strong>en</strong>daciones.<br />
3.1 Módulo <strong>de</strong> Conocimi<strong>en</strong>to <strong>de</strong>l Usuario<br />
En el módulo <strong>de</strong> conocimi<strong>en</strong>to <strong>de</strong>l usuario (MOCU) es don<strong>de</strong> el sistema g<strong>en</strong>era su<br />
estrategia <strong>de</strong> ori<strong>en</strong>tación para así po<strong>de</strong>r establecer un perfil <strong>de</strong>l usuario (ver figura 3).<br />
Con base <strong>en</strong> el mo<strong>de</strong>lo E-R, el MOCU requiere <strong>de</strong> un conjunto <strong>de</strong> acciones primarias<br />
y <strong>de</strong> un grupo <strong>de</strong> experi<strong>en</strong>cias o casos previos. En el MOCU <strong>la</strong>s acciones primarias<br />
están divididas <strong>en</strong> tres grupos:<br />
• Preguntas.<br />
• Activida<strong>de</strong>s diversas.<br />
• Aplicación <strong>de</strong> exám<strong>en</strong>es psicológicos.<br />
Cada acción ti<strong>en</strong>e asignada sus precondiciones y poscondiciones; cada vez que el<br />
sistema ejecuta una <strong>de</strong> estas acciones, <strong>la</strong> estructura repres<strong>en</strong>tando el contexto se<br />
actualiza.
Acciones Primarias<br />
(preguntas, activida<strong>de</strong>s,<br />
exám<strong>en</strong>es psicológicos)<br />
Casos previos <strong>de</strong><br />
ori<strong>en</strong>tación<br />
vocacional<br />
u<br />
s<br />
u<br />
a<br />
r<br />
i<br />
o<br />
i<br />
n<br />
t<br />
e<br />
r<br />
f<br />
a<br />
z<br />
Pres<strong>en</strong>taciones<br />
vistas antes por<br />
el usuario<br />
Base <strong>de</strong> conocimi<strong>en</strong>tos<br />
contexto<br />
pres<strong>en</strong>tación<br />
E<br />
R<br />
E<br />
R<br />
Perfil <strong>de</strong>l<br />
usuario<br />
MOCU<br />
Acciones<br />
primarias<br />
(imág<strong>en</strong>es)<br />
Base <strong>de</strong><br />
Conocimi<strong>en</strong>tos<br />
MORE<br />
Casos previos<br />
(secu<strong>en</strong>cias afectivas)<br />
Figura 3. Diagrama <strong>de</strong> PROCOV: <strong>la</strong> parte superior correspon<strong>de</strong> al Módulo <strong>de</strong><br />
Conocimi<strong>en</strong>to <strong>de</strong>l Usuario (MOCU); <strong>la</strong> parte inferior correspon<strong>de</strong> al Módulo <strong>de</strong><br />
Recom<strong>en</strong>daciones (MORE).<br />
Las preguntas pued<strong>en</strong> ser <strong>de</strong> varios tipos. Con base <strong>en</strong> el libro Eligi<strong>en</strong>do mi carrera.<br />
Un proyecto <strong>de</strong> vida publicado por <strong>la</strong> Dirección G<strong>en</strong>eral <strong>de</strong> Ori<strong>en</strong>tación y Servicios<br />
Educativos <strong>de</strong> <strong>la</strong> UNAM [19], los temas que exploran <strong>la</strong>s preguntas están<br />
re<strong>la</strong>cionados con: <strong>de</strong>sarrollo <strong>de</strong> un proyecto <strong>de</strong> vida, elem<strong>en</strong>tos que intervi<strong>en</strong><strong>en</strong> <strong>en</strong> <strong>la</strong><br />
elección <strong>de</strong> carrera, conocimi<strong>en</strong>to sobre diversas áreas académicas, conocimi<strong>en</strong>to <strong>de</strong><br />
sí mismo, valores personales y profesionales, intereses y aptitu<strong>de</strong>s, perfil profesional<br />
y campos ocupacionales. Ejemplos <strong>de</strong> preguntas son: ¿cu<strong>en</strong>tas con <strong>la</strong> información<br />
necesaria para <strong>de</strong>cidir qué carrera elegir?, ¿cuáles consi<strong>de</strong>ras los factores más<br />
relevantes que se <strong>de</strong>b<strong>en</strong> tomar <strong>en</strong> cu<strong>en</strong>ta al mom<strong>en</strong>to <strong>de</strong> elegir una carrera?, etc. Por<br />
medio <strong>de</strong> estas preguntas el sistema g<strong>en</strong>era un perfil <strong>de</strong>l usuario. El tipo <strong>de</strong> respuestas<br />
pue<strong>de</strong> llevar al sistema a realizar más preguntas, sugerir realizar activida<strong>de</strong>s diversas<br />
o exám<strong>en</strong>es psicológicos. Las activida<strong>de</strong>s diversas pued<strong>en</strong> consistir <strong>en</strong> juegos,<br />
activida<strong>de</strong>s <strong>de</strong> reflexión, <strong>de</strong> investigación, etc. Por ejemplo, realizar una gráfica <strong>de</strong>
intereses y aptitu<strong>de</strong>s, hacer una lista <strong>de</strong> <strong>la</strong>s materias que le agradan al estudiante y <strong>la</strong>s<br />
calificaciones que ha obt<strong>en</strong>ido, hacer una lista <strong>de</strong> <strong>la</strong>s materias que no le agradan al<br />
estudiante y <strong>la</strong>s calificaciones que ha obt<strong>en</strong>ido, comparar <strong>la</strong>s listas, etc. A través <strong>de</strong><br />
los exám<strong>en</strong>es psicológicos se obti<strong>en</strong>e información <strong>de</strong>l usuario refer<strong>en</strong>te a sus<br />
habilida<strong>de</strong>s, personalidad, intereses y hábitos <strong>de</strong> estudios. De esta manera, <strong>la</strong><br />
estrategia <strong>de</strong> ori<strong>en</strong>tación se va creando al mismo tiempo que el sistema interactúa con<br />
el usuario.<br />
La experi<strong>en</strong>cia o casos previos son proporcionados por ori<strong>en</strong>tadores expertos <strong>de</strong> <strong>la</strong><br />
UNAM. Esta experi<strong>en</strong>cia consiste <strong>en</strong> ejemplos, paso a paso, <strong>de</strong> un proceso <strong>de</strong><br />
ori<strong>en</strong>tación vocacional. De esta manera el sistema apr<strong>en</strong><strong>de</strong> cuándo realizar<br />
<strong>de</strong>terminadas preguntas, cuándo proponer alguna actividad o cuándo aplicar un<br />
exam<strong>en</strong> psicológico.<br />
3.2 Módulo <strong>de</strong> Recom<strong>en</strong>daciones<br />
Una vez establecido el perfil <strong>de</strong>l estudiante, el módulo <strong>de</strong> recom<strong>en</strong>daciones (MORE)<br />
g<strong>en</strong>era una suger<strong>en</strong>cia <strong>de</strong> tres carreras a estudiar (ver figura 3). Dicha suger<strong>en</strong>cia toma<br />
<strong>la</strong> forma <strong>de</strong> una secu<strong>en</strong>cia <strong>de</strong> imág<strong>en</strong>es, principalm<strong>en</strong>te fotografías, y textos que se<br />
pres<strong>en</strong>tan al usuario. La pres<strong>en</strong>tación ti<strong>en</strong>e tres objetivos básicos:<br />
• Proporcionar información básica sobre <strong>la</strong> carrera que se está recom<strong>en</strong>dando.<br />
• Captar <strong>la</strong> at<strong>en</strong>ción <strong>de</strong>l usuario. Para ello, se emplean secu<strong>en</strong>cias <strong>de</strong> fotografías y<br />
textos que g<strong>en</strong>er<strong>en</strong> <strong>en</strong> el usuario una respuesta afectiva. Para lograr este objetivo<br />
primero trabajamos con dos artistas <strong>en</strong> diseño y comunicación visual y un experto<br />
<strong>en</strong> psicología, con qui<strong>en</strong>es se establece los requerimi<strong>en</strong>tos necesarios para<br />
g<strong>en</strong>erar una respuesta afectiva por medio <strong>de</strong> secu<strong>en</strong>cias fotográficas y textos. A<br />
continuación realizamos experim<strong>en</strong>tos para comprobar que dichas secu<strong>en</strong>cias<br />
g<strong>en</strong>eran los efectos <strong>de</strong>seados.<br />
• G<strong>en</strong>erar pres<strong>en</strong>taciones creativas. Para mant<strong>en</strong>er el interés <strong>de</strong>l usuario <strong>en</strong> el<br />
sistema es necesario que <strong>la</strong>s pres<strong>en</strong>taciones sean novedosas. Es <strong>de</strong>cir, una misma<br />
persona no <strong>de</strong>be ver <strong>la</strong> misma pres<strong>en</strong>tación dos veces, tampoco <strong>de</strong>be ver dos<br />
pres<strong>en</strong>taciones muy parecidas, etc. Por tal razón, el MORE también está diseñado<br />
sigui<strong>en</strong>do el mo<strong>de</strong>lo E-R: cada imag<strong>en</strong> repres<strong>en</strong>ta una acción primaria y ti<strong>en</strong>e<br />
asociada sus respectivas precondiciones y poscondiciones; <strong>la</strong>s experi<strong>en</strong>cias están<br />
formadas por ejemplos <strong>de</strong> secu<strong>en</strong>cias que g<strong>en</strong>eran respuestas afectivas <strong>en</strong> el<br />
usuario.<br />
4. Discusión<br />
En este artículo hemos expuesto <strong>la</strong> posibilidad <strong>de</strong> integrar nuevos mo<strong>de</strong>los a los<br />
mecanismos <strong>de</strong> interacción tradicionalm<strong>en</strong>te utilizados por <strong>la</strong> comunidad <strong>de</strong> IHM. En<br />
particu<strong>la</strong>r se ha expuesto <strong>la</strong> pertin<strong>en</strong>cia <strong>de</strong> incluir mo<strong>de</strong>los <strong>de</strong>l proceso creativo como<br />
un medio para pot<strong>en</strong>ciar <strong>la</strong> capacidad <strong>de</strong> adaptación <strong>de</strong> un sistema ante un nuevo<br />
usuario. En efecto, los mo<strong>de</strong>los <strong>de</strong> procesos creativos permit<strong>en</strong> que el sistema tome<br />
<strong>de</strong>cisiones, <strong>de</strong> manera dinámica, acerca <strong>de</strong> <strong>la</strong> forma idónea <strong>de</strong> pres<strong>en</strong>tar información<br />
al usuario. Se pres<strong>en</strong>taron a<strong>de</strong>más los avances que se ti<strong>en</strong><strong>en</strong> con un sistema <strong>de</strong><br />
consultoría vocacional, que integran estas técnicas. Los resultados obt<strong>en</strong>idos con el<br />
uso <strong>de</strong> dicho sistema <strong>en</strong> el terr<strong>en</strong>o serán reportado <strong>en</strong> publicaciones posteriores.
5. Refer<strong>en</strong>cias<br />
1. Balbo, S. and C. Lindley. Adaptation of a task analysis methodology to the<br />
<strong>de</strong>sign of a <strong>de</strong>cision support system. in INTERACT’97. 1997. Sydney, Australia:<br />
Chapman and Hall, IFIP publishers.<br />
2. Alonso, B., Analyse <strong>de</strong>s tâches mono et multi-opérateurs du contrôle aéri<strong>en</strong> par<br />
le formalisme MAD pour l'espécification ergonomique <strong>de</strong> l'interface, in<br />
Ergonomie. 1996, Paris 5: Paris. p. 325.<br />
3. Gamboa, F. and D.L. Scapin, Editing MAD* task <strong>de</strong>scriptions for specifying user<br />
interfaces at both, semantic and pres<strong>en</strong>tation levels, in Design, Specification and<br />
Verification of Interactive Systems '97, M.D. Harrison and J.C. Torres, Editors.<br />
1997, Springer-Ver<strong>la</strong>g/Wi<strong>en</strong>: Austria. p. 193-208.<br />
4. Tarby, J.C. and M.F. Barthet. From Tasks to Objects: an example with Diane+.<br />
in CHI' 98. 1998. Los Angeles.<br />
5. Dominguez, G., Herrami<strong>en</strong>ta para <strong>la</strong> vincu<strong>la</strong>ción <strong>de</strong>l Análisis <strong>de</strong> <strong>la</strong> Tarea <strong>de</strong>l<br />
Usuario con el Proceso Unificado, in Posgrado <strong>en</strong> Ci<strong>en</strong>cia e Ing<strong>en</strong>iería <strong>de</strong> <strong>la</strong><br />
<strong>Computación</strong>. 2003, UNAM: México D.F.<br />
6. Hackos, J.T. and J.C. Redish, User and Task Analysis for Interface Design. 1rst<br />
ed. 1998, New York, Chichester, Weinheim, Brisbane, Singapure, Toronto: John<br />
Wiley & Sons, Inc. 488.<br />
7. Lansdale, M.W. and T.C. Ormerod, Un<strong>de</strong>rstanding interfaces. A handbook of<br />
Human - Computer Dialog. 1rst ed. 1994, London San Diego New York:<br />
Aca<strong>de</strong>mic Press. 289.<br />
8. Andleigh, P.K. and K. Thakrar, Multimedia Systems Design. 1rst ed. 1996, Upper<br />
Saddle River, NJ 07458: Pr<strong>en</strong>tice Hall PTR. 654.<br />
9. Brice, R., Multimedia and Virtual Reality Engineering. 1rst ed. 1997, Oxford:<br />
ewnes. 307.<br />
10. Norman, D.A., The Invisible computer. 1998, Cambridge, Massachusetts;<br />
London, Eng<strong>la</strong>nd: The MIT Press. 302.<br />
11. Opperman, R., ed. Adaptive User Support. Ergonomic Design of manually and<br />
Automatically Adaptable Software. 1rst ed. Computers, Cognition, and Work, ed.<br />
G.M. Olson, J.S. Olson, and B. Curtis. 1994, Lawreance Erlbaum Associates,<br />
publishers: New Jersey, NK. 253.<br />
12. Salv<strong>en</strong>dy, G. and M. Smith, eds. Designing and Using Human-Computer<br />
Interfaces and Knowledge Based Systems. 1rst ed. Advances in Human Factors /<br />
Ergonomics, ed. G. Salv<strong>en</strong>dy. 1989, Elsevier: Amsterdam-oxford.New york. 900.<br />
13. Sharples, M., How we Write: Writing as Creative Design. 1999, London:<br />
Routledge.<br />
14. Dartnall, T., Creativity, Cognition, and Knowledge. 2002, Westport, Connecticut,<br />
London: PRAEGER.<br />
15. Dartnall, T., Artificial Intellig<strong>en</strong>ce and creativity: An interdisciplinary approach.<br />
1994, Dordrecht, Nether<strong>la</strong>nds: Kluwer Aca<strong>de</strong>mic Publishers.<br />
16. Pérez y Pérez, R. and M. Sharples, Three Computer-Based Mo<strong>de</strong>ls of<br />
Storytelling: BRUTUS, MINSTREL and MEXICA. Knowledge Based Systems<br />
Journal, 2004. 17(1): p. 15-29.<br />
17. Pérez y Pérez, R., MEXICA: a Computer Mo<strong>de</strong>l of Creativity in Writing, PhD.<br />
dissertation. 1999, University of Sussex, Eng<strong>la</strong>nd.
18. Pérez y Pérez, R. and M. Sharples, MEXICA: A Computer Mo<strong>de</strong>l of a Cognitive<br />
Account of Creative Writing. Journal of Experim<strong>en</strong>tal and Theoretical Artificial<br />
Intellig<strong>en</strong>ce, 2001, 13(2): p. 119-139.<br />
19. Dirección G<strong>en</strong>eral <strong>de</strong> Ori<strong>en</strong>tación y Servicios Educativos, Eligi<strong>en</strong>do mi carrera.<br />
Un proyecto <strong>de</strong> vida. 2002, México: Universidad Nacional Autónoma <strong>de</strong> México.
Diseño e Implem<strong>en</strong>tación <strong>de</strong> una Interfaz <strong>de</strong> Comunicación <strong>en</strong><br />
Internet,<br />
Ori<strong>en</strong>tada a Personas con Discapacidad Visual<br />
Noemí Guerra<br />
Estudiante <strong>de</strong> <strong>la</strong><br />
Facultad <strong>de</strong><br />
Telemática<br />
Román Gal<strong>la</strong>rdo<br />
Profesor <strong>de</strong> <strong>la</strong><br />
Facultad <strong>de</strong><br />
Telemática<br />
María Andra<strong>de</strong><br />
Profesora <strong>de</strong> <strong>la</strong><br />
Facultad <strong>de</strong><br />
Telemática<br />
Ricardo Acosta<br />
Profesora <strong>de</strong> <strong>la</strong><br />
Facultad <strong>de</strong><br />
Telemática<br />
Universidad <strong>de</strong> Colima, Colima, Col., México<br />
nlg22@ucol.mx aroman@ucol.mx mandrad@ucol.mx acosta@ucol.mx<br />
Resum<strong>en</strong><br />
La car<strong>en</strong>cia <strong>de</strong> alguna <strong>de</strong> <strong>la</strong>s capacida<strong>de</strong>s físicas <strong>de</strong> un individuo impi<strong>de</strong> el pl<strong>en</strong>o<br />
<strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s diversas activida<strong>de</strong>s que el mismo realiza, esto se traduce <strong>en</strong> una<br />
<strong>de</strong>sv<strong>en</strong>taja para <strong>la</strong> persona. Debido a esta situación, el pres<strong>en</strong>te trabajo es un<br />
estudio que expone <strong>la</strong> problemática que existe <strong>en</strong> <strong>la</strong> sociedad invid<strong>en</strong>te <strong>de</strong> <strong>la</strong><br />
Organización CREE ∗ <strong>de</strong>l estado <strong>de</strong> Colima, México, <strong>en</strong> cuanto a <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong><br />
comunicación <strong>de</strong> m<strong>en</strong>sajería instantánea a través <strong>de</strong> <strong>la</strong> red Internet, que ti<strong>en</strong><strong>en</strong> dichas<br />
personas; ya que actualm<strong>en</strong>te <strong>la</strong>s aplicaciones para personas que pres<strong>en</strong>tan<br />
discapacida<strong>de</strong>s visuales son <strong>de</strong> tipo g<strong>en</strong>eral y es muy limitada su distribución.<br />
Por lo tanto, al implem<strong>en</strong>tar los conocimi<strong>en</strong>tos <strong>de</strong> <strong>la</strong>s telecomunicaciones aunadas a<br />
<strong>la</strong> información (Telemática) y un bu<strong>en</strong> diseño <strong>de</strong> <strong>la</strong> interfaz <strong>de</strong> comunicación<br />
especializada apoyada <strong>en</strong> <strong>la</strong>s nuevas tecnologías <strong>de</strong> interacción humanocomputadora,<br />
permitirá que estas personas <strong>de</strong>sarroll<strong>en</strong> mejor sus habilida<strong>de</strong>s <strong>de</strong><br />
comunicación e integración <strong>en</strong> <strong>la</strong> sociedad actual.<br />
Abstract<br />
The <strong>de</strong>fici<strong>en</strong>cy of some of the physical capacities of an individual prev<strong>en</strong>ts the total<br />
<strong>de</strong>velopm<strong>en</strong>t of the diverse activities that the same one makes, this is trans<strong>la</strong>ted in a<br />
disadvantage for the person. Due to this situation, the pres<strong>en</strong>t work is a study that<br />
exposes the problematic one that exists in the blind society of the CREE Organization<br />
in the Colima State, México, as far as the necessities of instant message<br />
communication through network Internet, which they have these people; since at the<br />
mom<strong>en</strong>t the applications for visually impaired people are of g<strong>en</strong>eral type and is very<br />
limited their distribution. Therefore, wh<strong>en</strong> implem<strong>en</strong>ting the knowledge of the<br />
telecommunications combined to the information (Telematic) and a good <strong>de</strong>sign of the<br />
interface of communication specialized supported in the new technologies of<br />
∗ CREE (C<strong>en</strong>tro <strong>de</strong> Rehabilitación y Educación Especial).
interaction human-computer, will allow that these people <strong>de</strong>velop better to their<br />
abilities of communication and integration in the pres<strong>en</strong>t society.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve: Interfaz, Web, HCI, TTS, Telemática.<br />
1. Introducción<br />
Gran porc<strong>en</strong>taje <strong>de</strong> <strong>la</strong> información que manejamos llega a través <strong>de</strong> <strong>la</strong> vista, por<br />
ello <strong>la</strong>s personas con ceguera y/o <strong>de</strong>fici<strong>en</strong>cia visual han t<strong>en</strong>ido que buscar los medios<br />
y modos alternativos <strong>de</strong> acceso a esta, para que <strong>la</strong> falta <strong>de</strong> visión no repres<strong>en</strong>te más<br />
limitaciones <strong>de</strong> <strong>la</strong>s estrictam<strong>en</strong>te necesarias. Cuando <strong>la</strong> ceguera es total, el oído y el<br />
tacto pasan a ser los principales canales <strong>en</strong> <strong>la</strong> recepción <strong>de</strong> <strong>la</strong> información, mi<strong>en</strong>tras<br />
que para <strong>la</strong>s personas con <strong>de</strong>fici<strong>en</strong>cia visual el resto <strong>de</strong> visión que pose<strong>en</strong> es un<br />
recurso más a utilizar [1]. Por lo tanto, el l<strong>en</strong>guaje es una forma conv<strong>en</strong>cional<br />
utilizada para <strong>la</strong> comunicación <strong>de</strong> p<strong>en</strong>sami<strong>en</strong>tos y s<strong>en</strong>timi<strong>en</strong>tos <strong>en</strong>tre los seres<br />
humanos, el cual es repres<strong>en</strong>tado por símbolos ya sean escritos o hab<strong>la</strong>dos. La voz es<br />
parte integral <strong>de</strong> nuestras vidas y <strong>la</strong>s personas con capacida<strong>de</strong>s físicas y m<strong>en</strong>tales<br />
normales e incluso qui<strong>en</strong>es pres<strong>en</strong>t<strong>en</strong> algún tipo <strong>de</strong> discapacidad, <strong>en</strong> este caso visual,<br />
utilizan <strong>la</strong> voz como el medio principal <strong>de</strong> comunicación y una <strong>de</strong> sus gran<strong>de</strong>s<br />
difer<strong>en</strong>cias con respecto al l<strong>en</strong>guaje escrito, es que el hab<strong>la</strong> permite comunicar<br />
necesida<strong>de</strong>s inmediatas. Analizando lo anterior, vemos <strong>la</strong>s dificulta<strong>de</strong>s que se pued<strong>en</strong><br />
<strong>en</strong>contrar <strong>en</strong> <strong>la</strong> red Internet ya que este es un medio inestimable <strong>de</strong> acceso a <strong>la</strong><br />
información para personas con discapacidad visual, aunque para que el<strong>la</strong>s obt<strong>en</strong>gan<br />
los b<strong>en</strong>eficios y <strong>la</strong> accesibilidad que brinda <strong>la</strong> misma, es necesario lograr <strong>la</strong><br />
estandarización <strong>de</strong> los <strong>sitio</strong>s web. El <strong>en</strong>foque <strong>de</strong> estandarización se refiere a que por lo<br />
g<strong>en</strong>eral todas <strong>la</strong>s páginas <strong>en</strong> Internet están actualizando sus formatos y su información<br />
cada cierto tiempo; por ejemplo los <strong>sitio</strong>s web <strong>de</strong>: periódicos, canales <strong>de</strong> noticias,<br />
finanzas, clima, <strong>en</strong>tre otros; ti<strong>en</strong><strong>en</strong> que actualizar su información diariam<strong>en</strong>te y <strong>de</strong><br />
hecho, exist<strong>en</strong> <strong>sitio</strong>s <strong>en</strong> Internet que cambian su información cada mes y algunas<br />
nunca <strong>la</strong>s vuelv<strong>en</strong> a actualizar <strong>de</strong>s<strong>de</strong> su creación [2]. Aunque <strong>en</strong> <strong>la</strong> red exist<strong>en</strong> guías<br />
que garantizan <strong>la</strong> accesibilidad a los <strong>sitio</strong>s web construidos según sus directrices y se<br />
han <strong>de</strong>sarrol<strong>la</strong>do herrami<strong>en</strong>tas <strong>de</strong> software <strong>de</strong>stinadas a proporcionar una mayor y<br />
mejor accesibilidad a estas personas, <strong>la</strong> mayoría trata el problema <strong>de</strong>s<strong>de</strong> su propio<br />
punto <strong>de</strong> vista, <strong>en</strong> lugar <strong>de</strong> apoyarse <strong>en</strong> el conocimi<strong>en</strong>to <strong>de</strong> expertos <strong>en</strong> el diseño <strong>de</strong><br />
interfaces para usuarios discapacitados. A partir <strong>de</strong> esta problemática surgió <strong>la</strong> i<strong>de</strong>a<br />
por llevar a cabo un proyecto que resolviera <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> comunicación <strong>de</strong><br />
m<strong>en</strong>sajería instantánea <strong>de</strong> <strong>la</strong> pob<strong>la</strong>ción con discapacidad visual. La aplicación<br />
propuesta es una herrami<strong>en</strong>ta que le permite a usuarios invid<strong>en</strong>tes <strong>en</strong>tab<strong>la</strong>r una<br />
comunicación <strong>en</strong> línea (m<strong>en</strong>sajería instantánea) con <strong>la</strong> funcionalidad <strong>de</strong> conversión<br />
TTS (Text To Speech) <strong>en</strong> idioma español. La misma ofrece una ayuda guiada a través<br />
<strong>de</strong> voz, sonido, manejo <strong>de</strong> <strong>la</strong>s tec<strong>la</strong>s <strong>de</strong> función, <strong>la</strong>s cual le permit<strong>en</strong> al individuo<br />
po<strong>de</strong>r interactuar <strong>de</strong> forma s<strong>en</strong>cil<strong>la</strong> con <strong>la</strong> misma y se ha sido d<strong>en</strong>ominado sistema <strong>de</strong><br />
comunicación para invid<strong>en</strong>tes (SCI). El aspecto más característico <strong>de</strong> este proyecto<br />
consiste <strong>en</strong> procesar <strong>la</strong> información <strong>de</strong> <strong>en</strong>trada, ya que los m<strong>en</strong>sajes que son <strong>en</strong>viados<br />
por el emisor se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong> formato texto y son transformados y <strong>en</strong>viados <strong>en</strong> voz al<br />
canal <strong>de</strong> recepción. A<strong>de</strong>más <strong>de</strong> esta funcionalidad <strong>de</strong> conversión text to speech, los
m<strong>en</strong>sajes también aparec<strong>en</strong> <strong>de</strong> manera escrita <strong>en</strong> <strong>la</strong> v<strong>en</strong>tana <strong>de</strong> conversación <strong>de</strong>l<br />
usuario final, como método <strong>de</strong> apoyo a <strong>la</strong> persona que pres<strong>en</strong>te un grado <strong>de</strong> ceguera<br />
parcial.<br />
2. Revisión <strong>de</strong> <strong>la</strong> Literatura<br />
En este nuevo siglo, <strong>la</strong>s computadoras y su uso cotidiano son algo que no pue<strong>de</strong><br />
pasar inadvertido. Debido a esto, cualquier tecnología que se <strong>de</strong>sarrolle <strong>en</strong> este ámbito<br />
t<strong>en</strong>drá una importancia relevante <strong>en</strong> nuestra sociedad, ya que día a día surg<strong>en</strong> nuevas<br />
herrami<strong>en</strong>tas, programas y equipos, que nos permit<strong>en</strong> <strong>de</strong>sarrol<strong>la</strong>r e implem<strong>en</strong>tar<br />
sistemas, que hagan fr<strong>en</strong>te a <strong>la</strong> problemática y necesida<strong>de</strong>s <strong>de</strong> todo tipo <strong>de</strong> usuario.<br />
Actualm<strong>en</strong>te, exist<strong>en</strong> <strong>en</strong> el mercado muchos dispositivos que apoyan a los<br />
discapacitados visuales <strong>en</strong> el uso y manejo <strong>de</strong> <strong>la</strong> computadora como herrami<strong>en</strong>ta <strong>de</strong><br />
apr<strong>en</strong>dizaje, pero su <strong>de</strong>sv<strong>en</strong>taja es que <strong>la</strong> mayoría <strong>de</strong> ellos son muy caros; <strong>en</strong>tre estos<br />
productos po<strong>de</strong>mos m<strong>en</strong>cionar: máquinas lectoras para ciegos, <strong>en</strong>señanza asistida por<br />
ord<strong>en</strong>ador, terminales par<strong>la</strong>ntes, tec<strong>la</strong>dos tipo Braille, ratón o mouse para invid<strong>en</strong>tes,<br />
por m<strong>en</strong>cionar algunos [3]. A<strong>de</strong>más, se han creado software <strong>de</strong> diversos tipos para<br />
personas que pres<strong>en</strong>t<strong>en</strong> estas características; por m<strong>en</strong>cionar algunos exist<strong>en</strong> programas<br />
<strong>de</strong>: <strong>en</strong>tret<strong>en</strong>imi<strong>en</strong>to, vi<strong>de</strong>ojuegos, lectura <strong>de</strong> pantal<strong>la</strong>s (Scre<strong>en</strong> Rea<strong>de</strong>rs) [9],<br />
reconocimi<strong>en</strong>to <strong>de</strong> voz y texto, <strong>sitio</strong>s web <strong>de</strong> bibliotecas digitales [10]. Pero aún con<br />
estas innovaciones se consi<strong>de</strong>ra que no se ha aprovechado al máximo los recursos que<br />
ofrece <strong>la</strong> red internet para apoyar más a los invid<strong>en</strong>tes; ya que se consi<strong>de</strong>ra que es un<br />
<strong>de</strong>scuido <strong>de</strong> parte <strong>de</strong> los webmasters <strong>la</strong> no creación <strong>de</strong> <strong>sitio</strong>s más estándares porque<br />
el hecho <strong>de</strong> que una persona pres<strong>en</strong>te esta discapacidad no le impi<strong>de</strong> b<strong>en</strong>eficiarse <strong>de</strong> <strong>la</strong><br />
información y <strong>la</strong>s nuevas tecnologías, a <strong>la</strong> cual todos t<strong>en</strong>emos <strong>de</strong>recho. Por otro <strong>la</strong>do,<br />
ya que internet actualm<strong>en</strong>te es consi<strong>de</strong>rada una <strong>de</strong> <strong>la</strong>s herrami<strong>en</strong>tas más importantes<br />
<strong>de</strong> comunicación <strong>en</strong>tre <strong>la</strong>s personas a nivel mundial, es preciso que estas personas<br />
t<strong>en</strong>gan a su disposición aplicaciones <strong>de</strong> comunicación especializada; pero <strong>la</strong> realidad<br />
es que éstos son proyectos que aún se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong> vías <strong>de</strong> <strong>de</strong>sarrollo y <strong>la</strong>s que<br />
exist<strong>en</strong> no están disponibles para los usuarios g<strong>en</strong>erales. En <strong>la</strong> actualidad, los<br />
conversores texto a voz están alcanzando un nivel <strong>de</strong> calidad que posibilita su uso <strong>en</strong><br />
aplicaciones tanto personales como dirigidas al público <strong>en</strong> g<strong>en</strong>eral. Esta tecnología va<br />
aunada al reconocimi<strong>en</strong>to <strong>de</strong> voz el cual ofrece v<strong>en</strong>tajas tales como: una manera más<br />
rápida <strong>de</strong> introducir datos, comodidad al no t<strong>en</strong>er que estar utilizando el tec<strong>la</strong>do o el<br />
ratón (mouse) para <strong>la</strong> captura <strong>de</strong> información, no es necesario utilizar el s<strong>en</strong>tido<br />
visual, porque no se requiere estar <strong>de</strong> manera perman<strong>en</strong>te <strong>de</strong><strong>la</strong>nte <strong>de</strong> un monitor y<br />
a<strong>de</strong>más permite <strong>la</strong> realización <strong>de</strong> otras activida<strong>de</strong>s manuales o visuales mi<strong>en</strong>tras se<br />
utiliza <strong>la</strong> computadora [4]. A<strong>de</strong>más, para <strong>la</strong> e<strong>la</strong>boración <strong>de</strong> este proyecto se hizo un<br />
estudio acerca <strong>de</strong> <strong>la</strong>s metodologías y conceptos <strong>de</strong> <strong>la</strong> interacción humano<br />
computadora, disciplina que conti<strong>en</strong>e todos los parámetros requeridos para diseñar<br />
sistemas efici<strong>en</strong>tes, usables y funcionales. La interacción humano-computadora<br />
(HCI) maneja un concepto c<strong>la</strong>ve d<strong>en</strong>ominado usabilidad, el cual consiste <strong>en</strong> hacer<br />
sistemas fáciles <strong>de</strong> utilizar y <strong>de</strong> apr<strong>en</strong><strong>de</strong>r [5]. Para obt<strong>en</strong>er una aplicación que cump<strong>la</strong><br />
con estos aspectos, se <strong>de</strong>b<strong>en</strong> <strong>en</strong>t<strong>en</strong><strong>de</strong>r, analizar y evaluar los factores que <strong>de</strong>terminan<br />
cómo <strong>la</strong> g<strong>en</strong>te opera <strong>la</strong>s tecnologías, para <strong>en</strong>tonces proce<strong>de</strong>r a <strong>de</strong>sarrol<strong>la</strong>r herrami<strong>en</strong>tas<br />
y técnicas que garantic<strong>en</strong> que el sistema va a realizar <strong>la</strong>s activida<strong>de</strong>s para <strong>la</strong>s que ha
sido diseñada [5], y que a <strong>la</strong> vez proporcione una interacción efici<strong>en</strong>te, efectiva y<br />
segura para aquellos usuarios que pres<strong>en</strong>t<strong>en</strong> algún tipo <strong>de</strong> discapacidad. Es por esto<br />
que con el avance <strong>de</strong> <strong>la</strong> tecnología se ha hecho necesario <strong>de</strong>sarrol<strong>la</strong>r software que<br />
permita a personas con discapacida<strong>de</strong>s t<strong>en</strong>er acceso a <strong>la</strong> información a través <strong>de</strong> los<br />
sistemas <strong>de</strong> cómputo, ya que existe mucha información <strong>en</strong> <strong>la</strong> red, pero<br />
<strong>la</strong>m<strong>en</strong>tablem<strong>en</strong>te no se <strong>en</strong>cu<strong>en</strong>tra al alcance <strong>de</strong> todas <strong>la</strong>s personas, por lo que este caso<br />
<strong>de</strong> estudio está ori<strong>en</strong>tado al estudio e implem<strong>en</strong>tación <strong>de</strong> una interfaz <strong>de</strong> comunicación<br />
<strong>en</strong> línea para personas invid<strong>en</strong>tes; por lo tanto se pue<strong>de</strong> <strong>de</strong>cir que <strong>la</strong> necesidad por<br />
<strong>en</strong>tab<strong>la</strong>r dicha forma <strong>de</strong> comunicación se está increm<strong>en</strong>tando [2].<br />
3. Solución propuesta<br />
Elsistema<strong>de</strong>comunicaciónparainvid<strong>en</strong>tesabordaelárea<strong>de</strong><strong>la</strong>comunicacióna<br />
través <strong>de</strong> <strong>la</strong> conversión texto a voz <strong>en</strong> idioma español, implem<strong>en</strong>tado <strong>en</strong> una interfaz<br />
que consiste <strong>en</strong> un m<strong>en</strong>sajero instantáneo. Esta herrami<strong>en</strong>ta ha sido <strong>de</strong>sarrol<strong>la</strong>da para<br />
proporcionar a <strong>la</strong> pob<strong>la</strong>ción con discapacidad visual y a <strong>la</strong>s personas que lo requieran,<br />
<strong>la</strong> oportunidad <strong>de</strong> comunicarse <strong>en</strong> línea con otras que pres<strong>en</strong>t<strong>en</strong> <strong>la</strong>s mismas<br />
dificulta<strong>de</strong>s o con cualquier persona que se <strong>en</strong>cu<strong>en</strong>tre <strong>en</strong> <strong>la</strong> red. Dicho proyecto tomó<br />
como caso <strong>de</strong> estudio y aplicación a <strong>la</strong> organización CREE <strong>de</strong>l estado <strong>de</strong> Colima,<br />
institución que fue creada con <strong>la</strong> misión <strong>de</strong> prestar at<strong>en</strong>ción y servicios <strong>de</strong><br />
incorporación integral médica, educativa y profesional a <strong>la</strong> pob<strong>la</strong>ción con<br />
discapacidad. Los objetivos específicos <strong>de</strong>sarrol<strong>la</strong>dos <strong>en</strong> este trabajo consistieron <strong>en</strong><br />
docum<strong>en</strong>tar y evaluar los software <strong>de</strong> programación que actualm<strong>en</strong>te exist<strong>en</strong> para<br />
<strong>de</strong>sarrol<strong>la</strong>r aplicaciones <strong>de</strong> conversión <strong>de</strong> texto-voz <strong>en</strong> idioma español, los cuales<br />
repres<strong>en</strong>tan <strong>la</strong> herrami<strong>en</strong>ta básica para llevar a cabo este proyecto. A<strong>de</strong>más se<br />
analizaron <strong>la</strong>s metodologías adoptadas por <strong>la</strong>s teorías <strong>de</strong> Interacción Humano-<br />
Computadora (HCI) y se aplicaron <strong>la</strong>s directrices que <strong>de</strong>scrib<strong>en</strong> como realizar el<br />
<strong>de</strong>sarrollo <strong>de</strong> aplicaciones para personas que pres<strong>en</strong>tan algún tipo <strong>de</strong> discapacidad [5];<br />
<strong>de</strong>spués se procedió a analizar, diseñar y crear una interfaz <strong>de</strong> comunicación<br />
accesible, efici<strong>en</strong>te, y amigable para dichos usuarios, el cual fue evaluado mediante<br />
una prueba piloto aplicada a una muestra <strong>de</strong> <strong>la</strong> pob<strong>la</strong>ción con discapacidad visual <strong>de</strong>l<br />
C<strong>en</strong>tro <strong>de</strong> Tecnología Adaptada <strong>de</strong> <strong>la</strong> Organización CREE, qui<strong>en</strong>es son los<br />
usuarios directos <strong>de</strong>l mismo [6]. Dicha área ha sido <strong>de</strong>stinada a brindar a <strong>la</strong> pob<strong>la</strong>ción<br />
con discapacidad y/o necesida<strong>de</strong>s educativas especiales, <strong>la</strong>s herrami<strong>en</strong>tas <strong>de</strong> cómputo<br />
necesarias que les permitan una rehabilitación más rápida a través <strong>de</strong>l uso clínico o<br />
pedagógico <strong>de</strong> éstas. La pob<strong>la</strong>ción con discapacidad visual que se ati<strong>en</strong><strong>de</strong> <strong>en</strong> el CREE<br />
asci<strong>en</strong><strong>de</strong> a 43 personas, <strong>la</strong>s cuales están afiliadas a <strong>la</strong> Organización <strong>de</strong> Ciegos<br />
Colim<strong>en</strong>ses y asist<strong>en</strong> a dicho c<strong>en</strong>tro <strong>de</strong> rehabilitación porque el mismo les ofrece <strong>la</strong><br />
infraestructura y tecnologías necesarias para su <strong>de</strong>sarrollo [14]. En otros términos, <strong>la</strong><br />
problemática que afronta el CREE ante los invid<strong>en</strong>tes gira <strong>en</strong>torno a necesida<strong>de</strong>s<br />
educativas, <strong>de</strong> capacitación y <strong>de</strong> ori<strong>en</strong>tación <strong>en</strong> el p<strong>la</strong>no social y <strong>la</strong>boral (ver Tab<strong>la</strong> 1).
Tab<strong>la</strong> 1. Necesida<strong>de</strong>s específicas <strong>de</strong> los invid<strong>en</strong>tes <strong>de</strong>l CREE.<br />
El hombre necesita comunicarse por naturaleza, y esto es lo que le ha llevado a<br />
buscar nuevas formas <strong>de</strong> comunicación durante toda su exist<strong>en</strong>cia, <strong>de</strong>s<strong>de</strong> los sistemas<br />
Morse pasando por <strong>la</strong> radio y el teléfono, los cuales <strong>en</strong> síntesis constituy<strong>en</strong> el orig<strong>en</strong><br />
<strong>de</strong> lo que actualm<strong>en</strong>te se conoce como <strong>la</strong>s “autopistas <strong>de</strong> <strong>la</strong> información”. Esta<br />
es<strong>en</strong>cia comunicativa, junto al constante <strong>de</strong>sarrollo tecnológico, abaratami<strong>en</strong>to y<br />
variedad exist<strong>en</strong>te <strong>en</strong> los equipos informáticos, han aportado gran<strong>de</strong>s v<strong>en</strong>tajas a <strong>la</strong><br />
humanidad, ya que <strong>la</strong> computadora, dispositivos periféricos, software o aplicaciones y<br />
<strong>la</strong>s re<strong>de</strong>s telemáticas han llegado a formar parte es<strong>en</strong>cial <strong>en</strong> casi todos los aspectos <strong>de</strong><br />
<strong>la</strong> vida diaria. Esta nueva g<strong>en</strong>eración al acceso, manejo, emisión y recepción <strong>de</strong> todo<br />
tipo <strong>de</strong> información se <strong>en</strong>cu<strong>en</strong>tra inmersa bajo el concepto <strong>de</strong> HCI. La tecnología<br />
actual, int<strong>en</strong>ta que dicha interacción <strong>de</strong>l hombre con <strong>la</strong>s máquinas, sea lo más natural<br />
posible <strong>en</strong> el s<strong>en</strong>tido <strong>de</strong> posibilitar una comunicación oral con <strong>la</strong>s mismas, y así<br />
obt<strong>en</strong>er un mayor acercami<strong>en</strong>to por parte <strong>de</strong> ambos elem<strong>en</strong>tos; lo que no es una tarea<br />
<strong>de</strong>masiado s<strong>en</strong>cil<strong>la</strong>, cuando nos referimos a personas que no están habituadas a <strong>la</strong><br />
informática o que v<strong>en</strong> a esta rama <strong>de</strong> estudios como algo imposible por su dificultad<br />
<strong>en</strong> el <strong>en</strong>torno visual. En consecu<strong>en</strong>cia, el SCI se basa <strong>en</strong> <strong>la</strong>s teorías HCI y <strong>en</strong> <strong>la</strong>s<br />
mo<strong>de</strong>rnas técnicas <strong>de</strong> conversión texto-voz, con el objetivo <strong>de</strong> obt<strong>en</strong>er una<br />
comunicación e interacción con diversas personas <strong>de</strong> manera ord<strong>en</strong>ada, sofisticada y<br />
efici<strong>en</strong>te. Para los discapacitados visuales resulta imposible <strong>la</strong> utilización <strong>de</strong> ratones y<br />
dispositivos <strong>de</strong> seña<strong>la</strong>mi<strong>en</strong>to, por esta razón el tec<strong>la</strong>do repres<strong>en</strong>ta el único medio<br />
disponible para dar instrucciones a <strong>la</strong> computadora; y su uso cotidiano permite<br />
adaptarse fácil y rápidam<strong>en</strong>te a su <strong>en</strong>torno. A<strong>de</strong>más, los tec<strong>la</strong>dos <strong>de</strong> computadora<br />
cu<strong>en</strong>tan con un relieve <strong>en</strong> <strong>la</strong>s tec<strong>la</strong>s F, J y 5; lo cual le permite a estas personas t<strong>en</strong>er<br />
un marco <strong>de</strong> refer<strong>en</strong>cia para así increm<strong>en</strong>tar <strong>la</strong>s <strong>de</strong>strezas <strong>en</strong> su manejo [13]. Basado<br />
<strong>en</strong> estos análisis se <strong>de</strong>cidió utilizar <strong>la</strong>s tec<strong>la</strong>s <strong>de</strong> función como patrón <strong>de</strong> diseño para<br />
acce<strong>de</strong>r más rápidam<strong>en</strong>te a <strong>la</strong>s principales funciones <strong>de</strong>l sistema <strong>de</strong> síntesis <strong>de</strong> voz,<br />
ya que <strong>de</strong> esta manera se ofrece al invid<strong>en</strong>te un camino directo y específico sobre el<br />
cual se <strong>de</strong>s<strong>en</strong>volverá <strong>de</strong> forma amigable e in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te <strong>en</strong> el mismo. Por lo tanto,<br />
una <strong>de</strong>limitación <strong>de</strong> este proyecto radica <strong>en</strong> que los usuarios (discapacitados visuales)
que utilic<strong>en</strong> esta interfaz <strong>de</strong>b<strong>en</strong> t<strong>en</strong>er conocimi<strong>en</strong>tos básicos <strong>de</strong> informática y saber<br />
manejar el tec<strong>la</strong>do, para que puedan accesar sin mayor dificultad al sistema operativo<br />
<strong>de</strong> <strong>la</strong> computadora y por consigui<strong>en</strong>te, directam<strong>en</strong>te al sistema. Dicha interfaz guía al<br />
usuario mediante una serie <strong>de</strong> instrucciones hab<strong>la</strong>das que facilitan al mismo su<br />
interacción con <strong>la</strong> herrami<strong>en</strong>ta, ya que ha sido <strong>de</strong>sarrol<strong>la</strong>da para que sea una<br />
aplicación s<strong>en</strong>cil<strong>la</strong> y amigable para estas personas. El análisis y diseño <strong>de</strong>l Sistema <strong>de</strong><br />
Comunicación para Invid<strong>en</strong>tes se basó <strong>en</strong> una metodología <strong>de</strong> diseño ori<strong>en</strong>tada a<br />
objetos conocida como UML (Unified Mo<strong>de</strong>ling Language), el cual es un l<strong>en</strong>guaje<br />
con una notación estándar internacional formado <strong>de</strong> una serie <strong>de</strong> reg<strong>la</strong>s y múltiples<br />
elem<strong>en</strong>tos gráficos que se combinan para conformar notaciones y diagramas<br />
estándares, permiti<strong>en</strong>do construir mo<strong>de</strong>los precisos y completos; a<strong>de</strong>más <strong>de</strong> <strong>de</strong>scribir<br />
<strong>la</strong> semántica es<strong>en</strong>cial <strong>de</strong> lo que éstas repres<strong>en</strong>taciones y símbolos significan, por lo<br />
que es consi<strong>de</strong>rado el proveedor <strong>de</strong> los p<strong>la</strong>nos <strong>de</strong>l software [7].<br />
Básicam<strong>en</strong>te, <strong>la</strong>s aportaciones y b<strong>en</strong>eficios que el sistema propuesto ofrece a los<br />
invid<strong>en</strong>tes con respecto a otros esfuerzos son notables (ver Tab<strong>la</strong> 2).<br />
Tab<strong>la</strong> 2. V<strong>en</strong>tajas <strong>de</strong>l SCI con respecto a otros sistemas <strong>de</strong> m<strong>en</strong>sajería instantánea y chat.<br />
El <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> herrami<strong>en</strong>ta <strong>de</strong> comunicación SCI, sebasa<strong>en</strong>losparámetros<strong>de</strong><br />
<strong>la</strong> conversión texto-voz, pero apoyado <strong>en</strong> los nuevos kits o paquetes <strong>de</strong> <strong>de</strong>sarrollo que<br />
ofrece Microsoft, para <strong>la</strong> implem<strong>en</strong>tación <strong>de</strong> aplicaciones TTS. Al trabajar con esta<br />
tecnología <strong>la</strong> voz sintetizada que se obti<strong>en</strong>e <strong>en</strong> el canal <strong>de</strong> recepción pres<strong>en</strong>ta mayor<br />
calidad, ya que estas herrami<strong>en</strong>tas <strong>de</strong> programación han sido sofisticadas <strong>en</strong>torno a<br />
aspectos tales como <strong>la</strong> <strong>en</strong>tonación, expresión <strong>de</strong> emociones y otros parámetros que<br />
proporcionan naturalidad a <strong>la</strong> voz obt<strong>en</strong>ida. El <strong>de</strong>sarrollo <strong>de</strong> esta aplicación se ha<br />
basado <strong>en</strong> <strong>la</strong>s sigui<strong>en</strong>tes herrami<strong>en</strong>tas:<br />
Microsoft Ag<strong>en</strong>t Ring”, ag<strong>en</strong>tes <strong>de</strong> sonido [8].<br />
Microsoft ActiveX Controls, Text To Speech.<br />
los cuales trabajan bajo el <strong>en</strong>torno <strong>de</strong> <strong>la</strong> herrami<strong>en</strong>ta <strong>de</strong> programación Microsoft<br />
Visual Basic 6.0. En consecu<strong>en</strong>cia, el modo <strong>de</strong> operación <strong>de</strong>l sistema consiste <strong>en</strong> lo<br />
sigui<strong>en</strong>te: cuando el usuario va a ingresar a <strong>la</strong> aplicación, automáticam<strong>en</strong>te <strong>la</strong> interfaz<br />
le brinda <strong>de</strong> forma oral todas <strong>la</strong>s indicaciones <strong>de</strong> cómo acce<strong>de</strong>r a cada una <strong>de</strong> <strong>la</strong>s<br />
funciones que realiza <strong>la</strong> misma, <strong>en</strong>tre <strong>la</strong>s cuales se <strong>en</strong>cu<strong>en</strong>tra <strong>la</strong>s opciones <strong>de</strong>:<br />
<br />
conectarse a <strong>la</strong> aplicación.
establecer comunicación con un usuario mediante <strong>la</strong> selección o búsqueda<br />
<strong>de</strong>l contacto.<br />
conocer <strong>la</strong> lista <strong>de</strong> usuarios que se <strong>en</strong>cu<strong>en</strong>tran activos <strong>en</strong> el mom<strong>en</strong>to.<br />
interactuar <strong>de</strong> forma s<strong>en</strong>cil<strong>la</strong> con nueve personas a <strong>la</strong> vez.<br />
cance<strong>la</strong>r o terminar <strong>la</strong> conversación establecida <strong>en</strong> cada una <strong>de</strong> <strong>la</strong>s v<strong>en</strong>tanas<br />
<strong>de</strong> <strong>la</strong> m<strong>en</strong>sajería instantánea, y<br />
salir por completo <strong>de</strong> <strong>la</strong> aplicación.<br />
Por lo tanto, ahora se proce<strong>de</strong>rá a <strong>de</strong>scribir <strong>de</strong> forma g<strong>en</strong>eral el funcionami<strong>en</strong>to <strong>de</strong><br />
esta herrami<strong>en</strong>ta. Para empezar el usuario <strong>de</strong>be darse <strong>de</strong> alta <strong>en</strong> el sistema (ver Figura<br />
1), lo cual se ejecuta <strong>de</strong> manera s<strong>en</strong>cil<strong>la</strong> ya que como se dijo anteriorm<strong>en</strong>te toda <strong>la</strong><br />
interfaz cu<strong>en</strong>ta con una guía hab<strong>la</strong>da; <strong>de</strong> inmediato el sistema le comunicará al usuario<br />
que se ha conectado al mismo y a <strong>la</strong> vez le brinda <strong>la</strong>s indicaciones para que pueda<br />
iniciar <strong>la</strong> comunicación con <strong>la</strong>s personas que <strong>de</strong>see (ver Figura 2).<br />
Figura 1. Interfaz principal <strong>de</strong>l SCI.<br />
Figura 2. Interfaz <strong>de</strong> selección<br />
ybúsqueda<strong>de</strong>contactos.<br />
El usuario pue<strong>de</strong> seleccionar a <strong>la</strong>(s) persona(s) con <strong>la</strong> que <strong>de</strong>sea <strong>en</strong>tab<strong>la</strong>r <strong>la</strong><br />
comunicación texto-voz presionando <strong>la</strong> tec<strong>la</strong> <strong>de</strong> función F11 y <strong>en</strong> cuanto escuche el<br />
nombre <strong>de</strong> usuario <strong>de</strong> <strong>la</strong> persona <strong>en</strong> cuestión, <strong>de</strong>be presionar <strong>en</strong>ter; recordando que<br />
sólo podrá interactuar con nueve usuarios a <strong>la</strong> vez, como método <strong>de</strong> control inicial <strong>en</strong><br />
el <strong>de</strong>sarrollo y manejo <strong>de</strong> esta herrami<strong>en</strong>ta. Después <strong>de</strong> que el emisor selecciona a <strong>la</strong><br />
persona con <strong>la</strong> que se <strong>de</strong>sea comunicarse, automáticam<strong>en</strong>te se le activa una v<strong>en</strong>tana <strong>en</strong><br />
<strong>la</strong> cual él pue<strong>de</strong> escribir los m<strong>en</strong>sajes que <strong>de</strong>sea <strong>en</strong>viarle. Dichos m<strong>en</strong>sajes van a llegar<br />
<strong>de</strong> manera escrita y transformados <strong>en</strong> voz al canal <strong>de</strong> recepción <strong>de</strong> <strong>la</strong> comunicación,<br />
y lo mismo suce<strong>de</strong> con los m<strong>en</strong>sajes que le llegan a <strong>la</strong> persona que inicialm<strong>en</strong>te era el<br />
emisor, el cual <strong>en</strong> este caso pasa a ser receptor. Otra <strong>de</strong> <strong>la</strong>s funciones más relevantes<br />
<strong>de</strong> este sistema consiste <strong>en</strong> <strong>la</strong> búsqueda personalizada <strong>de</strong> usuarios, <strong>la</strong> cual se hace<br />
activando <strong>la</strong> tec<strong>la</strong> <strong>de</strong> función F12 y <strong>la</strong> interfaz le <strong>de</strong>spliega una pequeña v<strong>en</strong>tana <strong>de</strong><br />
forma automática <strong>en</strong> <strong>la</strong> cual pue<strong>de</strong> escribir el nombre <strong>de</strong> usuario <strong>de</strong> <strong>la</strong> persona que
<strong>de</strong>sea contactar. Si <strong>la</strong> persona se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> línea, <strong>de</strong> inmediato se activará <strong>la</strong><br />
v<strong>en</strong>tana <strong>de</strong> conversación con el mismo; <strong>de</strong> otro modo el sistema le comunicará a<br />
través <strong>de</strong> voz y también <strong>de</strong> forma escrita que dicho usuario no se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> línea <strong>en</strong><br />
ese mom<strong>en</strong>to. Por último, el usuario pue<strong>de</strong> culminar <strong>la</strong> conversación con sus contactos<br />
o salir por completo <strong>de</strong> <strong>la</strong> aplicación tan sólo presionando <strong>la</strong> tec<strong>la</strong> escape. Para<strong>la</strong><br />
evaluación <strong>de</strong>l sistema se utilizó el cuestionario SUS (System Usability Scale), el cual<br />
se ajustó al caso <strong>de</strong> estudio <strong>en</strong> cuestión. SUS fue <strong>de</strong>sarrol<strong>la</strong>do <strong>en</strong> el año <strong>de</strong> 1986 como<br />
parte <strong>de</strong> <strong>la</strong> introducción <strong>de</strong> <strong>la</strong> ing<strong>en</strong>iería <strong>de</strong> usabilidad y ha <strong>de</strong>mostrado ser una<br />
herrami<strong>en</strong>ta valiosa para <strong>la</strong> evaluación, ya que es un sistema robusto y confiable,<br />
a<strong>de</strong>más <strong>de</strong> que corre<strong>la</strong>ciona bi<strong>en</strong> sus datos con otros sistemas <strong>de</strong> medida [15]. Según<br />
los datos obt<strong>en</strong>idos <strong>de</strong> acuerdo al análisis efectuado durante <strong>la</strong> prueba piloto, el SCI<br />
obtuvo una puntuación SUS <strong>de</strong> 63.75, lo cual lo sitúa <strong>en</strong> un nivel <strong>de</strong> usabilidad<br />
aceptable pero que a <strong>la</strong> vez se pue<strong>de</strong> mejorar. Este proyecto brinda tanto a <strong>la</strong> sociedad<br />
con discapacidad visual <strong>de</strong>l CREE, como <strong>de</strong> otras localida<strong>de</strong>s <strong>la</strong> oportunidad <strong>de</strong> po<strong>de</strong>r<br />
interactuar con otras personas que pres<strong>en</strong>t<strong>en</strong> <strong>la</strong>s mismas características o no; con el<br />
objetivo <strong>de</strong> que compartan experi<strong>en</strong>cias, conocimi<strong>en</strong>tos, diversión, <strong>en</strong>tret<strong>en</strong>imi<strong>en</strong>to y<br />
lo más importante radical <strong>en</strong> que su mundo social se expanda y no se que<strong>de</strong> tan<br />
limitado como hasta el mom<strong>en</strong>to ha sido para estas personas especiales. La primera<br />
fase <strong>de</strong> este proyecto está concluida pero el SCI pue<strong>de</strong> ser complem<strong>en</strong>tado con<br />
múltiples funciones <strong>en</strong>tre el<strong>la</strong>s: <strong>en</strong>vío <strong>de</strong> archivos, interacción con más <strong>de</strong> nueve<br />
personas a <strong>la</strong> vez, adaptación a otros idiomas, historial <strong>de</strong> m<strong>en</strong>sajes por cada usuario,<br />
adaptación <strong>de</strong> código fu<strong>en</strong>te a PHP ó ASP y p<strong>la</strong>taforma Linux; <strong>en</strong>tre otros aspectos.<br />
4. Conclusiones<br />
La herrami<strong>en</strong>ta SCI es una interfaz <strong>de</strong> comunicación ori<strong>en</strong>tada a usuarios con<br />
discapacidad visual, <strong>la</strong> cual se basa <strong>en</strong> <strong>la</strong> transmisión <strong>de</strong> información <strong>en</strong> línea<br />
(m<strong>en</strong>sajería instantánea), <strong>en</strong> don<strong>de</strong> los datos que el emisor <strong>en</strong>vía <strong>de</strong> manera escrita a<br />
través <strong>de</strong>l canal <strong>de</strong> comunicación llegan al receptor transformados <strong>en</strong> voz. Su<br />
importancia radica <strong>en</strong> que es un sistema especializado, ya que el análisis, diseño y<br />
construcción <strong>de</strong> esta herrami<strong>en</strong>ta se ha fundam<strong>en</strong>tado <strong>en</strong> <strong>la</strong>s técnicas <strong>de</strong>l UML, los<br />
conceptos básicos propuestos por <strong>la</strong>s metodologías HCI, <strong>en</strong>tre otros aspectos <strong>de</strong> igual<br />
relevancia; lo que ha permitido obt<strong>en</strong>er una aplicación que ofrece <strong>la</strong> interacción <strong>de</strong><br />
estos usuarios con <strong>la</strong> misma y por lo tanto con otras personas que pres<strong>en</strong>t<strong>en</strong> o no <strong>la</strong>s<br />
mismas <strong>de</strong>bilida<strong>de</strong>s, ya que también pue<strong>de</strong> ser utilizada por un individuo que no sea<br />
invid<strong>en</strong>te,porque<strong>la</strong>interfazofrecetantounaguíahab<strong>la</strong>dacomoescrita<strong>de</strong>cadauna<br />
<strong>de</strong> <strong>la</strong>s funciones que realiza. Para lograr este objetivo se procedió a analizar y evaluar<br />
ciertos parámetros que se consi<strong>de</strong>raron relevantes al mom<strong>en</strong>to <strong>de</strong> implem<strong>en</strong>tar dicha<br />
herrami<strong>en</strong>ta, tales como los niveles <strong>de</strong> aceptación, usabilidad y utilidad, los cuales<br />
obtuvieron un porc<strong>en</strong>taje altam<strong>en</strong>te satisfactorio <strong>en</strong> los resultados <strong>de</strong> <strong>la</strong> prueba piloto<br />
que se aplicó a los participantes con discapacidad visual <strong>de</strong> dicho estudio. Esta<br />
aplicación es <strong>de</strong> adquisición gratuita y se <strong>en</strong>contrará disponible <strong>en</strong> <strong>la</strong> red Internet para<br />
que <strong>la</strong> persona que <strong>la</strong> consi<strong>de</strong>re, útil <strong>la</strong> <strong>de</strong>scargue <strong>en</strong> su computadora personal (PC) y<br />
logre una efici<strong>en</strong>te y fácil comunicación <strong>en</strong> línea.
5. Agra<strong>de</strong>cimi<strong>en</strong>tos<br />
Por su invaluable ayuda <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> este proyecto <strong>de</strong> tesis, mil gracias a mis<br />
gran<strong>de</strong>s amigos: Ironelis, Lucy, Marko, Lyz, Miguel y especialm<strong>en</strong>te a mi familia.<br />
6. Refer<strong>en</strong>cias<br />
[1] J. Saramago, Ensayo sobre <strong>la</strong> ceguera, México: Agui<strong>la</strong>r, Altea, Taurus,<br />
Alfaguara, S.A, 2001.<br />
[2] A. Molt<strong>en</strong>i, (2003, Mayo 17), “Internet y los discapacitados”, [Online].<br />
http://www.htmlpoint.com/accessibilita/accessibilita_01.htm<br />
[3] I. Galo, (), “Kit <strong>de</strong> acceso a Internet para invid<strong>en</strong>tes”, in Diario <strong>de</strong> Noticias,<br />
Digital ed. Pamplona, 2001.<br />
[4] F. Castejón, J. Esca<strong>la</strong>da, L. Monzón, M. Rodríguez, P. Sanz Ve<strong>la</strong>sco, (2003,<br />
Abril 20), “Un conversor texto-voz para español”, [Online].<br />
http://www.tid.es/pres<strong>en</strong>cia/publicaciones/comsid/esp/articulos/vol52/artic8/8<br />
.html.<br />
[5] B. Schnei<strong>de</strong>rman, Designing the user interface strategies for effective Human<br />
Computer Interaction, Third edition, Addison Wesley Iberoamericana.1998.<br />
[6] M. Casian, C<strong>en</strong>tro <strong>de</strong> Tecnología Adaptada DIF, Colima: CREE. 1998.<br />
[7] G. Booch, J. Rumbaugh, I. Jacobson, El L<strong>en</strong>guaje Unificado De Mo<strong>de</strong><strong>la</strong>do,<br />
Madrid: Addison Wesley Iberoamericana. 1999.<br />
[8] G. Scott Bell, (2003, Mayo 10), “Microsoft Ag<strong>en</strong>t Ring”, [Online].<br />
http://www.msag<strong>en</strong>tring.org/.<br />
[9] RNIB, (2003, Noviembre 19), “Speech Output Systems”, [Online].<br />
http://www.rnib.org.uk/xpedio/groups/public/docum<strong>en</strong>ts/PublicWebsite/publi<br />
c_techspeechword.doc<br />
[10] A. Bianchi, “Recursos <strong>en</strong> Internet: Integración <strong>de</strong> los invid<strong>en</strong>tes al mundo<br />
informatizado”, Boletín informativo Paso a Paso, Universidad <strong>de</strong> Carabobo,<br />
Caracas, (2002, Diciembre).<br />
[11] V. Meaux, (2003, Junio 7), “Guía <strong>de</strong> MSN Mess<strong>en</strong>ger 4.6 con JAWS 3.7 y<br />
4.0”, [Online]. http://www.funcaragol.org/html/gjaws.htm<br />
[12] A. Molt<strong>en</strong>i, (2003, Mayo 17), “Los softwares más utilizados por los<br />
invid<strong>en</strong>tes”,<br />
[Online].<br />
http://www.htmlpoint.com/accessibilita/accessibilita_26.htm<br />
[13] C. Arrio<strong>la</strong>, (2003, Julio 13), “La informática al servicio <strong>de</strong> los invid<strong>en</strong>tes. Un<br />
caso <strong>de</strong> <strong>la</strong> vida real”, [Online]. www.ciberhabitat.com/hospital/testimonio/<br />
[14] M. Casian, C<strong>en</strong>tro <strong>de</strong> Tecnología Adaptada DIF-Colima, Colima: CREE.<br />
1998.<br />
[15] Jordan et al., Usability evaluation in industry, London, UK: Taylor &<br />
Francis. 1996.
Hacia un Sistema <strong>de</strong> Diagnóstico y Comp<strong>en</strong>sación <strong>de</strong><br />
Dislexia para Niños <strong>de</strong> Nivel Primaria<br />
Mario A Mor<strong>en</strong>o Rocha 1 , Rosario Peralta Calvo 2 , Ricardo Ruiz Rodríguez 3<br />
Cuerpo Académico <strong>de</strong> Ing<strong>en</strong>iería <strong>de</strong> Software, Universidad Tecnológica <strong>de</strong> <strong>la</strong> Mixteca,<br />
Km. 2.5 Carretera a Acatlima, Huajuapan <strong>de</strong> León, Oaxaca 69000, México<br />
Tel. +52 (953) 53 20399 ext 200<br />
{mmor<strong>en</strong>o 1 , mcalvo 2 , rruiz 3 }@mixteco.utm.mx<br />
Abstract. This article will pres<strong>en</strong>t <strong>de</strong>velopm<strong>en</strong>t being done for a computer system aimed to<br />
primary school level childr<strong>en</strong>, which diagnoses and comp<strong>en</strong>sates dyslexia, exp<strong>la</strong>ining how<br />
Human-Computer Interaction and the utilisation of new technologies are ess<strong>en</strong>tial in this<br />
<strong>de</strong>velopm<strong>en</strong>t. It will also discuss how this system could support childr<strong>en</strong> with a learning<br />
disability, dyslexia in this case, in their scho<strong>la</strong>r achievem<strong>en</strong>t.<br />
Resum<strong>en</strong>. En el pres<strong>en</strong>te artículo se dará a conocer el <strong>de</strong>sarrollo que se está sigui<strong>en</strong>do para <strong>la</strong><br />
conformación <strong>de</strong> un sistema <strong>de</strong> cómputo para el diagnóstico y comp<strong>en</strong>sación <strong>de</strong> niños con<br />
dislexia <strong>de</strong> nivel primaria, explicando cómo <strong>la</strong> Interacción Humano-Computadora y <strong>la</strong> aplicación<br />
<strong>de</strong> nuevas tecnologías son parte es<strong>en</strong>cial <strong>en</strong> este <strong>de</strong>sarrollo. También se discutirá cómo este<br />
sistema pudiera apoyar a niños que pres<strong>en</strong>t<strong>en</strong> alguna discapacidad <strong>de</strong> apr<strong>en</strong>dizaje, <strong>en</strong> este caso<br />
dislexia, <strong>en</strong> su <strong>de</strong>sempeño esco<strong>la</strong>r.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve: Discapacidad <strong>de</strong> apr<strong>en</strong>dizaje, dislexia, usabilidad, HCI.<br />
1. Introducción<br />
Como es <strong>de</strong> todos conocido, <strong>la</strong> computadora ayuda a <strong>la</strong> automatización <strong>de</strong><br />
innumerables procesos. Su uso se ha ampliado a otras áreas, como <strong>en</strong> el caso <strong>de</strong> <strong>la</strong><br />
Educación Especial. A través <strong>de</strong> difer<strong>en</strong>tes programas <strong>de</strong> aplicación o software<br />
especializado, se han apoyado, a través <strong>de</strong> los años, a personas con necesida<strong>de</strong>s<br />
educativas especiales. [7]. Los estudios muestran que los niños con problemas <strong>de</strong> este<br />
tipo constituy<strong>en</strong> aproximadam<strong>en</strong>te <strong>en</strong>tre el 3% y 6% <strong>de</strong> <strong>la</strong> pob<strong>la</strong>ción estudiantil<br />
estadounid<strong>en</strong>se. El Departam<strong>en</strong>to <strong>de</strong> Educación <strong>de</strong> los Estados Unidos afirma que<br />
aproximadam<strong>en</strong>te un cinco por ci<strong>en</strong>to <strong>de</strong> <strong>la</strong> pob<strong>la</strong>ción <strong>de</strong> una escue<strong>la</strong> pue<strong>de</strong> t<strong>en</strong>er<br />
problemas <strong>de</strong> apr<strong>en</strong>dizaje [5]. En México, a saber, no exist<strong>en</strong> estudios tan completos<br />
como éstos, pero <strong>en</strong>tre <strong>la</strong>s discapacida<strong>de</strong>s <strong>de</strong> apr<strong>en</strong>dizaje más importantes <strong>en</strong>tre niños<br />
<strong>de</strong> nivel primara, po<strong>de</strong>mos <strong>en</strong>contrar el Déficit <strong>de</strong> At<strong>en</strong>ción (ADD), discalculia y<br />
dislexia, <strong>en</strong>tre otros.<br />
La dislexia es causada por dificulta<strong>de</strong>s <strong>en</strong> el sistema nervioso c<strong>en</strong>tral que afecta <strong>la</strong><br />
habilidad <strong>de</strong> escritura. Más específicam<strong>en</strong>te, el individuo pue<strong>de</strong> pres<strong>en</strong>tar problemas al<br />
recordar, reconocer, invertir letras, o t<strong>en</strong>er una pobre escritura [4], todas el<strong>la</strong>s<br />
habilida<strong>de</strong>s básicas <strong>en</strong> esta etapa temprana <strong>de</strong> apr<strong>en</strong>dizaje. La dislexia, a través <strong>de</strong>
terapias especiales, pue<strong>de</strong> comp<strong>en</strong>sarse para ayudar al niño a que continúe su<br />
educación básica. El diagnóstico y tratami<strong>en</strong>to <strong>de</strong> dislexia, un proceso <strong>la</strong>rgo y difícil, es<br />
realizado por maestros <strong>en</strong> Educación Especial.<br />
En <strong>la</strong> Cd. <strong>de</strong> Huajuapan <strong>de</strong> León, Oaxaca, exist<strong>en</strong> pocas instituciones que realizan<br />
esta <strong>la</strong>bor. En un mismo y concurrido salón <strong>de</strong> c<strong>la</strong>ses, <strong>la</strong>s maestras tratan un sinfín <strong>de</strong><br />
discapacida<strong>de</strong>s <strong>de</strong> apr<strong>en</strong>dizaje simultáneam<strong>en</strong>te, disminuy<strong>en</strong>do al mismo tiempo, <strong>la</strong><br />
capacidad <strong>de</strong> su experi<strong>en</strong>cia y tiempo <strong>de</strong>dicado a cada uno <strong>de</strong> los niños. Por esta razón,<br />
se propone el <strong>de</strong>sarrollo <strong>de</strong> un software <strong>de</strong> apoyo para el doc<strong>en</strong>te <strong>de</strong> educación<br />
especial, <strong>en</strong> don<strong>de</strong> se automatizarán algunos <strong>de</strong> los procesos que realiza <strong>en</strong> el salón <strong>de</strong><br />
c<strong>la</strong>ses, para diagnosticar <strong>la</strong> dislexia que pres<strong>en</strong>te el niño y comp<strong>en</strong>sar<strong>la</strong> <strong>en</strong> algunos<br />
aspectos. También se propone utilizar <strong>la</strong>s disciplinas <strong>de</strong> <strong>la</strong> Interacción Humano-<br />
Computadora (UCD, estudios <strong>de</strong> usabilidad, <strong>de</strong>sarrollos <strong>de</strong> interfaces) y <strong>la</strong> aplicación<br />
<strong>de</strong> nuevas tecnologías para <strong>la</strong> solución <strong>de</strong>l problema p<strong>la</strong>nteado.<br />
2. Anteced<strong>en</strong>tes al Sistema y <strong>la</strong> Labor <strong>de</strong>l CASI<br />
Como anteced<strong>en</strong>te a este trabajo, se ti<strong>en</strong>e el <strong>de</strong>sarrol<strong>la</strong>do por A<strong>la</strong>n Newell y Peter<br />
Gregor, qui<strong>en</strong>es <strong>de</strong>scrib<strong>en</strong> <strong>la</strong> forma <strong>en</strong> que un procesador <strong>de</strong> textos pue<strong>de</strong> ayudar a<br />
aliviar algunas dificulta<strong>de</strong>s pres<strong>en</strong>tadas por <strong>la</strong>s personas con dislexia [3]. El pres<strong>en</strong>te<br />
sistema <strong>en</strong> aún <strong>en</strong> <strong>de</strong>sarrollo, a difer<strong>en</strong>cia <strong>de</strong> aquél <strong>de</strong>l Prof. Newell, consi<strong>de</strong>ra el<br />
proceso <strong>de</strong> diagnóstico que <strong>en</strong> un mom<strong>en</strong>to dado se le realizaría al niño que se presume<br />
ti<strong>en</strong>e dislexia, pero únicam<strong>en</strong>te tratando el área esco<strong>la</strong>r, y <strong>en</strong>tre eda<strong>de</strong>s <strong>de</strong> seis y siete<br />
años, consi<strong>de</strong>rando que es un apoyo para el doc<strong>en</strong>te <strong>de</strong> educación especial.<br />
Por otro <strong>la</strong>do, d<strong>en</strong>tro <strong>de</strong>l Instituto <strong>de</strong> Electrónica y <strong>Computación</strong> (IEC) <strong>de</strong> <strong>la</strong><br />
Universidad Tecnológica <strong>de</strong> <strong>la</strong> Mixteca, el Cuerpo Académico <strong>de</strong> Ing<strong>en</strong>iería <strong>de</strong><br />
Software (CASI), realiza investigación y <strong>de</strong>sarrollo d<strong>en</strong>tro <strong>de</strong>l área <strong>de</strong> Interacción<br />
Humano-Computadora (HCI), y es <strong>de</strong> especial interés, el <strong>de</strong>sarrollo para <strong>la</strong><br />
comp<strong>en</strong>sación <strong>de</strong> discapacida<strong>de</strong>s <strong>en</strong> g<strong>en</strong>eral, y <strong>la</strong>s cognoscitivas <strong>en</strong> particu<strong>la</strong>r.<br />
Para este proyecto, <strong>la</strong>s pruebas se realizaron <strong>en</strong> el Laboratorio <strong>de</strong> Usabilidad<br />
(UsaLab) <strong>de</strong>l IEC. El proyecto <strong>de</strong> dislexia está si<strong>en</strong>do <strong>de</strong>sarrol<strong>la</strong>do como un proyecto<br />
<strong>de</strong> tesis <strong>de</strong> lic<strong>en</strong>ciatura, con <strong>la</strong> supervisión <strong>de</strong>l lí<strong>de</strong>r <strong>de</strong> <strong>la</strong> línea <strong>de</strong> investigación <strong>en</strong> HCI<br />
<strong>de</strong>l CASI, así como <strong>de</strong> <strong>la</strong> invaluable asesoría <strong>de</strong> una maestra <strong>en</strong> educación especial.<br />
3. Metodologías <strong>de</strong> Desarrollo<br />
La complejidad inher<strong>en</strong>te <strong>en</strong> el proyecto <strong>de</strong> diagnóstico y comp<strong>en</strong>sación <strong>de</strong> dislexia<br />
requiere <strong>de</strong> un <strong>en</strong>foque multidisciplinario, <strong>en</strong> <strong>la</strong> que <strong>la</strong>s ci<strong>en</strong>cias computacionales, así<br />
como <strong>la</strong> psicología, participan con metodologías bi<strong>en</strong> <strong>de</strong>finidas: Diseño C<strong>en</strong>trado al<br />
Usuario (UCD) y Metodologías <strong>de</strong> Evaluación <strong>en</strong> Psicología [7]. La metodología
seleccionada para el diagnóstico se basa <strong>en</strong> <strong>la</strong> realización <strong>de</strong> pruebas <strong>de</strong> escritura y<br />
lectura a los niños que el doc<strong>en</strong>te sospeche pa<strong>de</strong>zcan <strong>de</strong> dislexia.<br />
4. Desarrollo <strong>de</strong>l Sistema<br />
El <strong>de</strong>sarrollo <strong>de</strong>l software siguió <strong>la</strong> metodología <strong>de</strong>scrita por Preece [6]. El proceso<br />
iterativo está ilustrado <strong>en</strong> <strong>la</strong> Figura 1, y sus <strong>de</strong>talles abajo.<br />
Fig 1. Proceso <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>l software <strong>de</strong> acuerdo al Diseño C<strong>en</strong>trado al Usuario<br />
<br />
<br />
<br />
<br />
<br />
Análisis <strong>de</strong> requerimi<strong>en</strong>tos: se hicieron grabaciones <strong>de</strong> vi<strong>de</strong>o <strong>de</strong> <strong>la</strong> maestra <strong>en</strong><br />
educación especial <strong>de</strong>sarrol<strong>la</strong>ndo <strong>la</strong>s pruebas <strong>de</strong> diagnóstico <strong>en</strong> el mismo salón <strong>de</strong><br />
c<strong>la</strong>ses. Después, se reprodujeron <strong>la</strong>s pruebas <strong>en</strong> el UsaLab, para su posterior<br />
análisis junto con cuestionarios y <strong>en</strong>trevistas, así como <strong>la</strong>s observaciones<br />
realizadas <strong>en</strong> el segundo vi<strong>de</strong>o.<br />
Análisis <strong>de</strong> tareas: se eligieron y <strong>de</strong>terminaron <strong>la</strong>s tareas, metas, procedimi<strong>en</strong>tos,<br />
factores <strong>de</strong> éxito, tiempos y esc<strong>en</strong>arios a automatizar (GOMS). De esta manera se<br />
g<strong>en</strong>eraron <strong>la</strong>s áreas <strong>de</strong>l sistema.<br />
Diseño: el diseño <strong>de</strong> pantal<strong>la</strong>s por prototipos <strong>de</strong> baja fi<strong>de</strong>lidad, y card sort. Uso <strong>de</strong><br />
guías <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> interfaces y experi<strong>en</strong>cia previa <strong>en</strong> sistemas simi<strong>la</strong>res para<br />
niños.<br />
Implem<strong>en</strong>tación: se <strong>de</strong>sarrol<strong>la</strong> el sistema bajo MS Windows XP y con el<br />
ambi<strong>en</strong>te <strong>de</strong> <strong>de</strong>sarrollo Delphi ver. 5.0.<br />
Pruebas <strong>de</strong> usabilidad: para <strong>la</strong> maestra, se <strong>de</strong>sarrol<strong>la</strong>n pruebas <strong>de</strong> usabilidad<br />
basadas <strong>en</strong> thinking aloud protocols y cognitive walkthrough. Para el <strong>de</strong>sarrollo <strong>de</strong><br />
pruebas con los niños, seguimos <strong>la</strong>s pautas discutidas <strong>en</strong> [1], si<strong>en</strong>do útiles <strong>la</strong>s<br />
mismas técnicas empleadas con <strong>la</strong>s maestras.
5. Nuevas Tecnologías Empleadas<br />
Otro factor interesante <strong>en</strong> <strong>la</strong> automatización <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s <strong>de</strong>l diagnóstico fue <strong>la</strong><br />
incorporación <strong>de</strong> nuevas tecnologías. El análisis <strong>de</strong> tareas mostró <strong>la</strong> importancia <strong>de</strong> <strong>la</strong><br />
escritura <strong>de</strong>l niño ante el dictado <strong>de</strong> <strong>la</strong>s pa<strong>la</strong>bras seleccionadas para realizar dicho<br />
diagnóstico, para ser evaluada <strong>en</strong> el mom<strong>en</strong>to, o <strong>de</strong>spués, por el profesor <strong>de</strong> educación<br />
especial.<br />
Debido a los requerimi<strong>en</strong>tos <strong>de</strong>l diagnóstico, se consi<strong>de</strong>ran dos opciones para el<br />
registro <strong>de</strong> <strong>la</strong> escritura, <strong>la</strong> primera <strong>de</strong> el<strong>la</strong>s es el uso <strong>de</strong> papel y pluma normales, y a<br />
través <strong>de</strong>l uso <strong>de</strong> un scanner, obt<strong>en</strong>er <strong>la</strong> imag<strong>en</strong> para su diagnóstico; <strong>la</strong> segunda es el<br />
uso <strong>de</strong> una pluma digital, que permite escribir como una pluma normal, pero almac<strong>en</strong>a<br />
perman<strong>en</strong>tem<strong>en</strong>te <strong>la</strong> escritura, dibujos y notas <strong>en</strong> una PC<br />
Al final, fue seleccionada <strong>la</strong> pluma Logitech io, para contar con otra alternativa<br />
aparte <strong>de</strong>l scanner, y sobre todo, darle una aplicación <strong>en</strong> un área que no fue consi<strong>de</strong>rada<br />
al mom<strong>en</strong>to <strong>en</strong> que fue <strong>de</strong>sarrol<strong>la</strong>da.<br />
6. Sistema Implem<strong>en</strong>tado<br />
La implem<strong>en</strong>tación <strong>de</strong> nuevas tecnologías no estuvo ex<strong>en</strong>ta <strong>de</strong> errores. La más<br />
significante fue <strong>la</strong> imposibilidad <strong>de</strong> traducir a texto <strong>la</strong> imag<strong>en</strong> obt<strong>en</strong>ida por <strong>la</strong> pluma<br />
digital, para su posterior análisis por el sistema. El porc<strong>en</strong>taje <strong>de</strong> efectividad no fue el<br />
a<strong>de</strong>cuado, a<strong>de</strong>más que <strong>la</strong>s pruebas mostraron que el idioma Castel<strong>la</strong>no es<br />
especialm<strong>en</strong>te difícil <strong>de</strong> convertir.<br />
Se logró obt<strong>en</strong>er mejores resultados tomando <strong>la</strong> imag<strong>en</strong> <strong>de</strong> <strong>la</strong> escritura <strong>de</strong>l niño, ya<br />
sea con <strong>la</strong> pluma digital o un scanner, y haci<strong>en</strong>do el análisis manual a través <strong>de</strong> <strong>la</strong><br />
herrami<strong>en</strong>ta <strong>de</strong>sarrol<strong>la</strong>da para el sistema. El sistema contabiliza automáticam<strong>en</strong>te el<br />
número <strong>de</strong> errores, <strong>de</strong> tal forma que se puedan g<strong>en</strong>erar los resultados para ubicar <strong>en</strong> un<br />
nivel <strong>de</strong> dislexia al niño. La Fig. 2, muestra dicha herrami<strong>en</strong>ta.<br />
Fig 2. Marcación <strong>de</strong> errores <strong>en</strong> <strong>la</strong> escritura<br />
<strong>de</strong>l niño.<br />
Fig 3. Marcación <strong>de</strong> errores <strong>en</strong> <strong>la</strong> lectura <strong>de</strong>l<br />
niño.
6.1 ViaVoice para el Diagnóstico <strong>de</strong> <strong>la</strong> Lectura<br />
Para realizar el diagnóstico <strong>de</strong> <strong>la</strong> lectura <strong>de</strong>l niño, el doc<strong>en</strong>te <strong>de</strong>be grabar al niño<br />
haci<strong>en</strong>do lecturas <strong>de</strong> cu<strong>en</strong>tos infantiles, divididos <strong>en</strong> niveles <strong>de</strong> complejidad, para<br />
<strong>de</strong>terminar el grado <strong>de</strong> dislexia exist<strong>en</strong>te. Se consi<strong>de</strong>ró el software <strong>de</strong> IBM ViaVoice,<br />
para trabajar <strong>de</strong> <strong>la</strong> misma manera que el diagnóstico <strong>de</strong> <strong>la</strong> escritura: grabando <strong>la</strong> lectura<br />
<strong>de</strong>l niño, luego convirtiéndolo a texto y haci<strong>en</strong>do una comparación contra el<br />
docum<strong>en</strong>to original.<br />
De nuevo, el grado <strong>de</strong> efectividad prometido por ViaVoice (<strong>de</strong>l 90 al 95%) se<br />
convirtió <strong>en</strong> un 50 al 60% <strong>en</strong> <strong>la</strong> práctica. Entre <strong>la</strong>s causas id<strong>en</strong>tificadas fue que el niño<br />
<strong>de</strong>bía configurar el software para reconocer su lectura, misión imposible con niños con<br />
dislexia. ViaVoice fue <strong>en</strong>tonces <strong>de</strong>scartado.<br />
La implem<strong>en</strong>tación <strong>de</strong>l diagnóstico <strong>de</strong> <strong>la</strong> lectura fue realizada por una herrami<strong>en</strong>ta<br />
<strong>de</strong>sarrol<strong>la</strong>da especialm<strong>en</strong>te, <strong>en</strong> que el doc<strong>en</strong>te ti<strong>en</strong>e total control <strong>de</strong> <strong>la</strong> reproducción <strong>de</strong><br />
<strong>la</strong> grabación. Ver Fig. 3.<br />
6.2 Comp<strong>en</strong>sación <strong>de</strong> <strong>la</strong> dislexia<br />
La comp<strong>en</strong>sación consiste <strong>en</strong> proporcionar ejercicios al niño que le permitirán<br />
sobrellevar, y con el tiempo, corregir, parte <strong>de</strong>l problema <strong>de</strong> dislexia <strong>en</strong> <strong>la</strong> escritura y<br />
lectura. Para <strong>la</strong> selección <strong>de</strong> los ejercicios, se recurrió a <strong>la</strong> bibliografía que los maestros<br />
<strong>en</strong> educación especial llevan acabo para realizar dicha comp<strong>en</strong>sación <strong>en</strong> el au<strong>la</strong> <strong>de</strong> c<strong>la</strong>se<br />
[2]. De igual manera se dio con el cont<strong>en</strong>ido <strong>de</strong> los ejercicios, cuya característica<br />
principal fue el grado <strong>de</strong> complejidad y el volum<strong>en</strong> <strong>de</strong> <strong>la</strong> información.<br />
Fig 4. Ejercicio <strong>de</strong> “Re<strong>la</strong>cionar Pa<strong>la</strong>bras”.<br />
Fig 5. Ejercicio <strong>de</strong> “Armar Pa<strong>la</strong>bras con<br />
Sí<strong>la</strong>bas”.<br />
6.2.1 Aplicación <strong>de</strong> los ejercicios<br />
La maestra <strong>de</strong> educación especial selecciona el nivel, el tipo y el bloque <strong>de</strong> ejercicio<br />
que el niño va a realizar, <strong>de</strong>jándole <strong>de</strong>spués el control <strong>de</strong>l ejercicio al niño. La Fig. 4<br />
muestra el ejercicio “Re<strong>la</strong>cionar Pa<strong>la</strong>bras”, que consiste <strong>en</strong> unir <strong>la</strong> pa<strong>la</strong>bra <strong>de</strong>l <strong>la</strong>do<br />
<strong>de</strong>recho con su igual <strong>de</strong> <strong>la</strong> izquierda. La Fig. 5 muestra el ejercicio “Armar Pa<strong>la</strong>bras
con Sí<strong>la</strong>bas”, <strong>la</strong> cual conti<strong>en</strong>e cinco globos <strong>de</strong> colores, <strong>en</strong> don<strong>de</strong> cada globo ti<strong>en</strong>e <strong>la</strong>s<br />
sí<strong>la</strong>bas <strong>de</strong> una pa<strong>la</strong>bra y el niño, con ayuda <strong>de</strong>l ratón, arrastra estas sí<strong>la</strong>bas al cuadro<br />
correspondi<strong>en</strong>te y <strong>la</strong>s pondrá <strong>en</strong> el ord<strong>en</strong> que cree es el correcto.<br />
7. Conclusiones y Trabajo Futuro<br />
El sistema se <strong>en</strong>cu<strong>en</strong>tra actualm<strong>en</strong>te <strong>en</strong> pruebas con maestras <strong>de</strong> educación especial <strong>en</strong><br />
el Diagnóstico <strong>de</strong> Escritura y Lectura. Hasta ahora, los resultados mostrados son muy<br />
ha<strong>la</strong>gadores, ya que cumpl<strong>en</strong> los requerimi<strong>en</strong>tos iniciales y ha sido <strong>de</strong> gran ayuda a <strong>la</strong>s<br />
maestras <strong>en</strong> tan difícil <strong>la</strong>bor. La incorporación <strong>de</strong> HCI y <strong>de</strong> nuevas tecnologías, han<br />
mostrado un nuevo panorama a <strong>la</strong> forma <strong>en</strong> que <strong>la</strong>s ci<strong>en</strong>cias computacionales pued<strong>en</strong><br />
ayudar a otras áreas como <strong>la</strong> educación especial. En este s<strong>en</strong>tido es importante <strong>de</strong>cir<br />
que se prepara un estudio para <strong>la</strong> <strong>de</strong>terminación <strong>de</strong>l grado <strong>de</strong> utilidad <strong>de</strong> <strong>la</strong> herrami<strong>en</strong>ta<br />
como apoyo para el doc<strong>en</strong>te <strong>de</strong> educación especial <strong>en</strong> el proceso <strong>de</strong> diagnóstico, así<br />
como para <strong>la</strong> comp<strong>en</strong>sación <strong>en</strong> el alumno a través <strong>de</strong>l uso <strong>de</strong>l software.<br />
Por último, vale <strong>la</strong> p<strong>en</strong>a m<strong>en</strong>cionar que estamos interesados <strong>en</strong> compartir nuestra<br />
experi<strong>en</strong>cia y obt<strong>en</strong>er retroalim<strong>en</strong>tación que nos ayu<strong>de</strong> a mejorar, y <strong>de</strong> ahí <strong>la</strong><br />
importancia y nuestro interés <strong>en</strong> po<strong>de</strong>r participar <strong>en</strong> este tipo <strong>de</strong> foros. Así mismo,<br />
esperamos po<strong>de</strong>r compartir más nuestras experi<strong>en</strong>cias <strong>en</strong> este aspecto, dado que <strong>en</strong> este<br />
artículo sólo se m<strong>en</strong>ciona lo más sobresali<strong>en</strong>te <strong>de</strong>bido a limitaciones <strong>de</strong> espacio.<br />
9. Refer<strong>en</strong>cias<br />
[1] Hanna Libby, Risd<strong>en</strong> Kirst<strong>en</strong>, Alexan<strong>de</strong>r Kirst<strong>en</strong>, “Gui<strong>de</strong>lines for usability testing with<br />
childr<strong>en</strong>”, interactions archive, Volume 4, Issue 5 Sept. / Oct. 1997 Pp. 9 – 14, 1997,<br />
ISSN:1072-5520, ACM Press New York, NY, USA<br />
[2] Narvarte, Mariana E. (2001). Trastornos Esco<strong>la</strong>res: Detección – Diagnóstico y Tratami<strong>en</strong>to,<br />
GIL, SA <strong>de</strong> CV, México.<br />
[3] Newell, Al<strong>la</strong>n F & Gregor, Peter, (2000). “An empirical investigation of ways in which some<br />
of the problems <strong>en</strong>countered by some dyslexics may be alleviated using computer techniques”.<br />
[Electronic Version]. Proceedings of the fourth international ACM confer<strong>en</strong>ce on Assistive<br />
technologies, 2000, Pp. 85-91.<br />
[4] Our Special Kids. Org http://www.ourspecialkids.org/<strong>de</strong>finitions.html<br />
[5] Pierangelo, Roger & Jacoby, Robert, (1998). Guía <strong>de</strong> Educación Especial para Niños<br />
Discapacitados, Pr<strong>en</strong>tice Hall, México<br />
[6] Preece, J. A gui<strong>de</strong> to usability, human factors in computing, Addison-Wesley Publishing<br />
Company, 1993, ISBN: 0-201-62768-X<br />
[7] SEP (2003). Antología: La integración educativa <strong>en</strong> <strong>la</strong> escue<strong>la</strong> primaria, IEEPO, México.
Creación <strong>de</strong> un diccionario electrónico <strong>de</strong> sexualidad<br />
Gerardo Sierra, Marl<strong>en</strong>e Mor<strong>en</strong>o, Eduardo So<strong>la</strong>res, Alfonso Medina<br />
Grupo <strong>de</strong> Ing<strong>en</strong>iería Lingüística<br />
Instituto <strong>de</strong> Ing<strong>en</strong>iería, UNAM.<br />
e-mail: {gsierram, mmor<strong>en</strong>op, eso<strong>la</strong>resm, amedinau}@iing<strong>en</strong>.unam.mx<br />
3er cubículo <strong>de</strong> <strong>la</strong> Torre <strong>de</strong> Ing<strong>en</strong>iería, Circuito Interior, Ciudad Universitaria,<br />
Del. Coyoacán, Apartado Postal 70-472, CP 04510, Distrito Fe<strong>de</strong>ral, México.<br />
Abstract: Although several glossaries and vocabu<strong>la</strong>ries exist about sexuality, a<br />
structured collecting with homog<strong>en</strong>ous criteria of basic information about the<br />
exercise of sexuality in Mexico is nee<strong>de</strong>d. The ever increasing use of electronic<br />
media as sources of information and the advance of technologies make it possible<br />
to <strong>de</strong>velop a dictionary to be avai<strong>la</strong>ble in CD. This paper <strong>de</strong>scribes a <strong>de</strong>sign<br />
alternative for a basic electronic dictionary based on the analysis of requirem<strong>en</strong>ts<br />
of pot<strong>en</strong>tial users.<br />
Resum<strong>en</strong>: Si bi<strong>en</strong> exist<strong>en</strong> glosarios y vocabu<strong>la</strong>rios sobre sexualidad, hace falta<br />
una recopi<strong>la</strong>ción estructurada con criterios homogéneos <strong>de</strong> <strong>la</strong> información básica<br />
sobre el ejercicio <strong>de</strong> <strong>la</strong> sexualidad <strong>en</strong> México. El creci<strong>en</strong>te uso <strong>de</strong> medios<br />
electrónicos como fu<strong>en</strong>tes <strong>de</strong> información y el avance <strong>en</strong> <strong>la</strong>s tecnologías hace<br />
posible <strong>la</strong> construcción <strong>de</strong> un diccionario que se haga disponible <strong>en</strong> CD. Este<br />
trabajo pres<strong>en</strong>ta una alternativa <strong>de</strong>l diseño <strong>de</strong> un diccionario electrónico básico<br />
basado <strong>en</strong> el análisis <strong>de</strong> requisitos <strong>de</strong> usuarios pot<strong>en</strong>ciales.<br />
Pa<strong>la</strong>bras C<strong>la</strong>ve: Lexicografía computacional, diseño interfaz-usuario,<br />
sexualidad.<br />
1. Introducción<br />
No es ningún secreto que existe una gran necesidad <strong>de</strong> información veraz sobre temas<br />
sexuales <strong>en</strong> México y <strong>en</strong> el mundo [1]; los embarazos inesperados, <strong>la</strong>s <strong>en</strong>fermeda<strong>de</strong>s <strong>de</strong><br />
transmisión sexual, <strong>la</strong> viol<strong>en</strong>cia, <strong>la</strong> discriminación, <strong>la</strong> homofobia, etc., están<br />
re<strong>la</strong>cionadas con una incompleta o no compr<strong>en</strong>siva y represiva educación sexual.<br />
Para compr<strong>en</strong><strong>de</strong>r los temas re<strong>la</strong>cionados con <strong>la</strong> sexualidad es necesario t<strong>en</strong>er<br />
conocimi<strong>en</strong>to sobre el significado <strong>de</strong> <strong>la</strong>s pa<strong>la</strong>bras que se utilizan; un diccionario<br />
especializado es <strong>la</strong> opción para proporcionar esa información <strong>de</strong> manera c<strong>la</strong>ra, sucinta<br />
y explícita, sirvi<strong>en</strong>do para los propósitos principales <strong>de</strong> repres<strong>en</strong>tación y transmisión<br />
<strong>de</strong>l conocimi<strong>en</strong>to especializado.<br />
El Grupo <strong>de</strong> Ing<strong>en</strong>iería Lingüística (GIL) <strong>de</strong> <strong>la</strong> UNAM, junto con el Colegio <strong>de</strong><br />
México y sexólogos calificados, diseñan un diccionario electrónico <strong>de</strong> sexualidad, <strong>en</strong> el<br />
que se ofrecerán a<strong>de</strong>más <strong>de</strong> respuestas a <strong>la</strong>s dudas <strong>de</strong> los usuarios, información
lexicográfica especializada. En este docum<strong>en</strong>to nos <strong>en</strong>focaremos a los problemas <strong>de</strong><br />
id<strong>en</strong>tificación <strong>de</strong> usuarios, análisis <strong>de</strong> requerimi<strong>en</strong>tos, diseño y evaluación <strong>de</strong>l sistema.<br />
2. Análisis<br />
Entre los usuarios pot<strong>en</strong>ciales <strong>de</strong>l sistema <strong>en</strong>contramos a: sexólogos, profesionales <strong>de</strong><br />
<strong>la</strong> educación, personal médico y paramédico, psicólogos, trabajadores sociales,<br />
terapeutas <strong>en</strong> g<strong>en</strong>eral, organizaciones <strong>de</strong> <strong>la</strong> sociedad civil con trabajos re<strong>la</strong>cionados a<br />
los temas; escue<strong>la</strong>s y estudiantes <strong>de</strong> secundaria, preparatoria y universidad; niños,<br />
padres y madres <strong>de</strong> familia.<br />
Tomando como base los trabajos realizados por Kharma [2], Hartmann [3], Kipfer<br />
[4], Béjoint [5], Quirk [6] y Tomaszczyk [7], <strong>en</strong>tre los porc<strong>en</strong>tajes <strong>de</strong> importancia <strong>de</strong><br />
algunas <strong>de</strong> <strong>la</strong>s necesida<strong>de</strong>s básicas <strong>de</strong> los usuarios <strong>en</strong> el uso <strong>de</strong> los diccionarios se<br />
<strong>en</strong>cu<strong>en</strong>tran: cont<strong>en</strong>ido <strong>en</strong> significados (90%), gramática a<strong>de</strong>cuada (60%), sinónimos<br />
(55%), antónimos (5%), historia <strong>de</strong> <strong>la</strong> pa<strong>la</strong>bra (3%) y juegos (5%).<br />
El hecho <strong>de</strong> que <strong>la</strong>s <strong>en</strong>cuestas m<strong>en</strong>cion<strong>en</strong> una diversidad tan amplia <strong>de</strong> <strong>la</strong>s<br />
necesida<strong>de</strong>s básicas <strong>en</strong> <strong>la</strong> consulta <strong>de</strong> diccionarios, como sería para el uso <strong>de</strong> juegos,<br />
no quiere <strong>de</strong>cir que los diccionarios están p<strong>en</strong>sados para tal fin o que los usuarios<br />
t<strong>en</strong>gan ese objetivo para utilizarlos, pues ejemplifica los distintos usos <strong>de</strong> los<br />
diccionarios, <strong>en</strong>tre los que están los juegos.<br />
Nuestro diccionario contemp<strong>la</strong>rá, por tanto, estas necesida<strong>de</strong>s aunadas a <strong>la</strong>s <strong>de</strong><br />
usuarios que utilizan sistemas <strong>de</strong> información electrónica, como son; difer<strong>en</strong>tes<br />
formatos <strong>de</strong> pres<strong>en</strong>tación, opciones <strong>de</strong> búsqueda, portabilidad, interactividad, etc.<br />
3. Diseño <strong>de</strong>l sistema<br />
Para asegurar una perspectiva ci<strong>en</strong>tífica <strong>en</strong> el diseño <strong>de</strong>l sistema, contaremos con <strong>la</strong><br />
participación <strong>de</strong> los expertos <strong>en</strong> los campos sigui<strong>en</strong>tes: terminólogos, lexicógrafos,<br />
ing<strong>en</strong>ieros <strong>de</strong> <strong>la</strong> l<strong>en</strong>gua, sexólogos, programadores y analistas, <strong>en</strong>tre otros; todos ellos<br />
forman un equipo interdisciplinario <strong>de</strong> trabajo con tareas específicas d<strong>en</strong>tro <strong>de</strong>l<br />
proyecto.<br />
Para asegurar que el diccionario pres<strong>en</strong>te información a<strong>de</strong>cuada a <strong>la</strong>s distintas eda<strong>de</strong>s<br />
<strong>de</strong> los usuarios, el sistema contara con una etapa <strong>de</strong> validación con series <strong>de</strong> preguntas<br />
que permitirán id<strong>en</strong>tificar <strong>la</strong> edad <strong>de</strong>l usuario. Con ello, el sistema <strong>de</strong>limitará el<br />
cont<strong>en</strong>ido <strong>de</strong> <strong>la</strong> información que el usuario visualizará.
3.1 Opciones <strong>de</strong> búsqueda<br />
El usuario t<strong>en</strong>drá <strong>la</strong> posibilidad <strong>de</strong> realizar cuatro búsquedas básicas para obt<strong>en</strong>er<br />
información <strong>en</strong> el diccionario:<br />
• Búsqueda por términos, también conocida como búsqueda semasiológica,<br />
permite el ingreso <strong>de</strong> términos refer<strong>en</strong>tes a sexualidad, mostrando como<br />
respuesta su <strong>de</strong>finición, temas y términos re<strong>la</strong>cionados, a los que pue<strong>de</strong><br />
acce<strong>de</strong>r, si así lo <strong>de</strong>sea, mediante hipervínculos <strong>en</strong> pantal<strong>la</strong>.<br />
• Búsqueda por temas ya <strong>de</strong>finidos por los expertos, que pres<strong>en</strong>tará a<strong>de</strong>más <strong>de</strong><br />
otros temas re<strong>la</strong>cionados con el área, hipervínculos <strong>de</strong> términos inmersos <strong>en</strong> el<br />
tema.<br />
• Búsqueda por áreas <strong>de</strong> uso, mostrará términos y temas cont<strong>en</strong>idos <strong>en</strong> el área<br />
temática elegida, para que el usuario obt<strong>en</strong>ga una visión más amplia <strong>de</strong> los<br />
conceptos buscados.<br />
• Búsqueda inversa, también conocida como búsqueda onomasiológica, <strong>en</strong> <strong>la</strong><br />
cual se permitirá buscar términos a partir <strong>de</strong> <strong>la</strong> <strong>de</strong>scripción <strong>de</strong>l concepto <strong>en</strong><br />
l<strong>en</strong>guaje natural. Esta característica es una aportación innovadora <strong>en</strong> el área <strong>de</strong><br />
diccionarios electrónicos <strong>de</strong>sarrol<strong>la</strong>da por el Grupo <strong>de</strong> Ing<strong>en</strong>iería Lingüística<br />
[8]. Con base <strong>en</strong> esta búsqueda, el usuario escribirá cualquier i<strong>de</strong>a que t<strong>en</strong>ga<br />
acerca <strong>de</strong> un término y obt<strong>en</strong>drá un listado <strong>de</strong> los términos con sus respectivas<br />
<strong>de</strong>finiciones formales, que mejor cumpl<strong>en</strong> con esta <strong>de</strong>scripción.<br />
Las búsquedas podrán ser refinadas por medio <strong>de</strong> filtros elegidos por el usuario<br />
durante sus consultas. Los formatos <strong>de</strong> respuesta serán pres<strong>en</strong>tados <strong>en</strong> texto<br />
(<strong>de</strong>finiciones, términos, y temas re<strong>la</strong>cionados), imag<strong>en</strong> y audio (voces pregrabadas<br />
refer<strong>en</strong>tes a los contextos <strong>de</strong> uso <strong>de</strong> <strong>la</strong> terminología). Entre los filtros se <strong>en</strong>cu<strong>en</strong>tra, por<br />
ejemplo, el re<strong>la</strong>tivo a <strong>la</strong>s fu<strong>en</strong>tes y/o <strong>la</strong>s difer<strong>en</strong>tes escue<strong>la</strong>s <strong>de</strong> sexualidad.<br />
Es importante seña<strong>la</strong>r que el diccionario contará con algunas herrami<strong>en</strong>tas <strong>de</strong><br />
búsqueda intelig<strong>en</strong>te que utilizan técnicas específicas <strong>de</strong>l procesami<strong>en</strong>to <strong>de</strong> l<strong>en</strong>guaje<br />
natural. Una <strong>de</strong> el<strong>la</strong>s es un proceso <strong>de</strong> corrección ortográfica <strong>de</strong> caracter por caracter <strong>en</strong><br />
el proceso <strong>de</strong> <strong>la</strong> búsqueda por términos, <strong>en</strong> <strong>la</strong> que, conforme el usuario vaya<br />
introduci<strong>en</strong>do el término, el sistema irá pres<strong>en</strong>tando a aquellos que correspondan al<br />
término escrito correctam<strong>en</strong>te o al que t<strong>en</strong>ga mayor similitud. Asimismo, existirá <strong>la</strong><br />
corrección ortográfica <strong>de</strong> términos completos introducidos por el usuario; un ejemplo<br />
<strong>de</strong> ello sería al utilizar números y pa<strong>la</strong>bras para expresar términos como 6 + nueve, 69,<br />
6 y 9, 6+9, seis nueve, 96, etc., <strong>en</strong> don<strong>de</strong> el diccionario compr<strong>en</strong><strong>de</strong>rá <strong>la</strong> petición <strong>de</strong>l<br />
usuario y lo llevará al término “ses<strong>en</strong>ta y nueve”.<br />
A<strong>de</strong>más <strong>de</strong> <strong>la</strong> utilización <strong>de</strong>l sistema con fines lexicográficos el sistema contará con<br />
un apartado <strong>de</strong>dicado a juegos, lo que garantizará un <strong>en</strong>riquecimi<strong>en</strong>to conceptual sobre<br />
<strong>la</strong> sexualidad. Entre los juegos se <strong>en</strong>cu<strong>en</strong>tran: sopa <strong>de</strong> letras y crucigramas, los cuales<br />
provocaran interés para jugar y apr<strong>en</strong><strong>de</strong>r.
3.2 Interfaz <strong>de</strong> usuario<br />
Un factor importante a consi<strong>de</strong>rar d<strong>en</strong>tro <strong>de</strong> <strong>la</strong> interacción <strong>en</strong>tre el humano y <strong>la</strong><br />
computadora es el diálogo requerido <strong>en</strong>tre ambas partes; <strong>en</strong> g<strong>en</strong>eral, el sistema <strong>de</strong>be<br />
comunicar al usuario los procesos que está llevando a cabo, los que <strong>de</strong>sarrolló y los<br />
resultados obt<strong>en</strong>idos, mi<strong>en</strong>tras que el usuario <strong>de</strong>be proporcionar <strong>la</strong>s instrucciones, datos<br />
e información al sistema para <strong>de</strong>sarrol<strong>la</strong>r <strong>la</strong> tarea <strong>de</strong>seada. La forma <strong>en</strong> que se<br />
comunican ambas partes es conocida como <strong>la</strong> “interfaz <strong>de</strong> usuario”. Ésta no es<br />
únicam<strong>en</strong>te lo que el usuario pue<strong>de</strong> ver, tocar y oír, ya que también involucra los<br />
conceptos que el usuario <strong>de</strong>be conocer acerca <strong>de</strong>l sistema <strong>de</strong> cómputo y cómo pue<strong>de</strong><br />
utilizarlos para llevar a cabo <strong>la</strong>s difer<strong>en</strong>tes tareas <strong>de</strong> forma efici<strong>en</strong>te.<br />
En este s<strong>en</strong>tido, <strong>de</strong>bemos tomar <strong>en</strong> cu<strong>en</strong>ta el concepto <strong>de</strong> usabilidad, el cual hace<br />
refer<strong>en</strong>cia a <strong>la</strong> rapi<strong>de</strong>z y facilidad con que los usuarios llevan a cabo sus tareas a través<br />
<strong>de</strong>l uso <strong>de</strong> una interfaz. En nuestro caso, m<strong>en</strong>cionaremos a gran<strong>de</strong>s rasgos tres<br />
verti<strong>en</strong>tes:<br />
• Una aproximación al usuario. Para <strong>de</strong>sarrol<strong>la</strong>r <strong>la</strong> interfaz y que sea usable, se<br />
ti<strong>en</strong>e que conocer, <strong>en</strong>t<strong>en</strong><strong>de</strong>r y trabajar con <strong>la</strong>s personas que repres<strong>en</strong>tan a los<br />
usuarios finales o pot<strong>en</strong>ciales <strong>de</strong>l diccionario. Entre otras cosas, se contemp<strong>la</strong><br />
<strong>la</strong> participación <strong>de</strong> grupos focales <strong>de</strong> usuarios pot<strong>en</strong>ciales para evaluar el<br />
diccionario tanto <strong>en</strong> el diseño <strong>de</strong> <strong>la</strong>s interfaces como <strong>en</strong> <strong>la</strong> información<br />
cont<strong>en</strong>ida y <strong>en</strong> <strong>la</strong> c<strong>la</strong>ridad <strong>de</strong> los conceptos lexicográficos.<br />
• Un amplio conocimi<strong>en</strong>to <strong>de</strong>l contexto <strong>de</strong> uso. Para <strong>de</strong>sarrol<strong>la</strong>r cualquier<br />
producto usable <strong>de</strong>bemos t<strong>en</strong>er muy c<strong>la</strong>ro los objetivos <strong>de</strong>l usuario, así como<br />
los trabajos y tareas <strong>de</strong>l usuario que el sistema automatiza, modifica o<br />
embellece. En esta verti<strong>en</strong>te, resulta vital <strong>la</strong> participación <strong>de</strong> los ing<strong>en</strong>ieros<br />
lingüistas que <strong>de</strong>sarrol<strong>la</strong>rán <strong>la</strong>s herrami<strong>en</strong>tas <strong>de</strong> búsqueda intelig<strong>en</strong>te con <strong>la</strong>s<br />
técnicas <strong>de</strong> procesami<strong>en</strong>to <strong>de</strong> l<strong>en</strong>guaje natural.<br />
• Satisfacción <strong>de</strong> <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong>l usuario. Los usuarios son g<strong>en</strong>te ocupada<br />
int<strong>en</strong>tando llevar a cabo una tarea, por lo que el sistema <strong>de</strong>be re<strong>la</strong>cionar<br />
usabilidad con productividad y calidad. Se buscará que el diccionario satisfaga<br />
al usuario <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong>l uso <strong>de</strong>l sistema, a través <strong>de</strong> una interfaz<br />
confiable, amigable, ergonómica y robusta para el manejo <strong>de</strong> información<br />
lexicográfica, que le permita al usuario realizar múltiples tipos <strong>de</strong> consulta, a<br />
<strong>la</strong> vez que cont<strong>en</strong>ga valores agregados que hagan atractivo el uso <strong>de</strong>l<br />
diccionario.<br />
3.3 P<strong>la</strong>taforma <strong>de</strong> <strong>de</strong>sarrollo<br />
Nuestro diccionario estará disponible <strong>en</strong> CD-ROM; <strong>la</strong>s v<strong>en</strong>tajas <strong>de</strong> hacerlo <strong>de</strong> esta<br />
forma son que <strong>en</strong> principio el usuario podrá tras<strong>la</strong>dar el sistema a cualquier lugar y<br />
t<strong>en</strong>er acceso al diccionario instalándolo <strong>en</strong> su PC o simplem<strong>en</strong>te ejecutándolo <strong>de</strong>s<strong>de</strong> <strong>la</strong><br />
unidad <strong>de</strong> CD.
Como p<strong>la</strong>taforma <strong>de</strong> <strong>de</strong>sarrollo utilizaremos Java, ya que su diseño es ori<strong>en</strong>tado a<br />
objetos y <strong>la</strong> t<strong>en</strong>d<strong>en</strong>cia <strong>de</strong>l futuro, a <strong>la</strong> que Java se suma, apunta hacia este tipo <strong>de</strong><br />
programación, especialm<strong>en</strong>te <strong>en</strong> <strong>en</strong>tornos cada vez más complejos y basados <strong>en</strong> red.<br />
4. Evaluación<br />
La evaluación <strong>de</strong>l sistema estará basada <strong>en</strong> criterios <strong>de</strong> diseño <strong>de</strong> interfaces usuario y<br />
pruebas <strong>de</strong> usabilidad. Contaremos con una serie <strong>de</strong> métodos y herrami<strong>en</strong>tas que<br />
incorporarán estas consi<strong>de</strong>raciones [9].<br />
Es totalm<strong>en</strong>te necesario conocer el punto <strong>de</strong> vista <strong>de</strong>l usuario sobre lo que le permite<br />
y no le permite hacer <strong>la</strong> interfaz. El usuario final es el que ti<strong>en</strong>e <strong>la</strong> última pa<strong>la</strong>bra sobre<br />
el <strong>de</strong>sempeño <strong>de</strong>l mismo, y parti<strong>en</strong>do <strong>de</strong> <strong>la</strong>s pruebas que se realic<strong>en</strong> con él, se pued<strong>en</strong><br />
llevar a cabo modificaciones que permitan un mejor uso <strong>de</strong>l sistema. Para ello, se<br />
t<strong>en</strong>drán los grupos focales, que serán usuarios pot<strong>en</strong>ciales con distintas necesida<strong>de</strong>s <strong>en</strong><br />
el uso <strong>de</strong>l diccionario.<br />
5. Conclusiones<br />
La finalidad <strong>de</strong>l diccionario básico <strong>de</strong> sexualidad será servir como medio didáctico e<br />
informativo a todas <strong>la</strong>s personas que hagan uso <strong>de</strong> éste. Encontrarán información veraz<br />
y concreta acerca <strong>de</strong> los términos usados <strong>en</strong> el área <strong>de</strong> sexualidad, así como una gran<br />
variedad <strong>de</strong> imág<strong>en</strong>es y audio, y se navegará <strong>en</strong>tre los difer<strong>en</strong>tes formatos sin<br />
complicación alguna.<br />
Si bi<strong>en</strong> exist<strong>en</strong> varios diccionarios <strong>en</strong> CD, por los rasgos propios <strong>de</strong> <strong>la</strong> temática<br />
propuesta, este diccionario t<strong>en</strong>drá características que lo hac<strong>en</strong> único <strong>en</strong> su género <strong>de</strong>s<strong>de</strong><br />
el punto <strong>de</strong> vista <strong>de</strong> interacción humano-computadora, tales como:<br />
1. Buscadores intelig<strong>en</strong>tes.<br />
2. Inclusión <strong>de</strong> imág<strong>en</strong>es, sonidos, y juegos.<br />
3. Variedad <strong>de</strong> búsquedas, como <strong>la</strong> <strong>de</strong>l tipo onomasiológica.<br />
Este proyecto será el comi<strong>en</strong>zo <strong>de</strong> una serie <strong>de</strong> diccionarios electrónicos<br />
especializados que estarán a <strong>la</strong> vanguardia <strong>en</strong>tre los sistemas computacionales<br />
exist<strong>en</strong>tes <strong>en</strong> el mercado, y que pres<strong>en</strong>tan <strong>la</strong> información <strong>de</strong> una forma agradable, y<br />
efici<strong>en</strong>te, motivando al usuario a usar estos sistemas cotidianam<strong>en</strong>te.<br />
Refer<strong>en</strong>cias<br />
[1] Promotion of Sexual Health, Recomm<strong>en</strong>dations for Action PAHO, WHO, WASS, Antigua,<br />
Guatema<strong>la</strong>, 2002.
[2] N.N. Kharma, “Wanted: a brand-new type of learner's dictionary”, Multilingua 4 (2), 1985,<br />
pp. 85-90.<br />
[3] Hartmann, R.R.K. “Four perspectives on dictionary use: A critical review of research<br />
methods”. In Lexicographica: The dictionary and the <strong>la</strong>nguage learner, A. Cowie (ed), Max<br />
Niemeyer Ver<strong>la</strong>g, Tübing<strong>en</strong>, 1987.<br />
[4] B.A. Kipfer, “Dictionaries and the intermediate stud<strong>en</strong>t: communicative needs and the<br />
<strong>de</strong>velopm<strong>en</strong>t of user refer<strong>en</strong>ce skills”, Lexicographica 17, 1987, pp. 44-54.<br />
[5] H.Béjoint, “The foreign stud<strong>en</strong>t’s use of monolingual English dictionaries: A study of<br />
<strong>la</strong>nguage needs and refer<strong>en</strong>ce skills”, Applied Linguistics 2 (3), 1981, pp. 207-222.<br />
[6] Quirk, R., “The social impact of dictionaries in the U.K.” In Lexicography in English, R.I.<br />
McDavid and A.R. Duckert (eds.), New York Aca<strong>de</strong>mic of Sci<strong>en</strong>ces, New York, 1973.<br />
[7] Tomaszczyk, J. “Dictionaries: users and uses”, Glottodidactica 12, 1979, pp. 103-119.<br />
[8] Sierra G., Design of a concept-ori<strong>en</strong>ted tool for terminology, PhD Thesis, UMIST,<br />
Manchester, 1999.<br />
[9] F. Gamboa, E. Martínez, R. Juárez, J.L. Pérez, “Sistema <strong>de</strong> evaluación para un tutorial <strong>de</strong><br />
física”, MXLII Congreso Nacional <strong>de</strong> Física, Vil<strong>la</strong>hermosa Tabasco, 1999.
Interacciones <strong>en</strong> <strong>la</strong> realidad virtual y <strong>la</strong>s<br />
simu<strong>la</strong>ciones físicas<br />
Virtual Reality Interaction and Physical Simu<strong>la</strong>tion<br />
Cesar M<strong>en</strong>doza<br />
Fabio Ganovelli<br />
(Editores)
Introduction<br />
In rec<strong>en</strong>t years, much research has be<strong>en</strong> done in virtual reality technology to advance<br />
other fields such as medicine, <strong>en</strong>gineering, training, education and <strong>en</strong>tertainm<strong>en</strong>t.<br />
Designing usable and effective interactive virtual worlds involves many areas of research<br />
and the new advances in computer sci<strong>en</strong>ce and the use of more powerful machines<br />
allows the <strong>de</strong>velopm<strong>en</strong>t of new applications that were unimaginable in the<br />
past.<br />
However, most of this research is done in USA, Europe, or Japan. Although in<br />
Mexico this domain has started to grow, there is an important need to spread out the<br />
works in the area. H<strong>en</strong>ce, in its first version, the workshop focuses on <strong>de</strong>scribing new<br />
methods and on-going research that give a wi<strong>de</strong> hint of the research in virtual reality<br />
and computer graphics.<br />
The Virtual Reality Interactions and Physical Simu<strong>la</strong>tions (VRIPHYS 04) workshop<br />
aims to id<strong>en</strong>tify and put together the Mexican sci<strong>en</strong>tific community doing research<br />
in virtual reality interactions and physical simu<strong>la</strong>tions in computer graphics.<br />
Moreover, since the workshop is op<strong>en</strong> to international participation, we seek to<br />
create an <strong>en</strong>vironm<strong>en</strong>t able to motivate any kind of cooperation betwe<strong>en</strong> the mexican<br />
and international communities.<br />
The sessions of the workshop were created after the paper selection process rather<br />
than based on a pre<strong>de</strong>termined set of topics. This process leads to creative session<br />
titles and fits better the expectations of the att<strong>en</strong><strong>de</strong>es. The selected papers come from<br />
Mexico, Italy, Spain, Japan and Czech Republic and touch differ<strong>en</strong>t subjects of computer<br />
graphics and virtual reality.<br />
The workshop inclu<strong>de</strong>s an invited talk from one of the most repres<strong>en</strong>tative researchers<br />
in computer graphics in Mexico, Isaac Rudomin.<br />
Besi<strong>de</strong>s the technical communications, there is a panel session, which gave att<strong>en</strong>ding<br />
researchers the opportunity to express and exchange i<strong>de</strong>as, to give feedback to the<br />
workshop for next editions and to give proposals to establish tools that help the <strong>de</strong>velopm<strong>en</strong>t<br />
of the computer graphics and virtual reality domains in Mexico.<br />
As part of the activities of the workshop, it inclu<strong>de</strong>s a visit to the Virtual Reality<br />
Laboratory in the University of Colima.<br />
Consi<strong>de</strong>ring virtual reality as a multidisciplinary domain, the workshop seeks to<br />
pres<strong>en</strong>t the pot<strong>en</strong>tial advantages of using virtual <strong>en</strong>vironm<strong>en</strong>ts in other research fields.<br />
We expect to attract application <strong>de</strong>velopers and show them the <strong>en</strong>velope of what can<br />
be done in virtual reality and computer graphics. We seek to <strong>en</strong>courage <strong>de</strong>velopers to<br />
work together with researchers and provi<strong>de</strong> products that are truly usable, rather than<br />
just a <strong>de</strong>mo.<br />
We would like to thank the authors of the paper submissions, the ENC’2004 organizing<br />
committee, the workshop coordinators, and the sci<strong>en</strong>tific committee itself and<br />
the tertiary reviewers who took the time to write careful, constructive, and <strong>de</strong>tailed<br />
reviews.
Sci<strong>en</strong>tific Committee<br />
Co-Presid<strong>en</strong>ts:<br />
Cesar M<strong>en</strong>doza, CNR Italy & Trinity College, Ire<strong>la</strong>nd<br />
Fabio Ganovelli, CNR, Italy<br />
Carol O'Sullivan, Trinity College, Ire<strong>la</strong>nd<br />
Isaac Rudomin, ITESM, CEM, Mexico<br />
Bedrich B<strong>en</strong>es, ITESM CCM, Mexico<br />
Miguel Garcia, Universidad <strong>de</strong> Colima, Mexico<br />
Roberto Scopigno, CNR Italy<br />
Philippe Meseure, SIC France<br />
Stephane Cotin, CIMIT USA<br />
Christian Laugier, INRIA Rhone-Alpes France<br />
G<strong>en</strong>evieve Lucet, Ixtli UNAM Mexico<br />
Christophe Chaillou, INRIA Futurs France<br />
Riccardo Scat<strong>en</strong>i, Università di Cagliari, Italy<br />
Isabel Navazo, Universitat Politècnica <strong>de</strong> Catalunya, Spain<br />
Gerardo Aya<strong>la</strong>, UDLA, Mexico<br />
Victor Ng-Thow-Hing, Honda Research Institute, USA<br />
Francois Faure, INRIA Rhone-Alpes France<br />
Acknowledgem<strong>en</strong>ts The workshop was organized in cooperation with Eurographics.
Enhanced Hair Paint<br />
Isaac Rudomín, B<strong>en</strong>jamín Hernán<strong>de</strong>z<br />
ITESM-CEM, Atizapan México<br />
{rudomin, hb<strong>en</strong>jamin}@itesm.mx<br />
Abstract. Hair Paint is a mo<strong>de</strong>ling and animating tool for hair and furry objects.<br />
In this paper some improvem<strong>en</strong>ts are done to Hair Paint to add some new<br />
features like adding hair gel to modify the physical behavior of hair or fur,<br />
addition of pony tails and hair growth direction to make more complex hair styles.<br />
We also implem<strong>en</strong>ted mechanisms that avoid the hairstyle mess up due to wind<br />
forces.<br />
Keywords. Physical restrictions, Hair Animation, Hair Paint.<br />
1 Introduction<br />
Human hair mo<strong>de</strong>ling, animation and r<strong>en</strong><strong>de</strong>ring are active research areas. The initial<br />
research in human hair simu<strong>la</strong>tion has so far focused in one of the three areas: hair<br />
mo<strong>de</strong>ling allows us to repres<strong>en</strong>t distribution, form and styling; hair animation allows us<br />
to reproduce movem<strong>en</strong>t and the interactions due to this movem<strong>en</strong>t; and hair r<strong>en</strong><strong>de</strong>ring<br />
allows us to repres<strong>en</strong>t light interactions that cause reflections and shadows so the <strong>la</strong>ck<br />
of one of these characteristic produces an unrealistic hair appearance.<br />
Hairstyling can be an awkward task for the user. There are some alternatives that<br />
have be<strong>en</strong> published such as <strong>de</strong>signing an interactive 3D user interface [1][2] so the<br />
user can style hair on any section of the 3D mo<strong>de</strong>l. Another alternative [3] is seeding<br />
hair randomly based on the triangu<strong>la</strong>r faces of the 3D mo<strong>de</strong>l and baryc<strong>en</strong>tric<br />
coordinates. This approach simu<strong>la</strong>tes the random po<strong>sitio</strong>ns of the hair roots but the user<br />
cannot easily control the distribution of hairs over the 3D mo<strong>de</strong>l. Another technique [4]<br />
allows the user to manipu<strong>la</strong>te a kind of electronic comb around a (real) mannequinn’s<br />
head, while the results of the hairstyle are shown on a computer monitor. This is an<br />
interesting method but requires hardware not commonly avai<strong>la</strong>ble. A new method [5],<br />
for obtain hair geometry and implicitly get a hairstyling, analyses a set of real hair<br />
color images with differ<strong>en</strong>t light po<strong>sitio</strong>ns to <strong>de</strong>termine the hair direction due its<br />
anisotropic behavior.<br />
There are some commercial alternatives such as: Shave and Haircut for Maya,<br />
from Joseph Alter Inc., Maya Fur from Alias Wavefront, Poser from Curious Labs and<br />
Sasquash from Warley Laboratories: all these systems allow hair styling. Common<br />
users need to have some knowledge of these tools to control this interfaces since every<br />
tool has a differ<strong>en</strong>t one, and know all the commands. In some cases these commands
are difficult to un<strong>de</strong>rstand, and sometimes they require refinem<strong>en</strong>ts in a 3D interface<br />
that is complicated to use for common users.<br />
Hair simu<strong>la</strong>tion systems can be c<strong>la</strong>ssified according to the way they mo<strong>de</strong>l hair.<br />
Some systems use alpha-mapped textured surfaces [7] to simplify the lighting<br />
mo<strong>de</strong>l, making it in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t of the number of hairs but produce a f<strong>la</strong>t hair mo<strong>de</strong>l. In<br />
Dal<strong>de</strong>gan et al [8] a method is proposed to <strong>de</strong>fine hair characteristics strand by strand<br />
such as d<strong>en</strong>sity, distribution and ori<strong>en</strong>tation to complete the hairstyle. Other methods<br />
mo<strong>de</strong>l hair strand by strand [9][10][11], in them the animation is usually physically<br />
based. Other techniques exploit hair’s t<strong>en</strong>d<strong>en</strong>cy to form clusters due to static electricity,<br />
so the hair mo<strong>de</strong>ling is carried out using clusters [12][13][14]. In these methods<br />
clustering greatly simplifies interaction processing. Animation is computed on these<br />
clusters <strong>de</strong>fined by a skeleton curve. These skeleton curves are th<strong>en</strong> r<strong>en</strong><strong>de</strong>red using<br />
more curves to complete the hair mo<strong>de</strong>l. Still another approach [15] consists in<br />
mo<strong>de</strong>ling hair in a hierarchical way so there is a g<strong>en</strong>eral hairstyle first, and th<strong>en</strong><br />
refinem<strong>en</strong>ts can be ma<strong>de</strong> locally to increm<strong>en</strong>t the hairstyle complexity. The method has<br />
be<strong>en</strong> tried for non real time animation [16]. Bando et al [17] shows a differ<strong>en</strong>t way of<br />
animating hair using particles. They use sets of particles that serve as sampling points<br />
for the volume of the hair and are scattered along the hair mo<strong>de</strong>l. These sets serve to<br />
track the motion of the volume of the hair, and the dynamics of the hair, including hairhair<br />
interactions, are simu<strong>la</strong>ted using the interacting particles. For hair r<strong>en</strong><strong>de</strong>ring, the<br />
Kajiya and Kay mo<strong>de</strong>l [18] is normally used to simu<strong>la</strong>te light scattering from hair.<br />
Marschner et al [19] ext<strong>en</strong>ds this mo<strong>de</strong>l by adding new measurem<strong>en</strong>ts since a hair<br />
strand is mo<strong>de</strong>led as a transpar<strong>en</strong>t elliptical cylin<strong>de</strong>r so transmission and internal<br />
reflection are accounted for.<br />
In a previous paper [6], we discussed a system, called Hair Paint, that based on a<br />
2D paint program interface and color scale images to specify hair characteristics,<br />
allows the user to mo<strong>de</strong>l hair and animate it in a fast way. In this paper we <strong>de</strong>scribe the<br />
ext<strong>en</strong>sions we have done to this tool. The ext<strong>en</strong>sions ad<strong>de</strong>d allow the user to modify<br />
the hair physics and allows for a greater variety in the hairstyles the user can mo<strong>de</strong>l.<br />
2 Hair Paint Reviewed<br />
Hair paint is an easy-to-use tool for mo<strong>de</strong>ling hair based on a paint application and a<br />
3D view of the hairstyle [6]. Hair paint adds two important characteristics for any hair<br />
styling tool: interactivity and ease of use. Hair Paint allows users interactively see and<br />
control their hairstyle in real time and modify it if something goes wrong. Since Hair<br />
Paint is an easy-to-use and intuitive mo<strong>de</strong>ling tool the user can <strong>de</strong>sign hairstyles in a<br />
fast way.<br />
For hair mo<strong>de</strong>ling Hair Paint uses a explicit repres<strong>en</strong>tation of hair and allows users<br />
to specify geometrical characteristics (d<strong>en</strong>sity/root po<strong>sitio</strong>n and l<strong>en</strong>gth) and style<br />
characteristics (curliness, braids and color). These characteristics are specified via color<br />
scale images where darker values indicate minimum values and brighter values<br />
indicates maximum values, i.e. for curliness, we get straight hair for darker values and<br />
differ<strong>en</strong>t <strong>de</strong>grees of curliness for brighter colors. [6, 20] <strong>de</strong>scribe in <strong>de</strong>tail the methods<br />
used to mo<strong>de</strong>l these characteristics.
Since the user specifies hair characteristics via color scale images, Hair Paint has a<br />
paint area where users create their artwork and a 3D view area where they can see their<br />
hairstyle (Figure 1).<br />
Figure 1. Hair Paint Interface<br />
A <strong>de</strong>tailed <strong>de</strong>scription of the mo<strong>de</strong>ling tools provi<strong>de</strong>d by Hair Paint is inclu<strong>de</strong>d in [6].<br />
In figure 2 we can see some examples.<br />
Figure 2. a) Differ<strong>en</strong>t l<strong>en</strong>gth are shown b) Hairstyle with curly hair c) A prairie with differ<strong>en</strong>t<br />
grass l<strong>en</strong>gths, color and d<strong>en</strong>sity d) The Fringe Dolphin<br />
Hair Paint allows users to animate hair in an automated way so they don’t have to<br />
<strong>de</strong>fine in <strong>de</strong>tail what or how hair must move. A <strong>de</strong>tailed <strong>de</strong>scription of the animation<br />
method used in Hair Paint is inclu<strong>de</strong>d in [20]; in g<strong>en</strong>eral terms a simplified physically<br />
based method that automatically computes physics only on some hairs (basis hairs) is<br />
used, calcu<strong>la</strong>ting other <strong>de</strong>p<strong>en</strong>d<strong>en</strong>t hairs from them. Although hair mo<strong>de</strong>ling and hair<br />
animation is the most important part for Hair Paint, hair r<strong>en</strong><strong>de</strong>ring is also consi<strong>de</strong>red.<br />
To capture the anisotropic behavior of hair and reduce aliasing effects we use hardware<br />
acceleration, avai<strong>la</strong>ble in most common graphics cards.<br />
3 Enhancing Hair Paint<br />
Expanding the capabilities of Hair Paint is necessary to make possible to users mo<strong>de</strong>l<br />
more complex hairstyles and allow them to modify the physical behavior of hair. To
achieve these capabilities we propose the addition of three new tools that allow users<br />
to specify style characteristics such as: gel to modify the hair’s physical behavior,<br />
growth of direction to mo<strong>de</strong>l, for example, fringes and finally a tool for mo<strong>de</strong>ling pony<br />
tails. All of these characteristics are specified using color scale images, just as was the<br />
case for the original tools.<br />
3.1 Gel<br />
As m<strong>en</strong>tioned in section 2, hair animation is a semiautomatic process. This, in some<br />
way, is practical for users since it simplifies the specification of animation process, on<br />
the other hand, there are differ<strong>en</strong>t kinds of hair strands, for example curly or straight,<br />
that have differ<strong>en</strong>t physical behavior due to l<strong>en</strong>gth, form, thickness, etc. Another<br />
aspect that needs to be consi<strong>de</strong>red is that a hairstyle could have hair areas where<br />
strands move freely and other areas where strand movem<strong>en</strong>t is restricted. For these<br />
reasons and to provi<strong>de</strong> users with more control over hair animation the gel tool was<br />
ad<strong>de</strong>d. There are other efforts [22] to specify the gel effect over hair, here we propose<br />
our alternative.<br />
Basically gel effects can be summarized as follows: the first effect is the<br />
modification of the amount of movem<strong>en</strong>t of the hair strands, i.e. the hair strands can be<br />
affected or not by wind forces. The second effect is the clumping effect, i.e. the gel can<br />
cause hair to stick together. There is another effect, although it is left for future work,<br />
re<strong>la</strong>ted to hair appearance: gel can cause hair to look wet and bright.<br />
Implem<strong>en</strong>ting the first effect can be done by modifying the hair strand’s mass so it<br />
results in differ<strong>en</strong>t motion from one strand to another but it could be problematic since<br />
minimum mass values close to zero could <strong>de</strong>stabilize the system. To avoid this<br />
pot<strong>en</strong>tial problem, we <strong>de</strong>ci<strong>de</strong>d to modify the forces due to gravity and wind that<br />
interact with the hair strands. This force modification is done by multiplying it by a<br />
factor n [0, 1] obtained from the color scale image as <strong>de</strong>scribed below.<br />
For the second effect, we used the capability of our animation algorithm, first<br />
pres<strong>en</strong>ted in [20], to modify the <strong>de</strong>p<strong>en</strong>d<strong>en</strong>t hair strand’s po<strong>sitio</strong>n. From Algorithm 1,<br />
we can obtain clumpy hair if we substitute the equation Po<strong>sitio</strong>n(x,y,z)+=M by<br />
Po<strong>sitio</strong>n(x,y,z)+=M – clumpiness, this equation, allows us to control the distance<br />
betwe<strong>en</strong> basis hair strands and <strong>de</strong>p<strong>en</strong>d<strong>en</strong>t hair strands to form clumps.<br />
Algorithm 1. Basis – Dep<strong>en</strong>d<strong>en</strong>t Hair Strands
The use of the color scale image is based on the following method. To specify gel,<br />
yellow scale images are used where darker color values repres<strong>en</strong>t maximum values for<br />
n and brighter color values repres<strong>en</strong>t minimum values for n. Another aspect that has<br />
be<strong>en</strong> tak<strong>en</strong> into consi<strong>de</strong>ration is that hair moves faster at the tip than in parts near the<br />
root. For that reason the factor value obtained from the yellow scale image is modified<br />
along the strand no<strong>de</strong>s to obtain this behavior.<br />
In figure 3, we can see the effect of gel tool and the associated gel map.<br />
Figure 3. Gel effects. a) A gel map used for the hairstyle on the right, notice that gel is just applied in<br />
the left si<strong>de</strong> of the hairstyle. b) The resultant hairstyle, notice that from the c<strong>en</strong>ter to the left si<strong>de</strong> of<br />
the hairstyle, the hair doesn’t look fluffy (like the opposite hairstyle) since clumps are created.<br />
3.2 Growth direction<br />
By specifying hair growth direction we can simu<strong>la</strong>te the effect of combing hair,<br />
allowing users to mo<strong>de</strong>l a wi<strong>de</strong>r variety of hairstyles than they can mo<strong>de</strong>l with normal<br />
Hair Paint. In Hair Paint hair grows in direction of the polygonal face normal, i.e.<br />
strands form an angle of 90° betwe<strong>en</strong> face this results in punk or military hairstyles if<br />
animation isn’t applied.<br />
To modify strand growth direction using color scale images it is necessary to use<br />
the three color compon<strong>en</strong>ts Red, Gre<strong>en</strong>, and Blue. Each compon<strong>en</strong>t will modify the<br />
angle betwe<strong>en</strong> polygonal face and hair strand in x, y and z direction respectively. Since<br />
the RGB scale we used is from 0 to 255, we <strong>de</strong>fine angles from 0 to 255, where 0<br />
specifies an angle of 0°, 128 an angle of 90° and 255 an angle of 180°. This allows us<br />
to have an absolute range from 0 to 180 ° for each x, y and z compon<strong>en</strong>t. It is necessary<br />
to m<strong>en</strong>tion that this angle range is used at the root of strands, if the same angle at the<br />
root would be used along the strand we could obtain straight strands from root to tip<br />
(like punk or military hairstyles), but with differ<strong>en</strong>t initial angle. To avoid this and<br />
achieve the effect of a curved hair strand from the initial angle obtained at the root we<br />
modify this initial angle along all the strand no<strong>de</strong>s by multiplying it by a factor f,<br />
where f (0, 1], we vary this factor f according the particle hair strand po<strong>sitio</strong>n, i.e. at<br />
the root, f equals to one and is <strong>de</strong>crem<strong>en</strong>ted along the strand until the tip is reached.<br />
For the modification of the hair strand angle we use po<strong>la</strong>r coordinates to modify the<br />
growth direction. Figure 4 shows an example of the use of po<strong>la</strong>r coordinates to modify<br />
the growth direction for the xy p<strong>la</strong>ne, for yz and xz p<strong>la</strong>ne the process is simi<strong>la</strong>r.
Figure 4. Modifying the initial growth angle<br />
Figure 5 shows a hairstyle using the hair growth direction tool.<br />
Figure 5. a) Growth Direction Map. b) Left, hairstyle without specified growth<br />
direction map. Right, hairstyle using the growth direction map in a).<br />
3.3 Pony Tails<br />
The <strong>la</strong>st <strong>en</strong>hancem<strong>en</strong>t ad<strong>de</strong>d to Hair Paint is the ability to mo<strong>de</strong>l pony tails. These are<br />
mo<strong>de</strong>led using GC (g<strong>en</strong>eralized cylin<strong>de</strong>r [21]) r<strong>en</strong><strong>de</strong>red with Op<strong>en</strong>GL bezier curves to<br />
obtain smooth appearance and reduce discontinuities along the GC.<br />
As m<strong>en</strong>tioned in [21], a GC is composed by an skeleton curve that <strong>de</strong>scribe a path<br />
followed by Fr<strong>en</strong>et frames. We take this skeleton curve and we apply physically based<br />
animation over the no<strong>de</strong>s of this curve using Verlet integration [20]. We change the<br />
radius of the Fr<strong>en</strong>et frames along the GC to mo<strong>de</strong>l the characteristic appearance of a<br />
pony tail where at the tip seems to be more strand re<strong>la</strong>xation than at the root, also we<br />
can use differ<strong>en</strong>t radius to mo<strong>de</strong>l differ<strong>en</strong>t pony tail types (figure 6).
Figure 6. Pony Tails<br />
Specification of pony tails in our mo<strong>de</strong>ling tool is done by violet scale image to control<br />
po<strong>sitio</strong>n and l<strong>en</strong>gth. The l<strong>en</strong>gth of the pony tail <strong>de</strong>p<strong>en</strong>ds of the int<strong>en</strong>sity of the image so<br />
for darker values the pony tail is shorter than for brighter values. Figure 7 shows a<br />
hairstyle with pony tail.<br />
Figure 7. Pony Tail Hairstyle<br />
4 Conclusions<br />
The <strong>en</strong>hancem<strong>en</strong>ts pres<strong>en</strong>ted in this paper ext<strong>en</strong>d the mo<strong>de</strong>ling and animation<br />
capabilities of Hair Paint. For mo<strong>de</strong>ling hairstyles the addition of the tools to specify<br />
growth direction and pony tails allows users to <strong>de</strong>fine hair characteristics allowing<br />
them to mo<strong>de</strong>l more complex hairstyles. The gel tool allows users to modify the<br />
physical behavior of hair strands. Users can also use it to restrict the movem<strong>en</strong>t of hair<br />
and avoid the excessive <strong>de</strong>formation of the hair that would cause the mo<strong>de</strong>led hairstyle<br />
to be lost wh<strong>en</strong> animation is applied by reducing the wind force effects (figure 3).<br />
Refer<strong>en</strong>ces<br />
1. Ch<strong>en</strong>, Saeyor, Dohi, And Ishizuka. A System of 3D Hairstyle Synthesis Based on<br />
the Wisp Mo<strong>de</strong>l. The Visual Computer, 15(4), 159-170.<br />
2. Kim And Neumann. Interactive Multiresolution Hair Mo<strong>de</strong>ling and Editing. ACM<br />
Transactions on Graphics 2002, 21, 3, 620-629.<br />
3. Van Gel<strong>de</strong>r And Wilhelms. An Interactive Fur Mo<strong>de</strong>ling Technique. Proceedings of<br />
the confer<strong>en</strong>ce on Graphics interface 1997, p.181-188, May 1997, Kelowna, British<br />
Columbia, Canada.
4. Lee, Ch<strong>en</strong>, Leu And Ouhyoung. A Rotor P<strong>la</strong>tform Assisted System for 3D<br />
Hairstyles. Journal of WSCG, 10 (1-3), 271-278.<br />
5. Sylvain Paris, Hector M. Briceño, Francois X. Sillion. Capture of Hair Geometry<br />
from Multiple Images. To be pres<strong>en</strong>ted in Siggraph 2004.<br />
6. Isaac Rudomin, B<strong>en</strong>jamin Hernan<strong>de</strong>z. Hair Paint. To be Pres<strong>en</strong>ted in Computer<br />
Graphics International 2004 (CGI), Creta, Grecia, Junio 16 – 19, 2004<br />
7. Koon And Zhiyong. A Simple Physics Mo<strong>de</strong>l to Animate Human Hair Mo<strong>de</strong>led in<br />
2D Strips in Real Time. Proceedings of Eurographics Workshop 2002, 127-138.<br />
8. Dal<strong>de</strong>gan, Thalmann, Kurihara And Thalmann. An integrated system for mo<strong>de</strong>ling,<br />
animating and r<strong>en</strong><strong>de</strong>ring hair. Computer Graphics Forum (Eurographics ’93) 12, 3<br />
(1993), 211–221.<br />
9. Anjyo, Usami, And Kurihara. A Simple Method for Extracting the Natural Beauty of<br />
Hair. Proceedings of ACM SIGGRAPH 92, 26(4), ACM, 111-120.<br />
10. Kurihara, Anjyo And Thalmann, 1993. Hair Animation with Collision Detection.<br />
Computer Graphics Laboratory, Swiss Fe<strong>de</strong>ral Institute of Technology. Computer<br />
Graphics International, 1996.<br />
11. Chang, Jin, And Yu. A Practical Mo<strong>de</strong>l for Hair Mutual Interactions. In<br />
Symposium on Computer Animation 2002, ACM SIGGRAPH, p. 73-80.<br />
12. Kim And Neumann. A Thin Shell Volume for Mo<strong>de</strong>ling Human Hair. In Computer<br />
Animation 2000, Phi<strong>la</strong><strong>de</strong>lphia, IEEE Computer Society, 121-128.<br />
13. P<strong>la</strong>nte, Cani, And Poulin. A Layered Wisp Mo<strong>de</strong>l for Simu<strong>la</strong>ting Interactions<br />
Insi<strong>de</strong> Long Hair. Eurographics Workshop on Computer Animation and Simu<strong>la</strong>tion<br />
2001,139–148.<br />
14. Ch<strong>en</strong>, Saeyor, Dohi, And Ishizuka. A System of 3D Hairstyle Synthesis Based on<br />
the Wisp Mo<strong>de</strong>l. The Visual Computer, 15(4), 159-170.<br />
15. Kim And Neumann. Interactive Multiresolution Hair Mo<strong>de</strong>ling and Editing. ACM<br />
Transactions on Graphics 2002, 21, 3, 620-629.<br />
16. Bertails, F. Kim. Cani, M. Neumann, U. AdaptiveWisp Tree – a multiresolution<br />
control structure for simu<strong>la</strong>ting dynamic clustering in hair motion. Symposium on<br />
Computer Animation'03, July 2003<br />
17. Bando, Ch<strong>en</strong>, Nishita. Animating Hair with Loosely Connected Particles.<br />
Computer Graphics Forum vol 22, nº 3 (2002)<br />
18. Kajiya And Kay. R<strong>en</strong><strong>de</strong>ring Fur with Three Dim<strong>en</strong>sional Textures. In Computer<br />
Graphics (Proceedings of ACM SIGGRAPH 89), 23(4), ACM, 271-280.<br />
19. Marschner, J<strong>en</strong>s<strong>en</strong>, Cammarano. Light Scattering from Human Hair Fibers.<br />
Proceedings of ACM SIGGRAPH 2003.<br />
20. B<strong>en</strong>jamin Hernan<strong>de</strong>z, Isaac Rudomin. Styling by painting and real time animation<br />
of hair using basis-<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t hair strands. WSCG 2004 POSTER proceedings<br />
ISBN 80-903100-6-0<br />
21. Bloom<strong>en</strong>thal, J. 1990. Calcu<strong>la</strong>tion of Refer<strong>en</strong>ce Frames Along A Space Curve. In<br />
A. G<strong>la</strong>ssner, editor, Graphics Gems, Aca<strong>de</strong>mic Press.<br />
22. K. Ward, N. Galoppo, M. Lin. Mo<strong>de</strong>ling hair influ<strong>en</strong>ced by water and styling<br />
products. Proceedings of Computer Animation and Social Ag<strong>en</strong>ts, 2004.
Volume Preserved Deformation of Human Face with<br />
Hand<br />
Yohei Iwasaki, Isamu Mizuno, and Toyohisa Kaneko<br />
Toyohashi University of Technology,<br />
Departm<strong>en</strong>t of Information and Computer Sci<strong>en</strong>ces<br />
kaneko@ics.tut.ac.jp<br />
Abstract. This paper is concerned with volume preserved <strong>de</strong>formation of a human<br />
face pressed or lifted at a point on the face with a human hand. The 3D mo<strong>de</strong>ls<br />
of the human face and hand are ma<strong>de</strong> from 3D CT data. E<strong>la</strong>sticity is realized<br />
with a spring-mass network. Although most past works treated volume preservation<br />
by controlling the shape of surface, this paper proposes a new method that is<br />
based on the volume of each constitu<strong>en</strong>t tetrahedron.<br />
CT data provi<strong>de</strong>s polygonal data of soft tissue and bones with the marching cubes<br />
algorithm. Th<strong>en</strong> no<strong>de</strong>s are allocated using a bubble mesh algorithm, which is<br />
capable of p<strong>la</strong>cing no<strong>de</strong>s approximately in an equal distance.<br />
Based upon the network mo<strong>de</strong>ls, the newly proposed method was applied to two<br />
examples of soft object interactions in or<strong>de</strong>r to <strong>de</strong>monstrate its applicability and<br />
usefulness. The first was a collision of a hand to a part of the cheek and the second<br />
was lifting a part of the lower lip with a hand. Good agreem<strong>en</strong>t betwe<strong>en</strong> the actual<br />
and simu<strong>la</strong>ted sc<strong>en</strong>e was observed.<br />
Keywords: Volume preserved <strong>de</strong>formation, facial simu<strong>la</strong>tion, CT data, <strong>de</strong>formation<br />
with external force<br />
1 Introduction<br />
In virtual reality, a real-time operation is carried out for various objects including soft<br />
objects such as human face, organs etc. This requires mo<strong>de</strong>ling of soft objects and<br />
mutual interaction betwe<strong>en</strong> soft and hard objects. This paper <strong>de</strong>als with the interaction<br />
betwe<strong>en</strong> human organs, especially betwe<strong>en</strong> a face and a hand.<br />
To create soft objects, CT(computing tomography) data g<strong>en</strong>erally avai<strong>la</strong>ble at hospitals<br />
are exploited in this paper. The marching cubes algorithm is applied to CT data<br />
which are three-dim<strong>en</strong>sional, providing the polygonal surfaces of skin and also bones.<br />
The property of maintaining constant volume during mutual interaction of two soft<br />
objects is very important. Any <strong>de</strong>formation on the skin is thought to be carried out<br />
keeping the total volume in a local region, while bones are treated as rigid bodies. If a<br />
part on a soft object is pressed down, there must be a bulge in its neighboring area. This<br />
can be accomplished un<strong>de</strong>r the assumption of volume preserved <strong>de</strong>formation.<br />
1.1 Re<strong>la</strong>ted Works<br />
The work of Terzoupoulos et al. [1] is most well known for mo<strong>de</strong>ling soft objects in<br />
the field of computer graphics. It introduced a spring-mass network mo<strong>de</strong>l to simu<strong>la</strong>te
<strong>de</strong>formation of such primarily two-dim<strong>en</strong>sional objects as a cloth and a f<strong>la</strong>g. Th<strong>en</strong> it<br />
was ext<strong>en</strong><strong>de</strong>d to a 3D surface that is repres<strong>en</strong>ted with second-or<strong>de</strong>r polynomials [2].<br />
These works were applied to make animations of <strong>de</strong>forming objects such as teapots and<br />
cars [3, 4].<br />
Most of the above works are concerned with <strong>de</strong>formation of surfaces [4] alone,<br />
where the number of no<strong>de</strong>s is substantially smaller than that of a true 3D mo<strong>de</strong>l containing<br />
internal no<strong>de</strong>s. In or<strong>de</strong>r to reduce the computation time, James and Pai [5] proposed<br />
a BEM(boundary elem<strong>en</strong>t method) based upon a pre-computed matrix <strong>de</strong>scribing the<br />
re<strong>la</strong>tionship betwe<strong>en</strong> external force and disp<strong>la</strong>cem<strong>en</strong>t. Although a FEM(finite elem<strong>en</strong>t<br />
method) is known to be more accurate and more time-consuming, Capell et al.[6] proposed<br />
a fast computing FEM method based on a simple structure for animating animal<br />
movem<strong>en</strong>t.<br />
There are works for soft tissue <strong>de</strong>formation in the area of medical simu<strong>la</strong>tions [7–<br />
10], where a part of organs is moved or cut with a knife usually in real-time.<br />
There are a number of works for human expressions (for instance [11–13]). This<br />
paper does not address the problem of g<strong>en</strong>erating human expressions with controlling<br />
facial muscles etc. but the problem of making expressions with external force, for instance<br />
with a hand.<br />
1.2 No<strong>de</strong> Allocation with the Close-packed Structure<br />
A spring-mass network is used here to repres<strong>en</strong>t a soft or e<strong>la</strong>stic object. Initial allocation<br />
of no<strong>de</strong>s is carried out based upon the close-packed structure. This is analogous to<br />
cutting or sculpturing a close-packed crystal object into a 3D shape that approximates<br />
the original object.<br />
It is known that there are two types of close-packed structure: cubic and hexagonal<br />
close-packed structure [14]. In either case, the resulting edge l<strong>en</strong>gth will be either 1 or<br />
√<br />
2. (The occurr<strong>en</strong>ce perc<strong>en</strong>tage of<br />
√<br />
2 is about 14%.) In our paper, the cubic closepacked<br />
(ccp) structure is employed. In this case there are 12 neighboring no<strong>de</strong>s per<br />
no<strong>de</strong>.<br />
1.3 3D mo<strong>de</strong>ling with Close-packed Structure<br />
The marching cubes algorithm is applied to giv<strong>en</strong> CT data with two thresholds (one<br />
is betwe<strong>en</strong> the air and soft tissue and the other betwe<strong>en</strong> the soft tissue and the bone),<br />
providing the surface skin and bone polygons. Thus the facial object is repres<strong>en</strong>ted as<br />
the region of soft tissue betwe<strong>en</strong> the skin and bone.<br />
Th<strong>en</strong> this region is covered by a 3D cubic close-packed structure which is slightly<br />
<strong>la</strong>rger than the original region. Let r be the <strong>de</strong>sired average edge distance of the network<br />
mo<strong>de</strong>l to be constructed. Consi<strong>de</strong>r each no<strong>de</strong> of the surface no<strong>de</strong>s of ccp structure. If<br />
its distance to the object surface is <strong>la</strong>rger than .5r, the no<strong>de</strong> is judged to be external and<br />
is removed. The no<strong>de</strong> whose distance is smaller than .5r remains. For all the remaining<br />
no<strong>de</strong>s, their distance to the surface are again computed. Those no<strong>de</strong>s whose distances<br />
are <strong>la</strong>rger than .5r are th<strong>en</strong> <strong>la</strong>beled as internal no<strong>de</strong>s. Those smaller than .5r are as<br />
surface no<strong>de</strong>s.<br />
Th<strong>en</strong> the surface no<strong>de</strong>s of this resulting ccp mo<strong>de</strong>l are moved onto the surface of the<br />
giv<strong>en</strong> object with the bubble mesh algorithm [15]. After the surface no<strong>de</strong>s are adjusted,<br />
this process is carried out for the internal no<strong>de</strong>s.
(a) Spring network<br />
(b) Mo<strong>de</strong>l shape<br />
Fig. 1. Initial spring network mo<strong>de</strong>l with close-packed structure<br />
As an example, consi<strong>de</strong>r a sphere of radius 5cm. Let 2.5mm be the average distance.<br />
The initial network and shape are shown in Figure 1. Th<strong>en</strong> the bubble mesh algorithm is<br />
carried out. The resulting network mo<strong>de</strong>l is shown in Figure 2 and the statistics of edge<br />
distances is tabu<strong>la</strong>ted in Table 1. It is se<strong>en</strong> that the resulting mo<strong>de</strong>l has fairly uniform<br />
edge l<strong>en</strong>gths. The shape is very close to a sphere while the original shape is not smooth.<br />
It should be noted that no<strong>de</strong>-to-no<strong>de</strong> connection is set exactly as that of the initial ccp<br />
structure ev<strong>en</strong> if each no<strong>de</strong> is slightly moved after the application of the bubble mesh<br />
algorithm.<br />
(a) Spring network<br />
(b) Mo<strong>de</strong>l shape<br />
Fig. 2. Spring network mo<strong>de</strong>l for a sphere<br />
Table 1. statistics of edge l<strong>en</strong>gths[mm]<br />
No. of edges Min Max Avg. Sigma<br />
before 5196 2.61 7.43 4.99 0.32<br />
after 5196 3.37 6.71 5.00 0.24
1.4 Spring constant<br />
One important parameter of a spring network is a spring constant assigned to each edge.<br />
In our case, this value is actually measured using a specially <strong>de</strong>signed system [16] with a<br />
force s<strong>en</strong>sor (Nitta UFS2012A) and a <strong>la</strong>ser distance measurem<strong>en</strong>t tool (Ke<strong>en</strong>ce). Local<br />
spring constants are set so that disp<strong>la</strong>cem<strong>en</strong>t value on the cheek with pressed force is the<br />
same betwe<strong>en</strong> the virtual system realized with this network mo<strong>de</strong>l and the real system.<br />
We measured nine points on the face. Spring constants other than these measured points<br />
are interpo<strong>la</strong>ted.<br />
2 Volume Preserved Deformation<br />
2.1 Kinematics<br />
Deformation in a network is carried out based upon Newton’s kinematics and Hook’s<br />
<strong>la</strong>w applicable to a spring. The kinematics equations [17, 18] are giv<strong>en</strong> as:<br />
v i (t) =v i (t − τ)exp(− c m τ)<br />
+ f i<br />
c {1 − exp(− c m τ)}<br />
u i (t) =u i (t − τ)+( m c v i(t − τ) − m c 2 f i) (1)<br />
×{1 − exp(− c m τ)} + f i<br />
c τ<br />
Here τ is an iteration time interval (set to be 0.001 sec. in our experim<strong>en</strong>ts). v i (t)<br />
and u i (t) are velocity and po<strong>sitio</strong>n of no<strong>de</strong> i. f i is the sum of force at no<strong>de</strong> i. m is<br />
the mass which is computed based upon the CT using the d<strong>en</strong>sity of water. c repres<strong>en</strong>ts<br />
viscosity and was set using Equation (2) [19]<br />
c =2 √ k · m × α (2)<br />
This equation provi<strong>de</strong>s the critical viscosity c for α=1, mass m, spring constant k.<br />
2.2 Volume Preserved Deformation<br />
The human soft tissue contains water more than 70% so that volume is thought to be<br />
preserved during <strong>de</strong>formation. Terzopoulos et al.[4] proposed a method of p<strong>la</strong>cing additional<br />
(virtual) force along the normal direction of a point on the surface for volume<br />
preservation.<br />
In this paper we propose a new method based upon constitu<strong>en</strong>t teterahedrons. The<br />
soft object, human face, is already repres<strong>en</strong>ted as a spring-mass network. This network<br />
as a 3D object can be brok<strong>en</strong> into a set of tetrahedrons. Volume preservation is carried<br />
out in a subset of these tetrahedrons, namely a group of tetrahedrons inclu<strong>de</strong>d in a local<br />
region.<br />
Volume preserved <strong>de</strong>formation is carried out as follows:<br />
Step 1 (Computation of total volume)
Compute the volume of each of tetrahedrons and obtain the total volume T (t) at<br />
time t and compare it to the initial total volume T (0). IfT (t) − T (0) > 0, all the<br />
tetrahedrons are pressed with force from external to internal direction. If T (t)−T (0) <<br />
0 or 0, th<strong>en</strong> force is from the internal to the external. The force direction is along the<br />
normal direction of each of four p<strong>la</strong>nes of a tetrahedron.<br />
Step 2 (Volume preserved force):<br />
The force of the i-th tetrahedron for preserved volume is giv<strong>en</strong> as:<br />
F Vj (t) =p(V j (t) − V j (0) (3)<br />
where V j (0) and V j (t) are volume at time 0 and time t, respectively. p is a constant<br />
<strong>de</strong>termined experim<strong>en</strong>tally and is set to be 5.0x10 7 . (This value is re<strong>la</strong>ted to the volume<br />
metric compression ratio showing force divi<strong>de</strong>d by disp<strong>la</strong>ced or compressed volume.) If<br />
V j (t) − V j (0) > 0, force is from internal to external. Otherwise, the opposite direction.<br />
If this direction is the opposite of the global direction at Step 1, th<strong>en</strong> no force is giv<strong>en</strong>.<br />
The force is distributed in proportion to each area of four p<strong>la</strong>nes per tetrahedron.<br />
The distribution ratio to the p<strong>la</strong>ne j is q j = S j /(S 1 + S 2 + S 3 + S 4 ) where S j is the<br />
area of p<strong>la</strong>ne j.<br />
Step 3 :<br />
Equation (3) gives total volume preserved force. It is distributed to four p<strong>la</strong>nes to<br />
the normal directions (n 1 , n 2 , n 3 , n 4 ). At no<strong>de</strong> i, the total force f i is giv<strong>en</strong> as<br />
f i = F Vj(t) (n 1 q 1 + n 2 q 2 + n 3 q 3 ) (4)<br />
where the assumed normal directions are n 1 , n 2 , n 3 . Furthermore, the total force at a<br />
no<strong>de</strong> is obtainable by summing up the forces from all the tetrahedrons sharing the no<strong>de</strong>.<br />
Step 4 (Deformation):<br />
Hook’s force and volume preserved force are ad<strong>de</strong>d, providing the edge l<strong>en</strong>gths and<br />
no<strong>de</strong> coordinates are updated.<br />
Step 5 (Termination):<br />
The iteration is terminated if the following two conditions are met.<br />
1) |T (t) − T (0)| is below a threshold ɛT (0) where ɛ=.01.<br />
2) Change per iteration in all the no<strong>de</strong> coordinates is below a threshold ɛ ′ 2r, where<br />
r is the average edge l<strong>en</strong>gth and ɛ ′ is set to be .01.
3 Deformation of Face with Hand<br />
3.1 Spring network of face<br />
A spring-mass network mo<strong>de</strong>l of a face was constructed with the average edge l<strong>en</strong>gth<br />
of 5mm (i.e. r=2.5mm). The resulting statistics is shown in Table 2 (see Figure 3).<br />
(a) Surface of the skin<br />
(b) Spring network<br />
Fig. 3. Spring network mo<strong>de</strong>l of a human face<br />
Table 2. Statistics of edge l<strong>en</strong>gth[mm]<br />
No. of edges Min Max Avg. Sigma<br />
409791 2.042 11.199 5.069 0.257<br />
Table 3. Statistics of no<strong>de</strong> l<strong>en</strong>gths[mm]<br />
No. of edges Min Max Avg. Sigma<br />
Cheek 4880 2.885 7.755 5.122 0.175<br />
Jaw 3359 2.896 8.374 5.004 0.385<br />
3.2 Simu<strong>la</strong>tion<br />
Although <strong>de</strong>tails are omitted here, a simi<strong>la</strong>r process was carried out to obtain a springmass<br />
network mo<strong>de</strong>l based upon CT data of a human hand with the same average l<strong>en</strong>gth<br />
r (i.e. 5mm). Bones inclu<strong>de</strong>d in either mo<strong>de</strong>l are treated as rigid bodies, namely objects<br />
that do not change their shape.
(a) Cheek<br />
(b) Jaw<br />
Fig. 4. Locations for evaluation<br />
The hand mo<strong>de</strong>l was moved towards the face mo<strong>de</strong>l. Two types of <strong>de</strong>formative<br />
simu<strong>la</strong>tion were performed: (1) press on the cheek with a hand, and (2) lift-up of the<br />
lower lip with a finger.<br />
3.3 GUI for Hand Motion<br />
A graphical user interface GUI as shown in Figure Figure 5 was constructed in or<strong>de</strong>r<br />
to specify the motion of a hand. There are two motions: straight motion and rotational<br />
motion.<br />
Fig. 5. User Interface
3.4 Pressing on cheek with hand<br />
The hand mo<strong>de</strong>l was moved towards the cheek by a increm<strong>en</strong>t of 1.25mm. Figure 6(a)<br />
shows a frontal photograph and Figure 6(b) shows a frame of the simu<strong>la</strong>ted results.<br />
(a) Photograph<br />
(b) Result<br />
Fig. 6. A part of cheek pushed with fingers<br />
Fig. 7. A part of textured cheek pushed with fingers<br />
The hand was moved from the left si<strong>de</strong> (from the mo<strong>de</strong>l, right from the observer) to<br />
the right si<strong>de</strong>. The simu<strong>la</strong>tion process is carried out for each motion of 1.25mm. Table 4<br />
tabu<strong>la</strong>tes the time required for the case with and the case without volume preservation.<br />
The computation was cried out on a PC with 1.8GHz and 1GB memory. The time sp<strong>en</strong>t<br />
was 1.0 Hours and 1.5 Hours without and with volume preservation, respectively. Figure<br />
7 shows the same picture observed from a view po<strong>sitio</strong>n with 45 <strong>de</strong>gree rotation. The<br />
amount of bulge on the cheek as a result of hand motion is observed to be about 3mm,<br />
which is about the same of the bulge with simu<strong>la</strong>tion. We also checked changes in total<br />
volume and observed a preservation rate of 99.99% for face and that of 99.98% for<br />
hand.
Table 4. Computation time<br />
Vol.Pres. No Vol.Pres. Vol.Pres. No Vol.Pres.<br />
Frame<br />
No<br />
Motion<br />
[mm]<br />
exec<br />
time/frame<br />
exec<br />
time/frame<br />
Frame<br />
No<br />
Motion<br />
[mm]<br />
exec<br />
time/frame<br />
exec<br />
time/frame<br />
1 0.125 00:04:08 00:03:38 11 1.375 00:05:12 00:03:19<br />
2 0.250 00:04:59 00:04:03 12 1.500 00:05:05 00:03:19<br />
3 0.375 00:02:41 00:03:37 13 1.625 00:05:32 00:03:19<br />
4 0.500 00:04:39 00:03:18 14 1.750 00:05:33 00:03:19<br />
5 0.625 00:04:46 00:03:19 15 1.875 00:05:19 00:03:20<br />
6 0.750 00:04:44 00:03:19 16 2.000 00:05:17 00:03:19<br />
7 0.875 00:05:07 00:03:19 17 2.125 00:05:58 00:03:19<br />
8 1.000 00:05:07 00:03:20 18 2.250 00:05:51 00:03:20<br />
9 1.125 00:05:01 00:03:19 total 01:30:35 1:01:05<br />
10 1.250 00:05:36 00:03:19 average 00:05:02 00:03:20<br />
3.5 Lifting a part of the lower lip<br />
The next simu<strong>la</strong>tion was to lift up a right part of the lower lip with a hand. Figure<br />
8(a) shows a photograph while Figure 8(b) shows a simu<strong>la</strong>ted result. The agreem<strong>en</strong>t is<br />
reasonable. The total simu<strong>la</strong>tion time was about 1.0 Hours on the PC m<strong>en</strong>tioned above.<br />
(a) Photograph<br />
(b) Result<br />
Fig. 8. The lip lifted upwards with fingers<br />
4 Conclusion and future works<br />
We showed volume preserved <strong>de</strong>formation during the interaction of two soft objects:<br />
human face and hand. The following are the main contributions of this paper.<br />
1) a method for constructing a spring-mass network mo<strong>de</strong>l based upon CT data.<br />
2) a new method of volume preservation based upon constitu<strong>en</strong>t tetrahedrons.<br />
3) verification of the proposed methods with two examples.<br />
Future work is to <strong>de</strong>vise a method for speeding up simu<strong>la</strong>tion.
Refer<strong>en</strong>ces<br />
1. Terzopoulos, D., P<strong>la</strong>tt, J., Barr, A., Fleischer, K.: E<strong>la</strong>stically <strong>de</strong>formable mo<strong>de</strong>ls. In: Proc.<br />
of SIGGRAPH ’87. (1987) 205–214<br />
2. Terzopoulos, D., Metaxas, D.: Dynamic 3d mo<strong>de</strong>ls with local and global <strong>de</strong>formations:<br />
Deformable superquadrics. Volume 13. (1991) 703–714<br />
3. Faloutos, P., van <strong>de</strong> Panne, M., Terzopoulos, D.: Dynamic free-form <strong>de</strong>formations for animating<br />
synthesis. Volume 3. (1997) 201–214<br />
4. Terzopoulos, D., P<strong>la</strong>tt, J., Barr, A., other: E<strong>la</strong>stically <strong>de</strong>formable mo<strong>de</strong>ls. Computer Graphics<br />
21 (1997) 205–214<br />
5. James, D., Pai, D.K.: Art<strong>de</strong>fo: Accurate real time <strong>de</strong>formable objects. In: Proc. of SIG-<br />
GRAPH ’99. (1999) 66–72<br />
6. Capell, S., Gre<strong>en</strong>, S., Curless, B., Duchamp, T., Popovic, Z.: Interactive skeleton-driv<strong>en</strong><br />
dynamic <strong>de</strong>formation. In: Proc. of SIGGRAPH 2002. (2002) 586–593<br />
7. Cotin, S., Delingette, H., Ayache, N.: Real-time e<strong>la</strong>stic <strong>de</strong>formations of soft tissues for<br />
surgery simu<strong>la</strong>tion. Volume 5. (1999) 62–73<br />
8. Kaehler, K., Haber, J., Sei<strong>de</strong>l, H.P.: Geometry-based muscle mo<strong>de</strong>ling for facial animation.<br />
In: Proc. of Graphics Interface 2001. (2001) 37–46<br />
9. Bruyns, C., Ott<strong>en</strong>smeyer, M.: Measurem<strong>en</strong>t of soft-tissue mechanical properties to support<br />
<strong>de</strong>velopm<strong>en</strong>t of a physically based virtual mo<strong>de</strong>l. In: Proc. of MICCAI 2002. (2002) 282–<br />
289<br />
10. Hauth, M., Gross, J., Strasse, W., Buess, G.: Soft tissue simu<strong>la</strong>tion based on measured data.<br />
In: Proc. of MICCAI 2003. (2003) 262–270<br />
11. Lee, Y., Terzopoulos, D., Waters, K.: Realistic mo<strong>de</strong>ling for facial animation. (1995) 55–62<br />
12. Pighin, F., Hecker, J., Lischinski, D., Szeliski, R., D.H.Salesin: Synthesizing realistic facial<br />
expressions from photographs. In: Proc. of SIGGRAPH ’98. (1998) 75–84<br />
13. Noh, J.Y., Neumann, U.: Expression cloning. In: Proc. of SIGGRAPH 2001. (2001) 277–288<br />
14. Hales, T.: Sphere packings i. In: Discrete and Computational Geometry. Number 17 (1997)<br />
1–51<br />
15. Shimada, K.: Physically-based mesh g<strong>en</strong>eration: Automated triangu<strong>la</strong>tion of surfaces and<br />
volumes via bubble packing. Ph,D. thesis, Massachusetts Institute of Technology (1993)<br />
16. Mizobuchi, T., Hirota, K., Kaneko, T.: Deformation mo<strong>de</strong>l of a human face based on measurem<strong>en</strong>ts<br />
(in japanese). Trans. of IEICE J85-D-II (2002) 466–474<br />
17. Hirota, K., Kaneko, T.: Haptic repres<strong>en</strong>tation of e<strong>la</strong>stic objects. Pres<strong>en</strong>ce 10 (2001) 525–536<br />
18. Hirota, K., Kaneko, T.: Implem<strong>en</strong>tation of e<strong>la</strong>stic object in virtual <strong>en</strong>vironm<strong>en</strong>t, advances in<br />
human factors / ergonomics. Design of Computing Systems 21B (1997) 969–972<br />
19. Hirota, K., Tanoue, Y., Kaneko, T.: Simu<strong>la</strong>tion of three-dim<strong>en</strong>sional cracks. Visual Computing<br />
16 (2000) 371–378
Point Based R<strong>en</strong><strong>de</strong>ring and Disp<strong>la</strong>ced<br />
Subdivision for Interactive Animation of Crowds<br />
of Clothed Characters<br />
Isaac Rudomín and Erik Millán<br />
Computer Sci<strong>en</strong>ce Departm<strong>en</strong>t ITESM-CEM<br />
Km 3.5 Carretera al <strong>la</strong>go <strong>de</strong> Guadalupe<br />
Atizapán <strong>de</strong> Zaragoza, Estado <strong>de</strong> México, Mexico, 52926<br />
Phone: +52 55 5864 5659<br />
rudomin@itesm.mx<br />
Abstract. This paper pres<strong>en</strong>ts a set of techniques that can be used for<br />
managing differ<strong>en</strong>t levels of <strong>de</strong>tail in an interactive animation. Polygon<br />
subdivision schemes and disp<strong>la</strong>cem<strong>en</strong>t mapping are used to obtain higher<br />
resolution meshes, while point-based r<strong>en</strong><strong>de</strong>ring is used to reduce the <strong>de</strong>tail<br />
in the mo<strong>de</strong>l wh<strong>en</strong> viewed at a distance. Data from subdivision is<br />
used in point-based r<strong>en</strong><strong>de</strong>ring for a better distribution of samples. An<br />
application with crowds of characters and physically-based clothing is<br />
used to show the advantages of this approach.<br />
Keywords. Level-of-<strong>de</strong>tail, subdivision surfaces, disp<strong>la</strong>cem<strong>en</strong>t maps, pointbased<br />
r<strong>en</strong><strong>de</strong>ring, crowds.<br />
1 Introduction<br />
A common problem in computer graphics is to achieve a ba<strong>la</strong>nce betwe<strong>en</strong> a nice<br />
and smooth disp<strong>la</strong>y of mo<strong>de</strong>ls and a fast and constant frame rate. H<strong>en</strong>ce, levelof-<strong>de</strong>tail<br />
techniques are commonly used to disp<strong>la</strong>y more polygons wh<strong>en</strong> objects<br />
have a <strong>la</strong>rger disp<strong>la</strong>y area, and to show less wh<strong>en</strong> the area gets smaller. Many<br />
algorithms have be<strong>en</strong> used to increase the <strong>de</strong>tail in a mo<strong>de</strong>l. One of the most<br />
wi<strong>de</strong>ly used are subdivision surfaces, <strong>de</strong>signed to work with polygonal meshes,<br />
which makes their use effici<strong>en</strong>t in commodity hardware. There are other methods<br />
to achieve higher <strong>de</strong>tail, such as bump mapping and vertex disp<strong>la</strong>cem<strong>en</strong>t, which<br />
used in conjunction with subdivision, produce better appearance while keeping<br />
a reduced number of primitives and simplifying the edition process.<br />
The animation of clothed humans repres<strong>en</strong>ts a complex problem for multiresolution<br />
techniques, as every vertex changes its po<strong>sitio</strong>n frame after frame<br />
due to external forces. The use of a multiresolution technique to g<strong>en</strong>erate additional<br />
level of <strong>de</strong>tail can produce nice results while maintaining a small number<br />
of primitives. There are many approaches to reducing <strong>de</strong>tail in complex mo<strong>de</strong>ls.<br />
Most inclu<strong>de</strong> a preprocessing phase which will, either create less <strong>de</strong>tailed<br />
mo<strong>de</strong>ls, or sort vertices for their <strong>la</strong>ter disp<strong>la</strong>y. In this paper, we propose the use<br />
of a particu<strong>la</strong>r version of point-based r<strong>en</strong><strong>de</strong>ring, adapted for animated clothed<br />
characters, in combination with a disp<strong>la</strong>ced subdivision scheme.
2 Previous work<br />
2.1 Mesh refinem<strong>en</strong>t<br />
The publication of the papers by Catmull and C<strong>la</strong>rk [1] and Doo and Sabin [2]<br />
marked the beginning of the use subdivision techniques for surface mo<strong>de</strong>ling.<br />
Subdivision elegantly addresses many issues in computer graphics, such as arbitrary<br />
topology, sca<strong>la</strong>bility, uniformity of repres<strong>en</strong>tation, numerical stability and<br />
co<strong>de</strong> simplicity. There is a straightforward way to c<strong>la</strong>ssify most of the subdivision<br />
schemas based on four criteria: the type of refinem<strong>en</strong>t rule (face or vertex<br />
split); the type of g<strong>en</strong>erated mesh (triangu<strong>la</strong>r or quadri<strong>la</strong>teral); whether the<br />
new vertices are approximated or interpo<strong>la</strong>ted; and the smoothness of the limit<br />
surfaces.<br />
For our purposes, we analyze Loop and Butterfly schemes, which are face-split<br />
schemas for triangu<strong>la</strong>r meshes. The Loop scheme is a simple approximating facesplit<br />
scheme for triangu<strong>la</strong>r meshes proposed in [3]. The Butterfly scheme was first<br />
proposed in [4] and <strong>de</strong>fined on arbitrary triangu<strong>la</strong>r meshes. In [5] a modification<br />
of the Butterfly scheme was proposed, which guarantees the g<strong>en</strong>eration of C1-<br />
continuous surfaces.<br />
There are more techniques to increase <strong>de</strong>tail in a mesh. Bump mapping, as<br />
proposed in [6], is a technique to change the appearance of a surface by altering<br />
its normal vectors. This gives the impression of a higher resolution without the<br />
use of additional geometry. In contrast, disp<strong>la</strong>cem<strong>en</strong>t mapping is a method to<br />
pres<strong>en</strong>t surface <strong>de</strong>tail by <strong>de</strong>fining an offset from a base surface. Its main differ<strong>en</strong>ce<br />
from bump mapping is that the po<strong>sitio</strong>n of each vertex is modified. This method<br />
results in a more realistic r<strong>en</strong><strong>de</strong>ring, where disp<strong>la</strong>ced geometry can be se<strong>en</strong> in<br />
the silhouettes.<br />
An effici<strong>en</strong>t implem<strong>en</strong>tation of disp<strong>la</strong>cem<strong>en</strong>t mapping is the use of disp<strong>la</strong>ced<br />
subdivision surfaces, introduced by Lee in [7]. These surfaces are repres<strong>en</strong>ted<br />
as a sca<strong>la</strong>r-valued disp<strong>la</strong>cem<strong>en</strong>t over a smooth domain surface. Here, surface<br />
<strong>de</strong>tail can be repres<strong>en</strong>ted using a simple mesh and a disp<strong>la</strong>cem<strong>en</strong>t map. In [8],<br />
disp<strong>la</strong>cem<strong>en</strong>t mapping is implem<strong>en</strong>ted in hardware to produce effici<strong>en</strong>tly a more<br />
<strong>de</strong>tailed geometry.<br />
2.2 Mesh reduction<br />
One of the first approaches for polygonal mesh reduction was sampling a surface<br />
with fewer vertices, th<strong>en</strong> joining these new vertices to create a new polygonal<br />
structure. Turk [9] proposes randomly sampling new points within the triangles<br />
of a mesh, joining them to the original vertices, and removing the old vertices<br />
progressively. A simi<strong>la</strong>r approach is pres<strong>en</strong>ted in [10], where vertices are removed<br />
one by one through a preprocessing phase, creating a hierarchical structure that<br />
can be r<strong>en</strong><strong>de</strong>red with any <strong>de</strong>sired level of <strong>de</strong>tail.<br />
It is also possible to construct impostors as proposed in [11] and [12]. However,<br />
while some animation may be based in keyframes, cloth simu<strong>la</strong>tion is recalcu<strong>la</strong>ted<br />
dynamically every frame, complicating the use of fixed animations.
A differ<strong>en</strong>t approach for reducing the <strong>de</strong>tail in a mo<strong>de</strong>l is point-based r<strong>en</strong><strong>de</strong>ring.<br />
Point-based r<strong>en</strong><strong>de</strong>ring, as proposed by Grossman [13], uses points as<br />
primitives rather than polygons. In or<strong>de</strong>r to cover a <strong>la</strong>rger area, points may be<br />
r<strong>en</strong><strong>de</strong>red as sp<strong>la</strong>ts, f<strong>la</strong>t shapes that cover many pixels. Rusinkiewicz [14] uses a<br />
technique called QSp<strong>la</strong>t, based on a hierarchy of bounding spheres to sort and<br />
group the pixels. Simi<strong>la</strong>rly, Pfister [15] introduces Surfels, point primitives which<br />
are projected to the faces of cubes in a hierarchical octree. In these approaches,<br />
there is a preprocessing phase in which the points are c<strong>la</strong>ssified and repres<strong>en</strong>tations<br />
for lower <strong>de</strong>tail are obtained. However, in an animation, this preprocessing<br />
would be necessary for every change in the po<strong>sitio</strong>n of the vertices, which, in<br />
this case, dramatically increases the complexity.<br />
3 Multiresolution animation of virtual clothed humans<br />
There has be<strong>en</strong> a great amount of work published on the disp<strong>la</strong>y and r<strong>en</strong><strong>de</strong>r of<br />
crowds of characters with differ<strong>en</strong>t levels of <strong>de</strong>tail. In [16], subdivision is proposed<br />
as a technique to increase <strong>de</strong>tail in crowds, but no <strong>de</strong>tails on the implem<strong>en</strong>tation<br />
or its effici<strong>en</strong>cy are shown. Aubel [17] pres<strong>en</strong>ts a multiresolution approach to<br />
create the surface of a human; however, the mesh g<strong>en</strong>eration occurs once before<br />
the animation, so no interactive level of <strong>de</strong>tail is achieved. Both [17] and [12]<br />
use animated impostors to repres<strong>en</strong>t a huge amount of characters in a sc<strong>en</strong>e.<br />
The disadvantage of this approach is that dynamic calcu<strong>la</strong>tion of cloth subject<br />
to forces produce differ<strong>en</strong>t animations that cannot always be predicted.<br />
Many researchers have attempted to mo<strong>de</strong>l the dynamic behavior of cloth<br />
and garm<strong>en</strong>ts. There are two major tasks that a clothed character simu<strong>la</strong>tion system<br />
performs, which are mo<strong>de</strong>ling the behavior of cloth and <strong>de</strong>tecting collisions<br />
betwe<strong>en</strong> cloth and the character. Methods for mo<strong>de</strong>ling the behavior of cloth can<br />
be c<strong>la</strong>ssified into geometric, physically based, and hybrid [18][19]. Geometric approaches<br />
try to mimic the shape of cloth, physically based methods simu<strong>la</strong>te<br />
actual behavior by using physics, and hybrid methods combine the advantages<br />
of both approaches. Accurate physically-based cloth simu<strong>la</strong>tion systems, such as<br />
[20], <strong>de</strong>fine an implicit Euler integration scheme that allows <strong>la</strong>rge time steps in<br />
the simu<strong>la</strong>tion, ev<strong>en</strong> for stiff springs, as required to mo<strong>de</strong>l the behavior of cloth.<br />
However, each step involves significant computation.<br />
In previous work [21] we have implem<strong>en</strong>ted a hybrid geometric-physically<br />
based approach, using differ<strong>en</strong>t algorithms for garm<strong>en</strong>ts that behave differ<strong>en</strong>tly.<br />
For those that stick to the body, the algorithm is basically geometric, a variation<br />
of skinning algorithms but using an ellipsoidal approximation to the body<br />
to simplify the calcu<strong>la</strong>tion of clothing-body collision <strong>de</strong>tection. The vertices in<br />
the cloth-mesh are associated with a body part and move with it. The ellipsoids<br />
g<strong>en</strong>erate a field used for collision <strong>de</strong>tection. For free flowing garm<strong>en</strong>ts, we<br />
augm<strong>en</strong>t this algorithm by adding physically-based simu<strong>la</strong>tion. The simu<strong>la</strong>tion<br />
shown in this paper is based on this work.<br />
The animation of meshes in cloth simu<strong>la</strong>tion implies the calcu<strong>la</strong>tion of the<br />
po<strong>sitio</strong>n of every vertex for each animation frame. However, more <strong>de</strong>tailed meshes
would <strong>de</strong>mand a higher processing time. Furthermore, wh<strong>en</strong> a mesh has a small<br />
disp<strong>la</strong>y area, some of the <strong>de</strong>tail will not be appreciated by the user. H<strong>en</strong>ce the<br />
conv<strong>en</strong>i<strong>en</strong>ce of using a coarser mo<strong>de</strong>l helped by multiresolution techniques. For<br />
cloth simu<strong>la</strong>tion, we propose the use of subdivision surfaces and disp<strong>la</strong>cem<strong>en</strong>t<br />
mapping to increase the <strong>de</strong>tail in a mesh, and point-based r<strong>en</strong><strong>de</strong>ring to reduce<br />
its <strong>de</strong>tail wh<strong>en</strong> required.<br />
3.1 Adaptive subdivision surfaces for animation<br />
The most common repres<strong>en</strong>tation for mo<strong>de</strong>ls used in interactive applications are<br />
polygonal meshes, and particu<strong>la</strong>rly triangu<strong>la</strong>r meshes, since they are best disp<strong>la</strong>yed<br />
by graphics hardware. H<strong>en</strong>ce, triangu<strong>la</strong>r subdivision schemes are the most<br />
eligible option for this application. It is also <strong>de</strong>sirable for fabric garm<strong>en</strong>ts that<br />
the points in the control mesh are also part of the subdivi<strong>de</strong>d mesh, since collisions<br />
with the un<strong>de</strong>rlying body are calcu<strong>la</strong>ted for the original points. According<br />
to these consi<strong>de</strong>rations, the Butterfly subdivision scheme was selected, though<br />
simi<strong>la</strong>r performance might be achieved through differ<strong>en</strong>t subdivision schemes.<br />
Giv<strong>en</strong> a control mesh, we create an object called polygon subdivi<strong>de</strong>r. A polygon<br />
subdivi<strong>de</strong>r will analyze the topology of the mesh and add new triangles up<br />
to a certain subdivision level.<br />
Fig. 1. Overview of the subdivision process<br />
The po<strong>sitio</strong>n of the vertices in an animated cloth is likely to change in every<br />
frame, making necessary to calcu<strong>la</strong>te subdivision constantly. Nevertheless,<br />
it is common in mo<strong>de</strong>ls used for cloth animation, and for most types of animation,<br />
that the topology of the mo<strong>de</strong>l remains constant. For this reason, some of<br />
the data can be calcu<strong>la</strong>ted in advance. Consi<strong>de</strong>r we have a mesh with vertices<br />
p 0 ,p 1 , ..., p i . A subdivision mask produced will produce, for each level, a set of<br />
vertices r j whose po<strong>sitio</strong>n will be obtained in the following manner:<br />
i∑<br />
r j = w k p k<br />
k=0
where w k is the weight associated to each vertex in the control mesh to obtain<br />
the subdivi<strong>de</strong>d vertex. The values for each w k are produced by the polygon<br />
subdivi<strong>de</strong>r and <strong>de</strong>p<strong>en</strong>d on the subdivision schema selected. These values are<br />
stored on a subdivision mask, and the actual value of the vertex <strong>de</strong>p<strong>en</strong>ds on the<br />
po<strong>sitio</strong>n of the control mesh in a giv<strong>en</strong> mom<strong>en</strong>t. The polygon subdivi<strong>de</strong>r will<br />
produce a set of subdivision masks, one for each level of subdivision <strong>de</strong>sired. In<br />
this way, a weighted sum is the only computation required to obtain the po<strong>sitio</strong>n<br />
for a vertex at a giv<strong>en</strong> level of subdivision.<br />
Subdivision masks can also handle the calcu<strong>la</strong>tion of normal vectors and<br />
texture coordinates, requiring only a weighted sum to obtain their value. Texture<br />
coordinates are not likely to change through the animation, so they can be<br />
computed in advance. In addition, subdivision masks can be ext<strong>en</strong><strong>de</strong>d to inclu<strong>de</strong><br />
new information, as it will be <strong>de</strong>scribed <strong>la</strong>ter on this paper.<br />
Once we have a set of masks, we can disp<strong>la</strong>y a mo<strong>de</strong>l at differ<strong>en</strong>t levels of<br />
<strong>de</strong>tail using adaptive subdivision. The subdivision level for a giv<strong>en</strong> triangle is<br />
selected according to the distance from a point of view. In our work, we used a<br />
threshold based on the area of a polygon and on the distance to the camera to<br />
select the <strong>de</strong>tail. An overview of the <strong>en</strong>tire subdivision process can be appreciated<br />
in figure 1.<br />
a) b)<br />
Fig. 2. a) Masks used for polygon subdivision. b) Sample subdivi<strong>de</strong>d blouse with additional<br />
<strong>de</strong>tail on the silhouette<br />
Due to the adaptive subdivision, contiguous triangles can have differ<strong>en</strong>t <strong>de</strong>tail.<br />
To avoid the <strong>de</strong>velopm<strong>en</strong>t of holes, triangles surroun<strong>de</strong>d by more <strong>de</strong>tailed<br />
neighbors are retriangu<strong>la</strong>ted according to the masks in Figure 2.a.<br />
The usage of differ<strong>en</strong>t levels of <strong>de</strong>tail based on the distance of the mo<strong>de</strong>l to<br />
the camera produces good results; however, <strong>la</strong>ck of <strong>de</strong>tail is highly noticeable<br />
by a user in silhouettes. This is why faces in the silhouette of the mo<strong>de</strong>l are<br />
disp<strong>la</strong>yed with a higher level of <strong>de</strong>tail. An example of this adaptive subdivision<br />
is exemplified in Figure 2.b. The image on the left has a higher <strong>de</strong>tail on its<br />
contours, which can be better appreciated on the right image that has be<strong>en</strong><br />
artificially rotated to help observation.
3.2 Disp<strong>la</strong>cem<strong>en</strong>t mapping<br />
Additional level of <strong>de</strong>tail can be ad<strong>de</strong>d to a mesh through disp<strong>la</strong>cem<strong>en</strong>t mapping.<br />
A disp<strong>la</strong>cem<strong>en</strong>t map is <strong>de</strong>signed as a grayscale image mapped to a polygonal<br />
mesh through texture coordinates; the int<strong>en</strong>sity in the texture will indicate the<br />
magnitu<strong>de</strong> of the disp<strong>la</strong>cem<strong>en</strong>t. Texture coordinates can be used for disp<strong>la</strong>cem<strong>en</strong>t<br />
to simplify the creation of disp<strong>la</strong>cem<strong>en</strong>t maps in previously texturized meshes.<br />
The original <strong>de</strong>sign of subdivision masks is ext<strong>en</strong><strong>de</strong>d to support disp<strong>la</strong>cem<strong>en</strong>t<br />
mapping. A disp<strong>la</strong>ced vertex d j is obtained from a vertex r j through<br />
s j = r j + dN j<br />
where N j is the normal vector of the vertex and d is the disp<strong>la</strong>cem<strong>en</strong>t value<br />
obtained from the map. This requires little additional effort, as these values have<br />
already be<strong>en</strong> precalcu<strong>la</strong>ted in the subdivision mask.<br />
However, wh<strong>en</strong> a vertex is disp<strong>la</strong>ced, its normal vector will also change. This<br />
modified normal vector is fundam<strong>en</strong>tal to appreciate correct shading on the<br />
disp<strong>la</strong>ced mo<strong>de</strong>l. However, due to the simplifications in subdivision masks, it is<br />
impossible to know the disp<strong>la</strong>ced po<strong>sitio</strong>ns of neighboring points at a giv<strong>en</strong> level<br />
of <strong>de</strong>tail, crucial in normal calcu<strong>la</strong>tion for subdivision surfaces.<br />
a) b)<br />
Fig. 3. a) Normal perturbation for disp<strong>la</strong>cem<strong>en</strong>t mapping. b) Left: Skirt r<strong>en</strong><strong>de</strong>red without<br />
disp<strong>la</strong>cem<strong>en</strong>t mapping. Right: Skirt using disp<strong>la</strong>cem<strong>en</strong>t mapping<br />
Nevertheless, we can use the subdivision masks for tang<strong>en</strong>t vectors t j and b j ,<br />
used to obtain the normal vector N j . H<strong>en</strong>ce, can obtain a perturbation vector<br />
Q j as proposed in [6].<br />
Q j = u j (N j × t j ) − v j (N j × b j )<br />
Here, u j and v j are the partial <strong>de</strong>rivatives of the disp<strong>la</strong>cem<strong>en</strong>t map, and can<br />
be obtained by simply subtracting neighboring values on this map. By adding<br />
this vector to the original normal we obtain the disp<strong>la</strong>ced normal. This is shown<br />
in figure 3.a. An example of a skirt r<strong>en</strong><strong>de</strong>red with and without disp<strong>la</strong>cem<strong>en</strong>t<br />
mapping is shown in Figure 3.b.
3.3 Point-based r<strong>en</strong><strong>de</strong>ring<br />
The use of subdivision surfaces to increase the level of <strong>de</strong>tail of a mesh produces<br />
a <strong>la</strong>rge number of polygons and vertices. This ext<strong>en</strong><strong>de</strong>d set of points provi<strong>de</strong>s<br />
additional samples for point-based r<strong>en</strong><strong>de</strong>ring, and consequ<strong>en</strong>tly a better sampling<br />
of the space occupied by a mo<strong>de</strong>l. In [22], samples are tak<strong>en</strong> from the surface of<br />
a polygonal mesh. While this is useful, this paper does not propose a method<br />
to increase the level of <strong>de</strong>tail in a mesh. Besi<strong>de</strong>s, the use of samples from a<br />
subdivi<strong>de</strong>d mesh provi<strong>de</strong>s a better repres<strong>en</strong>tation for coarser polygonal meshes,<br />
as sampled geometry contains a more natural shape. However, the sampling<br />
and stratification techniques from [22] method can be easily integrated with our<br />
approach.<br />
An octree hierarchy is used to c<strong>la</strong>ssify the points in a mesh. This octree is<br />
traversed in a breadth-first manner to obtain a uniform sample distribution,<br />
providing a list of hierarchically-or<strong>de</strong>red vertices simi<strong>la</strong>r to [23].<br />
For each cell, all subcells are visited with a random or<strong>de</strong>r. Once all of them<br />
are visited, they are visited again until all vertices within have be<strong>en</strong> visited or<br />
until the number of points to r<strong>en</strong><strong>de</strong>r is reached. This random selection is used at<br />
every octree level, so the sampling distribution is always regu<strong>la</strong>r. The selected<br />
samples are stored in a list. This random list may be g<strong>en</strong>erated constantly, which<br />
produces some noise in disp<strong>la</strong>y and improves the appearance of distant objects.<br />
Fig. 4. Sample point-based r<strong>en</strong><strong>de</strong>rs of a blouse. Point size has be<strong>en</strong> reduced to appreciate<br />
samples.<br />
The use of an octree hierarchy produces good results, but it can be rep<strong>la</strong>ced<br />
to better adapt to a specific domain. In our clothing application, vertices in<br />
cloth mo<strong>de</strong>ls are mapped to ellipsoids within the body of the human, as in [21].<br />
Based on this, in this paper rather than straight octrees we first c<strong>la</strong>ssify vertices<br />
according to the closest ellipsoid and th<strong>en</strong>, within each ellipsoidal category, we<br />
apply the octree algorithm. In this way, it is guaranteed that all parts of the<br />
body are visible from a distant point of view.<br />
To disp<strong>la</strong>y a point-based mo<strong>de</strong>l, a number of samples is selected based on the<br />
distance from the mo<strong>de</strong>l to the camera. These samples are picked from the list<br />
g<strong>en</strong>erated by the hierarchy, and calcu<strong>la</strong>ted according to the subdivision mask
which gives us a way to obtain additional samples where nee<strong>de</strong>d. An example of<br />
this r<strong>en</strong><strong>de</strong>r is disp<strong>la</strong>yed in Figure 4.<br />
a)<br />
b)<br />
Fig. 5. a) Left: Crowd using traditional r<strong>en</strong><strong>de</strong>r. Middle: Crowd using differ<strong>en</strong>t levels of<br />
<strong>de</strong>tail. Right: Wireframe of the crowd. Point size has be<strong>en</strong> reduced to contrast points<br />
from polygons. b) Left: Traditional r<strong>en</strong><strong>de</strong>r of a crowd. Right: Crowd r<strong>en</strong><strong>de</strong>red using<br />
our approach.<br />
In or<strong>de</strong>r to cull faces wh<strong>en</strong> disp<strong>la</strong>ying the mo<strong>de</strong>l, most of the point-based<br />
algorithms, such as [13], obtain normal cones. Normal cones select an area where<br />
a set of points is not visible. However, in animated meshes, these areas would<br />
have to be constantly recalcu<strong>la</strong>ted. To implem<strong>en</strong>t backface culling, we obtain,<br />
for each vertex, the dot product betwe<strong>en</strong> the normal for each point and the<br />
direction to the camera. In addition, we modify the alpha value in contours to<br />
g<strong>en</strong>erate an antialiasing effect. To improve performance, it is possible to obtain<br />
these normals for blocks of points, however, this is left as future work.<br />
4 Results<br />
In or<strong>de</strong>r to test our approach, a sample application was programmed disp<strong>la</strong>ying<br />
100 cloned mo<strong>de</strong>ls. A culling algorithm was used to only draw the visible objects.<br />
The animation for these mo<strong>de</strong>ls was calcu<strong>la</strong>ted once and used for all of them.<br />
However, their r<strong>en</strong><strong>de</strong>r was performed adaptively according to their po<strong>sitio</strong>n and<br />
distance to the point of view.<br />
Figure 5.a shows a sc<strong>en</strong>e with multiple levels of <strong>de</strong>tail. According to the<br />
distance to the camera, mo<strong>de</strong>ls are r<strong>en</strong><strong>de</strong>red either by adding <strong>de</strong>tail through<br />
subdivision or by reducing <strong>de</strong>tail through point based r<strong>en</strong><strong>de</strong>r. In every mo<strong>de</strong>l,<br />
a differ<strong>en</strong>t number of vertices is selected, and the po<strong>sitio</strong>n and normal vectors<br />
for these vertices are calcu<strong>la</strong>ted interactively. Figure 5.b show a comparison<br />
betwe<strong>en</strong> a crowd r<strong>en</strong><strong>de</strong>red using point-based r<strong>en</strong><strong>de</strong>ring and a crowd using regu<strong>la</strong>r<br />
r<strong>en</strong><strong>de</strong>ring. In this case, point-based r<strong>en</strong><strong>de</strong>r significantly increases the frame rate.
Table 1. Frames per second for differ<strong>en</strong>t r<strong>en</strong><strong>de</strong>rings of the crowd.<br />
Figure 5.a middle 5.a left 5.b right 5.b left<br />
LOD Yes No Yes No<br />
Characters 62 62 100 100<br />
Vertices 359,058 1,263,126 366,777 2,037,300<br />
Triangles 45,504 421,042 0 679,100<br />
Points 222,546 0 366,777 0<br />
FPS 5fps 5fps 33fps 3fps<br />
R<strong>en</strong><strong>de</strong>ring <strong>de</strong>tails from differ<strong>en</strong>t points of view are shown in Table 1. In<br />
close-ups, r<strong>en</strong><strong>de</strong>ring time increases, but a higher <strong>de</strong>tail is g<strong>en</strong>erated for closest<br />
mo<strong>de</strong>ls, improving their appearance. We are still working in implem<strong>en</strong>ting several<br />
optimization techniques that we expect can still yield significant increases in the<br />
frame rate.<br />
5 Conclusions and future work<br />
The use of multiresolution approaches to both increase and <strong>de</strong>crease the level<br />
of <strong>de</strong>tail of mo<strong>de</strong>ls can produce nice looking results at interactive frame rates.<br />
The combination of these two methods proves useful to obtain good tran<strong>sitio</strong>ns<br />
betwe<strong>en</strong> levels of <strong>de</strong>tail for interpo<strong>la</strong>ting subdivision schemes in animation, but<br />
should also produce nice tran<strong>sitio</strong>ns in the case of approximating subdivision<br />
schemes.<br />
In addition, the use of subdivision data for point-based r<strong>en</strong><strong>de</strong>ring provi<strong>de</strong>s<br />
a better quality in the sampling used to pick r<strong>en</strong><strong>de</strong>red points. The partial precalcu<strong>la</strong>tion<br />
of subdivision masks provi<strong>de</strong>s a way to incorporate dynamic level of<br />
<strong>de</strong>tail interactively.<br />
There are many optimizations possible for these framework. Corresponding<br />
information on differ<strong>en</strong>t characters can be cached temporarily to be used by these<br />
differ<strong>en</strong>t instances. Physical calcu<strong>la</strong>tions for animations can be calcu<strong>la</strong>ted only<br />
up to a certain level of <strong>de</strong>tail, rep<strong>la</strong>cing them with less exp<strong>en</strong>sive calcu<strong>la</strong>tions.<br />
Finally, this approach could be implem<strong>en</strong>ted in hardware through vertex and<br />
pixel sha<strong>de</strong>rs, removing the additional load from the main processor.<br />
Refer<strong>en</strong>ces<br />
1. Catmull, E.E., C<strong>la</strong>rk, J.H.: Recursively g<strong>en</strong>erated b-spline surfaces on topological<br />
meshes. Computer Ai<strong>de</strong>d Design 10 (1978) 350–355<br />
2. Doo, D., Sabin, M.: Analysis of the behaviour of recursive division surfaces near<br />
extraordinary points. Computer Ai<strong>de</strong>d Design 10 (1978) 356–360<br />
3. Loop, D.: Smooth subdivision surfaces based on triangles. Master’s thesis, University<br />
of Utah, Departm<strong>en</strong>t of Mathematics (1987)<br />
4. Dyn, N., Levine, D., Gregory, J.A.: A butterfly subdivision scheme for surface<br />
interpo<strong>la</strong>tion with t<strong>en</strong>sion control. ACM Trans. Graph. 9 (1990) 160–169
5. Zorin, D., Schrö<strong>de</strong>r, P., Sweld<strong>en</strong>s, W.: Interpo<strong>la</strong>ting subdivision for meshes with<br />
arbitrary topology. In: Proceedings of the 23rd annual confer<strong>en</strong>ce on Computer<br />
graphics and interactive techniques, ACM Press (1996) 189–192<br />
6. Blinn, J.F.: Simu<strong>la</strong>tion of wrinkled surfaces. In: Proceedings of the 5th annual<br />
confer<strong>en</strong>ce on Computer graphics and interactive techniques, ACM Press (1978)<br />
286–292<br />
7. Lee, A., Moreton, H., Hoppe, H.: Disp<strong>la</strong>ced subdivision surfaces. In: Proceedings<br />
of the 27th annual confer<strong>en</strong>ce on Computer graphics and interactive techniques,<br />
ACM Press/Addison-Wesley Publishing Co. (2000) 85–94<br />
8. Gumhold, S., Hüttner, T.: Multiresolution r<strong>en</strong><strong>de</strong>ring with disp<strong>la</strong>cem<strong>en</strong>t mapping.<br />
In: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics<br />
hardware, ACM Press (1999) 55–66<br />
9. Turk, G.: Retiling polygonal surfaces. Computer Graphics 26 (1992) 55–64<br />
10. Hoppe, H.: Progressive meshes. In: Proceedings of the 23rd annual confer<strong>en</strong>ce on<br />
Computer graphics and interactive techniques, ACM Press (1996) 99–108<br />
11. Tecchia, F., Chrysanthou, Y.: Real-time r<strong>en</strong><strong>de</strong>ring of d<strong>en</strong>sely popu<strong>la</strong>ted urban<br />
<strong>en</strong>vironm<strong>en</strong>ts. In: Proceedings of the Eurographics Workshop on R<strong>en</strong><strong>de</strong>ring Techniques<br />
2000, Springer-Ver<strong>la</strong>g (2000) 83–88<br />
12. Tecchia, F., Loscos, C., Chrysanthou, Y.: Image-based crowd r<strong>en</strong><strong>de</strong>ring. IEEE<br />
Comput. Graph. Appl. 22 (2002) 36–43<br />
13. Grossman, J.P., Dally, W.J.: Point sample r<strong>en</strong><strong>de</strong>ring. In: R<strong>en</strong><strong>de</strong>ring Techniques<br />
’98, Springer (1998) 181–192<br />
14. Rusinkiewicz, S., Levoy, M.: Qsp<strong>la</strong>t: a multiresolution point r<strong>en</strong><strong>de</strong>ring system<br />
for <strong>la</strong>rge meshes. In: Proceedings of the 27th annual confer<strong>en</strong>ce on Computer<br />
graphics and interactive techniques, ACM Press/Addison-Wesley Publishing Co.<br />
(2000) 343–352<br />
15. Pfister, H., Zwicker, M., van Baar, J., Gross, M.: Surfels: surface elem<strong>en</strong>ts as<br />
r<strong>en</strong><strong>de</strong>ring primitives. In: Proceedings of the 27th annual confer<strong>en</strong>ce on Computer<br />
graphics and interactive techniques, ACM Press/Addison-Wesley Publishing Co.<br />
(2000) 335–342<br />
16. O’Sullivan, C., Cassell, J., Vilhjálmsson, H., Dobbyn, S., Peters, C., Leeson, W.,<br />
Giang, T., Dingliana, J.: Crowd and group simu<strong>la</strong>tion with levels of <strong>de</strong>tail for<br />
geometry, motion and conversational behaviour. In: Eurographics Irish Chapter<br />
Workshop Proceedings 2002. (2002) 15–20<br />
17. Aubel, A., Boulic, R., Thalmann, D.: Real-time disp<strong>la</strong>y of virtual humans: Levels<br />
of <strong>de</strong>tails and impostors. IEEE Trans. Circuits and Systems for Vi<strong>de</strong>o Technology<br />
10 (2000) 207–217<br />
18. Volino, P., Magn<strong>en</strong>at-Thalmann, N.: Virtual Clothing. Springer Ver<strong>la</strong>g (2000)<br />
19. House, D.H., Bre<strong>en</strong>, D.E.: Cloth mo<strong>de</strong>ling and animation. A. K. Peters, Ltd.<br />
(2000)<br />
20. Baraff, D., Witkin, A.: Large steps in cloth simu<strong>la</strong>tion. In: Proceedings of the 25th<br />
annual confer<strong>en</strong>ce on Computer graphics and interactive techniques, ACM Press<br />
(1998) 43–54<br />
21. Rudomin, I., Castillo, J.L.: Distance fields applied to character animation. In:<br />
Proceedings of Eurographics, Eurographics Association (2002)<br />
22. Wand, M., Straßer, W.: Multi-resolution r<strong>en</strong><strong>de</strong>ring of complex animated sc<strong>en</strong>es.<br />
Computer Graphics Forum 21 (2002) Eurographics 2002.<br />
23. Dachsbacher, C., Vogelgsang, C., Stamminger, M.: Sequ<strong>en</strong>tial point trees. ACM<br />
Trans. Graph. 22 (2003) 657–662
Haptic R<strong>en</strong><strong>de</strong>ring using Velocity Driv<strong>en</strong> Level of Detail<br />
Pavel Kolčárek and Jiří Sochor<br />
Masaryk university<br />
HCI Laboratory<br />
Botanická 68a, Brno, 602 00, Czech republic<br />
kolcarek, sochor¡ ¢ fi.muni.cz<br />
Abstract. This paper pres<strong>en</strong>ts a new concept of using Level Of Detail (LOD)<br />
in haptics. LOD and mo<strong>de</strong>l simplification methods are wi<strong>de</strong>ly used in computer<br />
graphics. In rec<strong>en</strong>t years they have started to appear in haptics as well. All these<br />
techniques pursue a simi<strong>la</strong>r goal as in graphics — they try to simplify the original<br />
mo<strong>de</strong>l as much as possible without incurring the loss of significant <strong>de</strong>tails. We<br />
take a differ<strong>en</strong>t approach. A very complex sc<strong>en</strong>e can be confusing to the users, especially<br />
to visually impaired people, because they cannot adjust their movem<strong>en</strong>ts<br />
according to the image on the scre<strong>en</strong>. We have proposed a method, that will simplify<br />
the mo<strong>de</strong>l in agreem<strong>en</strong>t with the speed of the user’s fingertip. Wh<strong>en</strong> users<br />
explore the surface quickly, only a rough shape is pres<strong>en</strong>ted to them, whereas<br />
slow movem<strong>en</strong>ts result in highly <strong>de</strong>tailed surface. This paper pres<strong>en</strong>ts the curr<strong>en</strong>t<br />
state of our research in this field.<br />
Keywords: level of <strong>de</strong>tail, haptics, velocity driv<strong>en</strong> exploration, multiresolution mesh<br />
1 Introduction<br />
Virtual <strong>en</strong>vironm<strong>en</strong>ts are becoming very popu<strong>la</strong>r in many areas of our lives. We can<br />
come across them in <strong>en</strong>tertainm<strong>en</strong>t, education, medicine and virtual <strong>de</strong>sign. The important<br />
compon<strong>en</strong>t of these <strong>en</strong>vironm<strong>en</strong>ts is haptic disp<strong>la</strong>y with its force and tactile feedback,<br />
that gives the user a greater s<strong>en</strong>se of immersion in them. Force (or kinesthetic)<br />
feedback refers to the s<strong>en</strong>sation from the application of physical force in response to<br />
user input. Tactile feedback refers to the s<strong>en</strong>sation caused by stimu<strong>la</strong>ting the nerves of<br />
theskinsuchasbypressureandvibration.<br />
The basic building block of the virtual <strong>en</strong>vironm<strong>en</strong>t is a 3D mo<strong>de</strong>l. A wi<strong>de</strong> palette of<br />
methods for <strong>de</strong>scribing a 3D mo<strong>de</strong>l has be<strong>en</strong> <strong>de</strong>veloped. The easiest solution, and probably<br />
the most commonly used, is a polygonal mesh. For its simplicity it is frequ<strong>en</strong>tly<br />
used in the 3D computer graphics as well as in haptic r<strong>en</strong><strong>de</strong>ring. Highly <strong>de</strong>tailed meshes<br />
(obtained for example using range scanning systems [2]) need to be simplified [4, 6] to<br />
meet the requirem<strong>en</strong>ts of a r<strong>en</strong><strong>de</strong>ring <strong>de</strong>vice. To further improve r<strong>en</strong><strong>de</strong>ring performance,<br />
several versions of a mo<strong>de</strong>l at various levels of <strong>de</strong>tail can be <strong>de</strong>fined. We obtain a Level-<br />
Of-Detail (LOD) approximation. Wh<strong>en</strong> the object is close to the viewer, a <strong>de</strong>tailed mesh<br />
is used, whereas for the object far away from the viewer, a coarse repres<strong>en</strong>tation is r<strong>en</strong><strong>de</strong>red.
As has be<strong>en</strong> m<strong>en</strong>tioned, LOD and simplification methods p<strong>la</strong>y an important role<br />
in 3D computer graphics, but in rec<strong>en</strong>t years they have <strong>en</strong>tered the field of haptics [1,<br />
3, 11]. We will focus on the main contributions in the next section, but prior to this<br />
we will conc<strong>en</strong>trate on differ<strong>en</strong>ces betwe<strong>en</strong> using LOD in graphics and haptics and<br />
briefly outline our approach. In Section 3 we will discuss it in greater <strong>de</strong>tail. Finally, in<br />
Section 4 we will pres<strong>en</strong>t our results and outline our future research directions.<br />
1.1 LOD: Graphics versus Haptics<br />
LOD and multiresolution techniques have be<strong>en</strong> <strong>de</strong>veloped to accelerate r<strong>en</strong><strong>de</strong>ring and<br />
handling 3D mo<strong>de</strong>ls in graphics. If we want to use them in a differ<strong>en</strong>t area, in this case<br />
in haptics, we need to modify the criteria of choosing a relevant LOD repres<strong>en</strong>tation<br />
which will meet the differ<strong>en</strong>t needs of haptic r<strong>en</strong><strong>de</strong>ring. First of all, wh<strong>en</strong> the surface<br />
of a mo<strong>de</strong>l is explored, the user is always in contact with it. Therefore, we cannot use<br />
typical selection criteria known from graphics such as the distance of the object from<br />
the viewer or size of the mo<strong>de</strong>l on the computer scre<strong>en</strong>. In our approach we are using<br />
the speed of the user’s fingertip, and another possible criterion could be the pressure of<br />
the fingertip on the surface.<br />
Next, we must take into consi<strong>de</strong>ration the s<strong>en</strong>sitivity of the human s<strong>en</strong>se of touch.<br />
We cannot use a discrete LOD consisting of several precomputed levels and switch<br />
betwe<strong>en</strong> them, while the program is running, as in graphics. Abrupt surface changes are<br />
unnatural and disturbing. Finally, we must take the re<strong>la</strong>tion betwe<strong>en</strong> surface curvature<br />
and the radius of the fingertip into consi<strong>de</strong>ration so that we don’t miss important features<br />
of the surface [10].<br />
Rec<strong>en</strong>tly published methods using LOD in haptics [1, 3, 11] follow the perceptually<br />
driv<strong>en</strong> approach — the mo<strong>de</strong>l is simplified so that the haptic <strong>de</strong>vice can r<strong>en</strong><strong>de</strong>r it and<br />
for r<strong>en</strong><strong>de</strong>ring the most faithful repres<strong>en</strong>tation as possible is chos<strong>en</strong>. This technique is a<br />
simi<strong>la</strong>r to that used in graphics, but the s<strong>en</strong>se of touch, while allowing for active exploration,<br />
is spatially focused and has a far lower bandwidth than the visual s<strong>en</strong>se [9]. Thus,<br />
if a visual repres<strong>en</strong>tation is not avai<strong>la</strong>ble or cannot be used (as in the case with blind<br />
or visually impaired people), haptic repres<strong>en</strong>tations of <strong>la</strong>rge data sets can be confusing<br />
to the user. Additionally, the experim<strong>en</strong>ts <strong>de</strong>monstrated that the greater the curvature of<br />
the surface, the lower the speed of the user’s fingertip [13] and ev<strong>en</strong> a brief contact may<br />
suffice to extract a number of features that are diagnostic of the object’s id<strong>en</strong>tity and<br />
also the location of contact [8].<br />
With these results in mind we have proposed a new concept of LOD — velocity<br />
driv<strong>en</strong> LOD. It follows the hierarchical mo<strong>de</strong> of surface exploration and facilitates<br />
the ori<strong>en</strong>tation in the sc<strong>en</strong>e. The users fly quickly through the sc<strong>en</strong>e and get a rough<br />
overview of it. Wh<strong>en</strong> they slow down, they get more and more <strong>de</strong>tails about the sc<strong>en</strong>e.<br />
We will <strong>de</strong>scribe our method in more <strong>de</strong>tail in Section 3.<br />
2 Re<strong>la</strong>ted Work<br />
LOD techniques are not an in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t field of research, but are linked to other areas.<br />
Many approaches to using LOD have be<strong>en</strong> <strong>de</strong>veloped over the past two <strong>de</strong>ca<strong>de</strong>s. Firstly,
we briefly m<strong>en</strong>tion the LOD techniques used in computer graphics that are re<strong>la</strong>ted to<br />
our work. Th<strong>en</strong> we focus on their application in haptics.<br />
2.1 LOD and Simplification in Haptics<br />
The simplest solution is a discrete LOD. The levels are created during offline preprocessing,<br />
and the appropriate LOD is chos<strong>en</strong> to repres<strong>en</strong>t the object. For a continuous<br />
LOD, the simplification algorithm creates a data structure <strong>en</strong>coding a continuous spectrum<br />
of <strong>de</strong>tail. Hoppe [6] proposed such approach in progressive meshes.<br />
The continuous LOD can be ext<strong>en</strong><strong>de</strong>d to a view-<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t LOD. Besi<strong>de</strong>s terrain<br />
mo<strong>de</strong>ling it can be used for local mesh refinem<strong>en</strong>t for lighting or visibility, as Xia and<br />
Varshney [14] suggested. Another application of the view-<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t LOD is a gazecontrolled<br />
LOD. This approach was published by Zha et al. [15]. They refine a small<br />
area of the mo<strong>de</strong>l which the user’s gaze is focused on, while the rest of the mesh remains<br />
in a low <strong>de</strong>tail.<br />
The application of LOD in haptics is supported by the study un<strong>de</strong>rtak<strong>en</strong> by Zhang<br />
et al. [16]. The results of their experim<strong>en</strong>ts suggest that users might not be able to<br />
distinguish two haptic objects if they are beyond some refinem<strong>en</strong>t level. Okamura and<br />
Cutkosky [10] <strong>de</strong>fined surface features based on local curvature. They give examples of<br />
how a <strong>la</strong>rge fingertip can miss some small surface <strong>de</strong>tails.<br />
Several multiresolution methods for use in haptics have be<strong>en</strong> proposed. El-Sana<br />
and Varshney [3] have proposed a continuously-adaptive r<strong>en</strong><strong>de</strong>ring method. They construct<br />
a multiresolution hierarchy during the pre-processing stage and at run time they<br />
use high-<strong>de</strong>tail repres<strong>en</strong>tation for the regions around the probe pointer by applying a<br />
bell-shaped filter c<strong>en</strong>tered at the po<strong>sitio</strong>n of the probe. Asghar and Barner [1] <strong>de</strong>veloped<br />
a nonlinear multiresolution technique for sci<strong>en</strong>tific visualization. This technique<br />
preserves edges and sharp features. It is <strong>de</strong>signed for visualizing a regu<strong>la</strong>rly sampled<br />
dataset, such as terrains.<br />
Kim et al. [7] introduced an algorithm using localized contact computations. They<br />
<strong>de</strong>compose the surface of each polyhedron into convex pieces and construct bounding<br />
volume hierarchies for fast proximity queries. Multiple contacts are <strong>de</strong>tected betwe<strong>en</strong><br />
each pair of <strong>de</strong>composed convex pieces. Otaduy and Lin [11] <strong>de</strong>velop this algorithm for<br />
their s<strong>en</strong>sation preserving simplification algorithm. They construct a multiresolution<br />
hierarchy, which is th<strong>en</strong> used to compute a fast contact response of the object-object<br />
interaction.<br />
3 Velocity Driv<strong>en</strong> LOD<br />
The velocity driv<strong>en</strong> LOD approach simu<strong>la</strong>tes the human process of object recognition.<br />
At the beginning of this process, a person gets an advance hypothesis about the object<br />
from several brief contacts with it, which K<strong>la</strong>tzky and Le<strong>de</strong>rman [8] call a “haptic<br />
g<strong>la</strong>nce”. Having this hypothesis in mind, the user tries to validate or to disprove it by<br />
further exploration of the object.<br />
This process is much more difficult, if we are <strong>de</strong>p<strong>en</strong>d<strong>en</strong>t solely on the kinesthetic<br />
and tactile information without visual feedback from the scre<strong>en</strong>. The user can rapidly
ecome lost in complex or highly <strong>de</strong>tailed sc<strong>en</strong>es. Therefore, wh<strong>en</strong> the user quickly<br />
scans a virtual object, only a coarse shape is disp<strong>la</strong>yed. Slowing down the user’s fingertip<br />
involves a refinem<strong>en</strong>t of the mesh and h<strong>en</strong>ce the pres<strong>en</strong>tation of the surface in more<br />
<strong>de</strong>tail.<br />
Our method is based on the dynamic gaze-controlled LOD by Zha et al. [15], which<br />
has be<strong>en</strong> <strong>de</strong>signed for computer graphics. They proposed a method that disp<strong>la</strong>ys the<br />
part of the sc<strong>en</strong>e at which the user’s gaze is focused on at a great <strong>de</strong>tail, while the rest<br />
of the sc<strong>en</strong>e remains in low on <strong>de</strong>tail.<br />
We have achieved a selective mesh simplification which employs the g<strong>en</strong>eral data<br />
structure, the vertex tree, and repres<strong>en</strong>ts the mesh hierarchies. This structure, called<br />
a merge tree (MT), was introduced in [14, 15]. We construct the MT using the mesh<br />
simplification proposed by Hoppe [6], but unlike the other approaches we use it only<br />
for col<strong>la</strong>psing the edges.<br />
3.1 Algorithm Overview<br />
For haptic visualization, we are using the force-feedback <strong>de</strong>vice PHANToM and in our<br />
curr<strong>en</strong>t implem<strong>en</strong>tation we are using the modified software architecture proposed by<br />
Ho et al. [5]. It is composed of three in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t threads. A visual thread disp<strong>la</strong>ys<br />
a mo<strong>de</strong>l on the scre<strong>en</strong> and handles user ev<strong>en</strong>ts, a haptic thread communicates with a<br />
PHANToM <strong>de</strong>vice and computes the final force exerted on the user. There is a communication<br />
thread betwe<strong>en</strong> these threads. It processes the tasks pres<strong>en</strong>ted in the run-time<br />
loop of Algorithm 1, except for the computation of final force. For a smooth run of the<br />
application, we are using two sets of data — active and non-active. From the former is<br />
computed the final force while the <strong>la</strong>tter is used for a data transfer. Wh<strong>en</strong> the non-active<br />
set is filled with a new data, both sets are switched.<br />
Whole algorithm is divi<strong>de</strong>d into two main parts — preprocessing and run-time loop:<br />
Algorithm 1 Velocity driv<strong>en</strong> LOD<br />
1: part¡<br />
Preprocessing<br />
2: initialize and fill all data structures<br />
3: construct the merge tree<br />
part¡<br />
4: Run-time<br />
5: loop<br />
6: estimate the velocity of the user’s fingertip<br />
7: <strong>de</strong>termine the appropriate LOD that will be used for disp<strong>la</strong>ying<br />
8: <strong>de</strong>tect collision of the probe with a sc<strong>en</strong>e<br />
9: – find the bounding boxes<br />
10: – select the relevant subset of triangles from a surface mesh<br />
11: simplify the subset to the requested LOD<br />
12: compute the force exerted on fingertip from the simplified triangles<br />
13: <strong>en</strong>d loop<br />
Before construction of a merge tree, we initialize all data structures of the triangle<br />
mesh, add corresponding connectivity and create a simple bounding volume hierarchy
(BVH) for collision <strong>de</strong>tections. For BVH, we use k-DOP bounding volumes, namely<br />
14-DOPs. The construction of the merge tree is <strong>de</strong>scribed in Section 3.2.<br />
The algorithm proceeds through several steps during the main loop of the application.<br />
First of all, the curr<strong>en</strong>t speed of the user’s fingertip is <strong>de</strong>tected from the PHANToM<br />
driver and a requested LOD is set. Only a simple linear transformation betwe<strong>en</strong> the minimal<br />
and maximal achievable velocity is curr<strong>en</strong>tly implem<strong>en</strong>ted.<br />
After this, the algorithm <strong>de</strong>tects a collision of the probe of the haptic <strong>de</strong>vice with<br />
a mo<strong>de</strong>l. The probe is boun<strong>de</strong>d by a sphere of a giv<strong>en</strong> radius and if the collision with<br />
BVH occurs, impacted triangles are selected for consequ<strong>en</strong>t simplification. This is one<br />
of the principal i<strong>de</strong>as of our method — we take only the local neighborhood of an explored<br />
surface into consi<strong>de</strong>ration. The rest is not important, because the human fingertip<br />
perceives the surface in a simi<strong>la</strong>r manner.<br />
In the next step, the algorithm simplifies the obtained data. We discuss this procedure<br />
in more <strong>de</strong>tail in Section 3.3. Finally, the final force is computed from the simplified<br />
set of triangles. For this step we use well known methods such as god-object or<br />
proxy po<strong>sitio</strong>n — for further <strong>de</strong>tails see the overview pres<strong>en</strong>ted in [12].<br />
3.2 Merge Tree Construction<br />
The mesh simplification is based on two basic operators — edge col<strong>la</strong>pse and its opposite,<br />
vertex split, as shown in Figure 1. With refer<strong>en</strong>ce to the software framework<br />
used in haptics, we use only one operator, a half-edge col<strong>la</strong>pse. During this operation,<br />
two vertices ¤ and ¥ are merged into one and triangles adjac<strong>en</strong>t to these vertices are<br />
modified. Let us <strong>de</strong>fine the affected triangles of the vertex as the union of triangles that<br />
are adjac<strong>en</strong>t to it. The affected edges of the vertex form a set of edges leading from the<br />
vertex.<br />
Fig. 1. Edge col<strong>la</strong>pse and vertex split [6]<br />
We construct the merge tree as follows: edge col<strong>la</strong>pses are implem<strong>en</strong>ted by using<br />
a priority queue. In the beginning, we fill the queue with all edges of the mesh sorted<br />
by the l<strong>en</strong>gth of edge. The shorter edges are p<strong>la</strong>ced further ahead in the queue. Th<strong>en</strong><br />
we iteratively remove the shortest edge from the top of the queue and col<strong>la</strong>pse it until<br />
we reach the requested LOD. For each edge col<strong>la</strong>pse, we locate the affected edges for<br />
both <strong>en</strong>dpoints of the edge, update their l<strong>en</strong>gth and po<strong>sitio</strong>n in the queue, register LOD<br />
number and <strong>en</strong>dpoints to the merge tree and finally remove the col<strong>la</strong>psed edge from<br />
the priority queue and increase the LOD number for the next iteration. Because the two
successive levels of <strong>de</strong>tail differ only in one edge col<strong>la</strong>pse, the change betwe<strong>en</strong> two<br />
LODs is continuous. This is very important for a smooth r<strong>en</strong><strong>de</strong>ring, since the bigger<br />
changes betwe<strong>en</strong> two LODs that are used in graphics cause an unnatural perception of<br />
explored surfaces.<br />
Fig. 2. An original mesh and its merge tree (left) and the mesh after two edge col<strong>la</strong>pses (right)<br />
An example of a simple merge tree is shown in Figure 2. There is the original<br />
triangle mesh with a corresponding merge tree on the left si<strong>de</strong>. Note that in practice<br />
there is no need to simplify a whole mesh into a single vertex, so we usually get a forest<br />
of trees. The horizontal lines indicate the LOD number. At the basic level, LOD¦ ,there<br />
are also simple bounding volumes outlined for this mesh. By applying one iteration of<br />
the Algorithm 1, the highlighted bounding volume and its two triangles are selected.<br />
The mesh is th<strong>en</strong> simplified using the merge tree (see Algorithm 2 in the next section):<br />
after a first edge col<strong>la</strong>pse the vertex ¥ § col<strong>la</strong>pses into vertex ¥ © and after the second edge<br />
col<strong>la</strong>pse the vertex ¥ © col<strong>la</strong>pses into ¥ . The resulting LOD§ mesh along with marked<br />
edge col<strong>la</strong>pses is on the right si<strong>de</strong> of the Fig. 2.<br />
3.3 The Simplification of a Local Surface to a Requested LOD<br />
Wh<strong>en</strong> the application <strong>de</strong>tects a collision with the surface, it selects a subset of triangles<br />
(see Algorithm 1). This subset is th<strong>en</strong> simplified using the following algorithm.<br />
This algorithm iteratively col<strong>la</strong>pses the edges until it reaches the requested level<br />
of <strong>de</strong>tail. With each iteration, it locates the <strong>en</strong>dpoints of col<strong>la</strong>psed edge ¤ ¥ and removes<br />
and updates the affected triangles of the edge. The g<strong>en</strong>eral case of col<strong>la</strong>psed edge<br />
is shown in Fig. 1. Note the condition of adding triangles on lines 6–8. The simplification<br />
process starts with several triangles, but it could happ<strong>en</strong> that the triangle directly
¤ ¥ <br />
1<br />
1<br />
1<br />
Algorithm 2 Simplification of subset of triangles according to the merge tree<br />
Input: subset of triangles of the original mesh, corresponding part of the merge tree<br />
! # % ' ¡<br />
!<br />
! # % '<br />
!<br />
! # % '<br />
1: sort all vertices of the subset by their LOD number, the smallest numbers first<br />
2: repeat edge col<strong>la</strong>pse<br />
3: get the vertex with smallest LOD from the sorted list<br />
4: from the MT <strong>de</strong>termine the edge to be col<strong>la</strong>psed –<br />
5: collect the affected triangles of the vertex<br />
6: if some affected triangles are not in subset th<strong>en</strong><br />
7: add them to it<br />
8: <strong>en</strong>d if<br />
9: <strong>de</strong>lete the edge and affected triangles from the subset<br />
10: re-triangu<strong>la</strong>te the resulting hole<br />
11: until requested LOD is reached<br />
un<strong>de</strong>r the fingertip is removed. This would result in the user’s finger falling through the<br />
surface.<br />
Fig. 3. Progress of the set of triangles wh<strong>en</strong> the triangle un<strong>de</strong>r the fingertip is removed<br />
This situation is <strong>de</strong>picted in Fig. 3. In case a is the original mesh with a selected<br />
subset of triangles. The fingertip po<strong>sitio</strong>n is marked with a dot. The highlighted triangle<br />
is removed after the the edge col<strong>la</strong>pses, the final force is evaluated as zero and<br />
the user falls through the surface. To prev<strong>en</strong>t this, the algorithm checks whether there<br />
are some affected triangles, that are not in the selected subset. If so, it adds them to the<br />
subset. This situation is shown in Fig. 3 b and after one more iteration in 3 c .
$<br />
Fig. 4. Original mesh and an example of its two simplifications<br />
4 Results and Future Work<br />
Because we are still working on this project, we have no final results or comparative<br />
tests with other methods yet. The method is implem<strong>en</strong>ted and being tested and the<br />
results are shown in Fig. 4. Below we discuss the issues we p<strong>la</strong>n to address.<br />
Fig. 5. More complex surface with magnified simplification area<br />
While our approach is <strong>de</strong>signed for 3D mo<strong>de</strong>ls having a 2-manifold surface with<br />
boundaries, we pres<strong>en</strong>t our results for illustration on a simple regu<strong>la</strong>r mesh only. On the<br />
far left of Fig. 4 is the original mesh, and simplified meshes are on the right si<strong>de</strong>. For<br />
the sake of c<strong>la</strong>rity, the original mesh is drawn below the simplified set and the small<br />
sphere repres<strong>en</strong>ts the po<strong>sitio</strong>n of the user. Figure 5 repres<strong>en</strong>ts a more complex surface,<br />
with subset of triangles being simplified and magnified on the right.<br />
Future Work:<br />
Interpo<strong>la</strong>tion betwe<strong>en</strong> two successive LODs — The method we have proposed uses<br />
a continuous LOD. Two successive levels differ only in a single edge col<strong>la</strong>pse. Despite<br />
this, the change betwe<strong>en</strong> two LODs is sometimes disturbing and after the LOD
$<br />
Fig. 6. The change of LOD causes that the fingertip finds itself below the curr<strong>en</strong>t surface<br />
change, the user can find himself above or below the curr<strong>en</strong>t surface. This situation<br />
is shown in Figure 6. To solve this problem, we want to <strong>de</strong>velop an interpo<strong>la</strong>tion<br />
method betwe<strong>en</strong> two successive LOD changes wh<strong>en</strong> necessary.<br />
Determination of requested LOD — We also p<strong>la</strong>n to e<strong>la</strong>borate the computation<br />
of the requested LOD and rep<strong>la</strong>ce the curr<strong>en</strong>tly used linear transformation with<br />
a technique that would correspond to individual needs of each user. The possible<br />
solution can be some kind of learning algorithm.<br />
Acknowledgem<strong>en</strong>ts: This work has be<strong>en</strong> supported by research grant from the Ministry<br />
of Education of the Czech Republic, Contract No. MSM143300003.<br />
Refer<strong>en</strong>ces<br />
1. Mohammad Waqas Asghar and K<strong>en</strong>neth E. Barner, Nonlinear multiresolution techniques<br />
with applications to sci<strong>en</strong>tific visualisation in a haptic <strong>en</strong>vironm<strong>en</strong>t, IEEE Transactions on<br />
Visualisation and Computer Graphics 7 (2001), no. 1.<br />
2. Brian Curless and Marc Levoy, A volumetric method for building complex mo<strong>de</strong>ls from range<br />
images, Proceedings of the 23rd annual confer<strong>en</strong>ce on Computer graphics and interactive<br />
techniques, ACM Press, 1996, pp. 303–312.<br />
3. Jihad El-Sana and Amitabh Varshney, Continuously-adaptive haptic r<strong>en</strong><strong>de</strong>ring, Virtual Environm<strong>en</strong>ts<br />
2000 (2000), 135–144.<br />
4. Michael Gar<strong>la</strong>nd and Paul Heckbert, Surface simplification using Quadric Error Metric,<br />
Computer Graphics (SIGGRAPH ’97 Proceedings) (1997), 209–216.<br />
5. Chih-Hao Ho, Cagatay Basdogan, and Mandayam A. Srinivasan, Effici<strong>en</strong>t point-based r<strong>en</strong><strong>de</strong>ring<br />
techniques for haptic disp<strong>la</strong>y of virtual objects, Pres<strong>en</strong>ce8 (1999), no. 5, 477–491.<br />
6. Hugues Hoppe, Progressive meshes, SIGGRAPH ’96 Proc., August 1996, pp. 99–108.<br />
7. Young J. Kim, Miguel A. Otaduy, Ming C. Lin, and Dinesh Manocha, Six-<strong>de</strong>gree-of-freedom<br />
haptic disp<strong>la</strong>y using localized contact computations, T<strong>en</strong>th Symposium on Haptic Interfaces<br />
For Virtual Environm<strong>en</strong>t and Teleoperator Systems (2002).<br />
8. Roberta L. K<strong>la</strong>tzky and Susan J. Le<strong>de</strong>rman, Id<strong>en</strong>tifying objects from a haptic g<strong>la</strong>nce, Perception<br />
and Psychophysics 57 (1995), no. 8, 1111–1123.<br />
9. K. J. Kokjer, The information capacity of the human fingertip, IEEE Trans. Systems, Man,<br />
and Cybernetics 17 (1987), no. 1.
10. Allison M. Okamura and Mark R. Cutkosky, Haptic exploration of fine surface features,<br />
ICRA 1999 (1999), 2930–2936.<br />
11. Miguel A. Otaduy and Ming C. Lin, S<strong>en</strong>sation preserving simplification for haptic r<strong>en</strong><strong>de</strong>ring,<br />
ACM Trans. Graph. 22 (2003), no. 3, 543–553.<br />
12. Diego C. Ruspini, Krasimir Ko<strong>la</strong>rov, and Oussama Khatib, The haptic disp<strong>la</strong>y of complex<br />
graphical <strong>en</strong>vironm<strong>en</strong>ts, Proceedings of the 24th annual confer<strong>en</strong>ce on Computer graphics<br />
and interactive techniques, ACM Press/Addison-Wesley Publishing Co., 1997, pp. 345–352.<br />
13. A<strong>la</strong>n Wing, Chris Christou, and Adam Waller, Touching trajectories: the re<strong>la</strong>tion betwe<strong>en</strong><br />
speed and curvature in exploring shape, Proc. Eurohaptics 2001, July 2001, pp. 76–79.<br />
14. Julie C. Xia and Amitabh Varshney, Dynamic view-<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t simplification for polygonal<br />
mo<strong>de</strong>ls, Proceedings of the IEEE Visualisation, 1996.<br />
15. Hongbin Zha, Yoshinobu Makimoto, and Tsutomu Hasegawa, Dynamic gaze-controlled levels<br />
of <strong>de</strong>tail of polygonal objects in 3-D <strong>en</strong>vironm<strong>en</strong>t mo<strong>de</strong>ling, Second International Confer<strong>en</strong>ce<br />
on 3-D Imaging and Mo<strong>de</strong>ling, 10 1999, pp. 321–331.<br />
16. Jian Zhang, Shahram Payan<strong>de</strong>h, and John Dill, Levels of <strong>de</strong>tail in reducing cost of haptic<br />
r<strong>en</strong><strong>de</strong>ring: A preliminary user study, HAPTICS ’03 (2003), 205.
ALICE: A Col<strong>la</strong>borative Virtual Reality<br />
Navigator<br />
Víctor Theoktisto, Marta Fairén, and Isabel Navazo<br />
Departam<strong>en</strong>t <strong>de</strong> Ll<strong>en</strong>guatges i Sistemes Informàtics, UPC, Spain,<br />
{vtheok,mfair<strong>en</strong>,isabel}@lsi.upc.es<br />
Abstract. This paper pres<strong>en</strong>ts a Col<strong>la</strong>borative Virtual Reality Environm<strong>en</strong>t,<br />
ALICE, which implem<strong>en</strong>ts remote col<strong>la</strong>boration by combining<br />
sophisticated computer graphics algorithms, advanced user interaction<br />
and state-of-the-art shared session managem<strong>en</strong>t across the network.<br />
The architecture implem<strong>en</strong>ted to <strong>en</strong>able col<strong>la</strong>boration is based on multithrea<strong>de</strong>d<br />
software compon<strong>en</strong>ts un<strong>de</strong>r sca<strong>la</strong>ble P2P topology. ALICE has<br />
be<strong>en</strong> already used on VR applications among diverse disciplines such as<br />
industrial <strong>en</strong>gineering, medicine and architecture.<br />
1 Introduction<br />
Virtual Reality tools have be<strong>en</strong> applied in many differ<strong>en</strong>t fields such as <strong>en</strong>gineering,<br />
to avoid the use of physical prototypes or interpret real or simu<strong>la</strong>ted<br />
results; medicine, to help interpretation of scanned data or surgery p<strong>la</strong>nning; or<br />
architecture, to <strong>en</strong>able visiting and stress-testing upcoming facilities. In all these<br />
<strong>en</strong>vironm<strong>en</strong>ts, users inspect 3D sc<strong>en</strong>es, navigate insi<strong>de</strong> mo<strong>de</strong>ls and manipu<strong>la</strong>te<br />
objects and properties.<br />
Distributed<strong>en</strong>vironm<strong>en</strong>tshavebe<strong>en</strong>aroundsincetheintroductionofthefirst<br />
networks. Scope and complexity have kept pace with distributed systems evolution,<br />
migrating towards distributed processing, data sharing, multiple execution<br />
threads and sophisticated disp<strong>la</strong>y technology. Computer Support for Cooperative<br />
Work(CSCW) [1] is an umbrel<strong>la</strong> term for distributed applications in which multiple<br />
users col<strong>la</strong>borate toward common goals, un<strong>de</strong>r a high level ev<strong>en</strong>t notification<br />
and message passing architecture. Wh<strong>en</strong> combined with several <strong>de</strong>grees of information<br />
sharing, 3D data visualization and real world user-interaction metaphors<br />
they become Col<strong>la</strong>borative Virtual Reality Environm<strong>en</strong>ts or CVRE’s. Remote<br />
participants using visual id<strong>en</strong>tities (called avatars) may navigate insi<strong>de</strong> the virtual<br />
space, interact with other remote avatars, and propagate changes to objects<br />
in the <strong>en</strong>vironm<strong>en</strong>t.<br />
ALICE is a VR software p<strong>la</strong>tform for the real time inspection and navigation<br />
of very complex virtual mo<strong>de</strong>ls. Its col<strong>la</strong>borative features allow users to share<br />
their virtual experi<strong>en</strong>ces and participate actively in the <strong>en</strong>vironm<strong>en</strong>t. These col<strong>la</strong>borative<br />
features inclu<strong>de</strong> a col<strong>la</strong>borative user interface mo<strong>de</strong>l, the possibility<br />
of differ<strong>en</strong>t session roles for the users, the use of avatars and 3D marker highlighting<br />
and the exclusion control for the col<strong>la</strong>borative manipu<strong>la</strong>tion of objects<br />
in the <strong>en</strong>vironm<strong>en</strong>t.
In section 2 we briefly pres<strong>en</strong>t some re<strong>la</strong>ted work on col<strong>la</strong>borative systems. In<br />
section 3 the ALICE inspector and navigator features, followed by its col<strong>la</strong>borative<br />
capabilities in section 4. Next, section 5 pres<strong>en</strong>ts the callback implem<strong>en</strong>tation<br />
and also how these callbacks are used to allow col<strong>la</strong>borative manipu<strong>la</strong>tion of<br />
objects (section 6). Finally, we pres<strong>en</strong>t some results and future work in section 7.<br />
2 Re<strong>la</strong>ted work<br />
The first <strong>de</strong>veloped major distributed virtual <strong>en</strong>vironm<strong>en</strong>ts were DIVE [2] and<br />
MASSIVE [3]. Differ<strong>en</strong>t network technologies have be<strong>en</strong> used to <strong>en</strong>able distribution<br />
on a CVRE (BSD-sockets, RPC, Java RMI, DCOM, CORBA, etc.). Systems<br />
such as DIVE, NPSNET-V [4], and Distributed Op<strong>en</strong> Inv<strong>en</strong>tor [5] apply differ<strong>en</strong>t<br />
solutions for col<strong>la</strong>boration awar<strong>en</strong>ess, using multiple execution threads where<br />
each one has an image of the other participants in the interaction.<br />
The most sophisticated approaches <strong>de</strong>legate cli<strong>en</strong>ts’ network managem<strong>en</strong>t to<br />
compon<strong>en</strong>ts outsi<strong>de</strong> of the CVRE ([6–8]).<br />
A more ext<strong>en</strong><strong>de</strong>d sample of existing CVREs were profiled as part of this<br />
research in [9]. It also pres<strong>en</strong>ts a characterization allowing the <strong>de</strong>signer to specify<br />
the most suitable feature set for creating a visual s<strong>en</strong>se of pres<strong>en</strong>ce within<br />
a col<strong>la</strong>boration framework. Features <strong>de</strong>scribed in the characterization inclu<strong>de</strong>:<br />
network substrate to <strong>de</strong>ci<strong>de</strong> which transmission policy is best suited to the expected<br />
message flow in the <strong>en</strong>vironm<strong>en</strong>t; sca<strong>la</strong>ble topology to choose the scheme<br />
for information sharing and communications; object complexity toweighinthe<br />
network performance cost of broadcasting object changes; <strong>en</strong>vironm<strong>en</strong>t persist<strong>en</strong>ce<br />
to <strong>de</strong>ci<strong>de</strong> whether users’ interactions with the <strong>en</strong>vironm<strong>en</strong>t have temporal<br />
or perman<strong>en</strong>t effects in the CVRE system; and user interaction to inclu<strong>de</strong> the<br />
user interface features <strong>de</strong>sirable for a CVRE.<br />
3 ALICE as a stand-alone virtual reality navigator<br />
ALICE VR Real Time Inspector and Navigator is a stand-alone VR software<br />
p<strong>la</strong>tform for visualizing very complex virtual mo<strong>de</strong>ls. It has be<strong>en</strong> used in a<br />
number of applications such as navigation in urban <strong>en</strong>vironm<strong>en</strong>ts or interior<br />
ship <strong>de</strong>sign among others.<br />
In or<strong>de</strong>r to allow the users of these applications to be able to navigate and<br />
inspect complex 3D mo<strong>de</strong>ls in several VR systems, ALICE offers the following<br />
features:<br />
– Stereoscopic visualization: being able to work either with active stereo, for<br />
systems like Head Mounted Disp<strong>la</strong>ys [10], or passive stereo, for other low<br />
cost VR systems [11, 12].<br />
– User po<strong>sitio</strong>n and ori<strong>en</strong>tation tracking: allowing user’s implicit interaction<br />
by following his movem<strong>en</strong>ts and making him feel he is inspecting a real object<br />
instead of a virtual one.
– Use of varied interaction <strong>de</strong>vices: being able to follow or<strong>de</strong>rs from a mouse,<br />
a joystick or a VR glove, for example.<br />
– Differ<strong>en</strong>t VR mo<strong>de</strong>s of execution: able to work over differ<strong>en</strong>t VR disp<strong>la</strong>y<br />
systems like stereoscopic tables, a CAVE, a Head Mounted Disp<strong>la</strong>y, etc.<br />
Apart from these external features, ALICE implem<strong>en</strong>ts internally an ext<strong>en</strong>sible<br />
callback system and many advanced algorithms in computer graphics, in<br />
or<strong>de</strong>r to be able to work interactively with very complex sc<strong>en</strong>es. It uses internally<br />
a hierarchical structure of the objects in the sc<strong>en</strong>e, keeping also for each one other<br />
non-geometrical information, allowing, for example, the use of textures. Among<br />
these advanced algorithms are the following:<br />
Simplification techniques: ALICE maintains differ<strong>en</strong>t levels of <strong>de</strong>tail for the<br />
objects in the sc<strong>en</strong>e, allowing a faster visualization of complex mo<strong>de</strong>ls by<br />
choosing the right level of <strong>de</strong>tail <strong>de</strong>p<strong>en</strong>ding on the distance betwe<strong>en</strong> the<br />
object and the observer [13] (further objects can be visualized with less<br />
<strong>de</strong>tail without loosing image quality).<br />
Visibility culling: This technique eliminates from the visualization process<br />
those parts of the geometric mo<strong>de</strong>l that will not be visible from the curr<strong>en</strong>t<br />
observer (camera) po<strong>sitio</strong>n [14]. This technique is also combined in ALICE<br />
with the multiple levels of <strong>de</strong>tail [15].<br />
Collision <strong>de</strong>tection: The collision <strong>de</strong>tection is a key compon<strong>en</strong>t for any VR<br />
system, because it is the base for the selection and manipu<strong>la</strong>tion of objects,<br />
robotics, vehicles simu<strong>la</strong>tors, etc. Collision <strong>de</strong>tection allows, for example, to<br />
select objects with a VR glove, which is used to select them by virtually<br />
“touching” the objects [16].<br />
4 Adding Col<strong>la</strong>borative VR capabilities to ALICE<br />
Most sci<strong>en</strong>ce disciplines (and the <strong>en</strong>tertainm<strong>en</strong>t industry) use VR techniques<br />
to <strong>en</strong>hance user experi<strong>en</strong>ces. As research shows, users always <strong>de</strong>sire to share<br />
these virtual experi<strong>en</strong>ces. The object-ori<strong>en</strong>ted nature of curr<strong>en</strong>t standalone VR<br />
applications, usually having r<strong>en</strong><strong>de</strong>ring and user-interface compon<strong>en</strong>ts, facilitate<br />
their transformation into complete CVRE’s, by allowing the seamless attachm<strong>en</strong>t<br />
of a network-based compon<strong>en</strong>t to <strong>en</strong>able col<strong>la</strong>boration.<br />
The ALICE col<strong>la</strong>borative features have be<strong>en</strong> <strong>de</strong>signed to be as much in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t<br />
as possible of ALICE itself, so they can be applied easily to other<br />
VR applications. These features involve the implem<strong>en</strong>tation of a multithrea<strong>de</strong>d<br />
software compon<strong>en</strong>ts architecture, a sca<strong>la</strong>ble P2P sharing topology, a flexible<br />
crossp<strong>la</strong>tform library for network transmission, and a <strong>la</strong>yer implem<strong>en</strong>ting session<br />
awar<strong>en</strong>ess capabilities.<br />
4.1 Multithrea<strong>de</strong>d Software Compon<strong>en</strong>ts<br />
A standard software <strong>en</strong>gineering practice in Computer Graphics is the factoring<br />
of application objects into at least two weakly cohesive software functional
¢<br />
¡ ¡<br />
¡<br />
£<br />
¤ ¤<br />
¢<br />
¦¥<br />
¦¥<br />
© ¥¨§<br />
© ¥¨§<br />
<br />
<br />
<br />
£ ¢<br />
¢<br />
<br />
¡ <br />
<br />
<br />
<br />
<br />
! ! <br />
<br />
<br />
<br />
<br />
<br />
-¨<br />
##<br />
¤<br />
() '<br />
()<br />
**<br />
''<br />
,+<br />
,+<br />
-¨<br />
¢¥<br />
© ¢¥<br />
¤<br />
'<br />
#<br />
""<br />
# $ $<br />
% % &¥¨¢©<br />
&¥¨¢©<br />
compon<strong>en</strong>ts, graphics r<strong>en</strong><strong>de</strong>ring and user interface. We <strong>de</strong>couple the Graphics<br />
R<strong>en</strong><strong>de</strong>ring (GR) and User Interface (UI) parts and instantiate them in separate<br />
threads. The same approach is tak<strong>en</strong> with the new network communications<br />
compon<strong>en</strong>t (NC), <strong>la</strong>unched in its own separate concurr<strong>en</strong>t thread. In this<br />
way, advantage is tak<strong>en</strong> of the un<strong>de</strong>rlying operating system’s context switching,<br />
loading the new software compon<strong>en</strong>ts without altering functioning co<strong>de</strong>. This<br />
ext<strong>en</strong>sible approach allows the addition of more compon<strong>en</strong>t threads, such as one<br />
<strong>de</strong>dicated to tracker data acqui<strong>sitio</strong>n or interaction with haptic <strong>de</strong>vices.<br />
A snapshot of a working framework mo<strong>de</strong>l is shown in Figure 1, <strong>de</strong>tailing<br />
each software compon<strong>en</strong>t. The NC compon<strong>en</strong>t thread handles communications<br />
and message parsing; the top Shared Session (SS) managem<strong>en</strong>t <strong>la</strong>yer <strong>la</strong>unches all<br />
concurr<strong>en</strong>t threads, tracks users’ avatars, propagate state changes to the UI and<br />
GR compon<strong>en</strong>ts using callbacks, and is in g<strong>en</strong>eral responsible for the emerging<br />
col<strong>la</strong>borative behavior.<br />
©<br />
.<br />
0<br />
3<br />
&¥¨¢<br />
3<br />
&¥¨¢<br />
0<br />
0<br />
2§1¥<br />
0<br />
2§1¥<br />
0<br />
2§©©<br />
% %<br />
2¥<br />
4 4<br />
2¥<br />
. ¥ ¥<br />
/©©<br />
/©©<br />
¥ ¥ 0<br />
' '<br />
,1 ,1<br />
¥¨ ¥¨<br />
2§©©<br />
Fig. 1. Col<strong>la</strong>boration-<strong>en</strong>abling Threa<strong>de</strong>d Processes. The framework inclu<strong>de</strong>s the VR<br />
application compon<strong>en</strong>ts (GR, UI), a session <strong>la</strong>yer (SS) and a network compon<strong>en</strong>t (NC)<br />
4.2 P2P Sharing Topology<br />
Fitting any of the cli<strong>en</strong>t/server topologies would have implied the creation of at<br />
least one c<strong>en</strong>tral server from scratch and compromised the applications’ standalone<br />
behavior. We chose instead a peer-to-peer sca<strong>la</strong>ble topology, the most<br />
a<strong>de</strong>quate for equal participants with separate access to their mo<strong>de</strong>ls. There are<br />
two possible topologies avai<strong>la</strong>ble in the framework: P2Pr [Peer-to-Peer with sc<strong>en</strong>e<br />
replication] and P2Ps [Peer-to-Peer with sc<strong>en</strong>e sharing]. ALICE uses the P2Pr<br />
topology.<br />
Having no c<strong>en</strong>tral server, both approaches require a third party application<br />
providing locating services for cli<strong>en</strong>ts willing to <strong>en</strong>ter in a session.<br />
Thin broker for session administration<br />
In our proposal, this third party is called a message broker, tracking session participation<br />
and interaction. Shared state information is kept through the following<br />
services:<br />
– A name service for location and cli<strong>en</strong>t registration.
– A session managem<strong>en</strong>t service.<br />
– A session and cli<strong>en</strong>t state report and mirroring service.<br />
Giv<strong>en</strong> that the broker is not a bridge, cli<strong>en</strong>t messages go directly to their<br />
<strong>de</strong>stiny. Each cli<strong>en</strong>t keeps track of other participants, and periodically may s<strong>en</strong>d<br />
its curr<strong>en</strong>t state to the broker for shared session recording purposes.<br />
4.3 Crossp<strong>la</strong>tform Network Transmission<br />
Since communication is what <strong>en</strong>ables col<strong>la</strong>boration, the corresponding software<br />
compon<strong>en</strong>t handles network communication capabilities. This is done by a crossp<strong>la</strong>tform<br />
networking c<strong>la</strong>ss that allows either datagram-ori<strong>en</strong>ted (UDP) or connection-ori<strong>en</strong>ted<br />
(TCP) communications un<strong>de</strong>r IPv4 and IPv6 networks. The<br />
NC thread, un<strong>de</strong>r a common message protocol, implem<strong>en</strong>ts the following basic<br />
kind of services, each one running on its own separate list<strong>en</strong>ing socket:<br />
– Shared ev<strong>en</strong>t pipeline for s<strong>en</strong>ding <strong>en</strong>vironm<strong>en</strong>t state changes and callback<br />
messages<br />
– Continuous streaming of some cli<strong>en</strong>t properties, such as camera po<strong>sitio</strong>n and<br />
ori<strong>en</strong>tation<br />
– A notifying service for the Broker.<br />
Wh<strong>en</strong> a cli<strong>en</strong>t reports to the broker, it posts its network address and list<strong>en</strong>ing<br />
ports. The message protocol is short and simple. There are three kinds<br />
of messages: session, location and manipu<strong>la</strong>tion. Session messages are the ones<br />
exchanged betwe<strong>en</strong> the broker and the cli<strong>en</strong>ts: connecting and disconnecting, reporting<br />
internet addresses and ports, number of active cameras, avatar appearance,<br />
global sc<strong>en</strong>e file, and other relevant data. Location messages are mostly<br />
for avatar properties being broadcasted among all participants (see next subsection).<br />
Manipu<strong>la</strong>tion messages (such as a local cli<strong>en</strong>t touching, grabbing or<br />
modifying an object) are s<strong>en</strong>t to remote users by the callback system to maintain<br />
sc<strong>en</strong>e coher<strong>en</strong>ce among all participants (the callback mechanism is exp<strong>la</strong>ined<br />
in section 5).<br />
Since all of this happ<strong>en</strong>s in the NC thread, mutexes are activated wh<strong>en</strong> this<br />
thread is modifying data such as cli<strong>en</strong>ts’ cameras. There is a corresponding set<br />
of mutexes p<strong>la</strong>ced just before r<strong>en</strong><strong>de</strong>ring to avoid race conditions so common to<br />
concurr<strong>en</strong>t programming.<br />
4.4 Session Awar<strong>en</strong>ess Managem<strong>en</strong>t<br />
The ALICE col<strong>la</strong>boration feature set inclu<strong>de</strong>s the following:<br />
– Col<strong>la</strong>borative user interface mo<strong>de</strong>l.<br />
– Session administration with differ<strong>en</strong>tiated user roles.<br />
– Cli<strong>en</strong>t awar<strong>en</strong>ess using avatars.<br />
– Shared annotation and 3D marker highlighting.
¡¡<br />
£¢<br />
¤<br />
¦<br />
¥<br />
¦<br />
§ § ¨ ¨<br />
©©<br />
§§<br />
¦ ¦<br />
£¢<br />
¤<br />
¥<br />
©©<br />
¨ ¨<br />
<br />
¡<br />
<br />
<br />
¤ ¤<br />
<br />
¨¢ ¨¢<br />
¢<br />
¢<br />
<br />
¡<br />
<br />
<br />
For a cli<strong>en</strong>t in this sc<strong>en</strong>ario, there must be perceptual evid<strong>en</strong>ce that other<br />
<strong>en</strong>tities (human or otherwise) are participating, so 3D cli<strong>en</strong>t embodim<strong>en</strong>ts within<br />
the <strong>en</strong>vironm<strong>en</strong>t (avatars) are used to dynamically reflect their po<strong>sitio</strong>n and state<br />
in the sc<strong>en</strong>e. Cli<strong>en</strong>ts may want to call others to att<strong>en</strong>tion by p<strong>la</strong>cing special 3D<br />
signals, leaving trails in the sc<strong>en</strong>e or modifying the <strong>en</strong>vironm<strong>en</strong>t.<br />
Col<strong>la</strong>borative user interface mo<strong>de</strong>l<br />
The problem to solve wh<strong>en</strong> recasting existing VR navigators as CVREs is how<br />
to implem<strong>en</strong>t the maximal col<strong>la</strong>borative feature set with the least possible implem<strong>en</strong>tation<br />
cost, and without affecting the original standalone behavior. We<br />
choose a hybrid Mo<strong>de</strong>l-View-Controller-Session (MVCS) approach, where controllers<br />
operate using a callback mechanism, and the session <strong>la</strong>yer coher<strong>en</strong>ce is<br />
maintained by existing network-aware controllers at each no<strong>de</strong>, who also notify<br />
the broker (see figure 2).<br />
<br />
<br />
$<br />
%<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
! !!<br />
" # #<br />
$<br />
!<br />
"<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
& &<br />
&<br />
'<br />
<br />
<br />
<br />
<br />
%<br />
&<br />
'<br />
%%<br />
&&<br />
& & ' '<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Fig. 2. Mo<strong>de</strong>l-View-Controller-Session (MVCS) Objects showing an external broker<br />
maintaining session states<br />
Session administration with differ<strong>en</strong>tiated session roles<br />
We have id<strong>en</strong>tified five differ<strong>en</strong>t col<strong>la</strong>borative user behaviors: standalone, peer,<br />
incognito, s<strong>la</strong>ve, and master. Astandalone cli<strong>en</strong>t is not aware of other cli<strong>en</strong>ts.<br />
It <strong>de</strong>faults to the original iso<strong>la</strong>ted behavior of the application. Peers are cli<strong>en</strong>ts<br />
that communicate among themselves using the common message protocol. Users<br />
traveling incognito may observe sc<strong>en</strong>e interaction in “voyeur” mo<strong>de</strong> without<br />
other cli<strong>en</strong>ts knowing it. A s<strong>la</strong>ve is a peer that is bound to another, correspondly<br />
called a master, in the s<strong>en</strong>se that the master’s curr<strong>en</strong>t state is continuously<br />
replicated by the remote s<strong>la</strong>ve(s). Thes<strong>la</strong>ve shuts down its own cameras and<br />
reflects the master’s camera viewpoint and actions. This feature may also be<br />
used to “teleport” a participant to the po<strong>sitio</strong>n of another, which is very useful<br />
to avoid losing virtual eye-contact among peers. These cli<strong>en</strong>t roles are voluntary<br />
and changeable during a session.<br />
Cli<strong>en</strong>t awar<strong>en</strong>ess using avatars<br />
Each cli<strong>en</strong>t has its own 3D repres<strong>en</strong>tation traversing the <strong>en</strong>vironm<strong>en</strong>t, having<br />
several active camera perspectives at any time. Avatars broadcast a number of
state attributes, such as po<strong>sitio</strong>n, ori<strong>en</strong>tation and velocity camera vectors for<br />
<strong>de</strong>ad reckoning calcu<strong>la</strong>tions.<br />
Shared annotation and 3D marker highlighting<br />
Users must not only be aware of each other, they must be able to call the<br />
att<strong>en</strong>tion of remote participants to some feature or object in the <strong>en</strong>vironm<strong>en</strong>t.<br />
This is accomplished by temporal 3D markers such as arrows, billboards or<br />
banners, objects that a “gui<strong>de</strong>” pins at some interesting locations.<br />
The broker must be active for a session to be initiated by at least two subscribing<br />
participants. Each cli<strong>en</strong>t may choose a session role (usually as a peer )<br />
and an avatar repres<strong>en</strong>tation (from a m<strong>en</strong>u), while keeping a list of the curr<strong>en</strong>t<br />
active interactions with other users. As they navigate, cli<strong>en</strong>ts can chat to each<br />
other, or p<strong>la</strong>ce 3D markers on the sc<strong>en</strong>e to call att<strong>en</strong>tion to some feature.<br />
4.5 Remote user window<br />
Another feature ad<strong>de</strong>d to the col<strong>la</strong>borative capabilities of ALICE allows the<br />
user to op<strong>en</strong> an extra small window where the r<strong>en</strong><strong>de</strong>ring of a remote user can be<br />
visualized, while its own r<strong>en</strong><strong>de</strong>ring is still avai<strong>la</strong>ble on the main window of the<br />
application. In figure 3 the main window is seing the avatar of the remote user<br />
whose r<strong>en</strong><strong>de</strong>ring is being visualized in the small window.<br />
Since the purpose of this feature is to know how the remote user is seeing the<br />
sc<strong>en</strong>e at any time, some information about the local r<strong>en</strong><strong>de</strong>ring of that user is also<br />
required to pass through the network (apart from the information of po<strong>sitio</strong>n and<br />
ori<strong>en</strong>tation of his camera). This information inclu<strong>de</strong>s, for example, the po<strong>sitio</strong>n<br />
of far and near clipping p<strong>la</strong>nes.<br />
Fig. 3. A main window with a remote cli<strong>en</strong>t visualization on the upper-right corner.<br />
5 The callback mechanism<br />
Wh<strong>en</strong> a user interacts with ALICE, he can cause some changes in the sc<strong>en</strong>e or in<br />
his repres<strong>en</strong>tation in the col<strong>la</strong>borative session (changing the avatar or becoming
stand-alone, for example). These changes should be broadcasted to the rest of<br />
the participants on the session, so they can be aware of what the changes were.<br />
An ALICE callback is an <strong>en</strong>tity hooked to a certain task that has to be<br />
done in the application. Callbacks that imply a network communication, causing<br />
the replication of its task in all other participants in the col<strong>la</strong>borative session,<br />
require the implem<strong>en</strong>tation of methods for serializing, s<strong>en</strong>ding, receiving and<br />
<strong>de</strong>serializing the information associated with it. Since each callback contains<br />
differ<strong>en</strong>t number of parameters to be s<strong>en</strong>t over the network, its serialization and<br />
<strong>de</strong>serialization is performed by the callback itself. This also has an advantage<br />
since all the parameters can be stored and s<strong>en</strong>t as one stream of data, without<br />
s<strong>en</strong>ding additional overhead information of what is actually s<strong>en</strong>t (metadata).<br />
The only additional information that has to be s<strong>en</strong>t with the callback network<br />
message is the id<strong>en</strong>tity of the callback which should <strong>de</strong>serialize the message to<br />
obtain the correct data.<br />
Examples of callbacks inclu<strong>de</strong>d in the col<strong>la</strong>borative ALICE application are<br />
the following:<br />
– change avatar repres<strong>en</strong>tation, wh<strong>en</strong> the user selects a differ<strong>en</strong>t repres<strong>en</strong>tation<br />
for the avatar repres<strong>en</strong>ting him;<br />
– add a new light in the sc<strong>en</strong>e;<br />
– select/<strong>de</strong>select an object;<br />
– change some property of a previously selected object;<br />
– eliminate an object that had be<strong>en</strong> selected;<br />
– move an object that had be<strong>en</strong> selected;<br />
The <strong>la</strong>st four callbacks listed are directly re<strong>la</strong>ted with the col<strong>la</strong>borative manipu<strong>la</strong>tion<br />
of objects exp<strong>la</strong>ined in the next section.<br />
6 Col<strong>la</strong>borative manipu<strong>la</strong>tion of objects<br />
ALICE, as a navigator and inspector, has limited mo<strong>de</strong>ling options in the sc<strong>en</strong>e,<br />
but it allows the user to move and <strong>de</strong>lete objects and also to change several<br />
object attributes like color, for example.<br />
Since the ALICE col<strong>la</strong>borative architecture has a compon<strong>en</strong>t, the broker,<br />
that controls all the involved in the col<strong>la</strong>borative session, we use it to implem<strong>en</strong>t<br />
an object blocking mechanism for the selection of objects. Wh<strong>en</strong> a user wants to<br />
manipu<strong>la</strong>te an object he has to select it first by asking the broker whether the<br />
object is already selected by another user or not. The requests for selecting an<br />
object arriving to the broker are served sequ<strong>en</strong>tially, so the first request arriving<br />
is the one who achieves the selection. Wh<strong>en</strong> the broker accepts a selection coming<br />
from a user, this selection is broadcasted (by using callbacks) to the rest of the<br />
users in the col<strong>la</strong>borative session.<br />
In or<strong>de</strong>r to allow the user to be aware of the objects selected by remote users,<br />
these objects are <strong>la</strong>beled as remotely selected in the local copy of the sc<strong>en</strong>e, and<br />
the visualization routine draws a red wire frame around the object polygons.<br />
This information of remote selections is also kept in the list of remote users in
(a) HMD (b) Stereoscopic table (c) Portable system<br />
Fig. 4. Differ<strong>en</strong>t VR systems where ALICE works and has be<strong>en</strong> tested<br />
or<strong>de</strong>r to be able to recognize the user who selected a certain object, which is<br />
useful wh<strong>en</strong> a second r<strong>en</strong><strong>de</strong>ring of the user who selected the object has to be<br />
done in a remote user window (for example, in figure 3 the finger is selected by<br />
the local user and the small window is visualizing it as remotely selected).<br />
7 Results and future work<br />
ALICE has be<strong>en</strong> successfully used as a col<strong>la</strong>borative p<strong>la</strong>tform over differ<strong>en</strong>t VR<br />
systems, such as HMDs, Stereoscopic tables [11] or the portable system [12] (see<br />
figure 4). Some of the applications are the following:<br />
– Inspection and navigation in the interior of a ship. Ship <strong>de</strong>signers cannot use<br />
real prototypes to evaluate their <strong>de</strong>signs, so they need virtual prototypes to<br />
be evaluated (see figure 5). Differ<strong>en</strong>t users can discuss about the resulting<br />
<strong>de</strong>sign without needing to be at the same p<strong>la</strong>ce at the same time.<br />
Fig. 5. Ship virtual prototype<br />
– Inspection and modification of architectural <strong>de</strong>sign. The virtual <strong>de</strong>sign ma<strong>de</strong><br />
by the architects can be shown to pot<strong>en</strong>tial cli<strong>en</strong>ts in or<strong>de</strong>r to know their<br />
opinion (see figure 6). A cli<strong>en</strong>t, by col<strong>la</strong>borating with the architect, can also<br />
make small changes such as moving furniture or walls in or<strong>de</strong>r to propose<br />
other possibilities not far away of the initial <strong>de</strong>sign.
(a) ”camera” avatar’s viewsc<strong>en</strong>e (b) An incognito viewsc<strong>en</strong>e,<br />
showing two avatars interacting<br />
Fig. 6. Two users observe each other while navigating the architectural <strong>en</strong>vironm<strong>en</strong>t<br />
– Training in medicine. A surgeon can show the stud<strong>en</strong>ts, for example, how<br />
the scalpel should be used for a certain surgery incision.<br />
We have also tested ALICE’s remote col<strong>la</strong>boration and navigation services in<br />
sessions with the Girona University (located 100 Km. from Barcelona) through<br />
a 10Mb wi<strong>de</strong> area network connection. Network traffic is g<strong>en</strong>erated only wh<strong>en</strong><br />
an avatar changes po<strong>sitio</strong>n or ori<strong>en</strong>tation, or wh<strong>en</strong> a callback is produced (for<br />
example wh<strong>en</strong> selecting an object), so no unnecessary traffic is produced.<br />
The results obtained from our tests can be se<strong>en</strong> in the following table. The<br />
sc<strong>en</strong>e used on these tests (the interior of a ship) contains 20.000 polygons, but on<br />
purpose does not have complex textures because it could hin<strong>de</strong>r or slow graphics<br />
performance. The table shows the results obtained in the communication of 2, 4<br />
and 8 workstations from both <strong>la</strong>bs (Girona’s and our’s).<br />
Participants 1 2 4 8<br />
Av. Number of messages – 2539 8067 14331<br />
Av. Total Net. Time (msec) – 35 31 46<br />
Av. Roundtrip Time (msec) – 13 46 57<br />
Framerate 47.3 45.2 44.2 42.7<br />
In the table we observe the average total number of messages that were s<strong>en</strong>t<br />
through the network in a 4 minutes navigation test. The total network time<br />
(in milliseconds) gives information about how much time Alice sp<strong>en</strong>t in the<br />
transmission of messages during these 4 minutes trials (this means that around<br />
0.1-0.2% of total time is sp<strong>en</strong>t in network communications). The roundtrip time<br />
is also indicated in milliseconds. Since our framework uses unicast addresses,<br />
roundtrip time increases as more peers participate in the session. Finally, the<br />
table shows the average r<strong>en</strong><strong>de</strong>ring framerate achieved for each case, which indicates<br />
that increasing the number of no<strong>de</strong>s affects graphics performance very<br />
slightly compared to the stand-alone performance.
As for future work, we are working on ext<strong>en</strong>ding the col<strong>la</strong>borative breath<br />
of ALICE by including in the session <strong>la</strong>yer a fourth thread for handling haptic<br />
<strong>de</strong>vices, adding high frequ<strong>en</strong>cy force-feedback ev<strong>en</strong>ts to the interactive session<br />
repertoire.<br />
Refer<strong>en</strong>ces<br />
1. C., S., Schummer, J., Seitz, P.: Mo<strong>de</strong>ling col<strong>la</strong>boration using shared objects.<br />
In: Proceedings of the international ACM SIGGROUP confer<strong>en</strong>ce on Supporting<br />
group work, Pho<strong>en</strong>ix, Arizona, United States (1999)<br />
2. Carlsson, C., Hagsand, O.: Dive: A p<strong>la</strong>tform for multi-user virtual <strong>en</strong>vironm<strong>en</strong>ts.<br />
Computers and Graphics 17 (1993) 663–669 http://www.sics.se/dce/dive.html.<br />
3. Gre<strong>en</strong>halgh, C., B<strong>en</strong>ford, S.: Massive, a col<strong>la</strong>borative virtual <strong>en</strong>vironm<strong>en</strong>t for teleconfer<strong>en</strong>cing.<br />
ACM Transactions on Computer, Human Interaction. 2 (1994) 239–<br />
261<br />
4. Capps, M., McGregor, D., Brutzman, D., Zyda, M.: Npsnet-v: A new beginning<br />
for dynamically ext<strong>en</strong>sible virtual <strong>en</strong>vironm<strong>en</strong>ts. IEEE Computer Graphics and<br />
Applications 20 (2000) 12–15<br />
5. Hesina, G., Schmalstieg, D., Fuhrmann, A., Purgathofer, W.: Distributed op<strong>en</strong><br />
inv<strong>en</strong>tor: A practical approach to distributed 3d graphics. In: Proceedings of ACM<br />
VRST’99. (1999) 74–80<br />
6. Harting, P., Just, C., Cruz-Neira, C.: Distributed virtual reality using octopus. In:<br />
Proceedings of IEEE Virtual Reality 2001. (2001) 53–62<br />
7. Leigh, J., Johnson, A.E., DeFanti, T.: Cavern: A distributed architecture for<br />
supporting sca<strong>la</strong>ble persist<strong>en</strong>ce and interoperability in col<strong>la</strong>borative virtual <strong>en</strong>vironm<strong>en</strong>ts.<br />
Journal of Virtual Reality Research, Developm<strong>en</strong>t and Applications<br />
2 (1996) 217–237<br />
8. Deriggi, F., Kubo, M., Sem<strong>en</strong>tille, A., Ferreira, J., dos Santos, S., Kirner., C.:<br />
Corba p<strong>la</strong>tform as support for distributed virtual <strong>en</strong>vironm<strong>en</strong>ts. In: Proceedings<br />
of IEEE, Virtual Reality’99, Houston, Texas (1999)<br />
9. Theoktisto, V., Fairén, M., Navazo, I.: Enabling col<strong>la</strong>boration in virtual reality<br />
navigators. Technical Report LSI-04-13-R, Universitat Politècnica <strong>de</strong> Catalunya<br />
(2004)<br />
10. Suther<strong>la</strong>nd, I.: A head-mounted three-dim<strong>en</strong>sional disp<strong>la</strong>y. In: AFIPS Confer<strong>en</strong>ce<br />
Proceedings. Volume 33. (1968) 757–764<br />
11. Andújar, C., Fairén, M., Brunet, P.: Affordable projection system for 3d interaction.<br />
In: 1st Ibero-American Symposium in Computer Graphics, University of<br />
Minho, Portugal (2002)<br />
12. Fairén, M., Brunet, P., Techmann, T.: Minivr: A portable virtual reality system.<br />
Computers & Graphics (to appear) 28 (2004)<br />
13. Andújar, C., Brunet, P., Aya<strong>la</strong>, D.: Topology-reducing surface simplification using<br />
a discrete solid repres<strong>en</strong>tation. ACM Transactions on Graphics 20 (2002)<br />
14. Andújar, C., Saona-Vázquez, C., Navazo, I.: LOD visibility culling and occlu<strong>de</strong>r<br />
synthesis. Computer Ai<strong>de</strong>d Design 32 (2000)<br />
15. Andújar, C., Saona-Vázquez, C., Navazo, I., Brunet, P.: Integrating occlusion<br />
culling and levels of <strong>de</strong>tail through hardly-visible sets. Computer Graphics Forum<br />
19 (2000)<br />
16. Franquesa-Niubo, M., Brunet, P.: Collision <strong>de</strong>tection using multiresolution kdtrees.<br />
Technical Report LSI-01-36-R, UPC (2001)
Designing head tracking <strong>de</strong>vices for your VR needs<br />
Isaac Rudomin 1 , Marissa Diaz 1<br />
1<br />
ITESM-CEM Instituto Tecnológico y <strong>de</strong> Estudios Superiores <strong>de</strong> Monterrey,<br />
Computer Sci<strong>en</strong>ce Departm<strong>en</strong>t,<br />
Carretera Lago <strong>de</strong> Guadalupe Km. 3.5,<br />
Margarita Maza <strong>de</strong> Juarez,<br />
Atizapan <strong>de</strong> Zaragoza,<br />
México, Estado <strong>de</strong> México,<br />
rudomi@itesm.mx, dmarissa@itesm.mx<br />
Abstract. This paper <strong>de</strong>scribes a head-tracking solution that we <strong>de</strong>veloped using<br />
custom-<strong>de</strong>signed hardware and that is suitable ev<strong>en</strong> on a small budget. We<br />
examine the problems that this kind of <strong>de</strong>sign implies, how we solved them,<br />
and give alternative solutions that may fit in differ<strong>en</strong>t kind of applications.<br />
1 Introduction<br />
In <strong>la</strong>rge-scale Virtual Reality rooms the cost of standard head tracking <strong>de</strong>vices<br />
and motion s<strong>en</strong>sors can be insignificant, but ev<strong>en</strong> in this case wh<strong>en</strong> the system requires<br />
specific information to attain interaction and the cost of changing the manufactured<br />
s<strong>en</strong>sors is not inclu<strong>de</strong>d in the original funds, picking suitable technology so that<br />
one can custom <strong>de</strong>sign and build a s<strong>en</strong>sor for the application is of great importance.<br />
To <strong>de</strong>velop useful Virtual Reality equipm<strong>en</strong>t it is necessary to realize that the main<br />
problem with repres<strong>en</strong>ting objects in a virtual world is the perception that a user has<br />
of the virtual objects. Hinckley [13] supports the i<strong>de</strong>a that most people don’t have a<br />
notion of how a 3D virtual world should be, but have a good i<strong>de</strong>a of the experi<strong>en</strong>ce<br />
of the real world. Wh<strong>en</strong> one tries to implem<strong>en</strong>t an interactive and immersive application<br />
one should keep this in mind.<br />
In or<strong>de</strong>r to accomplish kinesthetic feedback and return refer<strong>en</strong>ces that are natural<br />
to the user, there should be a re<strong>la</strong>tionship betwe<strong>en</strong> head movem<strong>en</strong>t and the virtual<br />
<strong>en</strong>vironm<strong>en</strong>t. The user normally expects that some actions in the real world to cause<br />
changes in the virtual world and therefore the need for interactive <strong>de</strong>vices is revealed.<br />
For confort, equipm<strong>en</strong>t attached to the user should be lightweight, small and wireless.<br />
To improve the 3D virtual world it is also necessary to reduce computational complexity<br />
and costs in <strong>de</strong>sign and hardware. The solution we explore follows these<br />
gui<strong>de</strong>lines.
1.2 Head Tracking Techniques<br />
To obtain the head’s po<strong>sitio</strong>n in space, we can <strong>de</strong>compose the problem as<br />
follows: first we must <strong>de</strong>termine the angle with respect to the axis of symmetry of the<br />
body, in other words, the movem<strong>en</strong>t caused by panning the same p<strong>la</strong>ne of view (roll);<br />
in second p<strong>la</strong>ce we must <strong>de</strong>termine the inclination of the head with respect to the<br />
horizontal axis (pitch); and <strong>la</strong>stly the rotation with respect to the z-axis (yaw).<br />
Something to remember and that can make our life a little easier is to take into<br />
account that there are some unreachable po<strong>sitio</strong>ns, in other words the user won’t twist<br />
his or her head in awkward ways and that those configurations can be exclu<strong>de</strong>d from<br />
the <strong>de</strong>sign.<br />
In the following we briefly review the methods most commonly used to obtain<br />
this head po<strong>sitio</strong>n information [3] :<br />
• Gyroscopic systems. - Gyroscopes allow the reading of roll, pitch and yaw but they<br />
have a drift caused by the acceleration.<br />
• Cord Systems. – These rather old-fashioned methods consist in literally tying the<br />
user by attaching cords to his/her head and <strong>de</strong>termine the movem<strong>en</strong>t by reading the<br />
t<strong>en</strong>sion in the rope system.<br />
• Arm System. - Using a mechanical arm that transmits its rotation while moving<br />
pot<strong>en</strong>tiometers that are attached at the base. This one is re<strong>la</strong>tively uncomfortable and<br />
can’t give data about the pitch and yaw.<br />
• Ultrasound. - Triangu<strong>la</strong>tion of the po<strong>sitio</strong>n based in receptors and transmitters of<br />
ultrasound (getting the bouncing of the ultrasonic signal to triangu<strong>la</strong>te, typically there<br />
are three receptors).<br />
• Cameras. - By using the data obtained from images to <strong>de</strong>termine the po<strong>sitio</strong>n of the<br />
head, by using vision-based methods that have a high computational cost. Some<br />
methods use markings attached to the user instead of edge <strong>de</strong>tection, since it is less<br />
complex computationally talking but less elegant.<br />
• Magnetic Field Systems. – In the past these were <strong>de</strong>veloped with coils and other<br />
magnet systems, but at the pres<strong>en</strong>t time it is possible to use ultra s<strong>en</strong>sitive Hall effect<br />
s<strong>en</strong>sors and giant magneto resistance <strong>de</strong>vices.<br />
We <strong>de</strong>ci<strong>de</strong>d to work with magnetic s<strong>en</strong>sors due to their flexibility and because they<br />
allow comfortable s<strong>en</strong>sing. The following section will exp<strong>la</strong>in with some <strong>de</strong>tail how<br />
this kind of system works and how we can implem<strong>en</strong>t economic and reliable applications<br />
that use them.
2. System <strong>de</strong>sign<br />
The first option we reviewed was the Dinsmore 1490 digital compass. This <strong>de</strong>vice, as<br />
the manufacturer <strong>de</strong>scribes it, is a compass that gives a discontinuous measurem<strong>en</strong>t of<br />
the po<strong>sitio</strong>n using several 1525 Hall effect switches.<br />
The 1490 has a magnet of good int<strong>en</strong>sity that freely rotates while it is ori<strong>en</strong>ting with<br />
respect to the earth’s magnetic field. It has four switches in po<strong>sitio</strong>ns scattered at 90°<br />
that gives information of the angle with a 45° resolution wh<strong>en</strong> they are activated<br />
individually or in pairs by the magnetic field, returning a signal in an op<strong>en</strong> collector<br />
transistor output pin.<br />
The 1490 can be used in applications that require an easy and fast <strong>de</strong>velopm<strong>en</strong>t<br />
solution that gives accurate information with low resolution; if the application requires<br />
a little more resolution one can interpo<strong>la</strong>te with software the angle betwe<strong>en</strong> the<br />
switches just by taking on count the <strong>la</strong>st measurem<strong>en</strong>t and the time involved in the<br />
motion. This is not as accurate as one may wish, but it works.<br />
The second option we explored us the use of giant magneto resistor (GMR) <strong>de</strong>vices<br />
that allow continuous measurem<strong>en</strong>t of the angle with respect to the North-South line<br />
and gives a resolution of 2°. There are IC’s avai<strong>la</strong>ble that <strong>en</strong>sure precise angle readings<br />
for both 180° and 360°.<br />
The advantages of GMR technology are obvious, the only thing one has to keep in<br />
mind while using these <strong>de</strong>vices is that the voltage signal in the output is hard to transmit<br />
wirelessly without preprocessing to obtain the angle, but in or<strong>de</strong>r to do that it is<br />
one must apply a complex mathematical equation or map the value in a table which is<br />
hard to accomplish if only a small space can be used for circuits.<br />
GMR <strong>de</strong>vices can be used in applications that can afford to exp<strong>en</strong>d space in the<br />
transmitter and that need high resolution; it can be put in a surface mount package so<br />
one need not waste too much space in the <strong>de</strong>sign.<br />
The third option are the 5617 and 5618 Hall effect s<strong>en</strong>sors from Allegro, which are<br />
analog <strong>de</strong>vices which allow a precise reading of the angle using as a refer<strong>en</strong>ce the<br />
magnetic fields: in the case of the 5618 a strong refer<strong>en</strong>ce is nee<strong>de</strong>d (something like<br />
two very big magnets or coils), but with the 5617 the measurem<strong>en</strong>t can be performed<br />
by refer<strong>en</strong>cing directly to the earth’s magnetic field.<br />
The Hall s<strong>en</strong>sors from Allegro are fast, accurate and small, and besi<strong>de</strong>s they return an<br />
output that is suitable to be converted into a pulse with a width or frequ<strong>en</strong>cy proportional<br />
to the angle. The main problem is that it is required to use two of these s<strong>en</strong>sors<br />
to attain a 360° range reading and with this addition it is har<strong>de</strong>r to transmit wirelessly<br />
the information. However, ev<strong>en</strong> with this problem it is easier than using the other<br />
technologies reviewed before.
One concept that must be clear is how the Hall effect works, this effect, by <strong>de</strong>finition,<br />
states the re<strong>la</strong>tionship betwe<strong>en</strong> the curr<strong>en</strong>t in a conductor and the magnetic field, the<br />
way this curr<strong>en</strong>t is affected causes a pot<strong>en</strong>tial differ<strong>en</strong>ce to occur in a p<strong>la</strong>ne perp<strong>en</strong>dicu<strong>la</strong>r<br />
to the curr<strong>en</strong>t that is proportional to the vector product of the curr<strong>en</strong>t and the<br />
magnetic field so that if the direction and magnitu<strong>de</strong> of the curr<strong>en</strong>t are known the<br />
magnitu<strong>de</strong> and direction of the magnetic field can be easily calcu<strong>la</strong>ted since the variation<br />
of the output voltage can be repres<strong>en</strong>ted as a vector containing the magnitu<strong>de</strong> and<br />
direction of the magnetic field.<br />
Giant Magneto Resistance <strong>de</strong>vices are simi<strong>la</strong>r to the Hall effect in ess<strong>en</strong>ce but in them<br />
the curr<strong>en</strong>t influ<strong>en</strong>ced by the magnetic fields is crossing a bridge of resistances from<br />
which voltage results in a sinusoidal function that is re<strong>la</strong>ted directly by mathematical<br />
equations to the angle of rotation and direction of the magnetic field.<br />
The big asset of GMR is that the information it returns is re<strong>la</strong>ted to the direction of<br />
the magnetic field and not to its int<strong>en</strong>sity. The main problem is s<strong>en</strong>sitivity and in<br />
some cases it needs a re<strong>la</strong>y <strong>de</strong>vice like a compass or a free moving magnet to have a<br />
magnetic field refer<strong>en</strong>ce to take the measurem<strong>en</strong>t.<br />
An important point is that in our implem<strong>en</strong>tation we used a radio transmitter manufactured<br />
by Abacomm Technologies Company that has a pat<strong>en</strong>ted <strong>la</strong>ser calibration<br />
technology for the frequ<strong>en</strong>cy that makes the transmitter small and perfect for this kind<br />
of application. If one is an expert in radio communication or wants to use another<br />
wireless option one must remember that keeping the <strong>de</strong>sign small is very important<br />
and that infrared requires that the user doesn’t block the emitter and the receivers<br />
must be properly p<strong>la</strong>ced.<br />
There is a certain fear abound the usage of magnetic s<strong>en</strong>sors because of the noise that<br />
can be ad<strong>de</strong>d to the system if the magnetic conditions change but we <strong>de</strong>veloped a<br />
prototype, which can measure refer<strong>en</strong>ced to a direction in a specific room so that the<br />
variations in the magnetic field are eliminated.<br />
2.1 Switch s<strong>en</strong>sing<br />
Once we have the ori<strong>en</strong>tation of the user in the VR space we would like to know if<br />
the user moves beyond certain points of interest. For this purpose we can <strong>de</strong>sign a<br />
grid of s<strong>en</strong>sors that gives us information about the po<strong>sitio</strong>n of the user on this<br />
grid.We would like to use this kind of <strong>de</strong>vice as input for our applications<br />
Some times we want to get binary information of the actions that the user does in<br />
or<strong>de</strong>r to change the 3D virtual world. Something that is easily built is a light-s<strong>en</strong>sing<br />
<strong>de</strong>vice but it implies that one must have a well illuminated room and can give wrong<br />
information if it is not well adjusted. Another approach is to p<strong>la</strong>ce a beam across the
oom so wh<strong>en</strong> the receiver doesn’t have a response one can activate the switch but the<br />
main problem is the distance, power and special p<strong>la</strong>cem<strong>en</strong>t of these s<strong>en</strong>sing <strong>de</strong>vices.<br />
In our <strong>de</strong>sign we used a light s<strong>en</strong>sor that initially returns a continuous signal, which is<br />
used to <strong>de</strong>termine the binary value but that gives us an opportunity to avoid mistakes<br />
due to varying room lightning. In Figure 1 we see this <strong>de</strong>vice.<br />
Fig. 1. Binary output s<strong>en</strong>sing <strong>de</strong>vice for VR interaction and po<strong>sitio</strong>n <strong>de</strong>tection.<br />
3 Conclusions<br />
Our application nee<strong>de</strong>d a Head tracker with good accuracy in a 90° range; it has to<br />
be small and light-weight as well as economical. The Electronic diagram shown (figure<br />
2) gives an i<strong>de</strong>a of the <strong>de</strong>sign process we followed in or<strong>de</strong>r to obtain the unit<br />
<strong>de</strong>scribed in figures 3 and 4.<br />
Fig. 2. Electronic diagram for the head tracking <strong>de</strong>vice.<br />
The important parts in this <strong>de</strong>sign are: The amplification phase on which we took the<br />
signal from the Hall s<strong>en</strong>sor and used it as the input for an operational amplifier in an<br />
inversion configuration, the capacitor in this section is small to filter the noise, the
other operational amplifier is used to set the initial voltage and reset the system to the<br />
magnetic conditions in the room; The signal treatm<strong>en</strong>t phase is a 555 that measures<br />
the time and s<strong>en</strong>ds a pulse to start the pulse g<strong>en</strong>erated in the second 555 (configured<br />
as a mono-stable) and that returns a pulse which is proportional to the voltage in the<br />
input; And the transmission phase that is basically the ant<strong>en</strong>na and the Abacomm<br />
transmitter.<br />
Fig. 3. First Prototype.<br />
For the receiver we used a basic stamp II micro controller to receive and s<strong>en</strong>d (to the<br />
PC) the information of the s<strong>en</strong>sor, to program it the main problem was to adjust the<br />
reception frequ<strong>en</strong>cy to the 1ms time of the transmitted information signal.<br />
Fig. 4. Final stages of prototype, this unit can be p<strong>la</strong>ced atop VR l<strong>en</strong>ses to transmit<br />
the head ori<strong>en</strong>tation data.<br />
In the PC the important part was to receive and retransmit the information to the<br />
equipm<strong>en</strong>t that will r<strong>en</strong><strong>de</strong>r of the application. The option of high s<strong>en</strong>sibility Hall<br />
s<strong>en</strong>sors was the one that respon<strong>de</strong>d best in our case but for other applications one<br />
must evaluate the other options for s<strong>en</strong>sing and transmitting data.<br />
4 Results<br />
The head tracker we built has <strong>de</strong>c<strong>en</strong>t accuracy in a 90° range; is small ev<strong>en</strong> as a prototype<br />
and is lightweight as well as economical. We hope that this <strong>de</strong>sign to be useful
to people who wants to <strong>de</strong>velop virtual reality applications that are reliable and economic.<br />
Compared to the normal head trackers on the market this <strong>de</strong>vice is substantially<br />
cheaper ($55USD), for example Intertrax2 that is a popu<strong>la</strong>r one costs $995USD.<br />
Our <strong>de</strong>sign beats ev<strong>en</strong> the affordable ones like the virtual realities “virtua track” that<br />
costs $499 USD, it gives 3 <strong>de</strong>grees of freedom but it is based also in magnetic s<strong>en</strong>sors<br />
and is almost 10 times the price. Some systems are quite complex and <strong>de</strong>liver more<br />
information that the nee<strong>de</strong>d like the 3 rd tech HiBall-3100 that surely gives accurate<br />
po<strong>sitio</strong>n of the head and the body in a confined area but are exp<strong>en</strong>sive and sophisticated.<br />
The accuracy of our system is good, it gives an error of ±2° on each <strong>de</strong>gree of freedom<br />
implem<strong>en</strong>ted, it can be upgra<strong>de</strong>d from one <strong>de</strong>gree of freedom to 3 <strong>de</strong>grees of<br />
freedom by adding extra s<strong>en</strong>sors with a total cost of 10USD for each for a total of<br />
$75USD.<br />
Refer<strong>en</strong>ces<br />
1. Baratoff, G., and B<strong>la</strong>nkste<strong>en</strong>, S. Tracking Devices. Encyclopedia of Virtual Environm<strong>en</strong>ts.<br />
World Wi<strong>de</strong> Web URL:<br />
http://www.hitl.washington.edu/scivw/EVE/I.D.1.b.TrackingDevices.html. 1993<br />
2. BURDEA, GRIGORE; PHILIPPE COIFFET. Virtual Reality Technology. Printed in 1994 by<br />
John Wiley & Sons USA.<br />
3. CARSTENS, JAMES. Electrical S<strong>en</strong>sors and Transducers. Pr<strong>en</strong>tice Hall USA 1993.<br />
4. DORF RICHARD. Electric Circuits. Fifth edition . Printed by John Willey & Sons at USA in<br />
2001.<br />
5. GRADECKI,JOE. The virtual Reality programmer´s kit. Printed by John Wiley & Sons USA.<br />
1994.<br />
6. HERKE JAN NOORDMANS; HANS T.M. VAN DER VOORT; ARNOLD W.M.<br />
SMEULDERS. Spectral Volume R<strong>en</strong><strong>de</strong>ring. IEEE transactions on visualization computer graphics,<br />
vol. 6, no. 3, July-September 2000. Number 1077-2626/00.<br />
7. JONES KAREN C.; MARC W. CYGNUS. Virtual reality for manufacturing simu<strong>la</strong>tion. Proceedings<br />
winter simu<strong>la</strong>tion confer<strong>en</strong>ce 1993.<br />
8. LANE, C.. Disp<strong>la</strong>y Technologies. Encyclopedia of Virtual Environm<strong>en</strong>ts. World Wi<strong>de</strong> Web<br />
URL: http://www.hitl.washington.edu/scivw/EVE/I.A.1.Disp<strong>la</strong>ys.html 1993<br />
9. MINER, GAYLE. Lines and Electromagnétic Fields for Engineers. Printed by Oxford University<br />
Press at USA in 1996.<br />
10.NATONEK E.;ZIMMERMAN L.; FLÜCKIGER L. Mo<strong>de</strong>l Based Vision as feedback for<br />
Virtual Reality Robotics Environm<strong>en</strong>ts. IEEE : 0-8186-7084-3/95<br />
11. NEWMAN,WILLIAM;MICHAEL LAMMING. Interactive system <strong>de</strong>sign.. Printed at 1995 by Addison
Wesley in Eng<strong>la</strong>nd<br />
12.RANDY PAUSCH,; JOHN C. KEN HINCKLEY ,”A Survey of Design Issues in Spatial Input”. University<br />
of Virginia. Departm<strong>en</strong>ts of Neurosurgery and Computer Sci<strong>en</strong>ce . UIST 94 Noviembre 2-4. páginas 213-222<br />
Número <strong>de</strong> <strong>la</strong> ACM:1994 ACM 0-89791 -657-3/94/0011.<br />
13.WEBB, JOHN, RONALD REIS. Programmable Logic Controllers. 4 edition by Pr<strong>en</strong>tice Hall. in 1999.
Advanced Athroscopy Training Simu<strong>la</strong>tor<br />
insight MIST<br />
Jose M. Espa<strong>de</strong>ro, Sofía Bayona, Jose M. Fernán<strong>de</strong>z, Marcos García<br />
Abstract<br />
Minimally Invasive Surgery (MIS) is the <strong>la</strong>test tr<strong>en</strong>d in surgery and it is performed<br />
with the use of small incisions, customized instrum<strong>en</strong>ts, innovative imaging<br />
techniques and global navigation. The advantages are clear: less pain, trauma<br />
and blood loss, and minimal scarring. The result is a rapid recovery, high pati<strong>en</strong>t<br />
satisfaction and the best possible outcome. The main problem is that its performance<br />
requires the surgeon high skill and ability. Traditional learning methods are<br />
exp<strong>en</strong>sive and involve many problems.<br />
This paper pres<strong>en</strong>ts an adaptive Arthroscopy Training System that provi<strong>de</strong>s<br />
a realistic <strong>en</strong>vironm<strong>en</strong>t in which practitioners can <strong>de</strong>velop hand-eye coordination<br />
<strong>de</strong>xterities, one of the key features wh<strong>en</strong> starting learning MIS techniques. Some of<br />
its characteristics will be: specifically arthroscopy adapted instrum<strong>en</strong>tal, <strong>de</strong>xterity<br />
evaluation system and library of anatomy mo<strong>de</strong>ls.<br />
KEY WORDS<br />
Virtual Reality, Training Systems, Arthroscopy, Visualization and HCI, Minimal Invasive<br />
Surgery<br />
1 Introduction<br />
MIS refers to a growing number of surgical procedures in which the surgeon operates<br />
through small incisions, with customized specific instrum<strong>en</strong>ts, using innovative imaging<br />
techniques and global navigation. The visual control of the organs and the surgical<br />
instrum<strong>en</strong>ts is done through a camera with a cold light attached. A lot of b<strong>en</strong>efits <strong>de</strong>rive<br />
from MIS: the pati<strong>en</strong>t trauma is consi<strong>de</strong>rably <strong>de</strong>creased, allowing a much faster recovery.<br />
This reduces the necessity of having to intern the pati<strong>en</strong>t, resulting in <strong>la</strong>rge cost<br />
reductions. On the other hand, techniques for MIS are complicated, difficult to master<br />
and not at all intuitive, since the surgeon must perform the operation through indirect<br />
visual control, that is, by watching a scre<strong>en</strong> instead of directly observing the pati<strong>en</strong>t<br />
body. This is an unusual skill, difficult to grasp. In addition, surgeons are nowadays<br />
performing MIS on more and more parts of the body, which implies a strong need for<br />
training procedures.
Traditional learning methods are exp<strong>en</strong>sive, involve many problems and are not as<br />
realistic as it would be <strong>de</strong>sirable. Aspects like the interface that the surgeon will handle,<br />
faithful and realistic feedback, learning method, evaluation and cost must be consi<strong>de</strong>red<br />
wh<strong>en</strong> <strong>de</strong>signing simu<strong>la</strong>tors. Since it is difficult to practice this type of procedures in<br />
corpses or animals, frequ<strong>en</strong>tly the learning process is ma<strong>de</strong> from first contacts in high<br />
cost specialized courses and directly in the operating room un<strong>de</strong>r the supervision of an<br />
expert surgeon, with the consequ<strong>en</strong>t limitations and risks.<br />
Wh<strong>en</strong>ever an operator has to be trained to perform tasks involving risk for human<br />
beings or critical economic costs, simu<strong>la</strong>tors are the best choice. Very common examples<br />
can be found in industry, transportation and military <strong>en</strong>vironm<strong>en</strong>ts, with flight<br />
simu<strong>la</strong>tors as probably the most wi<strong>de</strong>ly publicized case.<br />
In medicine methods to acquire practical profici<strong>en</strong>cy and reduce risks are also<br />
nee<strong>de</strong>d, because surgeons <strong>de</strong>al with human lives. Medical staff must receive a very<br />
special training to perform correctly their <strong>la</strong>bour. For example, surgeons, after a period<br />
of theoretical education, to acquire practical knowledge observe a number of operations<br />
performed in real pati<strong>en</strong>ts and they gradually incorporate, increasing the risks,<br />
to auxiliary tasks executed un<strong>de</strong>r strict expert supervision. Those practical sessions<br />
constitute a bottl<strong>en</strong>eck in the learning process, giv<strong>en</strong> the restrictions in the number of<br />
trainees admitted to each operation and pati<strong>en</strong>ts are frequ<strong>en</strong>tly not pleased with being<br />
examined by non-experts. Other methods, such as using animals pres<strong>en</strong>t legal and ethical<br />
problems. Phantoms or p<strong>la</strong>stic mo<strong>de</strong>ls, are exp<strong>en</strong>sive to build, and have a limited<br />
lifespan because once an incision has be<strong>en</strong> ma<strong>de</strong> during a training session, it cannot be<br />
removed.<br />
All these factors lead to the need for artificial Surgery Training Systems which<br />
may be able to provi<strong>de</strong> a non-<strong>de</strong>gradable realistic <strong>en</strong>vironm<strong>en</strong>t, in which novices may<br />
learn and try as much as <strong>de</strong>sired, with no additional cost [1] after the instal<strong>la</strong>tion of the<br />
training system.<br />
2 State of the art<br />
Simu<strong>la</strong>tors have some type of physical repres<strong>en</strong>tation with s<strong>en</strong>sing instrum<strong>en</strong>ts that<br />
inform the computer of the user’s movem<strong>en</strong>ts. Systems may inclu<strong>de</strong> some sort of<br />
three dim<strong>en</strong>sional (3D) imaging to make the <strong>en</strong>vironm<strong>en</strong>t more realistic and intuitive.<br />
The program computes user’s movem<strong>en</strong>ts and projects the correct response onto the<br />
scre<strong>en</strong>[2]. If the mo<strong>de</strong>l has haptic (touch) feedback, it will also create the illusion<br />
that the user is coming into physical contact with the mo<strong>de</strong>l, and the user will feel the<br />
pati<strong>en</strong>t as well as see it[3][4][5].<br />
This level of technology has come onto the market rec<strong>en</strong>tly, so many products are<br />
still in the <strong>de</strong>velopm<strong>en</strong>tal stage.<br />
However there are already tools for helping in teaching anatomy and training surgeons.<br />
For example, the University of California is building a networked educational<br />
system which links local knowledge from textbooks and anatomical at<strong>la</strong>ses with electronic<br />
medical records and several on-line simu<strong>la</strong>tors [6].<br />
There are also some projects on MIS procedures like ProMIS[7], SimSurgery[8],<br />
LapSim[9], LS500 Laparoscopy Simu<strong>la</strong>tion P<strong>la</strong>tform[10],the AccuTouch Endoscopy
Simu<strong>la</strong>tor[11] for flexible bronchoscopy, upper and lower gastrointestinal flexible <strong>en</strong>doscopy<br />
or the AccuTouch Endovascu<strong>la</strong>r Simu<strong>la</strong>tor[12] for <strong>en</strong>dovascu<strong>la</strong>r procedures<br />
such as PTCA, St<strong>en</strong>ting, and Cardiac Pacing. Endotower[13] and GI M<strong>en</strong>tor[14] are<br />
useful for <strong>en</strong>doscopic navigation.<br />
Other <strong>en</strong>doscopic and <strong>la</strong>paroscopic training systems are: the Key Surgical Activities<br />
(KSA)[15], the Vascu<strong>la</strong>r Interv<strong>en</strong>tion System Trainer (VIST)[16], the Procedicus<br />
Virtual Arthroscopy (PVA)[17], the Lap M<strong>en</strong>tor[18] or the Minimally Invasive Surgical<br />
Trainer MIST[19].<br />
It is usual wh<strong>en</strong> building training systems, to focus just on a procedure, because it<br />
simplifies the system requirem<strong>en</strong>ts.<br />
Regarding arthroscopy [20], there has be<strong>en</strong> <strong>de</strong>velopm<strong>en</strong>t specially in the knee<br />
pathologies[21, 22, 23].<br />
3 Methodology<br />
In or<strong>de</strong>r to achieve an Advanced Arthroscopy Training Simu<strong>la</strong>tor an increm<strong>en</strong>tal <strong>de</strong>velopm<strong>en</strong>t<br />
has be<strong>en</strong> chos<strong>en</strong>. Among the differ<strong>en</strong>t MIS modalities, arthroscopy was<br />
selected att<strong>en</strong>ding to several consi<strong>de</strong>rations, such as the distinctive problems associated<br />
to this kind of surgery, where the surgeon has reduced manoeuvrability; the pot<strong>en</strong>tially<br />
<strong>la</strong>rge <strong>de</strong>mand for training, and the varied repertoire of interv<strong>en</strong>tions that could be<br />
coveredbythiskindofsystems.<br />
3.1 Objectives<br />
Our multidisciplinary work group <strong>de</strong>velops a simu<strong>la</strong>tor for the learning and improvem<strong>en</strong>t<br />
of arthroscopy surgery techniques. The following objectives were focused on<br />
during the whole stage of the system <strong>de</strong>sign:<br />
• To build a multi-purposed adaptable training simu<strong>la</strong>tor<br />
• To apply techniques of Virtual Reality to g<strong>en</strong>erate a simu<strong>la</strong>tion of great fi<strong>de</strong>lity<br />
and realism<br />
• To cover exhaustive and progressively all the differ<strong>en</strong>t requirem<strong>en</strong>ts of the appr<strong>en</strong>tice<br />
learning process<br />
• To provi<strong>de</strong> the instructor with a didactic tool to facilitate procedure teaching and<br />
case exp<strong>la</strong>nations<br />
• To offer a way of measuring <strong>de</strong>xterity and performance<br />
• To make the practitioners used to work into stressful <strong>en</strong>vironm<strong>en</strong>ts
3.2 Training Simu<strong>la</strong>tor phases<br />
In or<strong>de</strong>r to achieve all these goals, this project has be<strong>en</strong> subdivi<strong>de</strong>d in modules and<br />
structured in differ<strong>en</strong>t phases.<br />
The main aim of the first stage is to provi<strong>de</strong> the possibility of performing virtual<br />
navigation, to teach spatial ori<strong>en</strong>tation and basic instrum<strong>en</strong>tal managem<strong>en</strong>t. The appr<strong>en</strong>tice<br />
will get used to handle the <strong>en</strong>doscope with the camera at its <strong>en</strong>d while looking<br />
at the monitor where the image provi<strong>de</strong>d by this camera is shown. The task of localizing<br />
one <strong>de</strong>termined zone of the anatomy and being able to see the tip of the other<br />
arthroscope while managing both instrum<strong>en</strong>ts will be also accomplished in this phase.<br />
The second step is to provi<strong>de</strong> tactile feedback and tactile s<strong>en</strong>sation. This will increase<br />
the system realism, because the surgeon through the instrum<strong>en</strong>tal will be able<br />
to touch and feel hard surfaces. To obtain tact, a haptic <strong>de</strong>vice will be used, so this<br />
s<strong>en</strong>sation will be ad<strong>de</strong>d to the visual feedback already provi<strong>de</strong>d, contributing to the<br />
immersion experi<strong>en</strong>ce.<br />
The <strong>la</strong>st version will inclu<strong>de</strong> the capacity of processing real data of pati<strong>en</strong>ts who<br />
suffer from differ<strong>en</strong>t pathologies. The library of mo<strong>de</strong>ls, common cases and unusual<br />
pathologies will be completed. All the characteristics will be ad<strong>de</strong>d to polish <strong>en</strong>vironm<strong>en</strong>t<br />
realism and to reach greater accuracy, resulting in a simu<strong>la</strong>tion with a high <strong>de</strong>gree<br />
of fi<strong>de</strong>lity.<br />
3.3 System Architecture<br />
As shown in figure 1, a modu<strong>la</strong>r architecture has be<strong>en</strong> constructed for the simu<strong>la</strong>tor,<br />
with the purpose of making an adaptable and sca<strong>la</strong>ble system.<br />
Flexible insight MIST architecture allows its use in in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t instal<strong>la</strong>tions as well<br />
as in systems with multiple cli<strong>en</strong>ts connected to a single data base with a c<strong>en</strong>tral repository<br />
in the server.<br />
Tact and sound System The specification of the second phase inclu<strong>de</strong>s a force feedback<br />
system that provi<strong>de</strong>s great fi<strong>de</strong>lity to the tact system, as well as real sounds with<br />
which to str<strong>en</strong>gth<strong>en</strong> the simu<strong>la</strong>tion s<strong>en</strong>sation of realism.<br />
Evaluation System The <strong>de</strong>xterity evaluator collects information on trainee performance<br />
and provi<strong>de</strong>s dataset, graphical and statistical information that allow to evaluate<br />
the skill of the surgeon in formation. The evaluation system is ext<strong>en</strong>dable so that it can<br />
incorporate new algorithms of analysis and post-processing of simu<strong>la</strong>tion data.<br />
Ingestion of real data Third stage specification inclu<strong>de</strong>s the capacity to process real<br />
data that are superposed to the simu<strong>la</strong>ted ones, to reach the realism of the experi<strong>en</strong>ce<br />
and the adaptation to particu<strong>la</strong>r cases. In this way it allows to be use like system of<br />
preparation and p<strong>la</strong>nning of real arthroscopy operations with real data.<br />
Training case Library The library of cases inclu<strong>de</strong>s differ<strong>en</strong>t anatomical mo<strong>de</strong>ls,<br />
clinical reports and instrum<strong>en</strong>tal history. In this way the instructor will be able to
Figure 1: Functional Diagram
<strong>de</strong>fine new mo<strong>de</strong>ls of cases. The system is op<strong>en</strong>, allowing the user to inclu<strong>de</strong> and<br />
modify mo<strong>de</strong>ls, being possible to work on real data.<br />
Arthroscopy Adapted Instrum<strong>en</strong>tal Specifically adapted arthroscopy instrum<strong>en</strong>ts<br />
that resemble to the real ones are inclu<strong>de</strong>d in the Instrum<strong>en</strong>tal library in or<strong>de</strong>r to facilitate<br />
their use for the differ<strong>en</strong>t procedures.<br />
It counts with multimedia courses to increase the educational ca-<br />
Multimedia Area<br />
pacities of the tool.<br />
3.4 First Version System Description<br />
This phase faces the first and main difficulty that arises while learning arthroscopy (and<br />
other MIS procedures): the initial disori<strong>en</strong>tation novice practitioners experim<strong>en</strong>t due to<br />
the fact that the surgeon and the <strong>en</strong>doscopic camera have differ<strong>en</strong>t visual fields, which<br />
are also differ<strong>en</strong>t from the operation work space. These fields are not only differ<strong>en</strong>t;<br />
they also have differ<strong>en</strong>t ori<strong>en</strong>tations and coordinate axis. In summary, the surgeon<br />
must handle the arthroscopes using the visual information provi<strong>de</strong>d by the <strong>en</strong>doscopic<br />
camera, watching a monitor instead of his own hands and the surgical instrum<strong>en</strong>ts.<br />
insight MIST counts with a control <strong>de</strong>vice with a pair of trocars whose disp<strong>la</strong>cem<strong>en</strong>ts<br />
can be recor<strong>de</strong>d by a computer, with the purpose of repres<strong>en</strong>ting on the scre<strong>en</strong> the cont<strong>en</strong>t<br />
of the vision field of a simu<strong>la</strong>ted camera located at the <strong>en</strong>d of one of the trocars. As<br />
noted above, for the fist version it was not consi<strong>de</strong>red priority to provi<strong>de</strong> tact feedback<br />
to the surgeon, since it is not ess<strong>en</strong>tial to train the visual ori<strong>en</strong>tation (this aspect will be<br />
accomplished in the second version). The operator <strong>la</strong>unches the program and specifies<br />
a file that contains data of the area to operate, in or<strong>de</strong>r to facilitate simu<strong>la</strong>te surgical<br />
operations anywhere, and from diverse <strong>en</strong>doscopic <strong>en</strong>try points. The first dataset for<br />
simu<strong>la</strong>ting operations of right and left shoul<strong>de</strong>rs was extracted from the NPAC- Visible<br />
Human [24] and pre-processed afterwards.<br />
Once the data file is loa<strong>de</strong>d, the computer pres<strong>en</strong>ts the trainee with an image of the<br />
area to operate, as acquired from a camera p<strong>la</strong>ced at the <strong>en</strong>d of the left trocar (or right<br />
trocar, for left-han<strong>de</strong>d practitioners), which acts as the arthroscope. It is also possible<br />
to see in the image, wh<strong>en</strong>ever the po<strong>sitio</strong>n of the arthroscope allows it, a repres<strong>en</strong>tation<br />
of the tip of the instrum<strong>en</strong>tal operated with the right hand. The surgeon can make any<br />
camera movem<strong>en</strong>ts (trans<strong>la</strong>tion and rotations) and verify the results interactively.<br />
There is also the possibility, introduced for didactic reasons, of providing a panoramic<br />
view of the whole sc<strong>en</strong>e, including both the po<strong>sitio</strong>n of the arthroscopes and the complete<br />
loa<strong>de</strong>d anatomy. This allows novices to recover from situations of complete disori<strong>en</strong>tation<br />
and to correct the instrum<strong>en</strong>t po<strong>sitio</strong>n during the first learning stages, helping<br />
them to p<strong>la</strong>n the best <strong>en</strong>try point for the <strong>en</strong>doscopes in each particu<strong>la</strong>r operation.<br />
Another interesting possibility consists of selecting the bevel angle betwe<strong>en</strong> the <strong>en</strong>doscope<br />
axis and the camera optical axis. Having the camera aiming at a direction not<br />
coincid<strong>en</strong>t with the <strong>en</strong>doscope’s axis allows surgeons to inspect a much <strong>la</strong>rger area by<br />
rotating the <strong>en</strong>doscope and to peek through joints to areas of difficult access. This axis<br />
misalignm<strong>en</strong>t introduces an additional source of disori<strong>en</strong>tation for novice practitioners.
The arthroscopy simu<strong>la</strong>tor was <strong>de</strong>veloped in an O2 Silicon Graphics station. Afterwards<br />
the whole system was ported to a standard PC with Linux.<br />
3.5 Material used during the <strong>de</strong>velopm<strong>en</strong>t<br />
As control system, the insight MIST <strong>de</strong>vice from GMV company, is being <strong>de</strong>veloped.<br />
This <strong>de</strong>vice is a tool specifically <strong>de</strong>signed for arthroscopic procedures simu<strong>la</strong>tions.<br />
This <strong>de</strong>vice consists of two arms joined to a fixed base by a pair of joints. These<br />
arms will serve to simu<strong>la</strong>te trocars used in the operation.<br />
Optical s<strong>en</strong>sors contained into the base and the joints allow to make a precise track<br />
of the each arm movem<strong>en</strong>ts and to transmit them to a computer through a standard<br />
serial port RS-232. This type of s<strong>en</strong>sors provi<strong>de</strong>s measures with angu<strong>la</strong>r and linear<br />
po<strong>sitio</strong>ns. In addition, this technology is immune to the sonorous, luminous noise as<br />
well as to electromagnetic sources, and has a very low <strong>la</strong>t<strong>en</strong>cy which allows real time.<br />
The <strong>de</strong>vice will be adapted to real instrum<strong>en</strong>tal, so that it will contain the trocar<br />
sheath for the telescope and the other instrum<strong>en</strong>t.<br />
The game of joints that joins the arms to the base allows making movem<strong>en</strong>ts with<br />
any <strong>de</strong>gree of freedom, although always limited by the mechanics. It tracks the movem<strong>en</strong>ts<br />
which allow the computer to reconstruct the po<strong>sitio</strong>n and state of each one,<br />
including the rotation over itself.<br />
Wh<strong>en</strong> the <strong>de</strong>vice is switched on, an auto-calibrated of the s<strong>en</strong>sors is ma<strong>de</strong>. Next,<br />
the serial connection with the computer is ma<strong>de</strong> and the interface begins to respond to<br />
the requests for information about the instrum<strong>en</strong>ts po<strong>sitio</strong>n and direction.<br />
The application has be<strong>en</strong> <strong>de</strong>veloped following programming criteria to assure its<br />
portability, and sca<strong>la</strong>bility, always having into account the next phases and assuring its<br />
flexibility<br />
In or<strong>de</strong>r to facilitate the creation of new cases, as well as the modificationofany<br />
of the avai<strong>la</strong>ble ones, to introduce new traumas for instance, or to modify the pati<strong>en</strong>t<br />
po<strong>sitio</strong>n during the operation, the format of the data used to mo<strong>de</strong>l the anatomy of the<br />
differ<strong>en</strong>t training cases is based on VRML, a <strong>la</strong>nguage for mo<strong>de</strong>lling virtual reality<br />
employed by most of <strong>de</strong>sign 3D applications on the market at pres<strong>en</strong>t.<br />
4 Results<br />
Virtual Reality techniques have be<strong>en</strong> applied to build an advanced training simu<strong>la</strong>tor<br />
adaptable to differ<strong>en</strong>t arthroscopic techniques with great fi<strong>de</strong>lity. Realism is achieved<br />
through the gallery of real arthroscopic instrum<strong>en</strong>ts mo<strong>de</strong>ls. The differ<strong>en</strong>t modules<br />
and phases of the simu<strong>la</strong>tor will allow the practitioner to complete progressively all his<br />
learning process.<br />
The trainee will be able first to get acquainted to the anatomy and to localize the<br />
differ<strong>en</strong>t zones. Afterwards, it will be possible to learn to practice and recognize differ<strong>en</strong>t<br />
pathologies, ev<strong>en</strong> those which are rare and will be found only once or twice by<br />
an expert surgeon in a lifetime.<br />
Practitioners will get used to work into stressful <strong>en</strong>vironm<strong>en</strong>ts wh<strong>en</strong> they will have<br />
to accomplish the differ<strong>en</strong>t exercises in which time will be a critical factor and noises
and visual feedback will contribute to the stress compon<strong>en</strong>t.<br />
It offers a scale to measure the appr<strong>en</strong>tice ability and precision as well as that of<br />
the experi<strong>en</strong>ced surgeon, thanks to its <strong>de</strong>xterity evaluation system.<br />
The result will be a portable, compact equipm<strong>en</strong>t, easy to utilize which will be able<br />
to cover all the differ<strong>en</strong>t stages of appr<strong>en</strong>ticeship, from learning the optics in this first<br />
phase to being able in the <strong>la</strong>st one to p<strong>la</strong>n and practice a whole operation beforehand<br />
by loading real pati<strong>en</strong>t data.<br />
5 Conclusions and perspectives<br />
Nowadays, experi<strong>en</strong>ced surgeons perform arthroscopic interv<strong>en</strong>tions in the operation<br />
room, allowing a reduced number of stud<strong>en</strong>ts to watch and, <strong>la</strong>ter on, partially participate.<br />
This traditional training method <strong>en</strong>tails limited practice and stress, since there<br />
is some risk for the pati<strong>en</strong>t. Another disadvantage is that there is a <strong>de</strong>fined limit in<br />
the amount of time and the ext<strong>en</strong>t to which a novice can practice during real surgery,<br />
limiting therefore the amount of improvem<strong>en</strong>t obtained.<br />
The Arthroscopy Training System is a very useful tool which can remove much of<br />
the constraints <strong>de</strong>scribed above. It can be used ext<strong>en</strong>sively during practice sessions,<br />
without time limit, risks or real stress.<br />
There are multiple surgery sc<strong>en</strong>arios that can b<strong>en</strong>efit from VR systems such as the<br />
Arthroscopy Training System pres<strong>en</strong>ted here, with slight changes in the data loa<strong>de</strong>d<br />
onto the simu<strong>la</strong>tor.<br />
• First, the Surgery Training System may be used in several sc<strong>en</strong>arios with data<br />
showing a normal healthy human anatomy, with the aim of familiarizing the<br />
appr<strong>en</strong>tice with the instrum<strong>en</strong>tal involved in arthroscopy surgery and with what<br />
it is expected to be se<strong>en</strong> through the arthroscope.<br />
• The system may be used th<strong>en</strong> with data showing any pathology so that novices<br />
may learn how to recognise such pathologies.<br />
• It can be adapted to be used as a completely objective method to test and evaluate<br />
a surgeon’s <strong>de</strong>xterity, so that medical schools may g<strong>en</strong>eralise the use of such<br />
systems in their evaluation process.<br />
• It is also possible to g<strong>en</strong>erate ad-hoc sc<strong>en</strong>arios from real NMR data from a pati<strong>en</strong>t<br />
with some unusual or critical pathology before actually performing an operation.<br />
This would allow surgeons to train before actually performing the real surgery.<br />
This may permit surgeons to <strong>de</strong>ci<strong>de</strong> aspects such as which is the best po<strong>sitio</strong>n for<br />
the pati<strong>en</strong>t, or the optimal <strong>en</strong>try points to introduce the instrum<strong>en</strong>tal.<br />
Being able to be loa<strong>de</strong>d with differ<strong>en</strong>t data, the Arthroscopy Training System can be<br />
used to practice differ<strong>en</strong>t pathologies. This would permit stud<strong>en</strong>ts to learn to recognise<br />
and operate <strong>la</strong>ter on them. It can also be used for p<strong>la</strong>nning interv<strong>en</strong>tions, since it would<br />
allow the surgeon to essay and choose betwe<strong>en</strong> the differ<strong>en</strong>t options, studying differ<strong>en</strong>t<br />
pati<strong>en</strong>t po<strong>sitio</strong>ns as well as which would be the best instrum<strong>en</strong>tal insertion points.
The evolving insight MIST supposes a technological chall<strong>en</strong>ge of great importance<br />
and it is int<strong>en</strong><strong>de</strong>d to be an equipm<strong>en</strong>t of first level. The simu<strong>la</strong>tor disp<strong>la</strong>ys in scre<strong>en</strong><br />
three-dim<strong>en</strong>sional images with artroscopic and panoramic visions, it inclu<strong>de</strong>s simu<strong>la</strong>tion<br />
of artroscopic instrum<strong>en</strong>ts, and, in superior versions, it provi<strong>de</strong>s tactile s<strong>en</strong>sations<br />
and it inclu<strong>de</strong>s libraries of clinical cases. insight MIST tries to be a tool of support to<br />
the education for artroscopic ori<strong>en</strong>tation and hand coordination with artroscopic instrum<strong>en</strong>ts.<br />
Also it pays special att<strong>en</strong>tion to aspects of involution and evaluation of the<br />
educational action by means of a suitable categorization of exercises, techniques of<br />
skill evaluation and tools multimedia.<br />
Refer<strong>en</strong>ces<br />
[1] S. Bayona, L. Pastor, and J. Espa<strong>de</strong>ro. Entr<strong>en</strong>ami<strong>en</strong>to quirúrgico mediante técnicas<br />
<strong>de</strong> realidad virtual. simu<strong>la</strong>dor para artroscopia. Technical report, Univ. Rey<br />
Juan Carlos, July 2002.<br />
[2] S. Bayona, J.M. Espa<strong>de</strong>ro, L. Pastor, and J.M. Fernán<strong>de</strong>z-Arroyo. A low-cost<br />
arthoscopy surgery training system. IASTED03 VIIP 2003 proceedings, 2:1005–<br />
1009, 2003.<br />
[3] C. Laugier, C. M<strong>en</strong>doza, and K. Sundaraj. Towards a realistic medical simu<strong>la</strong>tor<br />
using virtual <strong>en</strong>vironm<strong>en</strong>ts and force feedback. Robotics Research, Springer<br />
Tracts in Advanced Robotics, 6, 2003.<br />
[4] C.A. M<strong>en</strong>doza. Soft Tissue Interactive Simu<strong>la</strong>tions for Medical Aplications Including<br />
3D Cutting and Force Feedback. PhD thesis, INPG, 2003.<br />
[5] K. Sundaraj. Real-Time Dynamic Simu<strong>la</strong>tion and 3D Interaction of Biological<br />
Tissue: Application to Medical Simu<strong>la</strong>tors. PhD thesis, INPG, 2004.<br />
[6] H.M. Hoffman. Virtual reality meets medical education. In K. Morgan, R.M.<br />
Satava, H.B. Sieberg, R. Mattheus, and J.P. Christ<strong>en</strong>s<strong>en</strong>, editors, Interactive Technology<br />
and the New Paradigm for Healthcare, pages 130–136. IOS Press, 1995.<br />
[7] Haptica. Promis. http://www.haptica.com/id11.htm.<br />
[8] Simsurgery. Simsurgery. http://www.simsurgery.no/.<br />
[9] Surgical Sci<strong>en</strong>ce Lapsim. http://www.surgicalsci<strong>en</strong>ce.com/main/<strong>de</strong>fault/<strong>de</strong>fault.cfm.<br />
[10] Surgical Sci<strong>en</strong>ce. Ls500 <strong>la</strong>paroscopy simu<strong>la</strong>tion p<strong>la</strong>tform.<br />
http://www.xitact.com/products/<strong>la</strong>p/in<strong>de</strong>x.html.<br />
[11] Immersion Medical. Accutouch <strong>en</strong>doscopy simu<strong>la</strong>tor.<br />
http://www.immersion.com/medical/products/<strong>en</strong>doscopy/.<br />
[12] Immersion Medical. Accutouch <strong>en</strong>dovascu<strong>la</strong>r simu<strong>la</strong>tor.<br />
http://www.immersion.com/medical/products/<strong>en</strong>dovascu<strong>la</strong>r/.
[13] Verefi technologies. Endotower. http://www.verefi.com/<strong>en</strong>dotower.html.<br />
[14] Simbionix. Gi m<strong>en</strong>tor. http://www.simbionix.com/GI_M<strong>en</strong>tor.html.<br />
[15] M<strong>en</strong>tice. Ksa key surgical activities. http://www.m<strong>en</strong>tice.com/.<br />
[16] M<strong>en</strong>tice. Vist vascu<strong>la</strong>r interv<strong>en</strong>tion system trainer. http://www.m<strong>en</strong>tice.com/.<br />
[17] M<strong>en</strong>tice. Pva procedicus virtual arthroscopy. http://www.m<strong>en</strong>tice.com/.<br />
[18] Simbionix. Lap m<strong>en</strong>tor. http://www.simbionix.com/LAP_M<strong>en</strong>tor.html.<br />
[19] M<strong>en</strong>tice. Mist minimally invasive surgical trainer. http://www.m<strong>en</strong>tice.com/.<br />
[20] W. Muller and U. Bockholt. The virtual reality arthroscopy training simu<strong>la</strong>tor.<br />
Medicine Meets Virtual Reality, 6:13–19, 1998.<br />
[21] J.D. Mabrey, S.D. Gillogly, and J.R. Kasser et al. Virtual reality simu<strong>la</strong>tion of<br />
arthroscopy of the knee. Arthroscopy, July 2002.<br />
[22] R.A. Pedowitz, J. Esch, and S. Sny<strong>de</strong>r. Evaluation of a virtual reality simu<strong>la</strong>tor<br />
for arthroscopy skills <strong>de</strong>velopm<strong>en</strong>t. Arthroscopy, July 2002.<br />
[23] VR in medicine and biology group of the Univ. of Sheffield. The sheffield knee<br />
arthroscopy training system (skats). http://www.shef.ac.uk/ vrmbg/skats.html.<br />
[24] Northeast Parallel Architectures C<strong>en</strong>ter at Syracuse University. Npac-3d visible<br />
human. http://www.npac.syr.edu/projects/3Dvisiblehuman.
Hardware-Accelerated Dynamic Volume R<strong>en</strong><strong>de</strong>ring<br />
for Real–Time Surgical Simu<strong>la</strong>tion<br />
Marco Agus, Andrea Giachetti, Enrico Gobbetti<br />
Gianluigi Zanetti, and Antonio Zorcolo<br />
CRS4<br />
C<strong>en</strong>ter for Advanced Studies, Research and Developm<strong>en</strong>t in Sardinia<br />
POLARIS Edificio 1, 09010 Pu<strong>la</strong> (CA), Italy<br />
{magus,zarco,giach,gobbetti,zag}@crs4.it<br />
Abstract. We <strong>de</strong>veloped a direct volume r<strong>en</strong><strong>de</strong>ring technique, that supports low<br />
<strong>la</strong>t<strong>en</strong>cy real time visual feedback in parallel with physical simu<strong>la</strong>tion on commodity<br />
graphics p<strong>la</strong>tforms. In our approach, a fast approximation of the diffuse shading<br />
equation is computed on the fly by the graphics pipe-line directly from the<br />
sca<strong>la</strong>r data. We do this by exploiting the possibilities offered by multi-texturing<br />
with the register combiner Op<strong>en</strong>GL ext<strong>en</strong>sion, that provi<strong>de</strong>s a configurable means<br />
to <strong>de</strong>termine per-pixel fragm<strong>en</strong>t coloring. The effectiv<strong>en</strong>ess of our approach, that<br />
supports a full <strong>de</strong>coupling of simu<strong>la</strong>tion and r<strong>en</strong><strong>de</strong>ring, is <strong>de</strong>monstrated in a training<br />
system for temporal bone surgery.<br />
1 Introduction<br />
The diffusion of minimally invasive procedures is bringing major improvem<strong>en</strong>ts in the<br />
quality of the care provi<strong>de</strong>d to the pati<strong>en</strong>ts. This is done, however, at the cost of the<br />
increase in the complexity of the surgical procedures performed, thus requiring an increase<br />
in the training nee<strong>de</strong>d by each specific interv<strong>en</strong>tion for both p<strong>la</strong>nning and procedural<br />
issues. At the same time, the shortage of cadavers for medical training and<br />
public concern with the inhuman treatm<strong>en</strong>t of animals is drastically limiting the traditional<br />
approaches to surgical training. Virtual reality simu<strong>la</strong>tors realistically mimicking<br />
a pati<strong>en</strong>t-specific operating <strong>en</strong>vironm<strong>en</strong>t would therefore significantly contribute to the<br />
improvem<strong>en</strong>t of surgical training. Developing high quality simu<strong>la</strong>tors is, however, extremely<br />
difficult, since the need to provi<strong>de</strong> real-time feedback to users, while simu<strong>la</strong>ting<br />
physical effects, imposes string<strong>en</strong>t constraints on the simu<strong>la</strong>tion and visualization system.<br />
This paper focuses on the dynamic visualization problem, <strong>de</strong>scribing the volume<br />
r<strong>en</strong><strong>de</strong>ring technique that we have <strong>de</strong>veloped for a temporal bone dissection simu<strong>la</strong>tor.<br />
Direct volume r<strong>en</strong><strong>de</strong>ring with shading, that works by integrating along selected projectors<br />
the value of a continuous emission/reflection/absorption volume function reconstructed<br />
from discrete sampling points [1], is the <strong>de</strong>-facto standard in the pre-operative<br />
analysis of medical data. By manipu<strong>la</strong>ting the mapping from values of the original<br />
volume data to emission, reflection, and absorption coeffici<strong>en</strong>ts, various effects can be<br />
achieved, including isosurfaces and opaque objects. Using this data int<strong>en</strong>sive technique<br />
on dynamic volumes un<strong>de</strong>r real-time constraints is, however, an op<strong>en</strong> research problem.
This fact has limited simu<strong>la</strong>tors to employ surface based techniques, that have problems<br />
with semitranspar<strong>en</strong>t materials and rely on complex mesh structures that impose important<br />
synchronization overheads. A number of authors have proposed to exploit texture<br />
mapping and rasterization hardware to r<strong>en</strong><strong>de</strong>r sca<strong>la</strong>r volumes at interactive speeds [2–<br />
5]. These techniques are based on uploading the sca<strong>la</strong>r volume to texture memory prior<br />
to r<strong>en</strong><strong>de</strong>ring object-aligned or view-direction-aligned textured volume slices. One of the<br />
major limitations of these methods is their inability to effici<strong>en</strong>tly implem<strong>en</strong>t surface illumination<br />
mo<strong>de</strong>ls, since texture lookup is based only on data values and not on gradi<strong>en</strong>t<br />
information. The quality of the images is therefore insuffici<strong>en</strong>t for accurately perceiving<br />
surface shape. Various authors have thus proposed alternative techniques for supporting<br />
hardware-accelerated direct volume r<strong>en</strong><strong>de</strong>ring with shading [4, 6–8]. While image<br />
quality is close to that of the best software solution, this comes at the exp<strong>en</strong>se of performance<br />
and texture memory overheads, since the proposed techniques require multiple<br />
passes through the rasterization hardware and/or precomputation of gradi<strong>en</strong>t volumes.<br />
This is unacceptable in surgical simu<strong>la</strong>tion, since the volume is continuously varying,<br />
and thus we cannot effici<strong>en</strong>tly compute and reload gradi<strong>en</strong>t maps without strongly coupling<br />
the simu<strong>la</strong>tion and r<strong>en</strong><strong>de</strong>ring tasks.<br />
In this paper, we propose a texture-based volume r<strong>en</strong><strong>de</strong>ring approach, that supports<br />
low <strong>la</strong>t<strong>en</strong>cy real time visual feedback to occurr in parallel with physical simu<strong>la</strong>tion,<br />
without requiring any synchronization among the threads. In our approach, a fast approximation<br />
of the diffuse shading equation is computed on the fly by the graphics<br />
pipe-line directly from the sca<strong>la</strong>r data. We do this by exploiting the possibilities offered<br />
by multi-texturing with the register combiner Op<strong>en</strong>GL ext<strong>en</strong>sion, that provi<strong>de</strong>s<br />
a configurable means to <strong>de</strong>termine per-pixel fragm<strong>en</strong>t coloring. The rest of the paper<br />
<strong>de</strong>scribes our technique and illustrates its effectiv<strong>en</strong>ess in a virtual training system for<br />
temporal bone surgery [9].<br />
2 Interactive volume r<strong>en</strong><strong>de</strong>ring approach<br />
Although volumetric data is <strong>de</strong>fined over a continuous three-dim<strong>en</strong>sional domain (R 3 ),<br />
measurem<strong>en</strong>ts and simu<strong>la</strong>tions provi<strong>de</strong> volume data as 3D arrays, that can be easily<br />
used as sca<strong>la</strong>r texture images, without pre-processing. We r<strong>en</strong><strong>de</strong>r this volume sampling<br />
the volume through texturing hardware using front-to-back slice compo<strong>sitio</strong>n. For each<br />
step and for all pixels, graphics hardware accesses the texture and extracts the sca<strong>la</strong>r<br />
value. This sampled value is converted, through a transfer function, to a color triple and<br />
an opacity value that are saved insi<strong>de</strong> combiner input registers. Combiners are th<strong>en</strong> programmed<br />
to compute gradi<strong>en</strong>ts and shading on-the-fly, and return the color used during<br />
the bl<strong>en</strong>ding process. In the following, we provi<strong>de</strong> more <strong>de</strong>tails about this process.<br />
Sampling through texture mapping. Curr<strong>en</strong>t consumer graphics hardware is based<br />
on an object-or<strong>de</strong>r rasterization approach, i.e. primitives (polygons, lines, points) are<br />
scan-converted and writt<strong>en</strong> pixel-per-pixel into the frame buffer. Since volume data do<br />
not consist of such primitives, a proxy geometry is <strong>de</strong>fined for each individual slice<br />
through volume data. Each slice is textured with corresponding data from tvolume. The
volume is reconstructed during rasterization on slice polygons by applying a convolution<br />
of volume data with a filter kernel. The <strong>en</strong>tire volume can be repres<strong>en</strong>ted by a<br />
stack of such slices, if the number of slices satisfies restrictions imposed by Nyquist<br />
theorem. Our approach follows the technique proposed by Rezk-Sa<strong>la</strong>ma and others [7],<br />
ext<strong>en</strong>ding it with on-the-fly gradi<strong>en</strong>t and shading computation. In our case, since in a<br />
surgical setting viewpoint motion is constrained (limited to maximum 30 <strong>de</strong>grees), we<br />
are allowed to use object-aligned slices. At each frame, we traverse the array of slices,<br />
and we reload them as textures two at a time. After texture loading and reconstruction,<br />
the rasterization process <strong>de</strong>rives, for each projected pixel, texture sampling po<strong>sitio</strong>n,<br />
and texturing hardware extracts the correspond<strong>en</strong>t d<strong>en</strong>sity, by bi-linear or tri-linear interpo<strong>la</strong>tion<br />
of closest texels; the resultant value is th<strong>en</strong> mapped to an RGBA vector by<br />
the transfer function. In or<strong>de</strong>r to compute the surface gradi<strong>en</strong>t, four texture units are<br />
nee<strong>de</strong>d, that are used to sample the volume with offset dx, dy, dz, re<strong>la</strong>tively to the<br />
c<strong>en</strong>tral point.<br />
This procedure is extremely effici<strong>en</strong>t, since all the computation is performed in<br />
parallel in the graphics hardware and no particu<strong>la</strong>r synchronization is nee<strong>de</strong>d betwe<strong>en</strong><br />
the r<strong>en</strong><strong>de</strong>rer and the process that is modifying the dataset. Only a single sweep through<br />
the volume is nee<strong>de</strong>d, and volume slices are sequ<strong>en</strong>tially loa<strong>de</strong>d into texture memory<br />
on curr<strong>en</strong>t standard PC graphics p<strong>la</strong>tform using AGP 8X transfers, which provi<strong>de</strong>s a<br />
peak bandwidth of 2108 MB/s.<br />
Transfer function. The transfer function mapping, in our direct volume r<strong>en</strong><strong>de</strong>ring approach,<br />
is obtained by exploiting the glColorTable primitive, that is commonly implem<strong>en</strong>ted<br />
in commodity graphics hardware. This function is used by compiling a look-up<br />
table, with transfer function values, and by installing it insi<strong>de</strong> graphics memory. At<br />
the same time of sampling, texturing hardware performs transfer conversion of d<strong>en</strong>sity<br />
values to RGBA colors contained insi<strong>de</strong> the table. The color table contains associated<br />
colors instead of pure colors [10], in or<strong>de</strong>r to control the color interpo<strong>la</strong>tion error. The<br />
associated color employm<strong>en</strong>t has also b<strong>en</strong>eficial effects to color accumu<strong>la</strong>tion processs.<br />
The color look-up table lets users choose and calibrate the transfer function in real time;<br />
it can be computed and reloa<strong>de</strong>d each time the user change some function parameters.<br />
Voxel color computation. Lighting and shading process follows the standard lighting<br />
equation [10]:<br />
˜C[n] =α[n]C a [n]l a + α[n]C d [n] ∥ (<br />
)<br />
∥<br />
∥¯ld ∇f[n]<br />
max<br />
‖∇f[n]‖ ·<br />
¯ld<br />
∥ ∥<br />
∥¯ld , 0 (1)<br />
where ˜C[n] is the associated color, C a [n], C d [n] and α[n] are the non-directional<br />
ambi<strong>en</strong>t reflective factor, the diffuse directional reflective factor and the voxel opacity,<br />
while l a and ¯l d are the ambi<strong>en</strong>t light int<strong>en</strong>sity and the light int<strong>en</strong>sity coming from the<br />
directional source. In or<strong>de</strong>r to highlight surface <strong>de</strong>tails, we employ the artifact proposed<br />
by [11] of weighting the opacity α[n] with a surface str<strong>en</strong>gth, evaluated as a function<br />
of volume and his gradi<strong>en</strong>t: S = h (f(s), ∇f(s)) [12]. If we use the gradi<strong>en</strong>t modulus<br />
as str<strong>en</strong>gth,wehave:
˜C[n] =l a ‖∇f[n]‖ α[n]C a [n]+ ∥ (<br />
)<br />
∥<br />
∥¯ld ¯ld<br />
α[n]Cd [n]max ∇f[n] · ∥ ∥<br />
∥¯ld , 0 . (2)<br />
Such a str<strong>en</strong>gth function, <strong>en</strong>ables the visualization of boundary surface betwe<strong>en</strong><br />
tissues, and disables the visualization of parts with null gradi<strong>en</strong>t (like the internal parts<br />
of an object). Specifically, in our case, the shading compon<strong>en</strong>ts are supposed to be the<br />
combination of an ambi<strong>en</strong>t compon<strong>en</strong>t and a directional compon<strong>en</strong>t emitted by a source<br />
ori<strong>en</strong>ted along the volume z axis (slices normal). This way, the dot product betwe<strong>en</strong> the<br />
light direction and the opacity gradi<strong>en</strong>t is the compon<strong>en</strong>t ∇ z f[n], and equation 1 is<br />
simplified as follows:<br />
˜C[n] =l a ‖∇f[n]‖ α[n]C a [n]+l d α[n]C d [n]max (∇ z f[n], 0) . (3)<br />
Fig. 1. Internal and external optical mo<strong>de</strong>ls.<br />
But visual result of equation 3 is not fully satisfying: in fact only surface voxels<br />
contribute to pixel color, because str<strong>en</strong>gth becomes zero in tissue internal parts. This<br />
fact would be irrelevant if surfaces were consist<strong>en</strong>t <strong>en</strong>ough to completely mask the<br />
color of internal voxels. Anyway, low str<strong>en</strong>gth surfaces and small width walls let see<br />
the hollows produced by equation 3 (see fig. 1a). H<strong>en</strong>ce, the optical mo<strong>de</strong>l employed<br />
for internal volumes is differ<strong>en</strong>t from that used exclusively for parts having non null<br />
gradi<strong>en</strong>t. The overall mo<strong>de</strong>l is th<strong>en</strong> <strong>de</strong>fined by:<br />
⎧<br />
⎨ l a ‖∇f[n]‖ α[n]C a [n]+l d α[n]C d [n]max (∇ z f[n], 0) if ‖∇f[n]‖ > 0<br />
˜C[n] =<br />
.<br />
⎩<br />
(l a + l d ) α[n]C a [n] if ‖∇f[n]‖ =0<br />
(4)
With this artifact, the image quality is greatly improved during r<strong>en</strong><strong>de</strong>ring of low<br />
d<strong>en</strong>sity tissues or in these case of tissue subtle <strong>la</strong>yers with high d<strong>en</strong>sity (for example<br />
bone), as shown in figure 1b.<br />
Opacity gradi<strong>en</strong>t computation. In lighting equation 2, the surface normal is re<strong>la</strong>ted<br />
to gradi<strong>en</strong>t ∇f[n], and the modulus is regar<strong>de</strong>d as surface str<strong>en</strong>gth. Iff[n] is used as<br />
opacity, instead of d<strong>en</strong>sity, we can arbitrarily modify the surface appearance properties<br />
(opacity, width and consist<strong>en</strong>ce) by modifying the transfer function. Since Op<strong>en</strong>GL<br />
register combiners receive from texture hardware 4 opacity values α(p), α(p + dx),<br />
α(p + dy), α(p + dz), they are able to approximate the opacity gradi<strong>en</strong>t with forward<br />
differ<strong>en</strong>ces. Since combiners are SIMD arithmetic modules able to perform linear operations,<br />
it is re<strong>la</strong>tively simple to <strong>de</strong>rive forward differ<strong>en</strong>ces and vector modules, but it is<br />
impossible to perform ratios and root extractions. Now the gradi<strong>en</strong>t norm computation<br />
involves a square root computation, that needs to be approximated with a polynomial<br />
function. Since the number of avai<strong>la</strong>ble combiners is limited and many of them are<br />
used to compute the gradi<strong>en</strong>t compon<strong>en</strong>ts as well as the lighting equation, we can only<br />
approximate the square root function with a quadratic function. The 2nd or<strong>de</strong>r polynomial<br />
is <strong>de</strong>rived from a Taylor series evaluated in the neighborhood of an arbitrary<br />
point x 0 of interval ]0, 1]. The value of x 0 has to be choos<strong>en</strong> in or<strong>de</strong>r to minimize the<br />
approximation error in the interval. According to equation 2, the gradi<strong>en</strong>t norm is used<br />
to weight voxel opacity and associated color contribution, so the best approximation is<br />
obtained wh<strong>en</strong> Taylor series is evaluated in x 0 =1. The interpo<strong>la</strong>tion function is th<strong>en</strong><br />
√ x ≈<br />
3<br />
8 + 3 4 x − 1 8 x2 .<br />
Performance <strong>en</strong>hancem<strong>en</strong>t. Pixel fill-rate is the major limiting factor wh<strong>en</strong> using a<br />
texturing approach to volume visualization. In zoom r<strong>en</strong><strong>de</strong>ring, an appropriately downscaled<br />
image is r<strong>en</strong><strong>de</strong>red in the back buffer and th<strong>en</strong> <strong>en</strong><strong>la</strong>rged and copied to the front<br />
buffer [13, 14]. In this way, <strong>de</strong><strong>la</strong>ys associated with buffer swap synchronization are<br />
avoi<strong>de</strong>d, and the number of pixels filled during volume r<strong>en</strong><strong>de</strong>ring is reduced. In our<br />
implem<strong>en</strong>tation, the copy and zoom operations are implem<strong>en</strong>ted by copying the reduced<br />
size image in texture memory and th<strong>en</strong> r<strong>en</strong><strong>de</strong>ring a textured polygon in the front buffer.<br />
H<strong>en</strong>ce, sophisticated texture interpo<strong>la</strong>tion algorithms can be used to reduce the artifacts<br />
caused by magnification.<br />
3 Implem<strong>en</strong>tation and results<br />
Our technique for direct volume r<strong>en</strong><strong>de</strong>ring has be<strong>en</strong> integrated in a prototype training<br />
system for mastoi<strong>de</strong>ctomy. The simu<strong>la</strong>tor system provi<strong>de</strong>s real–time visual and haptic<br />
feedback [9, 15] and it is mo<strong>de</strong>led as a collection of loosely coupled concurr<strong>en</strong>t compon<strong>en</strong>ts<br />
[16]. The overall system is divi<strong>de</strong>d in a ”fast” subsystem, responsible for the high<br />
frequ<strong>en</strong>cy tasks (surgical instrum<strong>en</strong>t tracking, force feedback computation, bone erosion),<br />
and a ”slow” one, ess<strong>en</strong>tially <strong>de</strong>dicated to the production of data for visual feedback<br />
[17]. The system runs on two interconnected multiprocessor machines. Thanks to<br />
our volume r<strong>en</strong><strong>de</strong>ring approach, the r<strong>en</strong><strong>de</strong>rer is totally <strong>de</strong>coupled from the simu<strong>la</strong>tor
and the tracking system, and runs at his own frequ<strong>en</strong>cy. The curr<strong>en</strong>t configuration is<br />
the following: a single-processor PIV/1500 MHz with 256 MB PC133 RAM for the<br />
high-frequ<strong>en</strong>cy tasks (haptics loop (1KHz) and interprocess communication loop); a<br />
dual-processor Intel Xeon 2.4 GHz with 2048 MB DDR PC400 RAM and a NVIDIA<br />
GeForce FX 5800 Ultra AGP 8X and running a 2.4 linux kernel, for the low frequ<strong>en</strong>cy<br />
tasks (receiving loop, simu<strong>la</strong>tor evolution and visual r<strong>en</strong><strong>de</strong>ring); a Phantom Desktop and<br />
a Phantom 1.0 haptic <strong>de</strong>vices, that provi<strong>de</strong> 6DOF tracking and 3DOF force feedback<br />
for the burr/irrigator and the sucker; a n-vision VB30 binocu<strong>la</strong>r disp<strong>la</strong>y for pres<strong>en</strong>ting<br />
images to the user. We are curr<strong>en</strong>tly using a volume of 256x256x128 cubical voxels (0.3<br />
mm si<strong>de</strong>) to repres<strong>en</strong>t the region where the operation takes p<strong>la</strong>ce. We executed performance<br />
b<strong>en</strong>chmarks on the system, which revealed that, using eight register combiners<br />
and 8 bit/texel volumes, peak texture transfer rate is about 400M texel/s, while peak fill<br />
rate is about 400M pixel/s per second. According to these results, the r<strong>en</strong><strong>de</strong>ring system<br />
should theoretically be able to completely reload and r<strong>en</strong><strong>de</strong>r an <strong>en</strong>tire 256X256X128<br />
dataset in about 40 ms per frame. In the surgical simu<strong>la</strong>tor system, with this volume size,<br />
and using a window of about the same resolution (320X240 zoomed to 640X480), we<br />
obtain refresh timings of about 50 msec per frame, corresponding to a frame rate of<br />
20 fps, which is close to the theoretical peak. The CPU overhead is negligible, and the<br />
simu<strong>la</strong>tion can run and update the volume in parallel in a totally <strong>de</strong>coupled manner. The<br />
performance of the prototype is thus suffici<strong>en</strong>t to meet timing constraints, ev<strong>en</strong> though<br />
the computational and visualization p<strong>la</strong>tform is constructed from affordable and wi<strong>de</strong>ly<br />
accessible compon<strong>en</strong>ts. The visual quality of the method is illustrated in figure 2, which<br />
shows snapshots captured during a virtual session of the surgical simu<strong>la</strong>tor. The principal<br />
steps of a basic mastoi<strong>de</strong>ctomy, performed by an Ear, Nose and Throat surgeon, are<br />
repres<strong>en</strong>ted.<br />
4 Conclusion and discussion<br />
We pres<strong>en</strong>ted a dynamic volume r<strong>en</strong><strong>de</strong>ring technique which is well suited for the incorporation<br />
in surgical simu<strong>la</strong>tors. The technique supports low-<strong>la</strong>t<strong>en</strong>cy and high frequ<strong>en</strong>cy<br />
r<strong>en</strong><strong>de</strong>ring of sha<strong>de</strong>d semi-transpar<strong>en</strong>t materials. The method is extremely effici<strong>en</strong>t, since<br />
all the computation in performed in parallel in the graphics hardware and no particu<strong>la</strong>r<br />
synchronization is nee<strong>de</strong>d betwe<strong>en</strong> the r<strong>en</strong><strong>de</strong>rer and the process that is modifying the<br />
dataset. Only a single sweep through the volume is nee<strong>de</strong>d, and volume slices are sequ<strong>en</strong>tially<br />
loa<strong>de</strong>d into texture memory on curr<strong>en</strong>t standard PC graphics p<strong>la</strong>tform using<br />
AGP transfers. The effectiv<strong>en</strong>ess of our approach is <strong>de</strong>monstrated in a training system<br />
for temporal bone surgery.<br />
Acknowledgm<strong>en</strong>ts<br />
We would like to thank Prof. Stefano Sel<strong>la</strong>ri Franceschini and his team, University of<br />
Pisa, for his col<strong>la</strong>boration in the <strong>de</strong>sign and testing of the system.
Refer<strong>en</strong>ces<br />
1. Max, N.: Optical mo<strong>de</strong>ls for direct volume r<strong>en</strong><strong>de</strong>ring. IEEE Transactions on Visualization<br />
and Computer Graphics 1 (1995) 99–108<br />
2. Cabral, B., Cam, N., Foran, J.: Accelerated volume r<strong>en</strong><strong>de</strong>ring and tomographic reconstruction<br />
using texture mapping hardware. In Kaufman, A., Krueger, W., eds.: 1994 Symposium<br />
on Volume Visualization, ACM SIGGRAPH (1994) 91–98 ISBN 0-89791-741-3.<br />
3. Guan, S., Lipes, R.G.: Innovative volume r<strong>en</strong><strong>de</strong>ring using 3D texture mapping. In: Image<br />
Capture, Formatting and Disp<strong>la</strong>y. Volume 2164 of SPIE. SPIE (1994)<br />
4. Van Gel<strong>de</strong>r, A., Kim, K.: Direct volume r<strong>en</strong><strong>de</strong>ring with shading via three-dim<strong>en</strong>sional textures.<br />
In: 1996 Volume Visualization Symposium, IEEE (1996) 23–30 ISBN 0-89791-741-3.<br />
5. Kulick, T.: Building an op<strong>en</strong>gl volume r<strong>en</strong><strong>de</strong>rer. SGI Dev. News (1996)<br />
6. Westermann, R., Ertl, T.: Effici<strong>en</strong>tly using graphics hardware in volume r<strong>en</strong><strong>de</strong>ring applications.<br />
In Coh<strong>en</strong>, M., ed.: SIGGRAPH 98 Confer<strong>en</strong>ce Proceedings. Annual Confer<strong>en</strong>ce<br />
Series, ACM SIGGRAPH, Addison Wesley (1998) 169–178 ISBN 0-89791-999-8.<br />
7. Rezk-Sa<strong>la</strong>ma, C., Engel, K., Bauer, M., Greiner, G., Ertl, T.: Interactive volume r<strong>en</strong><strong>de</strong>ring<br />
on standard PC graphics hardware using multi-textures and multi-stage rasterization. In<br />
Sp<strong>en</strong>cer, S.N., ed.: Proceedings of the 2000 SIGGRAPH/EUROGRAPHICS Workshop on<br />
Graphics Hardware, ACM Press (2000) 109–118<br />
8. Engel, K., Kraus, M., Ertl, T.: High quality pre-integrated volume r<strong>en</strong><strong>de</strong>ring using hardwareaccelerated<br />
pixel shading. In: EuroGraphics/SIGGRAPH Workshop on Graphics Hardware.<br />
(2001)<br />
9. Agus, M., Giachetti, A., Gobbetti, E., Zanetti, G., Zorcolo, A.: Adaptive techniques for<br />
real time haptic and visual simu<strong>la</strong>tion of bone dissection. In: IEEE Virtual Reality Confer<strong>en</strong>ce,<br />
Confer<strong>en</strong>ce held in Los Angeles, CA, USA, March 22–26 (2003) 102 –109<br />
10. Witt<strong>en</strong>brink, C.M., Malzb<strong>en</strong><strong>de</strong>r, T., Goss, M.E.: Opacity-weighted color interpo<strong>la</strong>tion for<br />
volume sampling. In: IEEE Symposium on Volume Visualization, IEEE, ACM SIGGRAPH<br />
(1998) 135–142<br />
11. Levoy, M.: Disp<strong>la</strong>y of surfaces from volume data. IEEE Computer Graphics and Applications<br />
8 (1988) 29–37<br />
12. Drebin, B., Carp<strong>en</strong>ter, L., Hanrahan, P.: Volume r<strong>en</strong><strong>de</strong>ring. In Wolfe, R., ed.: Significant<br />
Seminal Papers of Computer Graphics: Pioneering Efforts that shaped the Field, N.Y., ACM<br />
Press (1998) 363–372<br />
13. Mazuryk, T., Schmalstieg, D., Gervautz, M.: Zoom r<strong>en</strong><strong>de</strong>ring: Improving 3-D r<strong>en</strong><strong>de</strong>ring<br />
performance with 2-D operations. Technical Report CG, Institute of Computer Graphics,<br />
Vi<strong>en</strong>na University of Technology (1995)<br />
14. Gobbetti, E., Pili, P., Zorcolo, A., Tuveri, M.: Interactive virtual angioscopy. In: Proceedings<br />
IEEE Visualization, Confer<strong>en</strong>ce held in Research Triangle Park, NC, USA, IEEE Computer<br />
Society Press (1998) 435–438<br />
15. Agus, M., Giachetti, A., Gobbetti, E., Zanetti, G., Zorcolo, A.: Real-time haptic and visual<br />
simu<strong>la</strong>tion of bone dissection. Pres<strong>en</strong>ce: Teleoperators and Virtual Environm<strong>en</strong>ts 12 (2003)<br />
110–122<br />
16. Agus, M., Giachetti, A., Gobbetti, E., Zanetti, G., Zorcolo, A.: A multiprocessor <strong>de</strong>coupled<br />
system for the simu<strong>la</strong>tion of temporal bone surgery. Computing and Visualization in Sci<strong>en</strong>ce<br />
5 (2002)<br />
17. Agus, M., Giachetti, A., Gobbetti, E., Zanetti, G., John, N.W., Stone, R.J.: Mastoi<strong>de</strong>ctomy<br />
simu<strong>la</strong>tion with combined visual and haptic feedback. In Westwood, J.D., Hoffmann, H.M.,<br />
Mogel, G.T., Stredney, D., eds.: Medicine Meets Virtual Reality 2002, IOS Press (2002)<br />
17–23
Fig. 2. Comparison betwe<strong>en</strong> real and virtual interv<strong>en</strong>tion: the principal steps of a basic mastoi<strong>de</strong>ctomy,<br />
performed by a surgeon, are repres<strong>en</strong>ted. Photos courtesy of Prof. Stefano Sel<strong>la</strong>ri<br />
Franceschini, University of Pisa.
Tecnologías <strong>de</strong>l l<strong>en</strong>guaje humano<br />
Alexan<strong>de</strong>r Gelbukh<br />
Aurelio López López<br />
Manuel Montes y Gómez<br />
Luis Vil<strong>la</strong>señor Pineda<br />
(Editores)
Introducción<br />
¿Qué son <strong>la</strong>s Tecnologías <strong>de</strong>l L<strong>en</strong>guaje Humano? El l<strong>en</strong>guaje humano ha sido<br />
objeto <strong>de</strong> estudio <strong>de</strong>s<strong>de</strong> hace mucho tiempo, <strong>de</strong>s<strong>de</strong> diversos puntos <strong>de</strong> vista y <strong>en</strong> difer<strong>en</strong>tes<br />
disciplinas. El uso <strong>de</strong> <strong>la</strong> computadora no sólo permitió acelerar su estudio sino<br />
que abrió nuevos campos <strong>de</strong> investigación. Es justo alre<strong>de</strong>dor <strong>de</strong> <strong>la</strong> computadora, que<br />
nac<strong>en</strong> <strong>la</strong>s tecnologías <strong>de</strong>l l<strong>en</strong>guaje humano (TLH). En breve, po<strong>de</strong>mos <strong>de</strong>finir <strong>la</strong>s<br />
TLH como el conjunto <strong>de</strong> conocimi<strong>en</strong>tos y medios involucrados <strong>en</strong> el tratami<strong>en</strong>to<br />
automático <strong>de</strong> <strong>la</strong>s l<strong>en</strong>guas humanas. Es importante remarcar que el l<strong>en</strong>guaje humano<br />
no pue<strong>de</strong> reducirse únicam<strong>en</strong>te a su forma oral o escrita. El l<strong>en</strong>guaje humano va más<br />
allá e incluye otros modos <strong>de</strong> comunicación. Por ejemplo, el hab<strong>la</strong> se combina con<br />
a<strong>de</strong>manes indicativos y expresiones faciales; y los textos digitales pres<strong>en</strong>tan combinaciones<br />
con imág<strong>en</strong>es y sonidos. De esta manera, <strong>la</strong>s tecnologías <strong>de</strong>l l<strong>en</strong>guaje incluy<strong>en</strong><br />
el procesami<strong>en</strong>to <strong>de</strong> <strong>la</strong> comunicación multimodal y <strong>de</strong> los docum<strong>en</strong>tos multimedia.<br />
Relevancia <strong>de</strong> <strong>la</strong>s TLH para <strong>la</strong> comunidad hispano hab<strong>la</strong>nte El idioma Español es<br />
hab<strong>la</strong>do por aproximadam<strong>en</strong>te 400 millones <strong>de</strong> personas, incluy<strong>en</strong>do todas sus varieda<strong>de</strong>s<br />
fonéticas. Sin embargo, <strong>la</strong> influ<strong>en</strong>cia hoy <strong>en</strong> día <strong>de</strong> nuestro idioma <strong>en</strong> <strong>la</strong> sociedad<br />
<strong>de</strong> <strong>la</strong> información es mínima. Desgraciadam<strong>en</strong>te <strong>la</strong> ci<strong>en</strong>cia y, más concretam<strong>en</strong>te,<br />
<strong>la</strong> tecnología asociada al tratami<strong>en</strong>to <strong>de</strong>l idioma Español no se ha <strong>de</strong>sarrol<strong>la</strong>do con el<br />
ímpetu necesario. Nos <strong>en</strong>contramos con un <strong>en</strong>orme rezago tecnológico que sólo podrá<br />
resolverse a través <strong>de</strong> una participación <strong>de</strong>cidida. Para ello es indisp<strong>en</strong>sable crear<br />
herrami<strong>en</strong>tas propias capaces <strong>de</strong> tratar <strong>la</strong> información expresada <strong>en</strong> nuestro idioma. Es<br />
por ello indisp<strong>en</strong>sable el <strong>de</strong>sarrollo <strong>de</strong> una infraestructura tecnológica para el tratami<strong>en</strong>to<br />
automático <strong>de</strong>l l<strong>en</strong>guaje Español. Cabe hacer m<strong>en</strong>ción <strong>de</strong> <strong>la</strong> responsabilidad<br />
<strong>de</strong> México <strong>en</strong> <strong>la</strong> búsqueda <strong>de</strong> soluciones a esta problemática. México es el país hispano<br />
hab<strong>la</strong>nte más pob<strong>la</strong>do con cerca <strong>de</strong> 100 millones <strong>de</strong> habitantes sin contar <strong>la</strong> <strong>en</strong>orme<br />
pres<strong>en</strong>cia <strong>de</strong> los emigrantes mexicanos <strong>en</strong> E. U. A., una comunidad <strong>de</strong> más <strong>de</strong> 20<br />
millones <strong>de</strong> personas.<br />
Objetivo <strong>de</strong>l taller <strong>de</strong> TLH El pres<strong>en</strong>te taller ti<strong>en</strong>e por objetivo principal reunir a<br />
todos aquellos grupos <strong>de</strong> invetigación mexicanos interesados <strong>en</strong> <strong>la</strong>s TLH. Este taller<br />
está abierto a todos aquellos esfuerzos re<strong>la</strong>cionados con el procesami<strong>en</strong>to <strong>de</strong>l l<strong>en</strong>guaje<br />
humano por medios computacionales. Como se m<strong>en</strong>ciona, esta área involucra aportaciones<br />
<strong>de</strong> difer<strong>en</strong>tes disciplinas, <strong>en</strong>tre el<strong>la</strong>s po<strong>de</strong>mos m<strong>en</strong>cionar: <strong>la</strong> Lingüística computacional,<br />
<strong>la</strong> Recuperación <strong>de</strong> información textual, <strong>la</strong> Categorización <strong>de</strong> textos, <strong>la</strong><br />
Ing<strong>en</strong>iería lingüística, el Reconocimi<strong>en</strong>to <strong>de</strong> voz, <strong>la</strong> Extracción <strong>de</strong> información, los<br />
Sistemas conversacionales, <strong>en</strong>tre otras.<br />
Anteced<strong>en</strong>tes inmediatos <strong>de</strong> este taller Des<strong>de</strong> hace tiempo difer<strong>en</strong>tes grupos <strong>de</strong><br />
investigación <strong>en</strong> México han trabajado diversos aspectos <strong>de</strong>l tratami<strong>en</strong>to automático<br />
<strong>de</strong>l Español. Sin embargo, es ap<strong>en</strong>as <strong>en</strong> años reci<strong>en</strong>tes que esta comunidad ha com<strong>en</strong>zado<br />
a reunirse con <strong>la</strong> finalidad <strong>de</strong> abordar esta <strong>en</strong>orme problemática <strong>de</strong> manera conjunta.<br />
Hasta ahora esta comunidad ha realizado dos reuniones regionales, una <strong>en</strong> <strong>la</strong><br />
ciudad <strong>de</strong> Pueb<strong>la</strong> organizada por <strong>la</strong> B<strong>en</strong>emérita Universidad Autónoma <strong>de</strong> Pueb<strong>la</strong> y<br />
otra <strong>en</strong> <strong>la</strong> ciudad <strong>de</strong> México organizada por el Instituto <strong>de</strong> Ing<strong>en</strong>iería <strong>de</strong> <strong>la</strong> UNAM. El
objetivo <strong>de</strong> <strong>la</strong>s reuniones se c<strong>en</strong>tró <strong>en</strong> <strong>la</strong> discusión <strong>de</strong> avances y <strong>la</strong> búsqueda <strong>de</strong> proyectos<br />
conjuntos. Por otro <strong>la</strong>do, como consecu<strong>en</strong>cia inmediata <strong>de</strong> estas reuniones se<br />
creó <strong>la</strong> Asociación Mexicana <strong>de</strong> Procesami<strong>en</strong>to <strong>de</strong> L<strong>en</strong>guaje Natural. Por supuesto,<br />
este taller será un medio idóneo para dar a conocer esta asociación e invitar a nuevos<br />
grupos a participar <strong>en</strong> el<strong>la</strong>.
Comité Ci<strong>en</strong>tífico<br />
Copresid<strong>en</strong>tes:<br />
Alexan<strong>de</strong>r Gelbukh, CIC-Instituto Politécnico Nacional<br />
Aurelio López López, Instituto Nacional <strong>de</strong> Astrofísica, Óptica y Electrónica<br />
Manuel Montes y Gómez, Instituto Nacional <strong>de</strong> Astrofísica, Óptica y Electrónica<br />
Luis Vil<strong>la</strong>señor Pineda, Instituto Nacional <strong>de</strong> Astrofísica, Óptica y Electrónica<br />
Javier Cuétara , Fac. <strong>de</strong> Filosofía y Letras-Univ. Nacional Autónoma <strong>de</strong> México<br />
Sofía Galicia Haro, Fac. <strong>de</strong> Ci<strong>en</strong>cias-Universidad Nacional Autónoma <strong>de</strong> México<br />
Warr<strong>en</strong> Greiff, MITRE Corporation<br />
Héctor Jiménez, B<strong>en</strong>emérita Universidad Autónoma <strong>de</strong> Pueb<strong>la</strong><br />
Ingrid Kirschning, Universidad <strong>de</strong> <strong>la</strong>s Américas, Pueb<strong>la</strong><br />
Carlos Alberto Reyes, Instituto Nacional <strong>de</strong> Astrofísica, Óptica y Electrónica<br />
Luis Pineda Cortés, IIMAS-Universidad Nacional Autónoma <strong>de</strong> México<br />
Paolo Rosso, Universidad Politécnica <strong>de</strong> Val<strong>en</strong>cia<br />
Grigori Sidorov, CIC-Instituto Politécnico Nacional<br />
Gerardo Sierra, INI-Universidad Nacional Autónoma <strong>de</strong> México
ÁÒجÓÒÒØÓÒÑÓ×ÒÌÜØÓ×ÈÐÒÓ× ÙÔÖØÒÓÄÙÖÓ¸ÚÈÒØÓÝÀØÓÖÂÑÒÞ¹ËÐÞÖ ½×ÙÖÝÚºËÒÐÙÓºº½¿ºÙÍÒÚÖ×ØÖ ÒÑÖØÍÒÚÖ×ÙØÓÒÓÑÈÙÐ ÙÐØÒ×ÐÓÑÔÙØÓÒ<br />
×ØÖغÏÓÖÆØ×ÒÙ×Ò×ÚÖÐÔÔÐØÓÒ×ÓÆØÙÖÐ ÉÈÖÖÓØÑкÓѸÔÒØÓ׺ÙÔºÑܸÑÒÞѺÙÔºÑÜ Ìк´·¾¾¾¾µ¾¾¼¼Üغ¾½¾Ü´·¾¾¾¾µ¾¾¾ ÈÙиÈÙº¾¼ºÅÜÓ<br />
Ø×ÑÔÓÖØÒØØÓÚÐÓÔÙØÓÑØÑØÓ×ÓÖØÖÓÒØÓÒÓÐÜÐ ÖÐØÓÒ×Ô׺ÁÒØ×ÔÔÖÛÔÖ×ÒØÒÛÑØÓÓÖÒØÝÒÛÓÖ ÔÖ×´ÜØÖØÖÓÑÖÛÓÖÔÙ×µÒÓÔÔÓ×ØÒ××ÖÐØÓÒ×ÔºÌÑØÓ ÄÒÙÈÖÓ××ҬиÓÛÚÖ¸ØØØØØ×ÒÓØ×ÔÐÞÐÜÐ<br />
Û×ÔÔÐØÓ×ØÓÖÐØÛÓÖÔÖ×ÓØÒÖÓÑÓÖÔÙ×ÝÙ×Ò Ø״ĵÐÙ×ØÓÓÒ×ØÖÙØij×ÓÖ×Ô¬ÓÑÒ׺ÌÖÝ<br />
Ì×ØÙÖ×ÛÖÚÐÙØÝÛÓÖ¹×ØÒØÛÒÔÖ×ØØÔÔÖ×Ò Ø×ÑÓÒØÜظÐÜй×ÝÒØØÐÔØØÖÒ×ØØÑØ×ÖÙÐÖÜÔÖ××ÓÒ× ÖÒ×ØØس×ÑØÓºÐ×Ó¸ÛÙ×ØÙÖ×ÜØÖØÖÓÑÛÓÖÓÒØÜØ׺<br />
ÓÖÔÙ×ÓØÒÒ¼¹ÔÖÒØÙÖݺ ÔÖºÌÑØÓÛ×Ø×ØÛØ×ØÓÛÓÖÔÖ×ØÒÖÓÑÒÓÒÓÑÝ ÃÝÏÓÖ×ÇÔÔÓ×ØÒ××ÖÐØÓÒ×Ô¸ÐÜÐÓ¹ÓÙÖÖÒÒØÛÓÖº ÛØÛÓÖÓÒØÜØ׸ÒÝÐÜÐÓ¹ÓÙÖÖÒÒØÛÓÖ×ÙÐØÓÖÛÓÖÓ<br />
ÙØÓÑØÓ×ÔÖÐÖÓÒÓÑÒØÓÖÐÓÒ×ÐÜ׺Ò×ØØÖÓ× ÙÒ×ØÓ×Ðܴĵ×ÔÐÞÓÒÙÓÐÓÒ×ØÖÙÓÒ Ä×ÔÖÓÑÒÓ××Ô¬Ó׺ÈÓÖÐÐÓ¸×ÑÙÝÑÔÓÖØÒØ×ÖÖÓÐÐÖÑØÓÓ× ÐÔÖÓ×ÑÒØÓÐÐÒÙÒØÙÖи×ÒÑÖÓ¸ÐÓÕÙÒÓ× Ê×ÙÑÒºÏÓÖÆØ×Ù×ÓÒÚÖ×ÔÐÓÒ×ÝÒÑÙÓ×ÑÔÓ×<br />
ÔÖ×ÒØÙÒÒÙÚÓÑØÓÓÔÖÒجÖÔÖ×ÔÐÖ×ÒÖÐÓÒ ÓÔÓ×ÓÒÔÖÓÚÒÒØ×ÙÒÓÖÔÙ××ÒÓÖÑØÓºÐÑØÓÓÙÔÐÓ ÔÖØÖÐ×ØÒÒØÖÐ×ÔÐÖ×ÕÙÔÖÒÒÐÑ×ÑÓÓÒØÜØÓ¸ ÔÓÖÔØÖÓÒ×ÐÜÓ¹×ÒØØÓ×Ù×Ó×ÔÖÑÔØÖÜÔÖ×ÓÒ×ÖÙÐÖ×ÒÐÓ× ÐÑØÓÓÖÒ×ØØغÈÖÐÓÖÖ×ØÓ¸ØÑÒ×Ù×ÒÐÙÒÓ×Ö×Ó× ÜØÖÓ×ÐÓ×ÓÒØÜØÓ×Ð×ÔÐÖ׺×ØÓ×Ö×Ó×ÙÖÓÒÚÐÙÓ× ÔÖ×ÔÐÖ×ÖÐÓÒ×ÕÙÙÖÓÒÓØÒ×ÙÒØ×ÙÖÙ×ÖÓÔÓÖ<br />
ÔÐÖÖÐÓÒºÐÑØÓÓÙÔÖÓÓÒÙÒÓÒÙÒØÓÔÖ× ÓÒØÜØÓ×Ð×ÔÐÖ׸ÝÔÓÖÙÒÖÓ¹ÓÙÖÖÒÐÜÓÒ×ØÖÙÔÖ ÔÐÖ×ØÓÑ×ÙÒØ×ÙÖÙ×ÓÒÓѸÝ×ÓØÙÚÓÙÒ¼ÔÓÖÒØÓ ÔÖ×ÓÒ¸ÐÓÙÐ×ÑÙÝÐÒØÓÖº ÈÐÖ×ÐÚÊÐÓÒÓÔÓ×ÓÒ¸Ö×Ó¹ÓÙÖÖÒÐܺ
½ºÁÒØÖÓÙÓÒ<br />
ÐÐÒÙÒØÙÖиÓÑÓ×Ð×ÓÐÖÙÔÖÓÒÒÓÖÑÓÒ¸ ÖÐÓÒ×ÐÜ×ÒØÖÔÐÖ×ÔÖÐÓÑÒÐ׺ØÖÚ×ÐØÑÔÓ¸ ×ÑÙÓÒÐ×ÒØÓÙÒÔÐÖ¸ÝÖ¬ÒÑÒØÓÓØÖ××× ÏÓÖÆØØÒÓÚÖ×ÔÐÓÒ×ÒÑÙÓ×ÑÔÓ×ÐÔÖÓ×ÑÒØÓ ÏÓÖÆظ×ÙÒ×ØÓ×ÄܴĵÕÙØÒÙÒÑÔÐÒØ<br />
ÔÖÑØÖ××ÙÔÐÐÓØÖÓ×ÓÑÒÓ׺ ØÖÕÙÒ×ØÑØÓÓ×ÙØÓÑØÓ×ÔÖÖÙÖÐØÑÔÓÝÐ×ÙÖÞÓ¸Ý ×ØÓ×ÓÒÙÐÒ×ÓÒ×ØÖÙÖÄÔÖÓÑÒÓ××Ô¬Ó׸ ØÓ×ÐÜ׸ÒØÖÓØÖ׸¸¸½½℄ºËÒÑÖÓ¸ÐÔÓ×ÔÐÞÓÒ×Ø<br />
ÖÐÓÒ×ÐÜ××ÙÝÒØ×ÒÐÐÒÙÒØÙÖÐ×ÙÒÖØÑÒÖ ÐÔÖÓÑÒØÓÑÒÙкÒ×Ò¸×ØÖØÓ×ÖÚÖÐ×ÓÒÓÖÒ× Ó×ØÖÑÒÓ×ÔÖÔÖÓÔÓÒÖÙÒÖÐÓÒÒØÖÐÐÓ׺ÈÓÖÑÔÐӸȺÀÒн℄ ÔÖÓÔÙ×ÓÙÒÑØÓÓ×ÓÒÐ×ÒÓÒÖ×Ó××ÒØØÓ×ÖÙÒØ×ÙÒ ÄÓ×ÔÖÓÑÒØÓ×ÙØÓÑØÓ×ÕÙ×ÒÔÖÓÔÙ×ØÓÔÖÒجÖÐ×<br />
×ØÒÚ×ØÓÖÓ×ÖÚÓÕÙÓ×ØÖÑÒÓ××ÓÒÑÙØÙÑÒØÚÒÓ׸×ÙÒÓ ×ÐØÑÒØÖÙÒØÒÐÓ×ÓÒØÜØÓ×ÐÓØÖÓ¸ÝÚÚÖ׺Ò×ØÑ×Ñ ×ÑÒØ×ÐÕÙÔÖÓÔÙ×ÓºÖÒ×ØØؽ℄ÔÖÓÒ×ØÖÙÖØ×ÙÖÔÓÖ ÓÒÓÑÒØÓÔÓÖ¸ÔÖØÒÓÙÒØÜØÓÖÒÒÙÒÓÑÒÓ×Ô¬Óº ØÖÑÒÓ¸ÔÖÖÔÖ×ÒØÖÝØÖÑÒÖÐ×ÑÐØÙÒØÖ×Ù×ØÒØÚÓ׺ÍÒÑØÓÓ<br />
ÐÜÓ×ÒØØÓ׺ÈÓÖÓØÖÔÖظËÒÖ×ÓÒÝÖÓؽ℄ÒجÒÖÐÓÒ× ÖÐÓÒÖÙ×ÒÓÖ××ÔÖÔÓ×ÓÒÐ׺ÌÐÚÞÐØÖÓÑ××Ò¬ØÚÓ× ÒÐÙÝÒÓÑÝÓÖÒÓÖÑÓÒ×ÒØØÒÐÖÔÖ×ÒØÓÒÐÓ×ØÖÑÒÓ× ÐźÀÖ×Ø℄¸ÕÙÒÓØÙÚÓÖÐÓÒ×ÔÓÒÑÔÖØÖÔØÖÓÒ× ÖÓÒ¸ÙÒØÖÓÔÖÐÔÓÖØÙÙ׺ÎÖ×Ò℄Ö¬ÒÓÐÑØÓÓ¸<br />
ÀºÂÑÒÞ℄×ÒÐÓÕÙÐØÖÑÒÓÔÙÙ×Ö×ÓÒÖÒØ××ÒØÓ×ݸ ÓÒØÒÒÝØÒÒÙÒÐØÔÖÓÐÓÒØÒÖܺÅ×ÖÒØÑÒظ ÐÓÒÙÒØÓÓÙÑÒØÓ×ÕÙÓÒØÒÒÑÓ×ØÖÑÒÓ×ÒÐÓÒÙÒØÓ ÓÙÑÒØÓ×ÕÙÓÒØÒÙÒÓÐÐÓ׸×ÖÜ×Ù×ÙÑÝ×ÐÓ×ØÜØÓ×ÕÙ ÔÓÒÑÓÒ×ÒÐ×Ù×ÙÒÓÒ¸×Ù×ØÒØÒÐÓÒØÒÓÒ<br />
ÔÓÖØÒØÓ¸×ÔÙÒÒجÖÐÙÒ×ÖÐÓÒ××ÒÓÒÑÔÓÒÑ ÔÖÐÙÒÓ××ÒØÓ×Ð×ÔÐÖ×ÒÙ×ØÓÒ¸Ö¬ÖÒÓÐ×Ù×ÙÒÓÒ ØÖÑÒÓ׺ÍÒÒÓÕÙÕÙ×ÙÒÔÖÔÐÖ××ÓÒÒØÓÒÑÓ×Ù×ÚØÓÖ× ÓÒÔØÙÐ×½¾℄×ÓÑÔÓÒØÖÑÒÓÐÔÖ¸ÔÓÖÑÓÙÒÅÊ ÑÒØÐÖÙÔÑÒØÓÐÓ×Ö×Ó×ÕÙÖÔÖ×ÒØÒÐÓ××ÒØÓ×ÐÓ×<br />
ÓÑÓÐÑÐÓ×ÒÓº ÔÖ×ØÒÖÐÓÒÒØÓÒѸÖÐÞÒÓÓÔÖÓÒ×ÒÐ×ÔÓÚØÓÖи ´ÅÒÊÐØÓÒÖݵÝÙÒØ×ÙÖÙ׺×ØÑØÓÓØÖÑÒ×Ð<br />
×Ø×ÓÒÐÖÔÖ×ÒØÓÒÔÖ×ØÖÑÒÓ×¹ÕÙ×ÒÒÓÒØÖÓ ÓÑÓÖÐÓÒÓ×ÔÖÓ×ÒÓÒÓÖÐØÔÓÖÐÓÒ¹ÑÒØØÖ×Ö×Ó× ÔÖÓÚÒÒØ××Ù×ÓÒØÜØÓ×ÐÔÙÒØÙÓÒÒÚÖ×ÑÒØÔÖÓÔÓÖÓÒÐÔÓÖØ ÖÐÓÒÓÑÔÐÑÒØÖ¸ÓÑÓÚÖÖÓÝÐ×Ó¸ÖÙ×½¿℄µº×ØÑØÓÓ Ò×ØØÖÓ×ÔÖ×ÒØÙÒÑØÓÓÔÖÒجÖÒØÓÒÑÓ×´ÓÒ<br />
ÝÐÖÓ×ÑÐØÙØÖÑÒÓÔÓÖÙÒÖÓ¹ÓÙÖÖÒÐÜ ÔÓÖÐ×ØÒÕÙ×ÔÖÐÔÖÔÐÖ׸ÐÙÒÓ×ÔØÖÓÒ×ÐÜÓ×ÒØØÓ×
ÓÒ×ØÖÙÔÖÔÐÖÐÓ×ÔÖ׺ÐÓÖÔÙ×ÐÙÐ×ÜØÖÒÐÓ× ÔÖ×ÖÐÓÒÓ×ØÑÒÔÖÓÚÐÓ×ÓÒØÜØÓ×ÔÖØÖÑÒÖÐÓ×Ö×Ó׺ ËØÓÑÖÓÒÙÒÓÒÙÒØÓÔÖ×ÕÙÙÖÓÒÙ×Ó×ÓÑÓÑÔÐÓ×ÔÓ×ØÚÓ׺ ÓØÒÓ×ÓÒÐÓ×ÑÔÐÓ×ÔÓ×ØÚÓ׺ ÄÓ×ÙÑÖÐ×ÙØÐ×ÒÐÐ׬ÓÒÙÖÓÒ¬ÒÓ×ÓÒ×ÒÐÓ×ÚÐÓÖ× ÓÕÙÐÓ×ÒØÓÒÑÓ×ÝÐÓ××ÒÓÒÑÓ×ÔÖ×ÒØÒÖ×Ó××ÑÐÖ×º×¸× Ò×ÖÓ×ØÐÖÙÒÑÒ×ÑÓÕÙÔÖÑØ×ØÒÙÖÒØÖ×ØÓ×Ó×ØÔÓ× ÖÐÓÒ׺ÑÒÖ×Ô¬¸ºÖÙ×½¿℄ÓÑÒØ×ÓÖÐÓ×ÓÔÓ×ØÚÓ× ÐÓ×ÙÒØ ÐØÖÑÒÖÐÖÐÓÒÒØÓÒÑ×ÙÒÔÖÓÐÑÐÖ×ÓÐÚÖ<br />
×ØÓØÑÒÙÜÔÖ×ÓÔÓÖĺÏÒÒÖ½¼℄ÐÓ×ÒØÓÒÑÓ×ÜÝÝÙÑÔÐÒ ÓÔÔÓ×ÒÔÓÐ׸ÒØÐÒÓ«ÖÒº ×ÑÒØÐÓ×Ò××ÐÓÒØÑÒ×ÓÒÓ«ÖÒ¸ØÝÓÙÔÝ ºººÒÖ×ÔØØÓÐÐÓØÖØÙÖ׸ØÝÖÒØиÒØÖ<br />
ÙÐ×ÙÖÓÒÙ××ÔÓÖÈÐÔÑÓÒ׿℄ÔÖ×ÐÓÒÖÐ×ÒÓÒÑÓÑ× ÙÓÒÙÒÓÒØÜØÓ¸ÝÕÙ×ÖÚÒØÑÒÓÑÓÙÒÑÒ×ÑÓ¬ÐØÖÓ ÕÙÜØÒÓÑÓÖ×Ó×ÝÝØÒº<br />
ÒÐÔÖÓ×ÓØÖÑÒÓÒÒØÓÒÑÓ׺ Ò×ØØÖÓ×ÖÙÖÖÐÙ×ÓÐ×Ö×Ó¹ÓÙÖÖÒÐܸÐ×<br />
×Ù×ÓÒÐÓ×Ö×ÙÐØÓ×ÓØÒÓ׺ Ð׬ÓÒ×ÓÖÙÒÑÔÐÓÔÖ×ÖÐÓÒÓ׺ЬÒи×ÔÖ×ÒØÙÒ ×ÒÙÒØÖÒ×ÖØÓ×ÒÐ×ÓÒ¾×ØØÖÓºÄ×ÓÒ¿ÒÓÑÓ ÐÙÐÖÐÓ×Ô×Ó××ÓÓ×ÐÓ×Ö×Ó׸ÝÑÙ×ØÖÙÒÔÖÙÐÔÖÓÑÒØÓ ÙÒÓÐÓ×Ö×Ó×Ù×Ó×ÒÐÐ׬ÓÒÖÐÓÒ×ÓÔÓ×ÓÒ<br />
ÔÙÒظÓÑÔÙ×ØÔÓÖÐÓ×Ô×Ó×ÐÓ×Ñ×ÑÓ×Ö×Ó׺ÐÑØÓÓÙ×ÐÓ× ¾ºÊ×Ó×ÍØÐÞÓ×ÒÐÁÒجÓÒÒØÓÒÑÓ×<br />
ÙÒÓ×ØÓ×Ö×Ó×Ò×ÖÓ×ÒÐÐÙÐÓÐÔÙÒظÐÙÐÔÖÑØÐ×¬Ö ÙÑÖÐ×ØÖÑÒÓ×ÔÓÖÑÔÐÓ×ÔÓ×ØÚÓ׺ÓÒØÒÙÓÒ××Ö ÔÖ×ÔÐÖ׺ ÐÑØÓÓÐ׬ÓÒÖ×Ó×ÔÖÓÔÙ×ØÓ¸×Ø×ÓÒÙÒÙÒÓÒ<br />
×ØÒÁÒÚÖ×ÑÒØÈÖÓÔÓÖÓÒдÁȵº×ØÖ×ÓØÒ×Ù×Ò ÐÓ×ÖÚÓÒÓÒØÜØÓ×ÕÙØÒÒÔÐÖ×ÖÐÓÒ׺ÁÈÖÔÖ×ÒØ Ð×ÔÐÖ×ÒØÓÒÑ×ÑÙÝÖÙÒØÑÒØÓ¹ÓÙÖÖÒÓÒÙÒ×ØÒ ÕÙØÒÖÒ××ØÒÓ×ÔÐÖ׺ÒÓÒØÜØÓ×ÔÐÖ×ÖÐÓÒ׸ ÔÖÓÔÓ×ØÓ×ÓÒØÖ×غˬÒÁÈÐ×ÙÒØÑÒÖÐ×ØÒ ÒØÖÐ×ÔÐÖ×ÖÐÓÒ×´ÒÙÑÖÓÔÐÖ×ÕÙÐ××ÔÖÒµ× ÔÕÙÒº×ØÓ×ÖÚÓÒ×Ø×ÔÓÖÐÙ×ÓÒØÓÒÑÓ×ÓÒ ÓÑÔÐÑÒØÓÒÖ×ÔØÓÐ×ØÒÑÜÑÔÓÖØÔÓÖÑÔÐÓ× ÔÓ×ØÚÓ׺ËØÓÑÐÚÐÓÖÑÜÑÓÐ×ØÒÓÑÔÐÑÒØÖÒÐÓ× ÑÔÐÓ×ÔÓ×ØÚÓ×ÓÑÓ
ÈØÖÓÒ×ÄÜÓËÒØØÓ×´ÈÄ˵ºÄÓ×ÈÄË×Ò×ÓÒØÖÓÙÓ×ÒÐ ÓÒ¡´Ü ÓÒØÜØÓ׺ ݵ×Ð×ØÒÔÖÓÑÓÒØÖÐ×ÔÐÖ×ÜÝÝÒ×Ù× ¡Å´Ü½Ý½µ¾ÈÓ×ÑÜ<br />
´Ü¾Ý¾µ¾ÈÓס´Ü¾Ý¾µ ¡´Ü½Ý½µ ´½µ<br />
ÖÙÐÖ׺ÑÔÐÓ××ØÓ×ÔØÖÓÒ×ÔÖÒÒÐØнºÄÓ×ÔØÖÓÒ× ÒØÖÔÐÖ×ÖÐÓÒ׺ÄÓ×ÈÄË××ÓÒÖÔÖ×ÒØÓ×ÓÑÓÜÔÖ×ÓÒ× ÓÔÓ×ÓÒÙÓ×ÔÓÖÔÐÖ×ÐÚ¸×ÒÓ×ÔÙÒØÙÓÒ¸Ý×ØÒ ÔÓÒÑÓ׺ËÒجÖÓÒÚÖ×Ó×ÔØÖÓÒ×ÒÐÓ×ÓÒØÜØÓ×ÓÒÖÐÓÒ× ØÖÓȺÀÖ×Ø℄ÓÒÙÒÓ×Ö×ÙÐØÓ×ÒÐÒجÓÒ<br />
ÓÒØÒÒÔÐÖ×ÐÚÓÑÓÔÖӸ׸×ظ×ÒӸݸӺ ÆÖ ÒؽÛÓÖ¼¸ÝÓ℄ÛÓÖ¼¸Òؾ½ ¿ ¾×ÛÓÖÒؽ×ØÛÓÖÒؾ ½ ÒؽÛÓÖ¸℄×ÒÓÛÓÖÒؾ ÒؽÛÓÖ¸ÔÖÓÛÓÖÒؾ ÜÔÖ×ÓÒÊÙÐÖ È×Ó<br />
ÌнºÜÔÖ×ÓÒ×ÖÙÐÖ×Ý×Ù×Ô×Ó׺ <br />
Ê×Ó¹ÓÙÖÖÒÄÜ´ÊĵºÓÕÙÐÓ×ÒØÓÒÑÓ×× ÔÖÔÐÖ×ÕÙÔÙÖÒÓÒØÒÖÒÓÖÑÓÒÙ×ÒÔÖÓÐÑ×ÓÒ ×ÒÓÒѺÄ×ÊÄÙÖÓÒÙ××Ò×ØÔÖÓÔÙ×ØÓÑÓÙÒÑÒ×ÑÓ ×Ø×Ó×ÖÐÓÒ׺ÈÓÖÐÓØÒØÓ¸×ÓÑÒÖÙÒÖÔÖ×ÒØÓÒ ×ÐÓÒÐ×ÒÓÒÑÓÑ×ÙÓÒÙÒÓÒØÜØÓ¿℄ºÐÔÖÓÑÒØÓ ÓÑÔÓÖØÒÑÒÖ×ÑÐÖÐÓ××ÒÓÒÑÓ׸×ØÙÚÓÕÙ×ÖÒÖÒØÖ<br />
½ºÈÖÓÖÑÖÐÓÒØÜØÓÐÖ޸ܸ×ÓÒ×ÖÒÐ×ÓÖÓÒ×Ð ÓÒØÒÙÓÒ Ù×ÓÔÖÐÙÐÖÙÒÊÄÔÖÙÒØÖÑÒÓ¸ÐÐÑÓÖÞ¸××Ö<br />
¾ºÐÓÒØÜØÓÐÖÞ׬ÐØÖÓ¸×ÖØÒÓØÓ×Ð×ÔÐÖ×ÙÝ ÓÖÔÙ×´Ù×ÓÒÐÓÒ×ØÖÙÓÒÒÙ×ØÖÓØ×ÙÖÙ×µ¸¸ÕÙÐ ÓÒØÒÒ½´ÜµÝÜ ÒÓÖÑÓÒÑÙØÙ¾℄×ÑÒÓÖÕÙÐÖ×ØÓÐ×ÔÐÖ××Ð× ÐÐÑÔÐÖ××Ó×ÔÖÑÖ¹ÓÖÒ ÝÓ¹ÓÙÖÖÒÒÙÒÓÖÓÒ ´¾µ<br />
¿ºÐÔÖÓ×Ó×ÖÔØÔÖÐ×ÔÐÖ×ݾ¼½´Üµ´ÔÐÖ××Ó× ×ÙÒÓ¹ÓÖÒµº×ØÓÔÒÐÒÚÐ×ÓÐÊĺÒÒÖи Ð×ÔÐÖ××Ó×Ò ¼½´ÜµÝݾ½´ÜµÅÁ´Ü ÓÖÒÔÖÜ×ÓÒØÖÑÒ×ÙÖÓ Ýµ ´¿µ<br />
ÓÒ ¼Ò´ÜµÝ¾¼Ò ½´Üµ¼½´Ýµ<br />
´µ
ÔÖ´½Ý¾µ¸ÖÕÙÖÓÐÙ×ÓÊÄÔÖÖ×ÔÙÒ×ÖÓÒ×Ö× ×ÒÓÒÑÓ׺ÍÒÑÒÖÖ×ØÓ×ÐÙÐÖÐ×ÑÐØÙÖÐØÚÒØÖÐ× ÔÐÖ׺Ä×ÑÐØÙ¸ÒØÖÑÒÓ×Êĸ×جÒÒ¿℄ÓÒÐÔÖÓÔÓ×ØÓ ÐÙÐÖÐ×ÑÐØÙÙÒÔÐÖÛÒÙÒÓÒØÜØÓ¸ÐÙÐ×Ø× ÄÒ××ÖÒÖÒØÖÖÐÓÒ××ÒÓÒÑÝÒØÓÒÑÙÒ<br />
ÑÒÓÓ×ØÓÑÒÑÓÛ¼ÛÛÒܸÒØÓÒ׸Ð×ÑÐØÙÛÝÜ Ûº×ØÓÔÖÑØ×ÙÔÓÒÖÕÙÖÓÐÊÄØÒÙÒÔ×Ó´×ØØÓÔÓ ÕÙ¬ÒÓÑÓ×Ù ÒÐ×ÑÐØÙÒØÖÐ×ÔÐÖ×ÛÝܸÓÒÜÖ×ØÖÒÐÊÄ ×ÖÜÔÐÓÒÐ×ÓÒ¿µ¸ÝÓÒ×ÖÒÓÈ´Û¼Û½ÛÒµÓÑÓÐ<br />
ÓÒØ´Û ½Ûµ×ÐØ ×´Û ×ÓÖ¬ÒÓÒ¾℄¸Ý×ÐÙÐÐ×ÙÒØÑÒÖ Üµ½¿ Û¾ÈØ´Û ½Ûµ<br />
´µ<br />
ÓÒÈ´Û Ø´Û ½ÛµÖ´Û Ô´¾´È´Û ƽ۵<br />
Ý¾È´Û ½Ûµµ·¾´È´Û ½ÛµÆ¡È´Û ½µ¡È´Ûµ ½µ¡È´Ûµµµ ½Ûµº ´µ<br />
ÔÐÖ×ÒÄ´½µÄ´¾µÔÖÑ×ÊÄ××ÐغÈÓÖÐÓØÒØÓ¸×Ò×ÖÓ ××ÔÖÕÙÐÐ×ØÒÒÙÒÐØ×ÑÐØÙ×Ð×ÙÑÐ××ÑÐØÙ×Ð× ØÓØÐÔÖÐÙÐÖÐ×ÑÐØÙÖÐØÚºÄ×ÑÐØÙØÓØи×ظ×ÐÙÐ ×ÖÙÒÓÐ×ÑÐØÙ×ÐغÒ×ØØÖÓ×ÖÖÒÐ×ÑÐØÙ ×Ð×ÔÐÖ׽ݾÓÒÒÓÓ×ÒÊÄÄ´½µÝÄ´¾µ¸Ö×ÔØÚÑÒظ<br />
×ÙÑÒÓØÓÓ×ÐÓ×Ô×Ó×Ñ×Ä´½µÝÄ´¾µºÒÖ×ÙÑÒ¸Ð×ÑÐØÙ ÖÐØÚÒØÖÐ×ÔÐÖ׽ݾ×جÒÓÑÓ ×Ö´½¾µ½×ØÛ¾½¾Ü¾Ä´½µÄ´¾µ×´Û<br />
<br />
ÙÒÔÖØÖÑÒÓ×ÖÐÓÒÓ׸ÔÖØÖÑÒÖ××ØÓ××ÓÒ×ÒÓÒÑÓ׺ ËÔÙÒØÓÒ×ÖÕÙÐÓ×Ö×Ó×ÝÙÒØÖÑÒÖÐÔÙÒØØÓØРܵ ´µ<br />
ÐÓ×ÚÐÓÖ×Ó×ÖÚÓ×ÒÑÔÐÓ×ÔÓ×ØÚÓ׸ÙÒÔ×Ó××ÒÓÖ×Óº ÄÓ×Ô×Ó×Ñ×ÐØÓ×ÜÔÖ×ÒÕÙÐÓ×ÚÐÓÖ×Ó×Ö×Ó×ÙÖÓÒÓ×ÖÚÓ× ¿ºØÖÑÒÓÒÐÈÙÒØ ÐÔÙÒØØÓØÐÓÒ×ÖÖ×Ó×ÖØÓÒØÖÓÖÑÒغÙÖÓÓÒ ÌÓØÐ<br />
ÒÑÔÐÓ×ÔÓ×ØÚÓ׺ÈÓÖÑÔÐÓ¸ÙÒÔ×ÓÓÓÙÒÜÔÖ×ÓÒÖÙÐÖ ÒÕÙÐÙÒÓ×ÑÔÐÓ×ÒØÚÓ×ÑÔØÒÓÒØÐÔØÖÓÒº ÚÐÓÖ×ÐÙÐÓÑÓ ÐÔÙÒØØÓØÐË´½¾µ×Ð×ÙÑØÓÓ×ÐÓ×ÚÐÓÖ×ÐÓ×Ö×Ó׺×Ø Ë´½¾µÏÖ´½¾µ·Ï´½¾µ·ÏÒØ´½¾µ ´µ
ÓÒÏÖ´½¾µ×ÐÔ×ÓÓØÒÓÔÓÖÐ×ÜÔÖ×ÓÒ×ÖÙÐÖ×ÕÙÑÔØÒ ÐÓ×ÓÒØÜØÓ×ÕÙÓÒØÒÒØÒØÓ½ÓÑÓ¾¸´Ï´½¾µµ×ÐÔ×ÓÔÓÖØÓ ÔÓÖÐ×ØÒÒÚÖ×ÑÒØÔÖÓÔÓÖÓÒÐÝ×Ö´½¾µ´ÏÒØ´½¾µµÙÒÚÐÓÖ Ð×ÊÄ׺Ô×Ó×ØÒÓÖÑÐÞÓÒÐÖÒÓ¼½℄º×¸Ë×ÑÒÓÖÕÙ ¿ºÓÒØÒÙÓÒ××ÖÒÙÒÓ×ØÓ×ÚÐÓÖ× ÒÚÖ×ÑÒØÔÖÓÔÓÖÓÒÐÐÚÐÓÖ×ÑÐØÙÒØֽݾ¸ÓØÒÓØÖÚ×<br />
ÐØнµÝÖ´µÐÖÙÒÖÐØÚÕÙÑÔØÓÒÐÓ×ÓÒØÜØÓ×¸× ¬ÒÏÖ´½¾µÈ¾ÛØ´µ¡Ö´µº ÓÒØÜØÓ׽ݾÛØ´µ¸ÐÔ×Ó´ÐÙÒÓ×ÑÔÐÓ××ÑÙ×ØÖÒÒ Ï´½¾µ×ÓÒ×ÖÓÐÔÙÒØÑÜÑÓÔÖÑÔÐÓ×ÔÓ×ØÚÓ׺ Ó¸ÐÓÒÙÒØÓØÓ×Ð×ÜÔÖ×ÓÒ×ÖÙÐÖ×ÕÙÑÔØÒÐÓ×<br />
ÒØÖ¼½℄ ÔÖØÖ¡Å´º½µ×ØÖÑÒÏ´½¾µÔÖÐÓÖÖÙÒÚÐÓÖÒÓÖÑÐÞÓ<br />
ÒÐÑÒظÏÒØ´½¾µ×ÙÙÒÐÙÐÓ×ÑÐÖÐÙÓÒ Ï´½¾µ¡Å ¡´½¾µ<br />
ÏÒØ´½¾µÑÜ ´Üݵ¾ÈÓ××Ö´Ü Ýµ ×Ö´½¾µ ´µ<br />
ØÖÑÒÓ×´ÒÐÙÝÒÓÒÓÑÖÔÖÓÔÓ׸×ÔÙ×ÐÑÒÖÐ×ÔÐÖ×ÖÖ× ÒÐÔÖÙ×Ù×ÙÒÓÖÔÙ×ÓÑÔÙ×ØÓÔÓÖ¾¾ÓÖÓÒ׸½½ ´Üݵ¾ÈÓ××Ö´Ü ÑÜ Ýµ ´½¼µ<br />
ÝÐÑØÞÖÐÖ×ØÓµºÒÐØо×ÑÙ×ØÖÐÓÒÙÒØÓÒØÖÒÑÒØӸРÙÐ×ØÓÑÔÙ×ØÓÔÓÖ½ÔÖ׸ÞÔÓ×ØÚÓ×ÝÒÓÒØÚÓ׸ÕÙÙÖÓÒ Ù×Ó×ÔÖ¬ÒÖÐÓ×ÙÑÖÐ׺ÐÓÒÙÒØÓÔÖÙ×ØÙÚÓÓÑÔÙ×ØÓÔÓÖ ÔÖ×ÒØÓÒÑÓ×ݽ¼ÔÖ×ÕÙØÒÒÐÙÒÓØÖÓØÔÓÖÐÓÒ×ÑÒغ Ò×ÐÓ×ÔÖ×ÔÐÖ׸ÔÓ×ØÚÓ×ÝÒØÚÓ׸Ò×ÓÒجÓ×ÓÑÓ ÄØпÑÙ×ØÖÐÙÒÓ×ÑÔÐÓ×ÐÔÐÓÒÐÑØÓÓ¸ÐÚÖØÓ ÒØÓÒÑÓ×ÓÒÓÒØÓÒÑÓ×Ö×ÔØÚÑÒظÑÒÖÓÖÖØÓÒÓÖÖØº× ÑÔÓÖØÒØÒÓØÖÕÙ×ÓÐÓÙØÖÓÔÖ×ÙÖÓÒÐ׬Ó×ÒÓÖÖØÑÒØ¸Ý º×Ù×ÓÒ ÕÙÐÑØÓÓØÑÒ×ÖØÔÓÒÑÓ׺<br />
ÙÒÐÒÒØÖ×ÒØÒÚ×ØÓÒºËÓ×ÖÚÓÕÙ×ÓÒÚÒÒØÙ×Ö ÓÑÒÓÔØÖÓÒ×ÐÜÓ×ÒØØÓ×ÝÐ×Ö×Ó¹ÓÙÖÖÒÐÜ× ÙÒÔÖÓÙÒØÑÒÓ¿ÔÖÙÒÊĸÝÕÙÑÝÓÖÔÖÓÙҸРÒØØÖÑÒÓ×ÒÚÓÐÙÖÓ×ØÒÐØÖÐ×ÓÓÒØÖÑÒÓ× ËÓÒ×ÖÕÙÐÒØÓÒÖÐÓÒ×ÒØÓÒÑÓÒÐÙ×Ó<br />
ÔÓ×ÐÕÙÓ×ÙÐ×ÕÙÖØÖÑÒÓ×ÔÓ×ÒÙÒÖÐÓÒÔÖÑÖ ÐÒÓÓÖÞºË×ØØÑÒÐÑÔÓÖØÒÕÙÔÓ×ÐÐÙÐÓ ÐÒÓÖÑÓÒÑÙØÙÓÑÓÑÒ×ÑÓ¬ÐØÖÓ¸ÝÕÙÖÑÒØÐ ÓÖÒ¸ÝÐÔÙÒØØÕÙ¬ÒÐÓ×Ô×Ó×ÒØÖÐÓ×ØÖÑÒÓ׺ ÔÐÖ×ÖÐÓÒ×Ò×ØØÖÓ¸×Ø×ÓÒÐÐÙÐÓÓØÒÓ ÐÙÑÖÐØÓÑÓÔÖÐØÖÑÒÓÒÐÖÐÓÒÒØÖÙÒÔÖ
ÆØÙÖйÖجРÓÒ×ÙÑÓÖ¹ÈÖÓÙØÓÖ¼º¾¾¿ ÓÑÔÖ¹ÎÒØ ÈÖ×ÈÐÖ× ×ÓÐÙØÓ¹ÊÐØÚÓ ¼º¾¾¼º½¼º¿¼¾ÓÖÖØÓ ¼º½½ ¼º½½¼º¿¿¿¿¿¿¼º¿½¿ÓÖÖØÓ ×ØÒ ÈÄË ¼º ¼º ¼º½½¿¿ÓÖÖØÓ ¼º¾ÓÖÖØÓ ÊÄÎÖØÓ<br />
ÒÖйÈÖØÙÐÖ ÈÓ×ØÚÓ¹ÆØÚÓ ××Þ¹ÙÒÒ ½¼ ¼º¼ ½ ¼º¿½¼¿ÓÖÖØÓ<br />
ιÅÙÖØ ÅÜÑÓ¹ÅÒÑÓ ÎÖ¹ÅÒØÖ ¼º¼º¼ ¼º½½¾¼º¾¼º¼¾¾¾¾ÓÖÖØÓ ¼º¾¾¾¾¾¾¾¼º¼º¼¾¾ÓÖÖØÓ ¼º¼º¼º¿¾½ÓÖÖØÓ ¼½ ÀÓÑÖ¹ÀÙÑÒÓ ÓÖÖÓÒ¹Ù×Ø ÅÖÒ¹ÈÖÓÙØÓ ÅÓÒ¹ÒÖÓ ¹¼º¿¼º½¼¼º¼¾ÓÖÖØÓ ¹¼º¼¼º½¼º¿¾¿ÓÖÖØÓ ¼º¾¾ ¼º¼¾ ¼º¾ ¼º¼½½¿ÓÖÖØÓ<br />
ÌоºÓÒÙÒØÓÒØÖÒÑÒØÓÐÓ×ÔÖÑÖÓ×½¼ÔÖ××ÓÒÒØÓÒÑÓ׺ ÇÖÖÓ¹ÌÖÓÖ ¹¼º½½ ¼ ¼º¿ÓÖÖØÓ ¼º¼¼ÓÖÖØÓ<br />
ÇÖعÑÒ ØÚÓ¹È×ÚÓ ÖÒ¹ÈÕÙÒÓ ÈÖ×ÈÐÖ× Ó¹ÐØÓ ¼º¼¼¼º¿¿¿¿¿¿¿¼º¿½¾ÓÖÖØÓ ¼º¾¾¼º¼º¼¿¼¿ÓÖÖØÓ ¼º¿¼¿¼ ¼º¼¿¼¿¼º¼º¾½¾ÓÖÖØÓ ×ØÒ ÈÄË ¼º¾ ¼º¾¼½¼ÓÖÖØÓ ÊÄÎÖØÓ<br />
ÈÖÙÒعÊ×ÔÙ×ؼº¿¼¿¼¼º¼¾¼º½½¾ÁÒÓÖÖØÓ ÈÙÐÓ¹ÈÖÚÓ ËÓйÁÒÚÙÐ ÁÒØÖÓÖ¹ÜØÖÓÖ ¼º¾¼¼¼º¿¿¿¿¿¿¿½º¼ÓÖÖØÓ ¼º½½¼º¿¿¿¿¿¿¿¼º½¼ÓÖÖØÓ<br />
ÀÖÒ¹ÌÖÓ ÙÐØÙÖ¹ÑÓÖ¼º¼¿¼¿¼º¾¼ºÁÒÓÖÖØÓ ÖØÓ¹ÈÖ×ØÑÓ ÓÒ¬ÒÞ¹ ¹¾º¼ ¼º¼¼½¼º¿¿¿¿¿¿¿¼º¾¾ÓÖÖØÓ<br />
ÁÒÚÖ×ÓÒ¹×ØÓ ¼º¿¿¿¿¿¿¿¿¼º¿¿¿¿¿¿¿¿¼º¿½¼ÓÖÖØÓ ¼º¿½½ ¼º ¼º¿¿¿¿¿¿¿¼º¼½½½ÓÖÖØÓ ¼º½ ¼º¼¾½ÓÖÖØÓ<br />
Ê×Ó¹ÖØÖ×ؼº½½ ÈÖÓÙØÓÖ¹ÒØÓÖ¼º¿¾¾¾¾¾¾¾¼º½¼º¿¿¿¾ÓÖÖØÓ ÅÑÖÓ¹ÓÑÙÒ¼º¼¼½ ÈÓÖÞ¹ÈÖÓÐÑ ¼º½¾¼º¼¿¿¿¿¿¿¿½º¼¿¼¾ÁÒÓÖÖØÓ<br />
¼º¿¿¼½ÓÖÖØÓ<br />
ËÑÒ¹ ¼º¼¾ÓÖÖØÓ<br />
ÌпºÓÒÙÒØÓÔÖÙÐÓ×ÔÖÑÖÓ×ÔÖ××ÓÒÒØÓÒÑÓ׺ ¼º¿¼½½ ¼ ¼º¾½ÁÒÓÖÖØÓ ¼º¼½¼½¼ÓÖÖØÓ
ØÖÚ×ÐÓÒÙÒØÓÒØÖÒÑÒØÓºËÒÑÖÓ¸×Ö×ÐÓØÒÖÓ ÙÑÖиÔÓÖÑÔÐÓ¸ÑÒØÙÒÖÐÓÒÒØÖÐØÑÒÓÐÓÖÔÙ×ÝÐ ÒÙÑÖÓÓÒØÜØÓ×ÐÔÖÔÐÖ×ÖÐÓÒ׺<br />
×ØÖÙØÙÖ׺ ÐÙ×ÓÐØÒÔÖÓÔÙ×ØÓÑÓÙÒÑÒ×ÑÓÔÖÐÒجÓÒ ÒØÓÒÑÓ×ÒÙÒØÜØÓ×ÒÒÓÖÑÓÒÓÒиÓÑÓØÕÙØ×ÓÐÙÒ× ÄÓ×Ö×ÙÐØÓ×ÓØÒÓ××ÓÒÐÒØÓÖ×ÝÑÓØÚÒÐ×ØÙÓÔÖÓÙÒÓ<br />
ÑÒ×ÑÓÖ×ØÖÓÒÔÖÔÓ×ØÖÓÖÑÒجÐØÖÖØÖÚ×ÐÙ×ÓÖ× Ó¹ÓÙÖÖÒÐܺÈÓÖÙÐØÑÓ¸×Ü×ØÖÒÔÖ×ÙÒ×ÒØÓÖÞÖ¸ ÒØÓÒ×ÔÓÖÖ×Ù×ÓÐ×ØÒÔÖÓÑÓ×ÔÖÔÖØÖÑÒÓ× ÒÖÐÓÒÒØÓÒѺÙÒ×Ò×ÖÓÚÐÖÐÓ×Ö×ÙÐØÓ×ÒÓÒØÖÓ׸ ÄÓ×Ö×ÙÐØÓ×ÔÙÒØÒÐÙ×ÓÜÔÖ×ÓÒ×ÖÙÐÖ×ÓÑÓÔÖÑÖ<br />
ÒÙÒÑÙ×ØÖÖÒÔÖ×ÔÐÖ×ÝÓÒÓÖ×ÐÑØÓÓÔÖÓÔÙ×ØÓ ÖÑÒØÓ× ÔÓÖÔÐÖ×ÓÑÒÓ×ÚÖ×Ó׺<br />
ÊÖÒ× ÔÓÝÓÔÖÐÖÓÔÓÖÔÖØÐÔÖÓÝØÓÎÁÈÁÁÁ¹¼»ÁÆ»º ÖÑÓ×ÐÓ×ÓÑÒØÖÓ×ÐÓ×ÖØÖÓ××ØØÖÓ¸×ØÑÒÐ<br />
¾ºÙÖ¸ÃÒÒØÏÖиÏÐÐÑÀÒ׸ÈØÖÀÒиÓÒÐÅÓÓÒ¸ ½ººÖÒ×ØØØÜÔÐÓÖØÓÒ×ÒÙØÓÑØÌ×ÙÖÙ××ÓÚÖݸÃÐÙÛÖ ÑÈÙÐ×Ö׸Ó×ØÓÒÀÖÓÙÒ¸ÁËƼ¹¾¿¹¹¾ÂÙÐݽº<br />
¿ºÑÓÒ×ȺÓÓ×ÒØÛÓÖÑÓ×ØØÝÔÐÒÓÒØÜØÙ×ÒÐÜÐÓ¹ ÊÓ×ÑÙÒÄÜÐËÙ×ØØÙØÐØݸÁÒØÒ׸ºÌºËºÑÔÓÐиÒØÓÒÓ ´×ºµÓÑÔÙØØÓÒÐÔÔÖÓ×ØÓØÄÜÓÒºÇÜÓÖÍÒÚÖ×ØÝÈÖ×׸ÔÔº<br />
ºÅÓÖØÓº¸ÅÖÞÐźº¸ÄÐÓÖÒ׺¸ÅÓÖÖÓºÏÓÖÆØÔÔÐØÓÒ׸ ½¿¹½¼¸½º ÓÙÖÖÒÒØÛÓÖ¸ÈÖÓÒ×ÓØ¿ØÒÒÙÐÅØÒÓØ××ÓØÓÒ ÓÖÓÑÔÙØØÓÒÐÄÒÙ×Ø׸ÅÖ¸ÔÔº¼¹¼¸½º ÈØÖËÓ¸ÃÖÐÈиÈÚÐËÑÖ¸Ö×ØÒÐÐÙѸÈÎÓ××Ҵ׺µ<br />
ºÂÑÒÞ¹ËÐÞÖ¸Àº¸ÅØÓÓÙØÓÑØØØÓÒÓÄÜÐÊÐØÓÒ×Ô× ºÖÓÐÒÎÖ×Ò×ÔÖÒÎÖÄÙËØÖÙÄѸÜÔÖÑÒØ×ÓÒ ¾¸ÔÔº¿½¹¿¾¸¾¼¼¿º ÜØÖØÒËÑÒØÊÐØÓÒ×ÖÓÑËÝÒØØÊÐØÓÒ׸ÄÒ¾¼¼¿¸ÄÆË ÈÖÓÒ×Ͼ¼¼¸ÔÔº¾¼¹¾¸¾¼¼º<br />
ºÀÖ×ظźÙØÓÑØÕÙ×ØÓÒÓÝÔÓÒÝÑ×ÖÓÑÐÖØÜØÓÖÔÓÖº Í×ÒÊÛÓÖÔÙ׸ÄÒ¾¼¼¿¸ÄÆ˾¸ÔÔº¿¾¹¿¾¸¾¼¼¿º<br />
ºÈÓÐÓÊÓ××Ó¸ÖÒ×ÓÅ×ÙÐиÚÙ×иÖÖÒÈиÒØÓÒÓÅÓÐÒ ºÓÖÏÐ׸ÊÓÖØØÞÓÒÄÜÐÌÙÒÒºÁÄÒ¾¼¼¾¸ÔÔº½¼¹½¾¸ ¾¼¼¾º ÆÒØ׸ÖÒ¸½¾º ÈÖÓÒ×ÓؽØÁÒØÖÒØÓÒÐÓÒÖÒÓÒÓÑÔÙØØÓÒÐÄÒÙ×Ø׸<br />
ÙØÓÑØÆÓÙÒËÒ××ÑÙØÓÒ¸ÁÄÒ¾¼¼¿ÔÔº¾¿¹¾
½¼ºÄºÏÒÒÖÄÜÐÙÒØÓÒ×ÒÄÜÓÖÔÝÒÆØÙÖÐÄÒÙÈÖÓ××Ò¸<br />
½¾ºËÛ¸º¸ÄÓÙָź¸ÈÖҸκÒØÓÒÝÑÝÒÓÒÔØÙÐÎØÓÖ×¸Ò ½½ºÀÖ×ظźÙØÓÑØ×ÓÚÖÝÓÏÓÖÆØÊÐØÓÒ׸ÒÏÓÖÆØÒ ÐØÖÓÒÄÜÐØ׸ºÐÐÙÑ´ºµ¸ÌÅÁÌÈÖ×׸½¸ÔÔº½¿½¹ ½¾º ÂÓÒÒÑÒ×ÈÙÐ×ÒÓÑÔÒݸ½º<br />
½¿ºÖÙ׸ºÄÜÐËÑÒØ׸ÑÖ¸ÑÖÍÒÚÖ×ØÝÈÖ×׸½º ½ºÀÒиºÆÓÙÒÐ×׬ØÓÒÖÓÑÈÖعÖÙÑÒØËØÖÙØÙÖ×¸Ò ÈÖÓÒ×ÓؾØÒÒÙÐÅØÒÓØ××ÓØÓÒÓÖÓÑÔÙØØÓÒÐ ¼¹½¼º ØÈÖÓÒ×ÓؽØÓÒÖÒÓÒÓÑÔÙØØÓÒÐÄÒÙ×Ø׸¾¼¼¾¸ÔÔº<br />
½ºËÒÖ×ÓÒź¸ÖÓغÖÚÒÓÒÔØÖÖ×ÖÓÑØÜظÁÒÈÖÓÒ× ÁÒÓÖÑØÓÒÊØÖÚиÔÔº¾¼¹¾½¿¸ÖÐݸ¸ÙÙ×ؽº ÄÒÙ×Ø׸½¼¸ÔÔº¾¹¾º Óؾ¾ÒÒÙÐÐÒغÅ˽½ÊÓÒÖÒÓÒÊ×ÖÒÚÐÓÔÑÒØÒ
Some Tests in Text Categorization using<br />
Term Selection by DTP<br />
Edgar Moyotl-Hernán<strong>de</strong>z, Héctor Jiménez-Sa<strong>la</strong>zar<br />
Facultad <strong>de</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong>,<br />
B. Universidad Autónoma <strong>de</strong> Pueb<strong>la</strong>,<br />
14 sur y Av. San C<strong>la</strong>udio. Edif. 135. Ciudad Universitaria,<br />
Pueb<strong>la</strong>, Pue. 72570. México,<br />
Tel. (01222) 229 55 00 ext. 7212 Fax (01222) 229 56 72,<br />
emoyotl@mail.cs.buap.mx, hjim<strong>en</strong>ez@fcfm.buap.mx<br />
Abstract. Distance to Tran<strong>sitio</strong>n Point (DTP) has shown good performance<br />
in term selection for Text Categorization task. Previous experim<strong>en</strong>t<br />
report that DTP behaves well as DF and CHI term selection<br />
techniques. In this paper we pres<strong>en</strong>t the results of using DTP computed<br />
in a global and local fashion; consi<strong>de</strong>ring the whole of categories of training<br />
set. The results confirm that performance of DTP globally computed<br />
is better than DTP locally computed. The test carried out took into account<br />
two c<strong>la</strong>ssification methods: k−NN and Rocchio’s algorithm; and<br />
three well known methods to select terms: DF, CHI and IG.<br />
Keywords: distance to tran<strong>sitio</strong>n point, term selection, text categorization.<br />
1 Introduction<br />
We are interested in the automated assignm<strong>en</strong>t of texts into pre<strong>de</strong>fined categories,<br />
Text Categorization (TC), which is solved by supervised learning algorithms<br />
[10]. Specifically, our interest is in the selection of terms from texts in<br />
or<strong>de</strong>r to train supervised algorithms. This is an important problem because of<br />
the necessity to optimize time and memory space.<br />
Some c<strong>la</strong>ssification algorithms used in TC are: Rocchio’s algorithm, k−Nearest<br />
Neighbor (k−NN), and Support Vector Machines [6][2][13]. Also there are several<br />
methods of term selection [7][12]. Most known term selection techniques assign<br />
weights to terms, and those which guess more importance are selected. Three<br />
very used criteria to term selection are [7][12]: Docum<strong>en</strong>t Frequ<strong>en</strong>cy (DF), is the<br />
number of docum<strong>en</strong>ts in which term occurs; χ 2 statistic (CHI), measures the<br />
<strong>la</strong>ck of in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>ce betwe<strong>en</strong> the term and the category; and Information Gain<br />
(IG), measures the number of bits of information by knowing the pres<strong>en</strong>ce or<br />
abs<strong>en</strong>ce of a term in a docum<strong>en</strong>t.<br />
Our approach to term selection is based in the occurr<strong>en</strong>ce frequ<strong>en</strong>cy of a<br />
term in the whole of the training collection. It distinguishes a frequ<strong>en</strong>cy called<br />
Tran<strong>sitio</strong>n Point (TP) which is used to compute the distance of each term frequ<strong>en</strong>cy<br />
to TP (DTP). Previous experim<strong>en</strong>ts [5] have shown that DTP improves
in some aspects other term selection methods as DF and CHI; for example, this<br />
due to DTP calcu<strong>la</strong>tion is an O(V ) algorithm where V is the number of terms<br />
in the training set, and it improves slightly the performance of TC task. Later<br />
has motivated to continue the research on DTP.<br />
In this paper we pres<strong>en</strong>t an experim<strong>en</strong>t varying the calcu<strong>la</strong>tion of TP in two<br />
differ<strong>en</strong>t ways: global TP, using the whole of the docum<strong>en</strong>ts; and local TP, using<br />
the docum<strong>en</strong>ts of each category. The experim<strong>en</strong>t was accomplished on a small<br />
texts collection (6 categories with totally around 1,000 docum<strong>en</strong>ts), using two<br />
c<strong>la</strong>ssification methods: k−NN and Rocchio.<br />
The following section exp<strong>la</strong>ins some backgrounds about DTP. Sections 3, 4<br />
and 5 <strong>de</strong>scribe the material and methods used in the test accomplished. At the<br />
<strong>en</strong>d, we provi<strong>de</strong> the conclusions reached in this work.<br />
2 Distance to Tran<strong>sitio</strong>n Point<br />
As we have said our method is based on Tran<strong>sitio</strong>n Point (TP). TP is the frequ<strong>en</strong>cy<br />
of a term which splits terms into high frequ<strong>en</strong>cy terms and low frequ<strong>en</strong>cy<br />
terms. The pres<strong>en</strong>t test is based on a previous experim<strong>en</strong>t that shown that TP<br />
behaves well as a cut on the selected term by the c<strong>la</strong>ssical method [4]. From the<br />
fact that TP indicates the frequ<strong>en</strong>cy which around it there are key words of the<br />
text [11], was calcu<strong>la</strong>ted a weight per term. Such weight, for term t i , is calcu<strong>la</strong>ted<br />
as the inverse of distance of t i frequ<strong>en</strong>cy to TP (DTP): the more clos<strong>en</strong>ess<br />
of frequ<strong>en</strong>cy to TP, the more weight for that term. Firstly, let us see how to<br />
calcu<strong>la</strong>te TP; some <strong>de</strong>tails may be found in [5].<br />
Let T be a text (or a set of texts), and let I 1 be the number of words with<br />
frequ<strong>en</strong>cy 1. TP is <strong>de</strong>fined as [11]:<br />
n = ( √ 1 + 8I 1 − 1)/2. (1)<br />
As we can see, TP calcu<strong>la</strong>tion requires only scanning the full text in or<strong>de</strong>r to<br />
find I 1 , which can be done in O(V ), where V is the number of terms.<br />
Now, DTP is easily calcu<strong>la</strong>ted making the differ<strong>en</strong>ce betwe<strong>en</strong> each term frequ<strong>en</strong>cy<br />
and TP. We would hope that DTP calcu<strong>la</strong>ted for each category ports<br />
more information and, therefore, TC were better. However, test accomplished<br />
shown that DTP on the basis of all categories has better performance. We will<br />
show this fact in the following sections.<br />
3 Term Selection Methods<br />
In this section, we give a brief introduction on three effective term selection (TS)<br />
techniques as they are pres<strong>en</strong>ted in [12], including one unsupervised method (in<br />
the s<strong>en</strong>se that it does not use category information) DF and two supervised<br />
method (it uses category information) CHI and IG. These methods assign a<br />
score to each individual term and th<strong>en</strong> select the terms that score highest. In<br />
the following, let us d<strong>en</strong>ote with D the training docum<strong>en</strong>ts set, N the number of
docum<strong>en</strong>ts in D, V is the number of terms in D, and let {c k } M k=1<br />
the categories<br />
set. Selection methods used in the test were the following:<br />
Docum<strong>en</strong>t Frequ<strong>en</strong>cy (DF). Docum<strong>en</strong>t frequ<strong>en</strong>cy is the number of docum<strong>en</strong>ts<br />
in which a term t i occurs. It is the simplest technique for term selection<br />
and easily scales to a <strong>la</strong>rge data set with a computation complexity approximately<br />
linear in the number N. It is a simple but effective term selection<br />
method for TC [12].<br />
χ 2 statistic (CHI). The χ 2 statistic measures the <strong>la</strong>ck of in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>ce betwe<strong>en</strong><br />
the term and the category. In the TC, giv<strong>en</strong> a two-way conting<strong>en</strong>cy<br />
table for each term t i and category c k as repres<strong>en</strong>ted in Table 1, it is <strong>de</strong>fined<br />
to be:<br />
N(ad − cb) 2<br />
CHI(t i , c k ) =<br />
(a + c)(b + d)(a + b)(c + d) , (2)<br />
where, a, b, c and d indicate the number of docum<strong>en</strong>ts for each cell in the<br />
conting<strong>en</strong>cy table (see table 1). We computed CHI for each category and<br />
each term in D, and th<strong>en</strong> combined the category specific scores of each term<br />
into one score: CHI(t i ) = max M k=1 {CHI(t i, c k )}. The computation of CHI<br />
scores has a quadratic complexity, simi<strong>la</strong>r to IG [12].<br />
Information Gain (IG). Information gain of a term measures the number of<br />
bits of information obtained by knowing the pres<strong>en</strong>ce or abs<strong>en</strong>ce of a term<br />
in a docum<strong>en</strong>t. The information gain of term t i is <strong>de</strong>fined as<br />
IG(t i ) = −<br />
M∑<br />
P (c k ) log P (c k )<br />
k=1<br />
+P (t i )<br />
+P (t i )<br />
M∑<br />
P (c k |t i ) log P (c k |t i ) (3)<br />
k=1<br />
M∑<br />
P (c k |t i ) log P (c k |t i )<br />
k=1<br />
where, for example, P (c k ) is the number of docum<strong>en</strong>ts belonging to the<br />
category c k divi<strong>de</strong>d by the total number of docum<strong>en</strong>ts in D, P (t i ) is the<br />
number of docum<strong>en</strong>ts without the term t i divi<strong>de</strong>d by the total number of<br />
docum<strong>en</strong>ts in D, P (c k |t i ) is the number of docum<strong>en</strong>ts of category c k with the<br />
term t i divi<strong>de</strong>d by the number of docum<strong>en</strong>ts with t i , etc. The computation<br />
inclu<strong>de</strong>s the estimation of the conditional probabilities of a category giv<strong>en</strong><br />
a term, and the <strong>en</strong>tropy computations in the <strong>de</strong>finition. The probability<br />
estimation has a time complexity of O(N) an the <strong>en</strong>tropy computations has<br />
a time complexity of O(V M) [12].<br />
Distance to Tran<strong>sitio</strong>n Point (DTP). DTP measures importance of a term<br />
t i according to the distance of that term to TP:<br />
DT P (t i ) = |T P − frq(t i )|, (4)
where frq(t i ) is the occurr<strong>en</strong>ce frequ<strong>en</strong>cy of t i in D (global) or D k (local), TP<br />
is computed on D (global) or D k (local), and D k is the training docum<strong>en</strong>ts<br />
set of c k .<br />
Category/Term t i t i<br />
c k<br />
a b<br />
c k<br />
c d<br />
Table 1. Two-way conting<strong>en</strong>cy table.<br />
4 C<strong>la</strong>ssification Methods<br />
To asses the effectiv<strong>en</strong>ess of TS methods we used two c<strong>la</strong>ssifiers: k−NN and<br />
Rocchio. Both c<strong>la</strong>ssifiers treat docum<strong>en</strong>ts as a feature vectors. k−NN is based<br />
on the categories assigned to the k nearest training docum<strong>en</strong>ts to the new docum<strong>en</strong>t.<br />
The categories of these neighbors are weighted using the simi<strong>la</strong>rity of each<br />
neighbor to the new docum<strong>en</strong>t, where the simi<strong>la</strong>rity is measured by the cosine<br />
betwe<strong>en</strong> the docum<strong>en</strong>t vectors. If one category belongs to multiple neighbors<br />
th<strong>en</strong> the sum of the simi<strong>la</strong>rity scores of these neighbors is the weight of the category.<br />
Rocchio is based on the relevance feedback algorithm originally proposed<br />
for information retrieval. It has be<strong>en</strong> ext<strong>en</strong>sively used for TC. The basic i<strong>de</strong>a<br />
is to construct a prototype vector for each category using training docum<strong>en</strong>ts.<br />
Giv<strong>en</strong> a category, the vectors of docum<strong>en</strong>ts belonging to this category are giv<strong>en</strong><br />
a positive weight, and the vectors of remaining docum<strong>en</strong>ts are giv<strong>en</strong> a negative<br />
weight. By summing up these positively and negatively weighted vectors, the<br />
prototype vector of this category is obtained. To c<strong>la</strong>ssify a new docum<strong>en</strong>t, the<br />
cosine betwe<strong>en</strong> the new docum<strong>en</strong>t and prototype vector is computed.<br />
Both c<strong>la</strong>ssifiers are context s<strong>en</strong>sitive in the s<strong>en</strong>se that no in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>ce is<br />
assumed betwe<strong>en</strong> either terms or categories [12]. k−NN and Rocchio treat a<br />
docum<strong>en</strong>t as a single point in a vector space, thus <strong>en</strong>abling a better observation<br />
on TS.<br />
5 Test<br />
The texts used in our experim<strong>en</strong>ts are the Spanish news downloa<strong>de</strong>d from the<br />
Mexican newspaper La Jornada (year 2000). We preprocess the texts removing<br />
stopwords, punctuation and numbers, and stemming the remaining words<br />
by means of a Porter’s stemmer adapted to Spanish. We have used a total of<br />
1,449 docum<strong>en</strong>ts belonging to six differ<strong>en</strong>t categories (Culture (C), Sports (S),<br />
Economy (E), World (W), Politics (P) and Society & Justice (J)) for training<br />
and two test sets (see Table 2). We only managed one <strong>la</strong>bel setting (i.e., each<br />
docum<strong>en</strong>t was assigned in only one c<strong>la</strong>ss).
Categories C S E W P J<br />
Training data No. of docum<strong>en</strong>ts 104 114 107 127 93 91<br />
No. of terms 7,131 4,686 3,807 5,860 4,796 4,412<br />
Test data set1 No. of docum<strong>en</strong>ts 58 57 69 78 89 56<br />
No. of terms 5,228 3,285 3,235 4,611 4,647 3,774<br />
Test data set2 No. of docum<strong>en</strong>ts 83 65 61 51 90 56<br />
No. of terms 6,349 3,799 2,793 3,611 4,879 3,778<br />
Table 2. Training and testing data.<br />
To evaluate the effectiv<strong>en</strong>ess of category assignm<strong>en</strong>ts to docum<strong>en</strong>ts by c<strong>la</strong>ssifier,<br />
the standard precision, recall and F 1 measure was used here. Precision<br />
is <strong>de</strong>fined to be the number of categories correctly assigned divi<strong>de</strong>d by total<br />
number of categories assigned. Recall is the number of categories correctly assigned<br />
divi<strong>de</strong>d by the total number of categories that should be assigned. The<br />
F 1 measure combines precision (P ) and recall (R) with an equal weight in the<br />
following form F 1 = 2RP/R + P . There scores can be computed for the binary<br />
<strong>de</strong>cisions on each individual category first and th<strong>en</strong> be averaged over categories.<br />
Or they can be computed globally over all the binary <strong>de</strong>cisions. The former<br />
way is called macroaveraging and the <strong>la</strong>tter microaveraging. We have evaluated<br />
microaveraging F 1 , since it is almost preferred to macroaveraging [10].<br />
Perc<strong>en</strong>t Number k−NN Rocchio<br />
of terms of terms DF CHI IG DT P g DT P l DF CHI IG DT P g DT P l<br />
1 142 0.610 0.702 0.710 0.680 0.669 0.616 0.705 0.718 0.690 0.659<br />
3 426 0.696 0.748 0.764 0.763 0.743 0.702 0.738 0.754 0.750 0.764<br />
5 710 0.750 0.776 0.781 0.765 0.744 0.750 0.756 0.761 0.775 0.768<br />
10 1,419 0.791 0.801 0.793 0.791 0.801 0.777 0.781 0.776 0.808 0.783<br />
15 2,129 0.795 0.797 0.802 0.807 0.792 0.777 0.782 0.783 0.812 0.787<br />
20 2,838 0.799 0.798 0.806 0.807 0.802 0.782 0.786 0.790 0.820 0.793<br />
25 3,548 0.801 0.799 0.807 0.809 0.799 0.788 0.795 0.791 0.819 0.792<br />
50 7,095 0.799 0.786 0.803 0.809 0.802 0.795 0.798 0.803 0.822 0.798<br />
Table 3. F 1 average values for k−NN and Rocchio on test set1 and set2.<br />
We have performed our TS experim<strong>en</strong>ts first with the standar k-NN c<strong>la</strong>ssifier<br />
(with k = 30), and subsequ<strong>en</strong>tly with the Rocchio c<strong>la</strong>ssifier (with β = 16 y α = 4<br />
as was suggested in [3]). In these experim<strong>en</strong>ts we have compared three baseline<br />
term selection functions, i.e. DF, CHI, IG and DTP (global d<strong>en</strong>oted with DT P g<br />
and local d<strong>en</strong>oted with DT P l ). Table 3 lists the F 1 values for k-NN and Rocchio<br />
with differ<strong>en</strong>t TS techniques at differ<strong>en</strong>t perc<strong>en</strong>t of terms (the number of differ<strong>en</strong>t<br />
terms in the training set is 14,190).
We calcu<strong>la</strong>te the corre<strong>la</strong>tion coeffici<strong>en</strong>ts among the statistics with the formu<strong>la</strong>:<br />
ρ XY = Cov(X, Y )<br />
σ X · σ Y<br />
(5)<br />
where X,Y are random variables, Cov(X, Y ) is their covariance, and σ X · σ Y are<br />
their standard <strong>de</strong>sviations respectively. The results are giv<strong>en</strong> in Table 4:<br />
(6)<br />
DF CHI IG DT P g DT P l<br />
DF 1 0.358 0.573 0.255 0.443<br />
CHI 0.358 1 0.919 0.167 0.283<br />
IG 0.573 0.919 1 0.215 0.361<br />
DT P g 0.255 0.215 0.167 1 0.1<br />
DT P l 0.443 0.361 0.283 0.1 1<br />
Table 4. Corre<strong>la</strong>tion Coeffici<strong>en</strong>ts of Statistics.<br />
Yang and Pe<strong>de</strong>rs<strong>en</strong> [12] conducted a comparative study on several TS methods,<br />
and found: First, CHI and IG are most effective method to reduce the dim<strong>en</strong>sionality<br />
of the term space. Second, DF performance, simi<strong>la</strong>rly, was shown scoring<br />
in favor of common terms over rare terms. Third, strong corre<strong>la</strong>tions betwe<strong>en</strong><br />
DF, CHI and IG values of a term are g<strong>en</strong>eral rather than corpus-<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t. The<br />
strong corre<strong>la</strong>tions means that common terms are oft<strong>en</strong> informative, and reciprocally.<br />
Such corre<strong>la</strong>tion are disp<strong>la</strong>yed in table 4. Basically, these results seem<br />
to state that the most valuable terms for TC are those with medium frequ<strong>en</strong>cy<br />
in the training set, i.e., those around of the TP. Another interesting conclusion<br />
in [12] is that using category information for TS does not seem to be crucial for<br />
excell<strong>en</strong>t performance. DTP does not use category information pres<strong>en</strong>t in the<br />
training set, but has a performance simi<strong>la</strong>r to CHI and IG.<br />
6 Conclusions<br />
We have showed some features of DTP behavior. First, DTP performance is<br />
simi<strong>la</strong>r to other term selection techniques, varying two c<strong>la</strong>ssification methods,<br />
Rocchio and k−NN. Second, DTP calcu<strong>la</strong>tion is in the same complexity c<strong>la</strong>ss<br />
that DF, the better technique in execution time. Third, DTP is in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t of<br />
category, it may be computed globally, and is better than DTP locally computed.<br />
Although, the differ<strong>en</strong>ce betwe<strong>en</strong> DTP and other term selection techniques is<br />
not significative in TC, this result <strong>en</strong>courages to carry out further experim<strong>en</strong>ts to<br />
know how much our proposal <strong>en</strong>hances TC task with respect to reported results<br />
in the literature.
Refer<strong>en</strong>ces<br />
1. Booth, A.: “A Law of Occurr<strong>en</strong>ces for Words of Low Frequ<strong>en</strong>cy”, Information and<br />
control, 10(4) pp 386-93, 1967.<br />
2. Lam, W. & Ho, C.: “Using G<strong>en</strong>eralized Instance Set for Automatic Texts Categorization”,<br />
in Proc. of 21th Ann. Int. ACM SIGIR Conf. on Research and Developm<strong>en</strong>t<br />
in Information Retrieval, pp 81-89, 1998.<br />
3. Lewis, D.D.: “Training Algorithms for Linear Text C<strong>la</strong>ssifiers”, SIGIR96, 1996.<br />
4. Moyotl, E. & Jiménez, H.: “An Analysis on Frequ<strong>en</strong>cy of Terms for Text Categorization”,<br />
to be published in Proc. of SEPLN, 2004.<br />
5. Moyotl, E. & Jiménez, H.: “A Novel Method to Select Terms for Text Categorization”,<br />
s<strong>en</strong>t to Iberamia 2004.<br />
6. Rocchio, J.J.: “Relevance Feedback in Information Retrieval”. In G. Salton, (Ed.),<br />
The SMART retrieval system: experim<strong>en</strong>ts in automatic docum<strong>en</strong>t processing,<br />
Pr<strong>en</strong>tice-Hall, 1971.<br />
7. Rogati, M. & Yang, Y.: “High-Performing Feature Selection for Text C<strong>la</strong>ssification”,<br />
CIKM’02, ACM, 2002.<br />
8. Salton, G. & McGill, M.: Introduction to Mo<strong>de</strong>rn Information Retrieval, 1983.<br />
9. Salton, G., Wong, & Yang, C.S.: “A Vector Space Mo<strong>de</strong>l for Automatic In<strong>de</strong>xing”,<br />
Information Retrieval and Language Processing, pp 613-620, 1975.<br />
10. Sebastiani, F.: “Machine Learning in Automated Text Categorization”, ACM Computing<br />
Surveys, Vol. 34(1), pp 1-47, 2002.<br />
11. Urbizagástegui-Alvarado, R.: “Las posibilida<strong>de</strong>s <strong>de</strong> <strong>la</strong> ley <strong>de</strong> Zipf <strong>en</strong> <strong>la</strong> indización<br />
automática”, Reporte <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> California Riversi<strong>de</strong>, 1999.<br />
12. Yang, Y. & Pe<strong>de</strong>rs<strong>en</strong>, P.: “A Comparative Study on Feature Selection in Text<br />
Categorization”, in Proc. of 14th Int. Conf. on Machine Learning, pp 412-420,<br />
1997.<br />
13. Yang, Y. & Liu, X.: “A Re-examination of Text Categorization Methods”, ACM<br />
SIGIR, pp 42-49, 1999.<br />
14. Xue, D. & Sun, M: “A Study on Feature Weighting in Chinese Text Categorization”,<br />
Lecture Notes in Computer Sci<strong>en</strong>ce, A. Gelbukh (Ed.), Vol. 2588, Springer,<br />
pp 592-601, 2003.<br />
15. Zipf, G.K.: Human Behaviour and the Principle of Least Effort, Addison-Wesley,<br />
1949.
Herrami<strong>en</strong>tas <strong>de</strong> análisis para el<br />
Corpus Lingüístico <strong>en</strong> Ing<strong>en</strong>iería<br />
Gabriel Garduño-Torres, Gerardo Sierra-Martínez,<br />
Alfonso Medina-Urrea<br />
Grupo <strong>de</strong> Ing<strong>en</strong>iería Lingüística<br />
Instituto <strong>de</strong> Ing<strong>en</strong>iería, UNAM.<br />
e-mail : {ggardunot, gsierram, amedinau}@iing<strong>en</strong>.unam.mx<br />
3 er cubículo <strong>de</strong> <strong>la</strong> Torre <strong>de</strong> Ing<strong>en</strong>iería, Circuito Interior, Ciudad Universitaria,<br />
Del. Coyoacán, CP 04510, Distrito Fe<strong>de</strong>ral, México. Apartado Postal 70-472<br />
Abstract: This paper <strong>de</strong>scribes the analysis tools of what will be the first Corpus<br />
on Engineering in Spanish. The implem<strong>en</strong>tation of these will provi<strong>de</strong> the means<br />
for <strong>en</strong>gineers, linguists and linguistic <strong>en</strong>gineers, among others, to explore the<br />
corpus according to their research needs. The results g<strong>en</strong>erated by the system<br />
proposed will have several applications; for instance, in terminology extraction<br />
and assistance for the writing and style of technical docum<strong>en</strong>ts.<br />
Resum<strong>en</strong>: En este docum<strong>en</strong>to se <strong>de</strong>scrib<strong>en</strong> <strong>la</strong>s herrami<strong>en</strong>tas <strong>de</strong> análisis <strong>de</strong>l primer<br />
corpus <strong>en</strong> ing<strong>en</strong>iería <strong>en</strong> español. Con su implem<strong>en</strong>tación se proporcionará un<br />
instrum<strong>en</strong>to <strong>de</strong> apoyo a los especialistas <strong>de</strong> <strong>la</strong>s áreas <strong>de</strong> ing<strong>en</strong>iería, lingüística,<br />
ing<strong>en</strong>iería lingüística, <strong>en</strong>tre otros, <strong>en</strong> sus <strong>la</strong>bores <strong>de</strong> investigación. Los resultados<br />
g<strong>en</strong>erados por el sistema t<strong>en</strong>drán diversas aplicaciones; por ejemplo, <strong>en</strong> <strong>la</strong><br />
extracción <strong>de</strong> terminología y <strong>en</strong> <strong>la</strong> asist<strong>en</strong>cia para redactar docum<strong>en</strong>tos técnicos.<br />
Pa<strong>la</strong>bras C<strong>la</strong>ve: Corpus lingüísticos, ing<strong>en</strong>iería, concordancias, colocaciones,<br />
medidas <strong>de</strong> asociación.<br />
1. Introducción.<br />
Exist<strong>en</strong> dos tipos <strong>de</strong> corpus lingüísticos: los g<strong>en</strong>erales y los <strong>de</strong> especialidad. Si<br />
<strong>en</strong>t<strong>en</strong><strong>de</strong>mos corpus como un conjunto electrónico recopi<strong>la</strong>do <strong>de</strong> textos hab<strong>la</strong>dos o<br />
escritos cuya finalidad es algún tipo <strong>de</strong> análisis lingüístico, los primeros se <strong>en</strong>cargan <strong>de</strong><br />
recoger todo tipo <strong>de</strong> géneros y son útiles para <strong>de</strong>scribir <strong>la</strong> l<strong>en</strong>gua <strong>de</strong> una comunidad<br />
(para el español, por ejemplo, consúltese el CREA[6]). Los corpus especializados, por<br />
otro <strong>la</strong>do, recog<strong>en</strong> material lingüístico que pue<strong>de</strong> aportar información para <strong>la</strong><br />
<strong>de</strong>scripción <strong>de</strong> un área <strong>de</strong> especialidad o tema <strong>en</strong> particu<strong>la</strong>r (véase, por ejemplo, el<br />
Corpus Técnico <strong>de</strong>l IULA[7]).<br />
El contar con un corpus <strong>de</strong> especialidad <strong>en</strong> un área <strong>de</strong>terminada permite analizar y<br />
observar cuestiones re<strong>la</strong>cionadas con el conocimi<strong>en</strong>to <strong>de</strong> los expertos <strong>en</strong> esa<br />
especialidad; por ejemplo, po<strong>de</strong>mos m<strong>en</strong>cionar cómo se expresa el especialista y cómo<br />
escribe. También se pued<strong>en</strong> examinar rasgos textuales más refinados como el marcaje
tipográfico, que resalta los elem<strong>en</strong>tos temáticos más importantes, <strong>la</strong>s varieda<strong>de</strong>s<br />
estilísticas, etc. A<strong>de</strong>más, al tratarse <strong>de</strong> docum<strong>en</strong>tos lingüísticos los corpus sirv<strong>en</strong> para<br />
analizar <strong>la</strong> estructura léxica, morfológica y gramatical <strong>de</strong> <strong>la</strong> l<strong>en</strong>gua repres<strong>en</strong>tada. Es<br />
<strong>de</strong>cir, un corpus lingüístico <strong>en</strong> un área <strong>de</strong> especialidad sirve para muchas cosas, su uso<br />
se exti<strong>en</strong><strong>de</strong> no sólo a los investigadores <strong>en</strong> el área, sino también a lingüistas, ing<strong>en</strong>ieros<br />
lingüistas y público <strong>en</strong> g<strong>en</strong>eral. En el área <strong>de</strong> ing<strong>en</strong>iería no existe un corpus<br />
especializado, por lo m<strong>en</strong>os no <strong>en</strong> el mundo <strong>de</strong> hab<strong>la</strong> hispana. De aquí nace <strong>la</strong> i<strong>de</strong>a <strong>de</strong><br />
e<strong>la</strong>borar el primer Corpus Lingüístico <strong>en</strong> Ing<strong>en</strong>iería, <strong>en</strong> México y <strong>en</strong> español, el cual<br />
<strong>de</strong>scribimos a continuación.<br />
2. El Corpus Lingüístico <strong>en</strong> Ing<strong>en</strong>iería.<br />
Actualm<strong>en</strong>te el Grupo <strong>de</strong> Ing<strong>en</strong>iería Lingüística (GIL) <strong>de</strong>l Instituto <strong>de</strong> Ing<strong>en</strong>iería,<br />
UNAM, y gracias al patrocinio <strong>de</strong> CONACYT, <strong>de</strong>sarrol<strong>la</strong> el primer corpus lingüístico<br />
<strong>en</strong> ing<strong>en</strong>iería. Los objetivos g<strong>en</strong>erales <strong>de</strong>l proyecto son:<br />
1. E<strong>la</strong>borar, <strong>de</strong>sarrol<strong>la</strong>r y mant<strong>en</strong>er un corpus lingüístico que cont<strong>en</strong>ga textos selectos<br />
<strong>en</strong> el área <strong>de</strong> ing<strong>en</strong>iería, los cuales <strong>de</strong>b<strong>en</strong> estar <strong>de</strong>bidam<strong>en</strong>te codificados y<br />
organizados.<br />
2. Diseñar herrami<strong>en</strong>tas <strong>de</strong> análisis a<strong>de</strong>cuadas para manejar el corpus y explotar su<br />
utilidad <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> diversas investigaciones <strong>en</strong> <strong>la</strong>s áreas <strong>de</strong> ing<strong>en</strong>iería,<br />
ing<strong>en</strong>iería lingüística y lingüística.<br />
De esta manera, se espera t<strong>en</strong>er dos productos principales: una colección ba<strong>la</strong>nceada<br />
<strong>de</strong> textos repres<strong>en</strong>tativos <strong>de</strong> <strong>la</strong> ing<strong>en</strong>iería <strong>en</strong> l<strong>en</strong>gua españo<strong>la</strong>; y <strong>la</strong>s herrami<strong>en</strong>tas<br />
computacionales necesarias para consultar y analizar dicha colección.<br />
Por otra parte, el corpus será multipropósito, es <strong>de</strong>cir, podrá satisfacer distintas<br />
necesida<strong>de</strong>s <strong>de</strong>p<strong>en</strong>di<strong>en</strong>do <strong>de</strong> <strong>la</strong> finalidad <strong>de</strong> su consulta. Por un <strong>la</strong>do, el corpus<br />
contribuirá a construir el cons<strong>en</strong>so necesario para el establecimi<strong>en</strong>to <strong>de</strong> terminologías<br />
robustas y no redundantes <strong>de</strong> <strong>la</strong>s diversas áreas temáticas <strong>de</strong> <strong>la</strong> ing<strong>en</strong>iería; por otro<br />
<strong>la</strong>do, ayudará <strong>en</strong> <strong>la</strong> redacción <strong>de</strong> este tipo <strong>de</strong> docum<strong>en</strong>tos, libros o artículos<br />
proporcionando mo<strong>de</strong>los <strong>de</strong> escritura o bi<strong>en</strong>, ilustrando a través <strong>de</strong> un panorama<br />
estilístico diversos aspectos <strong>de</strong> <strong>la</strong> exposición <strong>de</strong> temas. Los ing<strong>en</strong>ieros lingüistas podrán<br />
e<strong>la</strong>borar herrami<strong>en</strong>tas vincu<strong>la</strong>das con el procesami<strong>en</strong>to <strong>de</strong>l l<strong>en</strong>guaje natural; y los<br />
lingüistas t<strong>en</strong>drán una herrami<strong>en</strong>ta <strong>de</strong> apoyo para investigaciones lexicográficas,<br />
terminográficas, gramaticales, pragmáticas y semánticas.<br />
Asimismo, el corpus <strong>en</strong> ing<strong>en</strong>iería es uno <strong>de</strong> los proyectos eje <strong>de</strong>l GIL porque<br />
redundará <strong>en</strong> distintas líneas <strong>de</strong> investigación, <strong>la</strong>s cuales son:<br />
1. Id<strong>en</strong>tificación <strong>de</strong> patrones recurr<strong>en</strong>tes para <strong>la</strong> extracción automática <strong>de</strong> contextos<br />
<strong>de</strong>finitorios <strong>en</strong> textos especializados [1].
2. E<strong>la</strong>boración semiautomática <strong>de</strong> diccionarios especializados tanto <strong>de</strong> consulta<br />
onomasiológica[2] (<strong>de</strong>l concepto al término) como semasiológica (<strong>de</strong>l término al<br />
concepto).<br />
3. Id<strong>en</strong>tificación <strong>de</strong> paradigmas semánticos y clusters[3].<br />
4. Extracción terminológica a partir <strong>de</strong> docum<strong>en</strong>tos actuales y confiables <strong>en</strong> el área<br />
<strong>de</strong> ing<strong>en</strong>iería.<br />
5. E<strong>la</strong>boración <strong>de</strong> herrami<strong>en</strong>tas para facilitar <strong>la</strong> redacción <strong>de</strong> artículos e informes<br />
técnicos al ing<strong>en</strong>iero (g<strong>en</strong>eración automática <strong>de</strong> docum<strong>en</strong>tos).<br />
Para garantizar <strong>la</strong> conservación <strong>de</strong> los <strong>de</strong>talles visuales <strong>de</strong> los docum<strong>en</strong>tos, se<br />
mant<strong>en</strong>drán los formatos tipográficos y <strong>de</strong> estilo, así como <strong>la</strong> estructura textual que los<br />
caracterice. Para esto, se marcarán los docum<strong>en</strong>tos con etiquetas estructurales XML.<br />
Se ha observado que <strong>en</strong> <strong>la</strong> situación pragmática <strong>de</strong> introducir nuevos términos y<br />
<strong>de</strong>finiciones <strong>en</strong> los textos <strong>de</strong> especialidad, los autores hac<strong>en</strong> uso <strong>de</strong> patrones recurr<strong>en</strong>tes<br />
<strong>en</strong> los que se involucran marcas tipográficas (negritas, cursivas, subrayado, espaciado,<br />
etc.) con el fin <strong>de</strong> resaltar el nuevo término o <strong>la</strong> <strong>de</strong>finición. Por eso, es importante<br />
conservar <strong>la</strong> tipografía marcada <strong>en</strong> el docum<strong>en</strong>to original, para mostrárselos al usuario,<br />
<strong>en</strong> el mom<strong>en</strong>to <strong>de</strong> su consulta y para utilizarlos <strong>en</strong> búsquedas automáticas <strong>de</strong> patrones.<br />
Por ejemplo, considérese el sigui<strong>en</strong>te contexto <strong>de</strong>finitorio:<br />
Según G. Ma<strong>la</strong>gón (1996) un hospital se <strong>de</strong>fine como: “una parte integrante <strong>de</strong> <strong>la</strong><br />
organización médica, cuya función es <strong>la</strong> <strong>de</strong> proporcionar a <strong>la</strong> pob<strong>la</strong>ción…<br />
Según <strong>la</strong> etiquetas XML que hemos <strong>de</strong>finido, este contexto se anotaría <strong>de</strong> <strong>la</strong><br />
sigui<strong>en</strong>te manera:<br />
Según G. Ma<strong>la</strong>gón (1996) un hospital se<br />
<strong>de</strong>fine como: “una parte integrante <strong>de</strong> <strong>la</strong> organización médica, cuya función es <strong>la</strong> <strong>de</strong><br />
proporcionar a <strong>la</strong> pob<strong>la</strong>ción…<br />
Como po<strong>de</strong>mos observar <strong>en</strong> el ejemplo, se ti<strong>en</strong><strong>en</strong> <strong>la</strong>s etiquetas … que<br />
serán <strong>la</strong>s “etiquetas madre” o “raíz” <strong>de</strong> <strong>la</strong> cuales <strong>de</strong>p<strong>en</strong><strong>de</strong>rán todas <strong>la</strong>s exist<strong>en</strong>tes d<strong>en</strong>tro<br />
<strong>de</strong> los docum<strong>en</strong>tos. Las etiquetas … nos indican que todo lo que esté d<strong>en</strong>tro <strong>de</strong><br />
el<strong>la</strong>s es un párrafo; <strong>la</strong>s etiquetas … conti<strong>en</strong><strong>en</strong> d<strong>en</strong>tro <strong>de</strong> el<strong>la</strong>s algún<br />
nombre propio; <strong>la</strong>s etiquetas … nos indican <strong>la</strong> exist<strong>en</strong>cia <strong>de</strong> un número;<br />
y finalm<strong>en</strong>te <strong>la</strong>s etiquetas … nos dic<strong>en</strong> que todo el texto ahí pres<strong>en</strong>te se<br />
<strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> negritas.<br />
También nos interesa marcar <strong>la</strong>s categorías a <strong>la</strong>s que pert<strong>en</strong>ec<strong>en</strong> <strong>la</strong>s pa<strong>la</strong>bras <strong>en</strong> un<br />
corpus, por ejemplo, <strong>la</strong>s típicas categorías POS (part of speech). La marcación con<br />
estas es necesaria para <strong>de</strong>terminar <strong>la</strong> estructura interna <strong>de</strong> <strong>la</strong>s frases verbales,<br />
nominales, preposicionales y adverbiales, con <strong>la</strong>s cuales se pued<strong>en</strong> construir los<br />
términos, <strong>la</strong>s <strong>de</strong>finiciones así como otras estructuras <strong>de</strong> interés lingüístico.<br />
Con base <strong>en</strong> el conjunto <strong>de</strong> etiquetas EAGLES[8], que conti<strong>en</strong>e códigos especiales<br />
para atributos asociados a cada categoría POS, po<strong>de</strong>mos <strong>en</strong>focarnos, por ejemplo, <strong>en</strong> el
primer y segundo código <strong>de</strong> dichas etiquetas (categoría gramatical y el tipo POS) para<br />
etiquetar el párrafo <strong>de</strong> arriba que quedaría <strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te manera:<br />
Según_SP G. Ma<strong>la</strong>gón (_FC 1996 )_FC un_TI<br />
hospital_NC se_PP <strong>de</strong>fine_VM como_CS :_FC “_FC una_TI<br />
parte_NC...<br />
Naturalm<strong>en</strong>te, para <strong>la</strong> aplicación <strong>de</strong> <strong>la</strong>s herrami<strong>en</strong>tas <strong>de</strong> análisis que <strong>de</strong>scribiremos a<br />
continuación, es necesario contemp<strong>la</strong>r una etapa <strong>de</strong> pre-procesami<strong>en</strong>to <strong>de</strong>l corpus.<br />
Típicam<strong>en</strong>te, <strong>en</strong> esta etapa se anotan <strong>la</strong>s partes <strong>de</strong>l texto que queremos que se distingan<br />
<strong>de</strong> <strong>la</strong>s <strong>de</strong>más, como son los nombres propios, números, fechas, sig<strong>la</strong>s, abreviaturas, etc.<br />
Los programas <strong>de</strong> explotación <strong>de</strong>l corpus tratan <strong>de</strong> manera especial <strong>la</strong>s etiquetas XML<br />
que marcan estas unida<strong>de</strong>s textuales.<br />
3. Herrami<strong>en</strong>tas <strong>de</strong> análisis<br />
Una vez etiquetado el corpus se pued<strong>en</strong> aplicar <strong>la</strong>s herrami<strong>en</strong>tas <strong>de</strong> análisis. Dada <strong>la</strong><br />
variedad pot<strong>en</strong>cial <strong>de</strong> usuarios, dichas herrami<strong>en</strong>tas estarán disponibles <strong>en</strong> Internet.<br />
Según nuestros requerimi<strong>en</strong>tos, <strong>la</strong>s características óptimas <strong>de</strong>l ambi<strong>en</strong>te <strong>de</strong> <strong>de</strong>sarrollo<br />
<strong>de</strong>l sistema son <strong>la</strong>s sigui<strong>en</strong>tes:<br />
1. P<strong>la</strong>taforma UNIX para asegurar el tiempo mínimo <strong>de</strong>l cálculo <strong>de</strong> los procesos y el<br />
control <strong>de</strong> los accesos <strong>de</strong> los usuarios.<br />
2. L<strong>en</strong>guaje <strong>de</strong> programación Java, porque es portable, robusto y permite tomar <strong>la</strong>s<br />
medidas <strong>de</strong> seguridad necesarias d<strong>en</strong>tro <strong>de</strong> <strong>la</strong> implem<strong>en</strong>tación <strong>de</strong>l software.<br />
3. L<strong>en</strong>guaje <strong>de</strong> programación Python y p<strong>la</strong>taforma NLTK, porque el primero permite<br />
un ext<strong>en</strong>so tratami<strong>en</strong>to <strong>de</strong> cad<strong>en</strong>as <strong>de</strong> texto y el segundo es un ambi<strong>en</strong>te específico<br />
para el procesami<strong>en</strong>to <strong>de</strong> l<strong>en</strong>guaje natural.<br />
Así, el empleo <strong>de</strong> <strong>la</strong>s herrami<strong>en</strong>tas necesitará, por un <strong>la</strong>do, que el usuario cu<strong>en</strong>te con<br />
un navegador <strong>de</strong> Web y, por el otro, que se haya registrado previam<strong>en</strong>te mediante un<br />
formu<strong>la</strong>rio para que t<strong>en</strong>ga acceso <strong>de</strong> forma gratuita al sistema.<br />
Las herrami<strong>en</strong>tas le darán al usuario <strong>la</strong> opción <strong>de</strong> elegir una lista filtro (stop list) por<br />
<strong>de</strong>fecto, o proporcionar una propia, para que los resultados g<strong>en</strong>erados por el sistema no<br />
muestr<strong>en</strong> <strong>la</strong>s pa<strong>la</strong>bras juzgadas irrelevantes <strong>en</strong> análisis particu<strong>la</strong>res. A<strong>de</strong>más, el usuario<br />
también podrá modificar <strong>la</strong> lista filtro para a<strong>de</strong>cuar<strong>la</strong> a sus necesida<strong>de</strong>s. A continuación<br />
<strong>de</strong>scribimos <strong>la</strong>s herrami<strong>en</strong>tas mínimas <strong>de</strong> explotación <strong>de</strong>l corpus.<br />
3.1 Estadísticas<br />
Con el corpus etiquetado correctam<strong>en</strong>te el programa podrá llevar a cabo estadísticas<br />
que g<strong>en</strong>er<strong>en</strong> resultados más confiables, por ejemplo, podrá contar cifras, <strong>en</strong> cuyo caso<br />
consi<strong>de</strong>rará los números como una so<strong>la</strong> unidad (275,376.25). A<strong>de</strong>más, los nombres<br />
propios, sig<strong>la</strong>s, etc. conservarán <strong>la</strong>s letras mayúscu<strong>la</strong>s que típicam<strong>en</strong>te se utilizan para<br />
repres<strong>en</strong>tarlos.
Se contarán <strong>la</strong>s pa<strong>la</strong>bras por cada docum<strong>en</strong>to, por cada área temática y <strong>en</strong> el corpus<br />
completo. Asimismo se llevará un registro <strong>de</strong>l número <strong>de</strong> docum<strong>en</strong>tos exist<strong>en</strong>tes <strong>en</strong> el<br />
corpus <strong>en</strong>tero y <strong>en</strong> cada área temática.<br />
El usuario podrá g<strong>en</strong>erar listas <strong>de</strong> pa<strong>la</strong>bras (Figura 1). Una lista <strong>de</strong> pa<strong>la</strong>bras es un<br />
listado con los types o vocablos <strong>de</strong>l corpus (unigramas). A cada type le acompañará su<br />
frecu<strong>en</strong>cia absoluta (número <strong>de</strong> veces que se repite dicha pa<strong>la</strong>bra), su frecu<strong>en</strong>cia<br />
re<strong>la</strong>tiva (número <strong>de</strong> veces que ocurre <strong>la</strong> pa<strong>la</strong>bra <strong>en</strong> re<strong>la</strong>ción con el total <strong>de</strong> pa<strong>la</strong>bras <strong>en</strong><br />
el corpus), <strong>la</strong> <strong>en</strong>tropía (cont<strong>en</strong>ido <strong>de</strong> información) y sus etiquetas POS. Las frecu<strong>en</strong>cias<br />
y <strong>la</strong>s <strong>en</strong>tropías serán calcu<strong>la</strong>das y <strong>de</strong>splegadas para cada docum<strong>en</strong>to, para cada área<br />
temática y para el corpus <strong>en</strong> g<strong>en</strong>eral. El usuario podrá ord<strong>en</strong>ar los elem<strong>en</strong>tos <strong>de</strong> <strong>la</strong> lista<br />
por el rango <strong>de</strong> cualquiera <strong>de</strong> estos datos; por ejemplo, su frecu<strong>en</strong>cia re<strong>la</strong>tiva <strong>en</strong> el área<br />
temática (asc<strong>en</strong>d<strong>en</strong>te o <strong>de</strong>sc<strong>en</strong>d<strong>en</strong>tem<strong>en</strong>te) o por ord<strong>en</strong> alfabético normal o inverso (se<br />
ord<strong>en</strong>a a partir <strong>de</strong> <strong>la</strong> primera letra <strong>de</strong>l <strong>la</strong>do <strong>de</strong>recho).<br />
Fig 1. Lista <strong>de</strong> pa<strong>la</strong>bras<br />
3.2 Concordancias<br />
Las concordancias también son listas <strong>de</strong> pa<strong>la</strong>bras pero con sus contextos. Para que se<br />
extraigan <strong>la</strong>s concordancias <strong>de</strong> una o más pa<strong>la</strong>bras, el usuario <strong>de</strong>berá introducir al<br />
sistema una pa<strong>la</strong>bra o expresión regu<strong>la</strong>r. A<strong>de</strong>más, a partir <strong>de</strong> <strong>la</strong> lista <strong>de</strong> pa<strong>la</strong>bras<br />
m<strong>en</strong>cionada arriba, el usuario podrá <strong>de</strong>splegar <strong>la</strong>s concordancias <strong>de</strong> cualquier pa<strong>la</strong>bra<br />
con sólo seleccionar<strong>la</strong> <strong>en</strong> el listado. Junto con <strong>la</strong>s concordancias v<strong>en</strong>drán datos tales<br />
como el código id<strong>en</strong>tificador <strong>de</strong>l docum<strong>en</strong>to, los datos bibliográficos <strong>de</strong> <strong>la</strong> fu<strong>en</strong>te, área<br />
temática y <strong>la</strong> posición <strong>de</strong> <strong>la</strong> pa<strong>la</strong>bra <strong>en</strong> el corpus.<br />
A m<strong>en</strong>os <strong>de</strong> que el usuario seleccione lo contrario, <strong>la</strong>s concordancias traerán el<br />
contexto sin modificaciones; esto es, con mayúscu<strong>la</strong>s y minúscu<strong>la</strong>s y con los signos <strong>de</strong><br />
puntuación. Para facilitar <strong>la</strong> visualización <strong>en</strong> pantal<strong>la</strong>, <strong>la</strong> pa<strong>la</strong>bra que se analiza v<strong>en</strong>drá<br />
<strong>en</strong> una columna c<strong>en</strong>trada, y <strong>de</strong>l <strong>la</strong>do izquierdo <strong>la</strong> parte <strong>de</strong>l texto que le antece<strong>de</strong>, y <strong>de</strong>l<br />
<strong>la</strong>do <strong>de</strong>recho <strong>la</strong> que le prece<strong>de</strong>. Al mom<strong>en</strong>to <strong>de</strong> traer el texto a pantal<strong>la</strong> el usuario podrá<br />
elegir si <strong>de</strong>sea que se extraiga con todo y etiquetas <strong>de</strong> marcaje. Esto dará <strong>la</strong> posibilidad<br />
<strong>de</strong> visualizar los rasgos tipográficos que cont<strong>en</strong>gan los textos.<br />
El tamaño <strong>de</strong> <strong>la</strong> v<strong>en</strong>tana (cantidad <strong>de</strong> texto que se trae acompañando a <strong>la</strong> pa<strong>la</strong>bra que<br />
se analiza) podrá ser modificado por el usuario según sus necesida<strong>de</strong>s: por cantidad <strong>de</strong><br />
pa<strong>la</strong>bras o caracteres (tanto a <strong>la</strong> izquierda como a <strong>la</strong> <strong>de</strong>recha <strong>de</strong> <strong>la</strong> pa<strong>la</strong>bra analizada) y
con opción <strong>de</strong> ajustar<strong>la</strong> a un párrafo. En <strong>la</strong> figura 2 se muestra un ejemplo <strong>de</strong><br />
concordancia:<br />
Fig 2. Concordancias <strong>de</strong> <strong>la</strong> pa<strong>la</strong>bra herrami<strong>en</strong>ta<br />
Las búsquedas permitirán <strong>la</strong> utilización <strong>de</strong> operadores booleanos (AND, OR y<br />
NOT), expresiones regu<strong>la</strong>res y caracteres comodines (*, + y ?). Finalm<strong>en</strong>te, <strong>la</strong>s<br />
concordancias podrán extraerse <strong>de</strong> un área temática específica o <strong>de</strong>l corpus <strong>en</strong> g<strong>en</strong>eral;<br />
y se podrán mostrar por ord<strong>en</strong> <strong>de</strong> aparición o por ord<strong>en</strong> alfabético <strong>de</strong> <strong>la</strong> pa<strong>la</strong>bra <strong>en</strong><br />
cuestión.<br />
3.3 Medidas <strong>de</strong> asociación<br />
A<strong>de</strong>más <strong>de</strong> <strong>la</strong>s estadísticas <strong>de</strong> unigramas <strong>de</strong>scritas <strong>en</strong> 3.1, el corpus contará con una<br />
herrami<strong>en</strong>ta para g<strong>en</strong>erar algunas estadísticas <strong>de</strong> bigramas[4] que nos permitirán<br />
<strong>de</strong>terminar qué pares <strong>de</strong> pa<strong>la</strong>bras gráficas están estadísticam<strong>en</strong>te más asociados <strong>en</strong>tre<br />
sí. Esto es importante porque permitirá <strong>la</strong> <strong>de</strong>tección <strong>de</strong> términos <strong>de</strong> más <strong>de</strong> una pa<strong>la</strong>bra<br />
gráfica y <strong>de</strong> <strong>la</strong>s colocaciones típicas <strong>de</strong>l corpus o <strong>de</strong> <strong>la</strong>s áreas temáticas <strong>de</strong> <strong>la</strong> ing<strong>en</strong>iería<br />
por separado.<br />
El conjunto mínimo <strong>de</strong> medidas <strong>de</strong> asociación <strong>en</strong>tre pares <strong>de</strong> pa<strong>la</strong>bras gráficas que<br />
calcu<strong>la</strong>remos cont<strong>en</strong>drá <strong>la</strong>s estadísticas conocidas como información mutua, razón <strong>de</strong><br />
semejanza (likelihood ratio) y <strong>la</strong> prueba <strong>de</strong> in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>cia <strong>de</strong> 2 [4][5]. La herrami<strong>en</strong>ta<br />
g<strong>en</strong>erará <strong>la</strong> lista <strong>de</strong> pares <strong>de</strong> pa<strong>la</strong>bras más asociadas <strong>en</strong>tre sí, según los valores <strong>de</strong>l<br />
corpus, <strong>de</strong>l área temática y <strong>de</strong>l docum<strong>en</strong>to. Aparecerán ord<strong>en</strong>ados por rango <strong>de</strong><br />
asociación según <strong>la</strong> columna <strong>de</strong> <strong>la</strong> estadística seleccionada por el usuario.<br />
Naturalm<strong>en</strong>te, aquí también se proporcionaría una lista filtro para eliminar <strong>la</strong>s pa<strong>la</strong>bras<br />
gráficas con función gramatical. Obviam<strong>en</strong>te, también aquí se le permitirá al usuario<br />
modificar esta lista o proporcionar <strong>la</strong> suya propia.<br />
Si distinguimos <strong>en</strong>tre unigramas s<strong>en</strong>cillos y complejos (si<strong>en</strong>do éstos últimos<br />
secu<strong>en</strong>cias <strong>de</strong> pa<strong>la</strong>bras gráficas), una característica interesante <strong>de</strong> esta herrami<strong>en</strong>ta será<br />
<strong>la</strong> posibilidad <strong>de</strong> g<strong>en</strong>erar listas <strong>de</strong> bigramas constituidos por pares <strong>de</strong> unigramas<br />
complejos (<strong>en</strong> efecto, bigramas, trigramas, etc.). En otras pa<strong>la</strong>bras, el usuario podrá<br />
seleccionar una serie <strong>de</strong> caracteres con espacios intermedios (cad<strong>en</strong>a <strong>de</strong> pa<strong>la</strong>bras<br />
gráficas) para ser consi<strong>de</strong>rada como unigrama apto <strong>de</strong> asociarse a otro unigrama. De<br />
esta manera, <strong>la</strong>s medidas <strong>de</strong> asociación <strong>en</strong>tre éstos podrán calcu<strong>la</strong>rse y mostrarse <strong>en</strong> <strong>la</strong><br />
lista <strong>de</strong> los bigramas más promin<strong>en</strong>tes <strong>de</strong>l corpus, <strong>de</strong>l área temática y <strong>de</strong>l docum<strong>en</strong>to.
3.4 Colocaciones<br />
Con <strong>la</strong>s concordancias, <strong>la</strong>s estadísticas y <strong>la</strong>s medidas <strong>de</strong> asociación los usuarios podrán<br />
<strong>de</strong>terminar <strong>la</strong>s colocaciones pertin<strong>en</strong>tes a sus investigaciones <strong>en</strong> el corpus. No es<br />
ninguna novedad que <strong>en</strong> los textos <strong>la</strong>s pa<strong>la</strong>bras ti<strong>en</strong>dan a ocurrir acompañadas por otras<br />
o que normalm<strong>en</strong>te ocurran <strong>en</strong> conjuntos. Una colocación se <strong>de</strong>fine como <strong>la</strong> ocurr<strong>en</strong>cia<br />
<strong>de</strong> dos o más pa<strong>la</strong>bras que se <strong>en</strong>cu<strong>en</strong>tran cercanas <strong>en</strong> un texto y que ti<strong>en</strong>d<strong>en</strong> a ocurrir<br />
cercanas <strong>en</strong> ciertos contextos. En este s<strong>en</strong>tido, se consi<strong>de</strong>ra una colocación como <strong>la</strong><br />
combinación frecu<strong>en</strong>te <strong>de</strong> pa<strong>la</strong>bras, así como <strong>la</strong> combinación <strong>en</strong> <strong>la</strong> que una pa<strong>la</strong>bra<br />
requiere <strong>la</strong> pres<strong>en</strong>cia <strong>de</strong> otra para expresar un s<strong>en</strong>tido dado. Con <strong>la</strong>s colocaciones<br />
podremos evaluar <strong>la</strong>s co-ocurr<strong>en</strong>cias (y su frecu<strong>en</strong>cia) <strong>de</strong> dos o más pa<strong>la</strong>bras <strong>en</strong> un<br />
contexto dado. Se podrá evaluar <strong>la</strong> cercanía <strong>de</strong> <strong>la</strong>s partes <strong>de</strong> una colocación. Se pue<strong>de</strong><br />
tomar una <strong>de</strong> <strong>la</strong>s pa<strong>la</strong>bras y asignarle distancia cero. Las pa<strong>la</strong>bras asociadas podrán<br />
<strong>de</strong>tectarse al examinar <strong>la</strong>s que <strong>la</strong> ro<strong>de</strong>an, y sus distancias serán el número <strong>de</strong> pa<strong>la</strong>bras<br />
que se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong>tre <strong>la</strong> primera y <strong>la</strong> segunda m<strong>en</strong>os uno. Las distancias serán<br />
negativas cuando <strong>la</strong> segunda esté a <strong>la</strong> izquierda <strong>de</strong> <strong>la</strong> primera y positivas cuando a <strong>la</strong><br />
<strong>de</strong>recha. Las colocaciones se pres<strong>en</strong>tarán <strong>de</strong> tal forma que <strong>en</strong> el c<strong>en</strong>tro se muestre <strong>la</strong><br />
pa<strong>la</strong>bra analizada y a su <strong>la</strong>do izquierdo y <strong>de</strong>recho <strong>la</strong>s pa<strong>la</strong>bras contiguas. Un ejemplo<br />
<strong>de</strong> cómo se visualizará una colocación se muestra a continuación:<br />
Los correctores ortográficos son una herrami<strong>en</strong>ta computacional muy útil <strong>en</strong> <strong>la</strong> redacción <strong>de</strong> docum<strong>en</strong>tos<br />
-5 -4 -3 -2 -1 nodo +1 +2 +3 +4 +5<br />
14 16 13 35 11 48 43 7 9 12 9<br />
En este ejemplo se muestran <strong>en</strong> una concordancia <strong>la</strong>s pa<strong>la</strong>bras gráficas contiguas al<br />
nodo “herrami<strong>en</strong>ta”. La distancia <strong>de</strong> cada pa<strong>la</strong>bra con respecto al nodo aparece <strong>en</strong> el<br />
sigui<strong>en</strong>te r<strong>en</strong>glón. A<strong>de</strong>más <strong>la</strong>s frecu<strong>en</strong>cias <strong>de</strong> ocurr<strong>en</strong>cia <strong>de</strong> cada pa<strong>la</strong>bra con respecto<br />
al nodo (<strong>en</strong> color azul) nos indican que muy probablem<strong>en</strong>te <strong>la</strong> pa<strong>la</strong>bra “herrami<strong>en</strong>ta”<br />
esté directam<strong>en</strong>te adherida a <strong>la</strong> pa<strong>la</strong>bra “computacional”, porque ti<strong>en</strong><strong>en</strong> una frecu<strong>en</strong>cia<br />
muy alta y simi<strong>la</strong>r <strong>en</strong>tre el<strong>la</strong>s. De aquí se podría inferir que “herrami<strong>en</strong>ta<br />
computacional” es un candidato a término <strong>de</strong>l docum<strong>en</strong>to examinado.<br />
4. Conclusiones<br />
En este trabajo se <strong>de</strong>scribieron <strong>la</strong>s herrami<strong>en</strong>tas <strong>de</strong> análisis que estarán disponibles <strong>en</strong><br />
Internet para explorar el Corpus Lingüístico <strong>en</strong> Ing<strong>en</strong>iería. En es<strong>en</strong>cia, se trata <strong>de</strong><br />
instrum<strong>en</strong>tos para g<strong>en</strong>erar concordancias y proporcionar datos estadísticos <strong>de</strong><br />
unigramas y bigramas que permitan a los usuarios hacer infer<strong>en</strong>cias sobre <strong>la</strong>s<br />
estructuras lingüísticas y pragmáticas pres<strong>en</strong>tes <strong>en</strong> los docum<strong>en</strong>tos <strong>de</strong>l corpus y<br />
<strong>de</strong>terminar <strong>la</strong>s colocaciones típicas <strong>de</strong> cada docum<strong>en</strong>to, cada área temática y <strong>de</strong>l corpus<br />
<strong>en</strong>tero.<br />
Esperamos que el <strong>de</strong>sarrollo <strong>de</strong> estas herrami<strong>en</strong>tas b<strong>en</strong>eficie a <strong>la</strong> comunidad <strong>de</strong><br />
investigadores <strong>en</strong> sus <strong>la</strong>bores cotidianas y al público <strong>en</strong> g<strong>en</strong>eral. Entre sus múltiples<br />
propósitos, permitirán <strong>la</strong> explotación <strong>de</strong>l corpus para investigaciones terminográficas y<br />
servirá <strong>de</strong> apoyo para aquellos que <strong>en</strong>cu<strong>en</strong>tran dificultad <strong>en</strong> <strong>la</strong> redacción <strong>de</strong> sus
artículos ya que les proporcionará mo<strong>de</strong>los <strong>de</strong> escritura y estilo. Actualm<strong>en</strong>te hemos<br />
obt<strong>en</strong>ido los sigui<strong>en</strong>tes resultados <strong>en</strong> <strong>la</strong> e<strong>la</strong>boración <strong>de</strong>l corpus y sus herrami<strong>en</strong>tas:<br />
1. Compi<strong>la</strong>ción <strong>de</strong> un corpus <strong>de</strong> textos electrónicos con más <strong>de</strong> 500,000 pa<strong>la</strong>bras, <strong>en</strong><br />
<strong>la</strong>s distintas áreas <strong>de</strong> ing<strong>en</strong>iería.<br />
2. Desarrollo <strong>de</strong> una base <strong>de</strong> datos bibliográfica para llevar control <strong>de</strong> los<br />
docum<strong>en</strong>tos cont<strong>en</strong>idos <strong>en</strong> el corpus y asegurar el ba<strong>la</strong>nce <strong>de</strong> <strong>la</strong>s áreas temáticas <strong>de</strong><br />
<strong>la</strong> ing<strong>en</strong>iería.<br />
3. Creación <strong>de</strong> manuales que <strong>de</strong>scrib<strong>en</strong> los procesos <strong>de</strong> digitalización y etiquetado.<br />
4. Resolución <strong>de</strong> problemas <strong>de</strong>rivados <strong>de</strong>l empleo <strong>de</strong>l reconocimi<strong>en</strong>to óptico <strong>de</strong><br />
caracteres.<br />
5. Implem<strong>en</strong>tación <strong>de</strong> una metodología eficaz para guardar y manejar docum<strong>en</strong>tos.<br />
6. Desarrollo <strong>de</strong> una herrami<strong>en</strong>ta que ayudará <strong>en</strong> el marcaje semiautomático <strong>de</strong> los<br />
docum<strong>en</strong>tos, e<strong>la</strong>borada por medio <strong>de</strong> macros <strong>en</strong> Word.<br />
7. Implem<strong>en</strong>tación <strong>de</strong> un programa <strong>en</strong> Python que ayudará <strong>en</strong> <strong>la</strong> transformación <strong>de</strong><br />
los docum<strong>en</strong>tos que ti<strong>en</strong><strong>en</strong> un formato HTML a nuestro formato XML.<br />
8. Diseño e implem<strong>en</strong>tación <strong>de</strong> <strong>la</strong>s herrami<strong>en</strong>tas <strong>de</strong> análisis <strong>de</strong>l corpus.<br />
Refer<strong>en</strong>cias<br />
[1] A<strong>la</strong>rcón Martínez, Rodrigo, “Análisis lingüístico <strong>de</strong> contextos <strong>de</strong>finitorios <strong>en</strong> textos <strong>de</strong><br />
especialidad”, Tesis <strong>de</strong> lic<strong>en</strong>ciatura, Ciudad Universitaria, UNAM, 2003<br />
[2] Castillo Hernán<strong>de</strong>z, Gabriel, “Algoritmo revisado para <strong>la</strong> extracción automática <strong>de</strong><br />
agrupami<strong>en</strong>tos semánticos”, Tesis <strong>de</strong> maestría, Ciudad Universitaria, UNAM, 2002<br />
[3] Sierra Martínez, Gerardo , “Design of a concept-ori<strong>en</strong>ted tool for terminology”, Tesis <strong>de</strong><br />
doctorado, University of Manchester, August, 1999<br />
[4] Manning, Christopher D. and Schütze Hinrich, “Foundations of statistical natural <strong>la</strong>nguage<br />
processing”, Fifth printing, The MIT Press, Massachussets Institute of Technology, London<br />
2002<br />
[5] Oakes, Michael P., “Statistics for Corpus Linguistics”, Edinburg University Press, Edinburg<br />
1988<br />
[6] http://www.rae.es/<br />
[7] http://branga<strong>en</strong>e.upf.es/bwananet/in<strong>de</strong>xes.htm<br />
[8] http://www.lsi.upc.es/~nlp/tools/parole-sp.html
Uso <strong>de</strong>l Contexto para <strong>la</strong><br />
Búsqueda <strong>de</strong> Respuestas <strong>en</strong> Español<br />
Manuel Pérez-Coutiño, Manuel Montes-y-Gómez, Aurelio López-López<br />
Instituto Nacional <strong>de</strong> Astrofísica, Óptica y Electrónica (INAOE)<br />
Luis Enrique Erro No. 1, Sta Ma Tonantzint<strong>la</strong>, 72840, Pueb<strong>la</strong>, Pue., México.<br />
{mapco,mmontesg,allopez}@inaoep.mx<br />
Resum<strong>en</strong>. Actualm<strong>en</strong>te, <strong>la</strong> creci<strong>en</strong>te cantidad <strong>de</strong> información disponible <strong>en</strong><br />
medios electrónicos repres<strong>en</strong>ta un reto para <strong>la</strong> evolución <strong>de</strong> los mecanismos <strong>de</strong><br />
acceso y recuperación <strong>de</strong> <strong>la</strong> misma. Reci<strong>en</strong>tem<strong>en</strong>te los sistemas <strong>de</strong> Búsqueda <strong>de</strong><br />
Respuestas (BR) han reaparecido como una alternativa viable a este reto. A<br />
pesar su pot<strong>en</strong>cial el <strong>de</strong>sarrollo <strong>de</strong> este tipo <strong>de</strong> sistemas para el idioma Español<br />
aún es escaso. En este docum<strong>en</strong>to se propone realizar <strong>la</strong> tarea <strong>de</strong> BR mediante<br />
el uso <strong>de</strong> <strong>la</strong> anotación predictiva <strong>de</strong>l contexto léxico-sintáctico <strong>de</strong> <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s<br />
nombradas que ocurr<strong>en</strong> <strong>en</strong> cada docum<strong>en</strong>to <strong>de</strong> una colección fu<strong>en</strong>te <strong>en</strong> español.<br />
La anotación <strong>de</strong> <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s nombradas y su contexto repres<strong>en</strong>tan cada<br />
docum<strong>en</strong>to como un conjunto <strong>de</strong> instancias <strong>de</strong> los conceptos <strong>en</strong> una ontología<br />
<strong>de</strong> nivel superior. El proceso <strong>de</strong> búsqueda <strong>de</strong> respuestas candidatas se realiza a<br />
partir <strong>de</strong> dicha repres<strong>en</strong>tación, evaluando cada candidata contra <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s<br />
nombradas y el contexto <strong>de</strong> <strong>la</strong> pregunta. La respuesta se selecciona a partir <strong>de</strong><br />
dicha evaluación. Este artículo pres<strong>en</strong>ta <strong>la</strong> metodología <strong>de</strong> solución propuesta y<br />
los avances realizados durante el primer año <strong>de</strong> investigación.<br />
Abstract. Nowadays, the growing amount of information avai<strong>la</strong>ble in<br />
electronic media repres<strong>en</strong>ts a chall<strong>en</strong>ge in the evolution of machinery for<br />
information access and retrieval. Rec<strong>en</strong>tly, Question Answering (QA) systems<br />
have reappeared as an alternative to such chall<strong>en</strong>ge. Despite of its pot<strong>en</strong>tial, few<br />
systems of this kind are <strong>de</strong>veloped for Spanish <strong>la</strong>nguage. This paper proposes to<br />
perform QA task using predictive annotation of lexical-syntactic context of<br />
named <strong>en</strong>tities occurring in each docum<strong>en</strong>t within a source collection in<br />
Spanish. Named <strong>en</strong>tities annotation and their context repres<strong>en</strong>t each docum<strong>en</strong>t<br />
as a set of instances from concepts in an upper level ontology. The process of<br />
searching for candidate answers start from such repres<strong>en</strong>tation, evaluating each<br />
candidate against question’s named <strong>en</strong>tities and their context. The answer is<br />
selected based on the previous evaluation. The paper pres<strong>en</strong>ts the solving<br />
methodology as well as the advances reached during the first year of research.<br />
1 Introducción<br />
Durante los últimos años hemos pres<strong>en</strong>ciado un crecimi<strong>en</strong>to continuo y expon<strong>en</strong>cial<br />
<strong>de</strong> <strong>la</strong> información <strong>en</strong> medios electrónicos tanto <strong>en</strong> Internet como <strong>en</strong> colecciones<br />
especializadas <strong>de</strong> recursos, muchos <strong>de</strong> los cuales se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong> forma textual.<br />
Tradicionalm<strong>en</strong>te los usuarios acced<strong>en</strong> a <strong>la</strong>s fu<strong>en</strong>tes textuales <strong>de</strong> información –no<br />
estructurada ó semiestructurada– mediante sistemas <strong>de</strong> recuperación <strong>de</strong> docum<strong>en</strong>tos<br />
que consist<strong>en</strong> <strong>en</strong> procesos capaces <strong>de</strong> id<strong>en</strong>tificar docum<strong>en</strong>tos re<strong>la</strong>cionados a un
conjunto <strong>de</strong> términos o pa<strong>la</strong>bras c<strong>la</strong>ve dados por el usuario y que ti<strong>en</strong><strong>en</strong> por objetivo<br />
reflejar su necesidad <strong>de</strong> información. Sin embargo el uso <strong>de</strong> estos sistemas requiere <strong>de</strong><br />
un gran esfuerzo adicional por parte <strong>de</strong>l usuario para filtrar y analizar <strong>la</strong> lista <strong>de</strong><br />
docum<strong>en</strong>tos obt<strong>en</strong>ida, por lo que este tipo <strong>de</strong> sistemas o máquinas <strong>de</strong> búsqueda son<br />
incapaces <strong>de</strong> proporcionar una respuesta concisa a una necesidad específica <strong>de</strong><br />
información [4].<br />
La alternativa para respon<strong>de</strong>r concretam<strong>en</strong>te a preguntas concisas son los sistemas<br />
<strong>de</strong> Búsqueda <strong>de</strong> Respuestas (BR), capaces <strong>de</strong> respon<strong>de</strong>r a preguntas realizadas por los<br />
usuarios <strong>en</strong> l<strong>en</strong>guaje natural. Po<strong>de</strong>mos <strong>de</strong>cir que <strong>la</strong> investigación <strong>en</strong> sistemas <strong>de</strong><br />
búsqueda <strong>de</strong> respuestas se ha increm<strong>en</strong>tado a partir <strong>de</strong> <strong>la</strong> introducción <strong>de</strong> un foro para<br />
su evaluación como parte <strong>de</strong> <strong>la</strong> Confer<strong>en</strong>cia TREC 1 <strong>en</strong> 1999 (limitada al l<strong>en</strong>guaje<br />
inglés), y más reci<strong>en</strong>tem<strong>en</strong>te <strong>en</strong> sistemas <strong>de</strong> Búsqueda <strong>de</strong> Respuestas Multilingüe [5],<br />
si<strong>en</strong>do <strong>en</strong> el año 2003 <strong>la</strong> primera ocasión que se incluyó <strong>la</strong> evaluación <strong>de</strong> sistemas <strong>de</strong><br />
BR como parte <strong>de</strong>l CLEF 2 y don<strong>de</strong> sólo se pres<strong>en</strong>tó un sistema <strong>de</strong> BR para tratar<br />
información <strong>en</strong> el l<strong>en</strong>guaje Español [10].<br />
En este artículo se pres<strong>en</strong>ta una propuesta para <strong>la</strong> Búsqueda <strong>de</strong> Respuestas <strong>en</strong><br />
Español con base <strong>en</strong> el uso <strong>de</strong> <strong>la</strong> anotación anticipada <strong>de</strong>l contexto al nivel léxico y al<br />
nivel sintáctico. En los experim<strong>en</strong>tos preliminares se ha probado el <strong>de</strong>sempeño <strong>de</strong>l<br />
uso <strong>de</strong> contextos léxicos <strong>en</strong> un banco <strong>de</strong> pruebas estándar.<br />
2 Estado <strong>de</strong>l Arte<br />
Los sistemas actuales <strong>de</strong> BR afrontan su tarea <strong>de</strong>s<strong>de</strong> <strong>la</strong> perspectiva <strong>de</strong>l usuario casual.<br />
Es <strong>de</strong>cir, se <strong>en</strong>focan <strong>en</strong> respon<strong>de</strong>r preguntas simples sobre hechos concretos a partir<br />
<strong>de</strong> una colección <strong>de</strong> docum<strong>en</strong>tos don<strong>de</strong> <strong>la</strong> respuesta se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> forma explícita <strong>en</strong><br />
un sólo docum<strong>en</strong>to. Estas preguntas g<strong>en</strong>eralm<strong>en</strong>te pued<strong>en</strong> respon<strong>de</strong>rse con pa<strong>la</strong>bras o<br />
frases que d<strong>en</strong>otan el nombre <strong>de</strong> una persona, <strong>de</strong> un lugar, una fecha, etc. Sin<br />
embargo, los sistemas <strong>de</strong> BR <strong>de</strong>l futuro permitirán resolver preguntas más complejas<br />
a partir <strong>de</strong> <strong>la</strong> fusión <strong>de</strong> <strong>la</strong> información cont<strong>en</strong>ida <strong>en</strong> varios docum<strong>en</strong>tos.<br />
Los sistemas <strong>de</strong> BR típicam<strong>en</strong>te consi<strong>de</strong>ran los sigui<strong>en</strong>tes procesos: (i) el análisis<br />
<strong>de</strong> <strong>la</strong> pregunta, (ii) <strong>la</strong> recuperación <strong>de</strong> docum<strong>en</strong>tos re<strong>la</strong>cionados; (iii) <strong>la</strong> selección <strong>de</strong><br />
pasajes relevantes, y (iv) <strong>la</strong> extracción <strong>de</strong> fragm<strong>en</strong>tos respuesta. Los sistemas <strong>de</strong> BR<br />
exist<strong>en</strong>tes utilizan difer<strong>en</strong>tes técnicas para el tratami<strong>en</strong>to tanto <strong>de</strong> <strong>la</strong>s preguntas como<br />
<strong>de</strong> los docum<strong>en</strong>tos fu<strong>en</strong>te utilizados para realizar dichos procesos. Uno <strong>de</strong> los<br />
aspectos que ha <strong>de</strong>mostrado mayor efectividad [3,8,9,10] es el uso <strong>de</strong> reconocedores<br />
<strong>de</strong> <strong>en</strong>tida<strong>de</strong>s nombradas <strong>en</strong> difer<strong>en</strong>tes niveles <strong>de</strong>l proceso <strong>de</strong> BR. Una <strong>en</strong>tidad<br />
nombrada (EN) es una pa<strong>la</strong>bra, o un sintagma que d<strong>en</strong>ota un objeto que pue<strong>de</strong> caer <strong>en</strong><br />
una <strong>de</strong> <strong>la</strong>s sigui<strong>en</strong>tes categorías g<strong>en</strong>erales: persona, organización, lugar, fecha,<br />
cantidad.<br />
Hab<strong>la</strong>ndo <strong>de</strong> forma g<strong>en</strong>eral, el uso <strong>de</strong> <strong>la</strong>s EN <strong>en</strong> sistemas <strong>de</strong> BR comi<strong>en</strong>za a partir<br />
<strong>de</strong>l análisis <strong>de</strong> <strong>la</strong> pregunta, al asociar a <strong>la</strong> pregunta <strong>en</strong> turno <strong>la</strong> c<strong>la</strong>se semántica<br />
esperada como respuesta. Es <strong>de</strong>cir, dada una pregunta <strong>de</strong>terminar si esta requiere<br />
como respuesta una EN <strong>de</strong> c<strong>la</strong>se persona, fecha, etc. Entonces el proceso <strong>de</strong><br />
extracción <strong>de</strong> fragm<strong>en</strong>tos respuesta se realiza con base <strong>en</strong> <strong>la</strong> ocurr<strong>en</strong>cia <strong>de</strong> EN <strong>de</strong> <strong>la</strong><br />
1<br />
TREC (Text Retrieval Confer<strong>en</strong>ce), http://trec.nist.gov/<br />
2<br />
CLEF (Cross Language Evaluation Forum), http://clef-qa.itc.it/
c<strong>la</strong>se semántica esperada como respuesta d<strong>en</strong>tro <strong>de</strong>l fragm<strong>en</strong>to <strong>de</strong> texto analizado<br />
[10]. Otras aproximaciones [3,9] utilizan <strong>la</strong> id<strong>en</strong>tificación <strong>de</strong> EN para establecer<br />
tripletas semánticas formadas por una <strong>en</strong>tidad, el rol semántico que dicha <strong>en</strong>tidad<br />
<strong>de</strong>sempeña y el término con el que dicha <strong>en</strong>tidad manti<strong>en</strong>e <strong>la</strong> re<strong>la</strong>ción.<br />
En contraparte a <strong>la</strong> id<strong>en</strong>tificación <strong>de</strong> EN <strong>en</strong> tiempo <strong>de</strong> búsqueda, Prager [8] ha<br />
pres<strong>en</strong>tado una aproximación conocida como “Anotación Predictiva” Dicha<br />
aproximación recae <strong>en</strong> tres compon<strong>en</strong>tes: Anotación predictiva, análisis <strong>de</strong> <strong>la</strong><br />
pregunta y selección <strong>de</strong> <strong>la</strong> respuesta. La anotación predictiva consiste <strong>en</strong> analizar los<br />
docum<strong>en</strong>tos <strong>en</strong> <strong>la</strong> colección <strong>de</strong> <strong>en</strong>trada <strong>en</strong> busca <strong>de</strong> pa<strong>la</strong>bras que se cree puedan ser<br />
respuestas a posibles preguntas. Entonces el sistema les asigna etiquetas que indican<br />
el tipo <strong>de</strong> preguntas que pued<strong>en</strong> respon<strong>de</strong>r. Las etiquetas incluy<strong>en</strong> lugares, personas,<br />
duración, día y longitud. El análisis <strong>de</strong> <strong>la</strong> pregunta consiste <strong>en</strong> utilizar una variedad <strong>de</strong><br />
tipos <strong>de</strong> pregunta estándar <strong>en</strong> los cuales se reemp<strong>la</strong>zan ciertas pa<strong>la</strong>bras por <strong>la</strong>s<br />
etiquetas a<strong>de</strong>cuadas. Por ejemplo, <strong>la</strong> pregunta “How tall is the Matterhorn” será<br />
transformada a “LENGTH$ is Matterhorn”, don<strong>de</strong> LENGTH$ es <strong>la</strong> etiqueta para<br />
d<strong>en</strong>otar distancia. El sistema utiliza un algoritmo para asignar relevancia a los pasajes<br />
recuperados y así seleccionar <strong>la</strong> mejor respuesta.<br />
3 Uso <strong>de</strong>l Contexto<br />
Este trabajo se apoya <strong>en</strong> <strong>la</strong>s investigaciones <strong>de</strong> Prager [8] sin embargo, a<strong>de</strong>más <strong>de</strong><br />
anotar <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s nombradas que se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong> cada docum<strong>en</strong>to y <strong>la</strong> c<strong>la</strong>se<br />
semántica correspondi<strong>en</strong>te, dicha información se utiliza como base para <strong>la</strong><br />
id<strong>en</strong>tificación <strong>de</strong>l contexto léxico-sintáctico <strong>de</strong> cada <strong>en</strong>tidad nombrada, extraer dicha<br />
información y g<strong>en</strong>erar <strong>la</strong> repres<strong>en</strong>tación <strong>de</strong> cada docum<strong>en</strong>to <strong>de</strong> <strong>la</strong> colección<br />
docum<strong>en</strong>tal para su posterior in<strong>de</strong>xado. Dicho índice será <strong>en</strong>tonces utilizado para<br />
realizar <strong>la</strong> extracción <strong>de</strong> respuestas candidatas a partir <strong>de</strong>: a) <strong>la</strong> comparación <strong>de</strong> <strong>la</strong><br />
c<strong>la</strong>se semántica esperada como respuesta <strong>de</strong>l análisis <strong>de</strong> <strong>la</strong> pregunta, b) <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s y<br />
el contexto <strong>de</strong> <strong>la</strong> pregunta, c) el uso <strong>de</strong> conocimi<strong>en</strong>to externo. Finalm<strong>en</strong>te se realizará<br />
<strong>la</strong> tarea <strong>de</strong> selección <strong>de</strong> <strong>la</strong> respuesta con base <strong>en</strong> <strong>la</strong> información recuperada, <strong>la</strong><br />
similitud <strong>de</strong> <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s y los contextos tanto <strong>de</strong> <strong>la</strong> pregunta como <strong>de</strong> <strong>la</strong>s respuestas<br />
candidatas. La figura 1 muestra el esquema <strong>de</strong> <strong>la</strong> arquitectura esperada al término <strong>de</strong><br />
esta investigación.<br />
La versión preliminar <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> docum<strong>en</strong>to así como <strong>de</strong> <strong>la</strong> selección <strong>de</strong><br />
respuestas utiliza un contexto <strong>de</strong>finido a partir <strong>de</strong> características léxicas id<strong>en</strong>tificadas<br />
con un etiquetador <strong>de</strong> partes <strong>de</strong> <strong>la</strong> oración y, un reconocedor y c<strong>la</strong>sificador <strong>de</strong><br />
<strong>en</strong>tida<strong>de</strong>s nombradas. En los experim<strong>en</strong>tos preliminares se utilizó <strong>la</strong> herrami<strong>en</strong>ta<br />
MACO [2] para obt<strong>en</strong>er dicha información.<br />
3.1 Mo<strong>de</strong>lo <strong>de</strong> Docum<strong>en</strong>to<br />
El objetivo <strong>de</strong> mo<strong>de</strong><strong>la</strong>r y repres<strong>en</strong>tar los docum<strong>en</strong>tos fu<strong>en</strong>te para sistemas <strong>de</strong> BR es<br />
proveer un conjunto <strong>de</strong> recursos preprocesados que cont<strong>en</strong>gan información valiosa<br />
para facilitar <strong>la</strong>s etapas <strong>de</strong> recuperación <strong>de</strong> respuestas candidatas, así como <strong>la</strong> <strong>de</strong><br />
selección <strong>de</strong> <strong>la</strong> respuesta. Una característica importante <strong>de</strong>l mo<strong>de</strong>lo propuesto es que<br />
provee un formato unificado para <strong>la</strong>s fu<strong>en</strong>tes <strong>de</strong> información, como se m<strong>en</strong>ciona <strong>en</strong><br />
[1] “...también es necesario que <strong>la</strong>s fu<strong>en</strong>tes <strong>de</strong> información sean más heterogéneas y<br />
<strong>de</strong> mayor tamaño...”. Al <strong>de</strong>sarrol<strong>la</strong>r un mo<strong>de</strong>lo <strong>de</strong> docum<strong>en</strong>tos es posible que varias
fu<strong>en</strong>tes puedan ser expresadas <strong>en</strong> un formato estandarizado, o al m<strong>en</strong>os que <strong>la</strong><br />
transformación y el mapeo <strong>en</strong>tre fu<strong>en</strong>tes <strong>de</strong> información equival<strong>en</strong>tes sea viable.<br />
Figura 1. Esquema <strong>de</strong> <strong>la</strong> arquitectura esperada al término <strong>de</strong> esta investigación.<br />
La figura 2 ilustra el mo<strong>de</strong>lo propuesto con base <strong>en</strong> los conceptos <strong>de</strong> SUMO [7]. El<br />
mo<strong>de</strong>lo <strong>de</strong> docum<strong>en</strong>to <strong>en</strong> su nivel conceptual consi<strong>de</strong>ra un docum<strong>en</strong>to como un<br />
conjunto <strong>de</strong> objetos textuales cuyo cont<strong>en</strong>ido se refiere a difer<strong>en</strong>tes <strong>en</strong>tida<strong>de</strong>s<br />
nombradas aún cuando cada docum<strong>en</strong>to se pue<strong>de</strong> <strong>en</strong>focar <strong>en</strong> uno o varios tópicos<br />
principales. El mo<strong>de</strong>lo supone que <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s nombradas están fuertem<strong>en</strong>te<br />
re<strong>la</strong>cionadas a su contexto léxico, especialm<strong>en</strong>te a sustantivos (que g<strong>en</strong>eralm<strong>en</strong>te<br />
repres<strong>en</strong>tan los tópicos más importantes) y verbos (<strong>la</strong>s acciones asociadas a <strong>la</strong>s<br />
<strong>en</strong>tida<strong>de</strong>s y a los tópicos <strong>de</strong>l mismo contexto). De esta forma, un docum<strong>en</strong>to se pue<strong>de</strong><br />
ver como un conjunto <strong>de</strong> <strong>en</strong>tida<strong>de</strong>s y sus contextos. Más aún, cada <strong>en</strong>tidad nombrada<br />
pue<strong>de</strong> ser refinada por medio <strong>de</strong> ontologías [6] haci<strong>en</strong>do uso <strong>de</strong> <strong>la</strong> información <strong>en</strong> el<br />
contexto y/o <strong>de</strong> conocimi<strong>en</strong>to externo como tesauros u otras ontologías. Dicho<br />
refinami<strong>en</strong>to i<strong>de</strong>alm<strong>en</strong>te <strong>de</strong>be realizarse sigui<strong>en</strong>do reg<strong>la</strong>s o axiomas preestablecidos<br />
que permitan tanto <strong>la</strong> g<strong>en</strong>eralización como <strong>la</strong> infer<strong>en</strong>cia a partir <strong>de</strong> una <strong>en</strong>tidad (que es<br />
<strong>en</strong> sí una instancia <strong>de</strong> un concepto <strong>en</strong> <strong>la</strong> ontología), por lo cual el uso <strong>de</strong> una ontología<br />
<strong>de</strong> alto nivel ya exist<strong>en</strong>te resulta ser <strong>la</strong> opción más a<strong>de</strong>cuada, <strong>en</strong> vez <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>r una<br />
<strong>de</strong>s<strong>de</strong> cero.
Docum<strong>en</strong>to<br />
FactualText<br />
Object<br />
refers<br />
Entidad<br />
Nombrada<br />
Physical<br />
Abstract<br />
Person, Locality,<br />
Organization<br />
Date, Quantity<br />
re<strong>la</strong>ted<br />
re<strong>la</strong>ted<br />
Contexto:<br />
Nouns & Verbs<br />
Figura 2. Mo<strong>de</strong>lo <strong>de</strong> docum<strong>en</strong>to propuesto, los conceptos y axiomas correspond<strong>en</strong> a los<br />
<strong>de</strong>finidos <strong>en</strong> <strong>la</strong> ontología SUMO. Las etiquetas <strong>en</strong> cursivas se han conservado tal como se<br />
<strong>de</strong>fin<strong>en</strong> <strong>en</strong> SUMO.<br />
3.2 Selección <strong>de</strong> Respuestas<br />
El proceso <strong>de</strong> selección <strong>de</strong> respuestas esta soportado por dos procesos previos, por un<br />
<strong>la</strong>do <strong>la</strong> repres<strong>en</strong>tación <strong>de</strong> los docum<strong>en</strong>tos fu<strong>en</strong>te, <strong>la</strong> cual se in<strong>de</strong>xa <strong>en</strong> un proceso fuera<br />
<strong>de</strong> línea. Por otro <strong>la</strong>do, el procesami<strong>en</strong>to <strong>de</strong> <strong>la</strong> pregunta, mismo que no se <strong>de</strong>tal<strong>la</strong> <strong>en</strong><br />
este docum<strong>en</strong>to, y <strong>de</strong>l que se extrae <strong>la</strong> sigui<strong>en</strong>te información: La c<strong>la</strong>se semántica <strong>de</strong> <strong>la</strong><br />
<strong>en</strong>tidad esperada como respuesta a <strong>la</strong> pregunta, así como <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s nombradas y el<br />
contexto <strong>de</strong> <strong>la</strong> pregunta. El algoritmo <strong>de</strong> búsqueda <strong>de</strong> respuestas candidatas se<br />
<strong>de</strong>scribe a continuación.<br />
1 Recuperar los docum<strong>en</strong>tos relevantes a <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s nombradas <strong>de</strong> <strong>la</strong><br />
pregunta.<br />
2 Recuperar los contextos <strong>de</strong> los docum<strong>en</strong>tos obt<strong>en</strong>idos <strong>en</strong> 1.<br />
2.1 Analizar cada contexto a partir <strong>de</strong> su <strong>en</strong>tidad nombrada asociada.<br />
2.2 Calcu<strong>la</strong>r <strong>la</strong> similitud <strong>en</strong>tre el contexto <strong>en</strong> turno y el <strong>de</strong> <strong>la</strong> pregunta y<br />
sus <strong>en</strong>tida<strong>de</strong>s.<br />
2.3 Conservar como candidatos a cont<strong>en</strong>er <strong>la</strong> respuesta sólo aquellos cuya<br />
<strong>en</strong>tidad nombrada asociada pert<strong>en</strong>ece a <strong>la</strong> c<strong>la</strong>se semántica esperada<br />
como respuesta.<br />
3 Ord<strong>en</strong>ar <strong>en</strong> forma <strong>de</strong>creci<strong>en</strong>te los contextos <strong>de</strong> acuerdo a su similitud.<br />
4 Obt<strong>en</strong>er <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s asociadas a los contextos candidatos.<br />
5 Reportar <strong>la</strong>s primeras tres respuestas candidatas como posibles<br />
respuestas.<br />
A continuación se muestra un ejemplo <strong>de</strong> <strong>la</strong> aplicación <strong>de</strong>l algoritmo propuesto<br />
para respon<strong>de</strong>r a <strong>la</strong> pregunta ¿Quién era el presid<strong>en</strong>te <strong>de</strong>l PNR <strong>en</strong> 1931?:
1. Recuperar los docum<strong>en</strong>tos relevantes a <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s nombradas <strong>de</strong> <strong>la</strong><br />
pregunta: PNR (Organización), <strong>la</strong> cual se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> los docum<strong>en</strong>tos<br />
{0,13,86}; y 1931 (Fecha), que se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> los docum<strong>en</strong>tos {0}.<br />
Como consecu<strong>en</strong>cia, el subconjunto <strong>de</strong> docum<strong>en</strong>tos que pued<strong>en</strong> respon<strong>de</strong>r<br />
a <strong>la</strong> pregunta es {0}<br />
2. Recuperar los contextos <strong>de</strong> los docum<strong>en</strong>tos obt<strong>en</strong>idos <strong>en</strong> 1 (ver tab<strong>la</strong> 1).<br />
a. Analizar cada contexto a partir <strong>de</strong> su <strong>en</strong>tidad nombrada asociada.<br />
b. Calcu<strong>la</strong>r <strong>la</strong> similitud <strong>en</strong>tre el contexto <strong>en</strong> turno y el <strong>de</strong> <strong>la</strong><br />
pregunta y sus <strong>en</strong>tida<strong>de</strong>s {ser, presid<strong>en</strong>te, PNR, 1931}.<br />
c. Conservar como candidatos a cont<strong>en</strong>er <strong>la</strong> respuesta sólo aquellos<br />
cuya <strong>en</strong>tidad nombrada asociada pert<strong>en</strong>ece a <strong>la</strong> c<strong>la</strong>se semántica<br />
esperada como respuesta.<br />
3. Ord<strong>en</strong>ar <strong>en</strong> forma <strong>de</strong>creci<strong>en</strong>te los contextos <strong>de</strong> acuerdo a su similitud.<br />
4. Obt<strong>en</strong>er <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s asociadas a los contextos candidatos (columna<br />
“<strong>en</strong>tida<strong>de</strong>s nombradas <strong>de</strong> c<strong>la</strong>se persona” <strong>en</strong> <strong>la</strong> tab<strong>la</strong> 1)<br />
5. Reportar <strong>la</strong>s primeras tres respuestas candidatas como posibles respuestas<br />
{Cárd<strong>en</strong>as, Cárd<strong>en</strong>as_Presid<strong>en</strong>te}.<br />
Tab<strong>la</strong> 1. Entida<strong>de</strong>s candidatas y su contexto.<br />
Contexto<br />
Entida<strong>de</strong>s<br />
Nombradas <strong>de</strong> Sim.<br />
c<strong>la</strong>se Persona<br />
{presid<strong>en</strong>te, PNR, echar, mano} Cárd<strong>en</strong>as 0.5<br />
{prm, fundar, carácter, otorgar, ser, forma, permanecer, Cárd<strong>en</strong>as_Presid<strong>en</strong>te 0.125<br />
candidatura}<br />
{creador, 30, año, plebiscito, añoranza, embellecer, muerte} Portes_Gil 0<br />
{arribar, 1964, pri, presid<strong>en</strong>cia, Carlos, juv<strong>en</strong>tud, lí<strong>de</strong>r, Madrazo 0<br />
camisa}<br />
{Madrazo, arribar, 1964, pri, juv<strong>en</strong>tud, lí<strong>de</strong>r, traer} Carlos 0<br />
{pri, faltar, mano, gato} Madrazo 0<br />
{zurrar, Sinaloa, Madrazo, corto} Polo_Sánchez_Celis 0<br />
{Sinaloa, zurrar, Polo_Sánchez_Celis, corto, 11, mes, salir} Madrazo 0<br />
{pierna, co<strong>la</strong>, pri, salir, diputado, pelea, <strong>de</strong>ber}<br />
Polo_Martínez_<br />
Domínguez<br />
0<br />
En este ejemplo, “Cárd<strong>en</strong>as” es <strong>la</strong> respuesta correcta, el pasaje original se muestra <strong>en</strong><br />
<strong>la</strong> tab<strong>la</strong> 2.<br />
Tab<strong>la</strong> 2. Pasaje con <strong>la</strong> respuesta a <strong>la</strong> pregunta <strong>de</strong>l ejemplo.<br />
“Cárd<strong>en</strong>as como presid<strong>en</strong>te <strong>de</strong>l PNR echó mano <strong>de</strong>l Ersatz <strong>de</strong> <strong>de</strong>mocracia <strong>en</strong> 1931 por vez primera<br />
<strong>en</strong> <strong>la</strong> selección <strong>de</strong> candidatos a gobernadores”.<br />
4 Resultados Preliminares<br />
Para <strong>la</strong> evaluación <strong>de</strong> este trabajo se siguió el criterio aplicado <strong>en</strong> <strong>la</strong> tarea <strong>de</strong> búsqueda<br />
<strong>de</strong> respuestas <strong>de</strong>l CLEF <strong>en</strong> su edición <strong>de</strong>l 2003 (QA@CLEF-2003) [5]. La colección<br />
<strong>de</strong> docum<strong>en</strong>tos usada fue provista por <strong>la</strong> ag<strong>en</strong>cia <strong>de</strong> noticias españo<strong>la</strong> EFE y conti<strong>en</strong>e<br />
noticias <strong>de</strong> dominio abierto <strong>de</strong>l año 1994 y 1995. La colección EFE1994 conti<strong>en</strong>e<br />
215,738 noticias (509 MB), mi<strong>en</strong>tras que <strong>la</strong> EFE1995 conti<strong>en</strong>e 238,307 noticias (577
MB). El conjunto <strong>de</strong> preguntas <strong>de</strong> evaluación consta <strong>de</strong> 200 preguntas sobre hechos,<br />
<strong>de</strong> <strong>la</strong>s cuales 20 no ti<strong>en</strong><strong>en</strong> respuesta. Es importante m<strong>en</strong>cionar que el resultado<br />
alcanzado <strong>en</strong> el QA@CLEF-2003 para <strong>la</strong> tarea monolingüe <strong>en</strong> Español, <strong>de</strong>l sistema<br />
pres<strong>en</strong>tado por <strong>la</strong> universidad <strong>de</strong> Alicante, España [10] fue <strong>de</strong>l 35% <strong>de</strong> precisión <strong>en</strong><br />
evaluación estricta y 38.5% <strong>en</strong> no-estricta, ambas sin usar recursos externos (como<br />
Internet).<br />
La tab<strong>la</strong> 1 muestra los resultados obt<strong>en</strong>idos con <strong>la</strong> aproximación <strong>de</strong> nuestro trabajo<br />
con base <strong>en</strong> el uso <strong>de</strong> contextos léxicos y <strong>en</strong>tida<strong>de</strong>s nombradas. Estos alcanzan el 30%<br />
<strong>de</strong> precisión <strong>en</strong> evaluación estricta y 33.5% <strong>en</strong> no-estricta. Esto se <strong>de</strong>be <strong>en</strong> parte a <strong>la</strong><br />
confusión <strong>de</strong>l c<strong>la</strong>sificador <strong>de</strong> <strong>en</strong>tida<strong>de</strong>s, misma que ha sido comp<strong>en</strong>sada parcialm<strong>en</strong>te<br />
durante el cálculo <strong>de</strong> similitud (sección 3.2). Otro factor <strong>de</strong> impacto <strong>en</strong> <strong>la</strong> selección <strong>de</strong><br />
respuestas se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> el empate <strong>de</strong> respuestas candidatas, es <strong>de</strong>cir, se <strong>en</strong>cu<strong>en</strong>tran<br />
diversas respuestas candidatas con el mismo valor <strong>de</strong> similitud. Para subsanar esto se<br />
calcu<strong>la</strong>n <strong>la</strong>s frecu<strong>en</strong>cias <strong>de</strong> ocurr<strong>en</strong>cias <strong>de</strong> contextos idénticos <strong>en</strong> estructura, <strong>en</strong>tidad<br />
asociada y similitud.<br />
Tab<strong>la</strong> 1. Resultados preliminares <strong>de</strong> <strong>la</strong> aproximación propuesta (LabTL-Inaoe)<br />
Sistema<br />
Estricto<br />
No Estricto<br />
MRR % MRR %<br />
Alicante 0.2966 35.0 0.3175 38.5<br />
LabTL-Inaoe 0.2349 30.0 0.2558 33.5<br />
5 Trabajo <strong>en</strong> Proceso<br />
A <strong>la</strong> fecha se realiza una evaluación <strong>de</strong>tal<strong>la</strong>da <strong>de</strong> los errores <strong>de</strong>l método con objeto <strong>de</strong><br />
<strong>de</strong>terminar <strong>la</strong>s limitaciones <strong>de</strong> esta aproximación tanto por los recursos <strong>de</strong> PLN<br />
necesarios como por el tipo <strong>de</strong> preguntas capaz <strong>de</strong> respon<strong>de</strong>r. También se realizan<br />
experim<strong>en</strong>tos con contextos más amplios <strong>en</strong> longitud y partes <strong>de</strong> <strong>la</strong> oración a<br />
consi<strong>de</strong>rar. El sigui<strong>en</strong>te paso es el uso <strong>de</strong> recursos externos como Euro-WordNet e<br />
Internet para increm<strong>en</strong>tar <strong>la</strong> precisión <strong>de</strong>l sistema. Una vez que se cu<strong>en</strong>te con los<br />
resultados <strong>de</strong> estos experim<strong>en</strong>tos se proce<strong>de</strong>rá a <strong>la</strong> sigui<strong>en</strong>te etapa, el uso <strong>de</strong> contextos<br />
con base <strong>en</strong> información sintáctica.<br />
Agra<strong>de</strong>cimi<strong>en</strong>tos. Este trabajo se realizó con el apoyo parcial <strong>de</strong> CONACYT becas<br />
166876 y U39957-Y, así como <strong>de</strong>l <strong>la</strong>boratorio <strong>de</strong> Tecnologías <strong>de</strong>l L<strong>en</strong>guaje, INAOE.<br />
Los autores también agra<strong>de</strong>c<strong>en</strong> al comité organizador <strong>de</strong>l CLEF y a <strong>la</strong> ag<strong>en</strong>cia EFE<br />
por los recursos facilitados.<br />
Refer<strong>en</strong>cias<br />
1. Burger, J. et al. Issues, Tasks and Program Structures to Roadmap Research in<br />
Question & Answering (Q&A). NIST 2001.<br />
2. Carreras, X. and Padró, L. A Flexible Distributed Architecture for Natural<br />
Language Analyzers. In Proceedings of the LREC’02, Las Palmas <strong>de</strong> Gran<br />
Canaria, Spain, 2002.
3. Cowie J., et al., Automatic Question Answering, Proceedings of the International<br />
Confer<strong>en</strong>ce on Multimedia Information Retrieval (RIAO 2000)., 2000.<br />
4. Hirshman L. and Gaizauskas R. Natural Language Question Answering: The View<br />
from Here, Natural Language Engineering 7, 2001.<br />
5. Magnini B., Romagnoli S., Vallin A., Herrera J., Peñas A., Peinado V., Ver<strong>de</strong>jo F.<br />
and Rijke M. The Multiple Language Question Answering Track at CLEF 2003.<br />
CLEF 2003 Workshop, Springer-Ver<strong>la</strong>g.<br />
6. Mann, G.S. Fine-Grained Proper Noun Ontologies for Question Answering,<br />
SemaNet'02: Building and Using Semantic Networks, 2002.<br />
7. Niles, I. and Pease A., Toward a Standard Upper Ontology, in Proceedings of the<br />
2nd International Confer<strong>en</strong>ce on Formal Ontology in Information Systems (FOIS-<br />
2001), 2001.<br />
8. Prager J., Ra<strong>de</strong>v D., Brown E., Cod<strong>en</strong> A. and Samn V. The Use of Predictive<br />
Annotation for Question Answering in TREC8. NIST 1999.<br />
9. Ravichandran D. and Hovy E. Learning surface text patterns for a question<br />
answering system. In ACL Confer<strong>en</strong>ce, 2002.<br />
10. Vicedo, J.L., Izquierdo R., Llopis F. and Muñoz R., Question Answering in<br />
Spanish. CLEF 2003 Workshop, Springer-Ver<strong>la</strong>g.<br />
11. Vicedo, J.L., Rodríguez, H., Peñas, A. and Massot, M. Los sistemas <strong>de</strong> Búsqueda<br />
<strong>de</strong> Respuestas <strong>de</strong>s<strong>de</strong> una perspectiva actual. Revista <strong>de</strong> <strong>la</strong> Sociedad Españo<strong>la</strong> para<br />
el Procesami<strong>en</strong>to <strong>de</strong>l L<strong>en</strong>guaje Natural, n.31, 2003.
Proyecto <strong>de</strong> preparación<br />
<strong>de</strong>l corpus paralelo alineado español-inglés<br />
José Angel Vera Félix, Grigori Sidorov<br />
C<strong>en</strong>tro <strong>de</strong> Investigación <strong>en</strong> <strong>Computación</strong>, CIC.<br />
Av. Juan <strong>de</strong> Dios Batíz s/n, casi esq. Miguel Othón <strong>de</strong> M<strong>en</strong>dizabal,<br />
Unidad Profesional "Adolfo López Mateos", Edificio CIC.<br />
Col Nueva Industrial Vallejo, CP 07738, México D.F.<br />
javera@sagitario.cic.ipn.mx, sidorov@cic.ipn.mx<br />
Resum<strong>en</strong>. Se pres<strong>en</strong>ta <strong>la</strong> implem<strong>en</strong>tación <strong>de</strong> una metodología <strong>en</strong>focada a <strong>la</strong><br />
alineación <strong>de</strong> textos paralelos, a nivel <strong>de</strong> párrafos y oraciones, para los<br />
l<strong>en</strong>guajes inglés – español. Se <strong>de</strong>scribe el método a seguir y algunos <strong>de</strong> los<br />
resultados obt<strong>en</strong>idos hasta el mom<strong>en</strong>to. Al final, se pres<strong>en</strong>tan los trabajos<br />
futuros re<strong>la</strong>cionados a este proyecto.<br />
Abstract. An implem<strong>en</strong>tation of the methodology for alignm<strong>en</strong>t of parallel<br />
texts at the paragraph level for English and Spanish <strong>la</strong>nguages is pres<strong>en</strong>ted. The<br />
method and some preliminary results are <strong>de</strong>scribed. Future directions of<br />
<strong>de</strong>velopom<strong>en</strong>t are pres<strong>en</strong>ted.<br />
Pa<strong>la</strong>bras C<strong>la</strong>ve: Alineación <strong>de</strong> textos, corpus paralelo alineado, <strong>de</strong>tección <strong>de</strong><br />
párrafos.<br />
1 Introducción<br />
D<strong>en</strong>tro <strong>de</strong> <strong>la</strong> lingüística computacional, exist<strong>en</strong> campos <strong>de</strong> investigación que se<br />
apoyan, <strong>en</strong> gran medida, <strong>en</strong> recursos lingüísticos electrónicos tales como periódicos o<br />
revistas, si<strong>en</strong>do <strong>la</strong> traducción automática un ejemplo <strong>de</strong> ellos.<br />
Mucho se ha dicho sobre <strong>la</strong> función <strong>de</strong> Internet como un gran corpus electrónico<br />
[5]; los investigadores cu<strong>en</strong>tan con una gran cantidad <strong>de</strong> material <strong>de</strong> estudio <strong>en</strong> esta<br />
vasta cantidad <strong>de</strong> textos electrónicos, <strong>en</strong> sus muy diversos l<strong>en</strong>guajes, que se g<strong>en</strong>eran<br />
hoy <strong>en</strong> día y que se distribuy<strong>en</strong> <strong>en</strong> Internet.<br />
Un campo <strong>de</strong> trabajo <strong>de</strong> interés actual es el que está conformado por los corpus<br />
paralelos. Dicho campo se ve b<strong>en</strong>eficiado por <strong>la</strong> disponibilidad, <strong>en</strong> Internet, <strong>de</strong> los<br />
textos multilingües que conforman este tipo <strong>de</strong> corpus. Un corpus paralelo es un caso<br />
especial <strong>de</strong> un corpus multilingüe, el cual agrupa el mismo texto <strong>en</strong> diversas l<strong>en</strong>guas.<br />
En nuestro caso, manejamos textos <strong>en</strong> dos l<strong>en</strong>guas difer<strong>en</strong>tes, a saber, el inglés y el<br />
español.<br />
Para efectos <strong>de</strong> investigación, no basta con recopi<strong>la</strong>r textos para formar un corpus<br />
paralelo; un material <strong>de</strong> este tipo no es <strong>de</strong> mucha utilidad pues los textos no son<br />
fácilm<strong>en</strong>te procesados por los programas actuales usados <strong>en</strong> este campo. Para<br />
aprovechar al máximo el material, los textos <strong>de</strong>b<strong>en</strong> estar estructurados <strong>de</strong> manera tal<br />
que se facilite su análisis.
De tal suerte, se pone <strong>en</strong> evid<strong>en</strong>cia <strong>la</strong> necesidad <strong>de</strong> procesar los corpus paralelos<br />
para que qued<strong>en</strong> <strong>en</strong> un formato útil para los investigadores y manejables para el<br />
software. Uno <strong>de</strong> los tratami<strong>en</strong>tos más importantes que se aplica al corpus paralelo es<br />
lo que se conoce como <strong>la</strong> alineación. La alineación <strong>de</strong> los textos es un primer paso,<br />
muy necesario, que g<strong>en</strong>erará lo que se conoce como un corpus paralelo alineado.<br />
Alinear significa establecer <strong>la</strong> correspond<strong>en</strong>cia <strong>en</strong>tre los elem<strong>en</strong>tos estructurales <strong>de</strong><br />
textos –párrafos, s<strong>en</strong>t<strong>en</strong>cias o pa<strong>la</strong>bras.<br />
Un tipo <strong>de</strong> software que trabaja con textos paralelos y que requiere que los textos<br />
estén alineados es el que conti<strong>en</strong>e los programas <strong>de</strong> concordancias [1].<br />
Para <strong>en</strong>t<strong>en</strong><strong>de</strong>r <strong>la</strong> gran importancia <strong>de</strong> los corpus paralelos alineados, y por <strong>en</strong><strong>de</strong>, <strong>de</strong>l<br />
proceso <strong>de</strong> alineación, basta con ver <strong>la</strong> gran influ<strong>en</strong>cia que estos recursos han t<strong>en</strong>ido<br />
<strong>en</strong> los avances alcanzados <strong>en</strong> <strong>la</strong>s investigaciones sobre traducción automática,<br />
<strong>en</strong>señanza <strong>de</strong> l<strong>en</strong>guas extranjeras [3] y lingüística contrastiva [6].<br />
2 Textos Paralelos y su Alineación<br />
Los textos paralelos son textos que ti<strong>en</strong><strong>en</strong> el mismo cont<strong>en</strong>ido semántico, pero<br />
expresado <strong>en</strong> l<strong>en</strong>guajes difer<strong>en</strong>tes [8]. Recib<strong>en</strong> también el nombre <strong>de</strong> corpus paralelos,<br />
bilingües o bitextos. Son ejemplos <strong>de</strong> textos paralelos los manuales <strong>de</strong> productos<br />
electrónicos que pres<strong>en</strong>tan <strong>la</strong> misma información al usuario, pero <strong>en</strong> difer<strong>en</strong>tes<br />
l<strong>en</strong>guajes.<br />
El término “paralelo” no implica que los textos t<strong>en</strong>gan una correspond<strong>en</strong>cia exacta<br />
<strong>en</strong>tre pa<strong>la</strong>bras, oraciones y/o párrafos; es <strong>de</strong>cir, dos textos pued<strong>en</strong> estar<br />
completam<strong>en</strong>te <strong>de</strong>salineados sin <strong>de</strong>jar <strong>de</strong> ser textos paralelos.<br />
La alineación <strong>de</strong> un corpus paralelo consiste <strong>en</strong> <strong>la</strong> reestructuración <strong>de</strong> los textos <strong>de</strong><br />
forma tal que se establezca una correspond<strong>en</strong>cia <strong>en</strong>tre los párrafos, <strong>la</strong>s s<strong>en</strong>t<strong>en</strong>cias y/o<br />
<strong>la</strong>s pa<strong>la</strong>bras <strong>de</strong> los textos involucrados. Consi<strong>de</strong>rando los l<strong>en</strong>guajes inglés y español,<br />
el alineado se pue<strong>de</strong> llevar a cabo dividi<strong>en</strong>do <strong>en</strong> secciones el texto <strong>en</strong> inglés y<br />
<strong>de</strong>fini<strong>en</strong>do, para cada una <strong>de</strong> estas secciones, una sección <strong>de</strong>l texto <strong>en</strong> español que<br />
empate lo mejor posible con <strong>la</strong> sección <strong>en</strong> inglés [7], o al revés.<br />
Algunos autores, <strong>en</strong>tre ellos [7], distingu<strong>en</strong> cuatro difer<strong>en</strong>tes niveles <strong>de</strong> alineación,<br />
asaber:<br />
• Alineación <strong>de</strong> 1er ord<strong>en</strong>: Alineación utilizada cuando los textos que conforman el<br />
corpus son muy cortos. Se d<strong>en</strong>omina alineación a nivel <strong>de</strong> texto (completo).<br />
• Alineación <strong>de</strong> 2do ord<strong>en</strong>: La alineación <strong>de</strong> 2do grado se refiere a <strong>la</strong> alineación<br />
don<strong>de</strong> los segm<strong>en</strong>tos por alinear son los párrafos.<br />
• Alineación <strong>de</strong> 3er ord<strong>en</strong>: La alineación <strong>de</strong> 3er grado se refiere a <strong>la</strong> alineación<br />
don<strong>de</strong> los segm<strong>en</strong>tos por alinear son <strong>la</strong>s oraciones.<br />
• Alineación <strong>de</strong> 4to ord<strong>en</strong>: La alineación <strong>de</strong> 4to grado se refiere a <strong>la</strong> alineación<br />
don<strong>de</strong> los segm<strong>en</strong>tos por alinear son <strong>la</strong>s pa<strong>la</strong>bras.<br />
La tab<strong>la</strong> 1 proporciona un ejemplo, muy simplificado, <strong>de</strong> un texto alineado a nivel<br />
<strong>de</strong> oración.
Tab<strong>la</strong> 1. Ejemplo <strong>de</strong> texto alineado a nivel <strong>de</strong> oración<br />
Texto <strong>en</strong> inglés.<br />
BudaPesth seems a won<strong>de</strong>rful p<strong>la</strong>ce,<br />
fromtheglimpsewhichIgotofitfromthe<br />
train and the little I could walk through the<br />
streets.<br />
feared to go very far from the station,<br />
as we had arrived <strong>la</strong>te and would start as<br />
near the correct time as possible.<br />
Texto <strong>en</strong> español.<br />
Budapest parece un lugar maravilloso, a<br />
juzgar por lo poco que pu<strong>de</strong> ver <strong>de</strong> el<strong>la</strong> <strong>de</strong>s<strong>de</strong> el<br />
tr<strong>en</strong> y por <strong>la</strong> pequeña caminata que di por sus<br />
calles.<br />
Temí alejarme mucho <strong>de</strong> <strong>la</strong> estación, ya<br />
que, como habíamos llegado tar<strong>de</strong>, saldríamos<br />
lo más cerca posible <strong>de</strong> <strong>la</strong> hora fijada.<br />
3 Recopi<strong>la</strong>ción <strong>de</strong>l Corpus<br />
Para crear el corpus paralelo se recopi<strong>la</strong>ron obras literarias clásicas (nove<strong>la</strong>s) <strong>en</strong><br />
formato electrónico. Los textos se obtuvieron <strong>de</strong> Internet <strong>de</strong> <strong>la</strong>s sigui<strong>en</strong>tes direcciones:<br />
• (Textos <strong>en</strong> español) http://www.artnove<strong>la</strong>.com.ar/<br />
• (Textos <strong>en</strong> español) http://www.librodot.com/<br />
• (Textos <strong>en</strong> inglés) http://www.promo.net/pg/<br />
Las traducciones al español fueron llevadas a cabo por varios traductores, lo que<br />
implica que hay difer<strong>en</strong>tes estilos <strong>de</strong> traducción. Lo anterior pue<strong>de</strong> ser consi<strong>de</strong>rado un<br />
factor importante al mom<strong>en</strong>to <strong>de</strong> probar <strong>la</strong> aplicación <strong>de</strong> alineación pues el software<br />
<strong>de</strong>be resultar efici<strong>en</strong>te sin importar el estilo o t<strong>en</strong>d<strong>en</strong>cia <strong>de</strong> los textos <strong>en</strong> cuestión. Un<br />
factor que dificulta el proceso <strong>de</strong> alineación es <strong>la</strong> inclusión, <strong>en</strong> <strong>la</strong> traducción, <strong>de</strong><br />
com<strong>en</strong>tarios que no son parte <strong>de</strong>l original.<br />
La tab<strong>la</strong> 2 muestra algunas <strong>de</strong> <strong>la</strong>s obras literarias que conforman el corpus:<br />
Tab<strong>la</strong> 2. Obras literarias usadas <strong>en</strong> el corpus paralelo<br />
Autor Título inglés Título español<br />
James, H<strong>en</strong>ry The turn of the screw Otra vuelta <strong>de</strong> tuerca<br />
Shelley, Mary Frank<strong>en</strong>stein Frank<strong>en</strong>stein<br />
Stoker, Bram Drácu<strong>la</strong> Drácu<strong>la</strong><br />
Verne, Julio Five weeks in a balloon Cinco semanas <strong>en</strong> globo<br />
Verne, Julio From the earth to the moon De <strong>la</strong> tierra a <strong>la</strong> luna<br />
4 Detección <strong>de</strong> Segm<strong>en</strong>tos <strong>de</strong> Texto<br />
El pres<strong>en</strong>te trabajo implem<strong>en</strong>ta <strong>la</strong>s bases para un mecanismo <strong>de</strong> alineación <strong>de</strong> textos a<br />
nivel <strong>de</strong> oraciones y <strong>de</strong> párrafos. Se ha <strong>de</strong>sarrol<strong>la</strong>do un programa que realiza el<br />
alineado a nivel <strong>de</strong> párrafos y se sigue trabajando <strong>en</strong> <strong>la</strong>s técnicas <strong>de</strong> alineado que<br />
<strong>de</strong>b<strong>en</strong> ser incluidas <strong>en</strong> este programa.<br />
4.1 Detección <strong>de</strong> párrafos<br />
El trabajo <strong>de</strong> <strong>de</strong>tección <strong>de</strong> párrafos es mucho más simple que el trabajo <strong>de</strong> <strong>de</strong>tección<br />
<strong>de</strong> oraciones, lo cual resulta fortuito ya que <strong>la</strong> alineación a nivel <strong>de</strong> oraciones mejora
mucho si se realiza primero <strong>la</strong> alineación a nivel <strong>de</strong> párrafos. El algoritmo<br />
implem<strong>en</strong>tado maneja algunos problemas tales como <strong>la</strong> <strong>de</strong>tección <strong>de</strong> varios<br />
<strong>de</strong>limitadores <strong>de</strong> párrafo (retorno <strong>de</strong> carro) consecutivos, los cuales <strong>de</strong>b<strong>en</strong> ser<br />
ignorados. Otro posible caso que <strong>de</strong>be ser at<strong>en</strong>dido es que, si <strong>en</strong> el texto se <strong>de</strong>tecta<br />
una línea completa <strong>de</strong> espacios sin texto real que <strong>de</strong>ba ser consi<strong>de</strong>rado como un<br />
párrafo.<br />
Para verificar si el programa <strong>de</strong>sarrol<strong>la</strong>do id<strong>en</strong>tifica correctam<strong>en</strong>te los párrafos <strong>de</strong><br />
algunos textos <strong>de</strong> prueba, se comparó el número <strong>de</strong> párrafos <strong>de</strong>tectados por nuestra<br />
implem<strong>en</strong>tación con el número <strong>de</strong> párrafos <strong>de</strong>tectados por Word. Cabe ac<strong>la</strong>rar que<br />
solo se está comparando el número <strong>de</strong> párrafos <strong>de</strong>tectados.<br />
Algo que repres<strong>en</strong>ta un problema es el hecho <strong>de</strong> que <strong>la</strong> implem<strong>en</strong>tación consi<strong>de</strong>ra<br />
como párrafos los títulos, <strong>en</strong>cabezados, y otros elem<strong>en</strong>tos. Sin información alguna<br />
acerca <strong>de</strong>l texto (metadatos), una posible manera <strong>de</strong> <strong>de</strong>cidir si un segm<strong>en</strong>to <strong>de</strong> texto es<br />
un párrafo, es consi<strong>de</strong>rando el tamaño, <strong>en</strong> caracteres, <strong>de</strong>l mismo; los títulos o<br />
<strong>en</strong>cabezados ti<strong>en</strong>d<strong>en</strong> a cont<strong>en</strong>er pocos caracteres respecto a los párrafos normales.<br />
4.2 Detección <strong>de</strong> oraciones<br />
Se está trabajando <strong>en</strong> el algoritmo para <strong>la</strong> <strong>de</strong>tección <strong>de</strong> oraciones. El <strong>de</strong>limitador más<br />
conocido para <strong>la</strong>s oraciones es el punto “.”, sin embargo, <strong>de</strong>bido a que este elem<strong>en</strong>to<br />
es usado también para otras funciones, no po<strong>de</strong>mos basar el algoritmo <strong>en</strong> este único<br />
factor.<br />
El algoritmo <strong>de</strong>be reconocer elem<strong>en</strong>tos tales como Sr., Ing., Dr., 3.1416, etc.),<br />
etc.”. Cualquiera <strong>de</strong> estos elem<strong>en</strong>tos pue<strong>de</strong> ser, o pue<strong>de</strong> no ser, el final <strong>de</strong> <strong>la</strong> oración.<br />
Si <strong>de</strong>spués <strong>de</strong> <strong>la</strong> sig<strong>la</strong> <strong>la</strong> sigui<strong>en</strong>te pa<strong>la</strong>bra inicia con mayúscu<strong>la</strong> se consi<strong>de</strong>ra que <strong>la</strong><br />
sig<strong>la</strong> finaliza <strong>la</strong> s<strong>en</strong>t<strong>en</strong>cia. Este razonami<strong>en</strong>to pres<strong>en</strong>ta problemas para <strong>la</strong>s sig<strong>la</strong>s que<br />
d<strong>en</strong>otan a una persona pues “Dr. Dante” id<strong>en</strong>tifica a “Dr.” como el final <strong>de</strong> <strong>la</strong><br />
oración. En el caso <strong>de</strong> los números <strong>la</strong> id<strong>en</strong>tificación es más s<strong>en</strong>cil<strong>la</strong> pues si <strong>de</strong>spués<br />
<strong>de</strong>l punto no se sigue otro número (3.) o símbolo se <strong>en</strong>ti<strong>en</strong><strong>de</strong> que este número termina<br />
<strong>la</strong> oración.<br />
También se cuida el hecho <strong>de</strong> que algui<strong>en</strong> pue<strong>de</strong> omitir el punto final <strong>de</strong> oración al<br />
terminar un párrafo, <strong>en</strong> este caso se <strong>de</strong>tecta y se etiqueta el fin <strong>de</strong> oración.<br />
En <strong>la</strong> tab<strong>la</strong> 3 se pres<strong>en</strong>ta el resultado obt<strong>en</strong>ido al analizar uno <strong>de</strong> los párrafos<br />
escritos <strong>en</strong> esta sección. Se pue<strong>de</strong> observar el error com<strong>en</strong>tado sobre “Dr. Dante”.<br />
Tab<strong>la</strong> 3. Detección <strong>de</strong> s<strong>en</strong>t<strong>en</strong>cias<br />
El algoritmo <strong>de</strong>be reconocer elem<strong>en</strong>tos tales como Sr., Ing., Dr., 3.1416, etc.),<br />
etc.". Cualquiera <strong>de</strong> estos elem<strong>en</strong>tos pue<strong>de</strong>, o pue<strong>de</strong> no, ser el final<br />
<strong>de</strong> <strong>la</strong> s<strong>en</strong>t<strong>en</strong>cia. Si <strong>de</strong>spués <strong>de</strong> <strong>la</strong> sig<strong>la</strong> <strong>la</strong> sigui<strong>en</strong>te pa<strong>la</strong>bra inicia<br />
con mayúscu<strong>la</strong> se consi<strong>de</strong>ra que <strong>la</strong> sig<strong>la</strong> finaliza <strong>la</strong> s<strong>en</strong>t<strong>en</strong>cia. Este<br />
razonami<strong>en</strong>to pres<strong>en</strong>ta problemas para <strong>la</strong>s sig<strong>la</strong>s que d<strong>en</strong>otan a una persona pues "Dr.<br />
Dante" id<strong>en</strong>tifica a "Dr." como el final <strong>de</strong> <strong>la</strong> s<strong>en</strong>t<strong>en</strong>cia. <br />
En el caso <strong>de</strong> los número <strong>la</strong> id<strong>en</strong>tificación es más s<strong>en</strong>cil<strong>la</strong> pues si <strong>de</strong>spués <strong>de</strong>l<br />
punto no se sigue otro número (3.) o símbolo se <strong>en</strong>ti<strong>en</strong><strong>de</strong> que este número termina <strong>la</strong> s<strong>en</strong>t<strong>en</strong>cia.<br />
5 Metodología <strong>de</strong> Alineación Empleada<br />
Actualm<strong>en</strong>te hay bastante trabajo <strong>de</strong> investigación respecto a <strong>la</strong> alineación. En <strong>la</strong> tab<strong>la</strong><br />
4 se <strong>en</strong>umeran algunas investigaciones refer<strong>en</strong>tes a <strong>la</strong> alineación a nivel <strong>de</strong> oraciones:<br />
Tab<strong>la</strong> 4. Artículos <strong>de</strong>sarrol<strong>la</strong>dos sobre alineación <strong>de</strong> textos a nivel <strong>de</strong> oraciones<br />
Artículo L<strong>en</strong>guajes Método<br />
Brown et al. (1991c) Inglés, Francés # <strong>de</strong> pa<strong>la</strong>bras<br />
Gale & Church (1993) Inglés, Francés, Alemán # <strong>de</strong> caracteres<br />
Church (1993) Varios Señales 4-gram<br />
Fung & McKeown (1994) Inglés, Cantonés Señales léxicas<br />
Kay & Röscheis<strong>en</strong> (1993) Inglés, Francés, Alemán Léxico<br />
Ch<strong>en</strong> (1993) Inglés, Francés Léxico<br />
Obsérvese que, <strong>de</strong> estos, ninguno consi<strong>de</strong>ra al español d<strong>en</strong>tro <strong>de</strong> sus<br />
investigaciones (aunque no se afirma que no exista trabajo al respecto). Esto pue<strong>de</strong><br />
ser un inconv<strong>en</strong>i<strong>en</strong>te si se consi<strong>de</strong>ra <strong>la</strong>s técnicas lingüísticas, pues éstas son<br />
<strong>de</strong>p<strong>en</strong>di<strong>en</strong>tes <strong>de</strong>l l<strong>en</strong>guaje, no así <strong>la</strong>s técnicas estadísticas.<br />
Se pue<strong>de</strong> observar que <strong>la</strong>s investigaciones sobre alineación <strong>de</strong> textos han seguido<br />
dos corri<strong>en</strong>tes, a saber, <strong>la</strong> corri<strong>en</strong>te estadística y <strong>la</strong> corri<strong>en</strong>te lingüística.<br />
Las técnicas estadísticas ofrec<strong>en</strong> una gran velocidad <strong>en</strong> el proceso <strong>de</strong> alineación y<br />
cierta in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>cia <strong>en</strong>tre <strong>la</strong> técnica y los l<strong>en</strong>guajes que se están tratando. Su punto<br />
débil es que este método pue<strong>de</strong> fal<strong>la</strong>r si <strong>la</strong> traducción no cumple con <strong>la</strong> filosofía sobre<br />
<strong>la</strong> cual se apoya dicha técnica. El cumplir con <strong>la</strong> filosofía implica que <strong>la</strong> traducción<br />
<strong>de</strong>be t<strong>en</strong>er alta semejanza estructural con el texto original; oraciones gran<strong>de</strong>s (<strong>en</strong><br />
caracteres) <strong>en</strong> el original ti<strong>en</strong>d<strong>en</strong> a ser traducidas a oraciones gran<strong>de</strong>s y oraciones<br />
cortas ti<strong>en</strong>d<strong>en</strong> a ser traducidas a oraciones cortas [4].<br />
Las técnicas lingüísticas ti<strong>en</strong>d<strong>en</strong> a ser mucho más l<strong>en</strong>tas <strong>en</strong> el proceso <strong>de</strong> alineado,<br />
a<strong>de</strong>más <strong>de</strong> que resultan <strong>de</strong>p<strong>en</strong>di<strong>en</strong>tes <strong>de</strong> los l<strong>en</strong>guajes tratados. No obstante, se espera<br />
que éstas g<strong>en</strong>er<strong>en</strong> mejores resultados al consi<strong>de</strong>rar el s<strong>en</strong>tido <strong>de</strong> los textos. Por<br />
ejemplo, se pued<strong>en</strong> consi<strong>de</strong>rar nombres propios, datos numéricos o cognados para que,<br />
a partir <strong>de</strong> estos elem<strong>en</strong>tos, se t<strong>en</strong>ga un punto <strong>de</strong> refer<strong>en</strong>cia <strong>en</strong>tre <strong>la</strong>s oraciones <strong>de</strong><br />
ambos textos.<br />
De [4] tomamos <strong>la</strong> i<strong>de</strong>a <strong>de</strong> alinear los párrafos consi<strong>de</strong>rando sus tamaños <strong>en</strong><br />
caracteres. [4] seña<strong>la</strong> que, <strong>en</strong> un texto y su traducción, se observa una corre<strong>la</strong>ción<br />
respecto a sus tamaños. La corre<strong>la</strong>ción es una especie <strong>de</strong> esca<strong>la</strong> que nos dice, por<br />
ejemplo, que a cada 2 caracteres <strong>de</strong>l texto <strong>en</strong> inglés le correspon<strong>de</strong> 1 carácter <strong>de</strong> <strong>la</strong><br />
traducción. La i<strong>de</strong>a que tomamos es que, si dos textos (los originales, inglés y su<br />
traducción) ti<strong>en</strong><strong>en</strong> un valor <strong>de</strong> corre<strong>la</strong>ción (<strong>de</strong>finido <strong>en</strong> 1) n, duranteelproceso<strong>de</strong><br />
alineado se anexarán párrafos <strong>de</strong> manera tal que se obt<strong>en</strong>ga una corre<strong>la</strong>ción resultante<br />
yéstaserámáscercanaan <strong>en</strong> cuanto mejor alineados estén los textos resultantes.<br />
La corre<strong>la</strong>ción <strong>en</strong>tre los textos (corre<strong>la</strong>ción texto, Ct) se basa <strong>en</strong> el número <strong>de</strong><br />
caracteres <strong>de</strong>l texto fu<strong>en</strong>te (caracteres texto fu<strong>en</strong>te, Ctf) y <strong>de</strong>l texto <strong>de</strong>stino<br />
(caracteres texto <strong>de</strong>stino, Ctd). Esta corre<strong>la</strong>ción se <strong>de</strong>fine como:<br />
Ctf<br />
Ct = (1)<br />
Ctd
Después <strong>de</strong> calcu<strong>la</strong>r Ct se inicia un proceso <strong>en</strong> el cual se selecciona un párrafo por<br />
cada texto y se calcu<strong>la</strong> <strong>la</strong> corre<strong>la</strong>ción específica para estos párrafos (corre<strong>la</strong>ción<br />
párrafo, Cp). Lo que se busca es que Cp se acerque lo más posible a Ct.<br />
Al calcu<strong>la</strong>r Cp, t<strong>en</strong>dremos una <strong>de</strong> dos situaciones y acciones a realizar:<br />
• Cp < Ct: Debemos anexar otro párrafo <strong>en</strong> el texto original (inglés).<br />
• Cp > Ct: Debemos anexar otro párrafo <strong>en</strong> el texto <strong>de</strong>stino (español).<br />
Siempre que anexamos un párrafo <strong>en</strong> cualquiera <strong>de</strong> los textos, Cp se recalcu<strong>la</strong>, con<br />
lo que dicho parámetro se acerca cada vez más a Ct. En esta operación se observa que<br />
hay ocasiones <strong>en</strong> que el ord<strong>en</strong> se invierte (si Cp < Ct y se anexa un párrafo <strong>en</strong> inglés<br />
se obti<strong>en</strong>e Cp > Ct). Los textos quedan alineados por párrafos una vez que se ha<br />
reducido <strong>la</strong> difer<strong>en</strong>cia <strong>en</strong>tre Cp y Ct hasta un cierto nivel y sin que ocurra <strong>la</strong> inversión.<br />
El programa <strong>de</strong>sarrol<strong>la</strong>do aun <strong>de</strong>p<strong>en</strong><strong>de</strong> <strong>en</strong> gran medida <strong>de</strong> <strong>la</strong> interv<strong>en</strong>ción <strong>de</strong>l<br />
usuario, <strong>la</strong> herrami<strong>en</strong>ta solo hace suger<strong>en</strong>cias sobre qué párrafo anexar y estas<br />
suger<strong>en</strong>cias <strong>la</strong>s <strong>de</strong>termina <strong>de</strong> acuerdo al valor Cp calcu<strong>la</strong>do <strong>en</strong> cada mom<strong>en</strong>to. En una<br />
aplicación semiautomática se <strong>de</strong>be realizar el alineado por si mismo y sólo <strong>en</strong> el caso<br />
<strong>en</strong> que se <strong>en</strong>tre a un ciclo <strong>de</strong> inversiones <strong>de</strong> corre<strong>la</strong>ciones se <strong>de</strong>be activar un modo <strong>de</strong><br />
uso manual para que sea el usuario qui<strong>en</strong> <strong>de</strong>cida <strong>la</strong> alineación <strong>de</strong>seada.<br />
6 Resultados<br />
Con el trabajo realizado hasta el mom<strong>en</strong>to, se han obt<strong>en</strong>ido algunos resultados <strong>en</strong><br />
cuanto a <strong>la</strong> alineación <strong>de</strong> párrafos. Se muestra a continuación <strong>la</strong> aplicación <strong>de</strong>l método<br />
a partir <strong>de</strong> un fragm<strong>en</strong>to <strong>de</strong> “Drácu<strong>la</strong>”. Debido a <strong>la</strong>s limitaciones <strong>de</strong> espacio, no se<br />
pres<strong>en</strong>tan <strong>la</strong>s pantal<strong>la</strong>s <strong>de</strong>l software; so<strong>la</strong>m<strong>en</strong>te el texto, los valores <strong>de</strong> Ct y Cp, y<strong>la</strong><br />
difer<strong>en</strong>cia (Dif). Se pres<strong>en</strong>ta <strong>en</strong> <strong>la</strong> tab<strong>la</strong> 5 el párrafo <strong>en</strong> inglés y <strong>en</strong> <strong>la</strong> tab<strong>la</strong> 6 el párrafo<br />
<strong>en</strong> español, seleccionados inicialm<strong>en</strong>te. En <strong>la</strong>s tab<strong>la</strong>s 7 y 8 se pres<strong>en</strong>tan el primer y<br />
segundo párrafos <strong>en</strong> español anexados. Debajo <strong>de</strong> cada una <strong>de</strong> <strong>la</strong>s tab<strong>la</strong>s 6, 7 y 8 se<br />
dan los valores calcu<strong>la</strong>dos. En <strong>la</strong> tab<strong>la</strong> 9 se observa <strong>la</strong> inversión que ocurriría al<br />
anexar otro párrafo más, lo cual ya no <strong>de</strong>ja alineado el texto <strong>en</strong> español con el <strong>de</strong><br />
inglés, Cp se empieza a alejar <strong>de</strong> Ct.<br />
Tab<strong>la</strong> 5. Párrafo inicial <strong>en</strong> inglés<br />
3 May. Bistritz.__Left Munich at 8:35 P.M, on 1st May, arriving at Vi<strong>en</strong>na early next morning;<br />
should have arrived at 6:46, but train was an hour <strong>la</strong>te. BudaPesth seems a won<strong>de</strong>rful p<strong>la</strong>ce,<br />
from the glimpse which I got of it from the train and the little I could walk through the streets.<br />
feared to go very far from the station, as we had arrived <strong>la</strong>te and would start as near the<br />
correct time as possible. The impression I had was that we were leaving the West and <strong>en</strong>tering<br />
the East; the most western of spl<strong>en</strong>did bridges over the Danube, which is here of noble width<br />
and <strong>de</strong>pth, took us among the traditions of Turkish rule.<br />
Tab<strong>la</strong> 6. Párrafo inicial <strong>en</strong> español<br />
Bistritz, 3 <strong>de</strong> mayo. Salí <strong>de</strong> Münich a <strong>la</strong>s 8:35 <strong>de</strong> <strong>la</strong> noche <strong>de</strong>l primero <strong>de</strong> mayo, llegué a<br />
Vi<strong>en</strong>a a <strong>la</strong> mañana sigui<strong>en</strong>te, temprano; <strong>de</strong>bí haber llegado a <strong>la</strong>s seis cuar<strong>en</strong>ta y seis; el tr<strong>en</strong><br />
llevaba una hora <strong>de</strong> retraso.<br />
Ct = 0.875; Cp = 2.953; Dif = 2.079
Tab<strong>la</strong> 7. Primer párrafo sugerido y anexado (español)<br />
Budapest parece un lugar maravilloso, a juzgar por lo poco que pu<strong>de</strong> ver <strong>de</strong> el<strong>la</strong> <strong>de</strong>s<strong>de</strong> el tr<strong>en</strong><br />
y por <strong>la</strong> pequeña caminata que di por sus calles. Temí alejarme mucho <strong>de</strong> <strong>la</strong> estación, ya que,<br />
como habíamos llegado tar<strong>de</strong>, saldríamos lo más cerca posible <strong>de</strong> <strong>la</strong> hora fijada.<br />
Ct = 0.875; Cp = 1.298; Dif = 0.424<br />
Tab<strong>la</strong> 8. Segundo párrafo sugerido y anexado (español)<br />
La impresión que tuve fue que estábamos sali<strong>en</strong>do <strong>de</strong>l oeste y <strong>en</strong>trando al este. Por el más<br />
occid<strong>en</strong>tal <strong>de</strong> los espléndidos pu<strong>en</strong>tes sobre el Danubio, que aquí es <strong>de</strong> gran anchura y<br />
profundidad, llegamos a los lugares <strong>en</strong> otro tiempo sujetos al dominio <strong>de</strong> los turcos.<br />
Ct = 0.875; Cp = 0.836; Dif = 0.038<br />
Tab<strong>la</strong> 9. Tercer párrafo no sugerido (español)<br />
Salimos con bastante bu<strong>en</strong> tiempo, y era noche cerrada cuando llegamos a K<strong>la</strong>us<strong>en</strong>burg,<br />
don<strong>de</strong> pasé <strong>la</strong> noche <strong>en</strong> el hotel Royale. En <strong>la</strong> comida, o mejor dicho, <strong>en</strong> <strong>la</strong> c<strong>en</strong>a, comí pollo<br />
preparado con pim<strong>en</strong>tón rojo, que estaba muy sabroso, pero que me dio mucha sed.<br />
Ct = 0.875; Cp = 0.619; Dif = 0.255<br />
7 Conclusiones<br />
Se ha pres<strong>en</strong>tado una aproximación <strong>de</strong> alineación <strong>de</strong> textos, inglés - español, a nivel<br />
<strong>de</strong> párrafos. Se pres<strong>en</strong>taron también algunos <strong>de</strong> los resultados obt<strong>en</strong>idos.<br />
Hasta ahora sólo se ha usado el valor <strong>de</strong> corre<strong>la</strong>ción <strong>en</strong>tre los textos para saber que<br />
párrafo <strong>de</strong>be ser anexado (<strong>en</strong> que idioma). Se observó, durante <strong>la</strong>s pruebas, que el<br />
método funciona <strong>de</strong> manera a<strong>de</strong>cuada siempre y cuando <strong>la</strong> traducción respete <strong>la</strong><br />
estructura <strong>de</strong>l texto original. Si un párrafo <strong>de</strong>l texto original se ha dividido <strong>en</strong> n<br />
párrafos <strong>en</strong> <strong>la</strong> traducción, durante <strong>la</strong> alineación se unirán los párrafos segm<strong>en</strong>tados (<strong>de</strong><br />
acuerdo a Cp) para formar un solo párrafo que se correspon<strong>de</strong> con el original (los<br />
párrafos <strong>de</strong> <strong>la</strong>s tab<strong>la</strong>s 6, 7 y 8 se un<strong>en</strong> y alinean con el párrafo <strong>de</strong> <strong>la</strong> tab<strong>la</strong> 5).<br />
El algoritmo <strong>de</strong> [4] emplea programación dinámica y probabilida<strong>de</strong>s <strong>de</strong> alineación,<br />
elem<strong>en</strong>tos que no consi<strong>de</strong>ramos <strong>en</strong> este trabajo. Aún así, se observa <strong>la</strong> misma<br />
<strong>de</strong>p<strong>en</strong>d<strong>en</strong>cia <strong>en</strong>tre <strong>la</strong>s estructuras <strong>de</strong> los textos que se m<strong>en</strong>cionan <strong>en</strong> [4]. Se pres<strong>en</strong>ta<br />
un mal funcionami<strong>en</strong>to cuando esta estructura no se respeta, por ejemplo, <strong>en</strong> una<br />
prueba se omitió un párrafo <strong>en</strong> <strong>la</strong> traducción, lo cual no fue <strong>de</strong>tectado por el programa,<br />
y se empezó a alinear párrafos que no t<strong>en</strong>ían correspond<strong>en</strong>cia <strong>en</strong>tre si. Este es un<br />
problema que se pres<strong>en</strong>ta <strong>en</strong> muchos <strong>de</strong> los métodos estadísticos ya probados, y hay<br />
técnicas que han ayudado a resolverlo, aunque no se ha logrado obt<strong>en</strong>er un método<br />
100% eficaz con métodos puram<strong>en</strong>te estadísticos.<br />
El programa aun no se ha automatizado todavía. La implem<strong>en</strong>tación sólo se limita<br />
a hacer los cálculos y suger<strong>en</strong>cias al usuario; si el usuario comete un error y acepta<br />
una alineación que no es correcta (como <strong>en</strong> tab<strong>la</strong> 9) el sistema no lo <strong>de</strong>tectará y<br />
seguirá con el proceso, t<strong>en</strong>iéndose un caso simi<strong>la</strong>r al <strong>de</strong>scrito <strong>en</strong> el párrafo anterior<br />
(omisión <strong>de</strong> párrafo).
8 Trabajosfuturos<br />
Se <strong>de</strong>be implem<strong>en</strong>tar por completo el método estadístico. Se pi<strong>en</strong>sa que los mejores<br />
resultados <strong>en</strong> tiempos cortos <strong>en</strong> <strong>la</strong> alineación <strong>de</strong> texto se lograrán cuando se combin<strong>en</strong><br />
<strong>la</strong>s técnicas estadísticas y léxicas, esto es algo que se está consi<strong>de</strong>rando implem<strong>en</strong>tar.<br />
Aunque no se m<strong>en</strong>cionó <strong>en</strong> este trabajo, <strong>la</strong> alineación <strong>de</strong> textos g<strong>en</strong>eralm<strong>en</strong>te<br />
implica <strong>la</strong> g<strong>en</strong>eración <strong>de</strong> los textos paralelos alineados y etiquetados. Se está<br />
estudiando el esquema <strong>de</strong> marcación a utilizar, específicam<strong>en</strong>te se pi<strong>en</strong>sa usar el<br />
esquema CES (Corpus Encoding Standard) el cual es una aplicación <strong>de</strong> SGML.<br />
Finalm<strong>en</strong>te, cuando se haya implem<strong>en</strong>tado un método fiable se buscará <strong>la</strong><br />
automatización <strong>de</strong> <strong>la</strong> herrami<strong>en</strong>ta, <strong>la</strong> cual solo <strong>de</strong>be pasar a un funcionami<strong>en</strong>to manual<br />
cuando <strong>de</strong>tecte que no pue<strong>de</strong> obt<strong>en</strong>er una alineación correcta <strong>en</strong> pocas iteraciones.<br />
Refer<strong>en</strong>cias<br />
[1] Barlow, M. (2002). “ParaConc: Concordance software for multilingual parallel corpora”.<br />
Language Resources for Trans<strong>la</strong>tion Work and Research. 20-24.<br />
[2] Brown, P. F., Lai, J. C. & Mercer, R. L. (1991). “Aligning S<strong>en</strong>t<strong>en</strong>ces in Parallel Corpora”.<br />
In Proceedings of the Annual Meeting of the Association for Computational Linguistics –<br />
91, Berkeley, California.<br />
[3] Botley, S. P., McEnery, A. M. & Wilson A. (2000). “Multilingual Corpora in Teaching<br />
and Research”. From the series Language and Computers: Studies in Practical<br />
Linguistics, No 22. Amsterdam; At<strong>la</strong>nta, GA: Rodopi.<br />
[4] Gale, W. A. & Church, K. W. (1991). “A program for Aligning S<strong>en</strong>t<strong>en</strong>ces in Bilingüal<br />
Corpora”. In Proceedings of the Annual Meeting of the Association for Computational<br />
Linguistics, Berkeley, California.<br />
[5] Galicia-Haro, S., A. Gelbukh, I. A. Bolshakov (2004). “Web-based Sources for an Annotated<br />
Corpus Building and Composite Proper Name Id<strong>en</strong>tification”. At<strong>la</strong>ntic Web Intellig<strong>en</strong>ce<br />
Confer<strong>en</strong>ce (AWIC-2004). Lecture Notes in Computer Sci<strong>en</strong>ce, Springer-Ver<strong>la</strong>g.<br />
[6] Johansson, S. (1997). “Using the English-Norwegian Parallel Corpus - a corpus for<br />
contrastive analysis and trans<strong>la</strong>tion studies”. In B. Lewandowska-Tomaszczyk & P.J.<br />
Melia (eds.) Practical applications in <strong>la</strong>nguage corpora. Lódz: Lódz University. 282-296.<br />
[7] Mikhailov, M. (2003). “Parallel Corpus Aligning: Illusions and Perspectives”.<br />
[8] Nevill, C.G., & Bell, T.C., (1992). “Compression of Parallel Texts”. Information<br />
Processing and Managem<strong>en</strong>t, Great Britain: Pergamon Press. 28(6), 781-793.
Uso <strong>de</strong> Lattices para <strong>la</strong><br />
Recuperación <strong>de</strong> Términos<br />
Liset Frague<strong>la</strong> C., Héctor Jiménez S.<br />
Facultad <strong>de</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong><br />
B. Universidad Autónoma <strong>de</strong> Pueb<strong>la</strong><br />
Edif. 135. Ciudad Universitaria, Pueb<strong>la</strong>, Pue. CP 72570. México<br />
Tel. (01222) 229 55 00 ext. 7212 Fax (01222) 229 56 72<br />
lisetfrague<strong>la</strong>@hotmail.com, hjim<strong>en</strong>ez@fcfm.buap.mx<br />
Gerardo Sierra M.<br />
Grupo <strong>de</strong> Ing<strong>en</strong>iería Lingüística<br />
Universidad Nacional Autónoma <strong>de</strong> México<br />
Torre <strong>de</strong> Ing<strong>en</strong>iería, Ciudad Universitaria, México, DF<br />
GSierraM@iing<strong>en</strong>.unam.mx<br />
Abstract: According to the formal concept theory, this paper pres<strong>en</strong>ts the<br />
use of superior and inferior approximations for terminological information retrieval.<br />
The experim<strong>en</strong>ts show the need to incorporate synonym dictionaries to<br />
information retrieval systems, in or<strong>de</strong>r to expand user’s keywords.<br />
Resum<strong>en</strong>: Este artículo pres<strong>en</strong>ta el uso <strong>de</strong> <strong>la</strong>s aproximaciones superior e<br />
inferior, con base <strong>en</strong> <strong>la</strong> teoría <strong>de</strong> conceptos formales, para <strong>la</strong> búsqueda <strong>de</strong> información<br />
terminológica a partir <strong>de</strong> <strong>la</strong> <strong>de</strong>scripción <strong>de</strong>l concepto. Se observa <strong>la</strong><br />
necesidad <strong>de</strong> incorporar diccionarios <strong>de</strong> sinónimos a los sistemas <strong>de</strong> recuperación<br />
<strong>de</strong> información, a fin <strong>de</strong> expandir <strong>la</strong>s pa<strong>la</strong>bras c<strong>la</strong>ve usadas por el usuario.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve: Recuperación <strong>de</strong> información terminológica, <strong>la</strong>ttices, búsqueda<br />
onomasiológica.<br />
1. Introducción<br />
En el campo <strong>de</strong> <strong>la</strong> recuperación <strong>de</strong> información terminológica, se conoce<br />
como búsqueda onomasiológica a aquel<strong>la</strong> <strong>en</strong> <strong>la</strong> que se parte <strong>de</strong> <strong>la</strong> <strong>de</strong>scripción<br />
<strong>de</strong>l concepto para llegar al término que lo <strong>de</strong>signa[8]. El problema es: a partir<br />
<strong>de</strong> <strong>la</strong> <strong>de</strong>scripción <strong>de</strong> algún concepto obt<strong>en</strong>er <strong>la</strong>s pa<strong>la</strong>bras c<strong>la</strong>ve cuya <strong>de</strong>finición<br />
se aproxime a <strong>la</strong> <strong>de</strong>scripción dada. La propuesta que hacemos <strong>en</strong> este trabajo<br />
consiste <strong>en</strong> utilizar <strong>la</strong> aproximación <strong>en</strong> <strong>la</strong>ttices para aplicarlo a Sistemas <strong>de</strong><br />
Recuperación <strong>de</strong> Información. Para <strong>la</strong> aplicación particu<strong>la</strong>r <strong>en</strong> un diccionario<br />
onomasiológico, se realizó una prueba con un glosario o listado <strong>de</strong> conceptos <strong>de</strong>
<strong>la</strong> Física, con base <strong>en</strong> los trabajos que <strong>de</strong>sarrol<strong>la</strong> G.Sierra y J.McNaught[9].<br />
La teoría <strong>de</strong> conceptos formales fue introducida por R. Wille [2]. A partir <strong>de</strong><br />
este p<strong>la</strong>nteami<strong>en</strong>to se han realizado varias aplicaciones <strong>en</strong> difer<strong>en</strong>tes ámbitos [1].<br />
La motivación para utilizar esta teoría es el hecho <strong>de</strong> que un concepto se repres<strong>en</strong>ta<br />
por una pareja cuyo primer compon<strong>en</strong>te es el conjunto <strong>de</strong> ejemp<strong>la</strong>res que<br />
d<strong>en</strong>ota el concepto, y <strong>la</strong> segunda compon<strong>en</strong>te es el conjunto <strong>de</strong> características<br />
que ti<strong>en</strong><strong>en</strong> todos los ejemp<strong>la</strong>res <strong>de</strong>l concepto. A<strong>de</strong>más, consi<strong>de</strong>ramos los trabajos<br />
realizados <strong>en</strong> cuanto a <strong>la</strong> aproximación <strong>de</strong> conceptos [4][3].<br />
Con estas aproximaciones es posible <strong>en</strong>contrar <strong>en</strong> el <strong>la</strong>ttice <strong>de</strong> conceptos<br />
elem<strong>en</strong>tos que aproximan a conjuntos <strong>de</strong> objetos o a conjuntos <strong>de</strong> atributos.<br />
La aplicación que aquí pres<strong>en</strong>tamos consi<strong>de</strong>ra <strong>la</strong> consulta <strong>de</strong>l usuario como un<br />
conjunto <strong>de</strong> atributos y espera obt<strong>en</strong>er un conjunto <strong>de</strong> objetos que aproxim<strong>en</strong><br />
a <strong>la</strong> <strong>de</strong>scripción dada.<br />
2. Anteced<strong>en</strong>tes<br />
Para precisar <strong>la</strong>s i<strong>de</strong>as <strong>de</strong> concepto formal <strong>de</strong>berán consi<strong>de</strong>rarse <strong>la</strong>s cotas superiores<br />
e inferiores <strong>de</strong> un subconjunto S <strong>de</strong> un conjunto ord<strong>en</strong>ado P , asimismo,<br />
si exist<strong>en</strong>, <strong>la</strong> mínima cota superior y máxima cota inferior <strong>de</strong> S: supS e infS,<br />
también d<strong>en</strong>otadas por ∨ S y ∧ S, respectivam<strong>en</strong>te.<br />
Dado un conjunto ord<strong>en</strong>ado P ,six ∧ y y x ∨ y exist<strong>en</strong> para toda pareja<br />
x, y ∈ P , l<strong>la</strong>mamos a P <strong>la</strong>ttice (o retícu<strong>la</strong>). Un contexto (G, M, ϕ) estáformado<br />
por un conjunto <strong>de</strong> objetos, G, un conjunto <strong>de</strong> rasgos, M, y una correspond<strong>en</strong>cia<br />
<strong>de</strong> G <strong>en</strong> M, ϕ. Se <strong>de</strong>fine así un concepto como <strong>la</strong> pareja (A, B), don<strong>de</strong> A ⊂ G<br />
es l<strong>la</strong>mado ext<strong>en</strong>to <strong>de</strong>l concepto, B ⊂ M es l<strong>la</strong>mado int<strong>en</strong>to <strong>de</strong>l concepto. Las<br />
parejas (A, B) <strong>de</strong>b<strong>en</strong> cumplir:<br />
A = B ′ = {g ∈ G | ϕ(g) =m, ∀m ∈ B} (1)<br />
B = A ′ = {m ∈ M | ϕ(g) =m, ∀g ∈ A} (2)<br />
Una re<strong>la</strong>ción <strong>de</strong> ord<strong>en</strong> parcial pue<strong>de</strong> ser construida sobre los elem<strong>en</strong>tos <strong>de</strong>l<br />
<strong>la</strong>ttice <strong>de</strong> conceptos. Dados (A 1 ,B 1 )y(A 2 ,B 2 ) <strong>de</strong>cimos que (A 1 ,B 1 )esmás<br />
particu<strong>la</strong>r que (A 2 ,B 2 ), (A 1 ,B 1 ) ≤ (A 2 ,B 2 ), si y sólo si A 1 ⊆ A 2 , o equival<strong>en</strong>tem<strong>en</strong>te<br />
B 2 ⊆ B 1 . Con lo anterior, <strong>en</strong> un contexto pue<strong>de</strong> <strong>de</strong>mostrarse que para<br />
cada pareja (A 1 ,B 1 )y(A 2 ,B 2 )existeelsup e inf, es <strong>de</strong>cir L es un <strong>la</strong>ttice. En<br />
un <strong>la</strong>ttice L, x es inf-irreducible si para cada y, z ∈ L, x = y ∧ z implica x = y o<br />
x = z; dualm<strong>en</strong>te, un elem<strong>en</strong>to x es sup-irreducible si para cualesquier y, z ∈ L,<br />
x = y ∨ z implica x = y o x = z.<br />
Por otro <strong>la</strong>do, el <strong>en</strong>foque <strong>de</strong> conjuntos rugosos [6] consi<strong>de</strong>ra el empleo <strong>de</strong><br />
re<strong>la</strong>ciones <strong>de</strong> equival<strong>en</strong>cia o tolerancia para hacer aproximaciones a conjuntos.<br />
En un sistema <strong>de</strong> información (G, M), se consi<strong>de</strong>ra G, un conjunto <strong>de</strong> objetos y<br />
M un conjunto <strong>de</strong> atributos. En (G, M) se <strong>de</strong>fin<strong>en</strong> <strong>la</strong>s aproximaciones inferior y<br />
superior <strong>de</strong> X ⊂ G como: X B = {x ∈ G|[x] B ⊂ X} y X B = {x ∈ G|[x] B ∩ X ≠<br />
∅}, respectivam<strong>en</strong>te, don<strong>de</strong> [x] B es <strong>la</strong> c<strong>la</strong>se <strong>de</strong> equival<strong>en</strong>cia que induce B ⊂ M,
<strong>la</strong>s cuales se <strong>de</strong>terminan por [x] B = {y|x.b = y.b, ∀b ∈ B}. Enelcaso<strong>de</strong><strong>la</strong>s<br />
aproximaciones que se han int<strong>en</strong>tado manejar <strong>en</strong> <strong>la</strong> teoría <strong>de</strong> conceptos formales<br />
hay variantes sobre el tipo <strong>de</strong> re<strong>la</strong>ción que induce <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> los elem<strong>en</strong>tos <strong>de</strong><br />
G, permiti<strong>en</strong>do, por ejemplo, re<strong>la</strong>ciones <strong>de</strong> tolerancia (reflexivas y simétricas).<br />
Para este trabajo se empleó <strong>la</strong> aproximación propuesta por Keyun Hu et.al. [4],<br />
como veremos <strong>en</strong>seguida.<br />
Dado el contexto (G, M, ϕ) y correspondi<strong>en</strong>te <strong>la</strong>ttice <strong>de</strong> conceptos L, se <strong>de</strong>fine<br />
gR = {m ∈ M|ϕ(g) =m} para g ∈ G. Así, pue<strong>de</strong> <strong>de</strong>finirse una re<strong>la</strong>ción binaria<br />
J <strong>en</strong> G como: g 1 Jg 2 si y sólo si g 1 R ⊆ g 2 R, don<strong>de</strong> g 1 ,g 2 ∈ G. C<strong>la</strong>ram<strong>en</strong>te,<br />
J es una re<strong>la</strong>ción <strong>de</strong> ord<strong>en</strong> parcial <strong>en</strong> G. D<strong>en</strong>otamos <strong>la</strong>s cotas superiores <strong>de</strong><br />
g como <strong>la</strong> c<strong>la</strong>se <strong>de</strong> ord<strong>en</strong> parcial [g], específicam<strong>en</strong>te [g] ={g ⋆ ∈ G : gJg ⋆ },<br />
yconP el conjunto <strong>de</strong> parejas ([g], [g] ′ ). Si SI es el conjunto <strong>de</strong> todos los<br />
elem<strong>en</strong>tos sup-irreducibles <strong>de</strong> L pue<strong>de</strong> probarse que P = SI [4]. Simi<strong>la</strong>rm<strong>en</strong>te,<br />
dado Rm = {g ∈ G|ϕ(g) =m}, para un contexto (G, M, ϕ), <strong>la</strong> re<strong>la</strong>ción binaria<br />
K sobre M <strong>de</strong>finida como: m 1 Km 2 si y solo si Rm 1 ⊆ Rm 2 , don<strong>de</strong> m 1 ,m 2 ∈ M,<br />
permite referirnos a <strong>la</strong> c<strong>la</strong>se parcial <strong>de</strong> m con [m]: [m] ={m ⋆ ∈ M : mKm ⋆ }.<br />
De manera semejante a los elem<strong>en</strong>tos sup-irreducibles t<strong>en</strong>emos que si II es el<br />
conjunto <strong>de</strong> todos los elem<strong>en</strong>tos inf-irreducibles <strong>de</strong> L y Q es el conjunto <strong>de</strong> todos<br />
los pares ([m] ′ , [m]), <strong>en</strong>tonces Q = II.<br />
Dados B ⊆ M, <strong>la</strong> aproximación inferior (A-Inf) y <strong>la</strong> aproximación superior<br />
(A-Sup) <strong>de</strong> B con respecto a L son:<br />
y<br />
B • = ∩{B ⊆ B ∗ | (B ∗′ ,B ∗ ) ∈ II,} (3)<br />
B • = ∪{B ∗ ⊆ B | (B ∗′ ,B ∗ ) ∈ SI.} (4)<br />
Con estas aproximaciones es posible <strong>en</strong>contrar <strong>en</strong> el <strong>la</strong>ttice <strong>de</strong> conceptos<br />
elem<strong>en</strong>tos que aproximan a conjuntos <strong>de</strong> objetos o a conjuntos <strong>de</strong> atributos.<br />
La aplicación realizada consi<strong>de</strong>ra a <strong>la</strong> consulta <strong>de</strong>l usuario como un conjunto <strong>de</strong><br />
atributos y espera obt<strong>en</strong>er un conjunto <strong>de</strong> objetos que aproxim<strong>en</strong> a <strong>la</strong> <strong>de</strong>scripción<br />
dada.<br />
3. Aplicación <strong>en</strong> un diccionario onomasiológico<br />
Se consi<strong>de</strong>raron los sigui<strong>en</strong>tes datos <strong>de</strong> <strong>en</strong>trada al sistema: dos glosarios <strong>de</strong>l<br />
área <strong>de</strong> Física, uno <strong>de</strong> ellos ti<strong>en</strong>e una <strong>de</strong>finición para cada vocablo y el otro tres<br />
<strong>de</strong>finiciones; una colección <strong>de</strong> consultas y, también, fue utilizado un diccionario<br />
<strong>de</strong> sinónimos.<br />
Un glosario está formado por una lista <strong>de</strong> registros, a <strong>la</strong> vez, cada registro<br />
está compuesto por el nombre <strong>de</strong>l concepto o vocablo (D), que sería <strong>la</strong> <strong>en</strong>trada<br />
<strong>de</strong>l diccionario, y a continuación el conjunto <strong>de</strong> pa<strong>la</strong>bras c<strong>la</strong>ve (T ), que <strong>de</strong>scrib<strong>en</strong><br />
dicho vocablo. El vocabu<strong>la</strong>rio utilizado estará formado por <strong>la</strong>s pa<strong>la</strong>bras c<strong>la</strong>ve<br />
que <strong>de</strong>scrib<strong>en</strong> a todos los vocablos <strong>de</strong>l glosario, eliminando <strong>de</strong> éste <strong>la</strong>s pa<strong>la</strong>bras<br />
cerradas, y truncando el resto con un truncador <strong>de</strong> Porter adaptado al español.
Las c<strong>la</strong>ses parciales pert<strong>en</strong>eci<strong>en</strong>tes a los elem<strong>en</strong>tos <strong>de</strong> II se obti<strong>en</strong><strong>en</strong> <strong>de</strong> una<br />
tab<strong>la</strong> inversa don<strong>de</strong> se repres<strong>en</strong>tan por cada pa<strong>la</strong>bra c<strong>la</strong>ve <strong>de</strong> <strong>la</strong> <strong>de</strong>finición, T i ,<br />
todos los vocablos don<strong>de</strong> ésta aparece. Las c<strong>la</strong>ses que pert<strong>en</strong>ec<strong>en</strong> a los SI, por<br />
otra parte, se obti<strong>en</strong><strong>en</strong> <strong>de</strong> una tab<strong>la</strong> don<strong>de</strong> aparece cada vocablo D j repres<strong>en</strong>tado<br />
por <strong>la</strong>s pa<strong>la</strong>bras c<strong>la</strong>ve que compon<strong>en</strong> su <strong>de</strong>finición.<br />
Parti<strong>en</strong>do <strong>de</strong> estas dos tab<strong>la</strong>s se realizan <strong>la</strong>s aproximaciones superior e inferior<br />
dada una consulta. Para <strong>la</strong> aproximación superior se utiliza <strong>la</strong> tab<strong>la</strong> <strong>de</strong>l SI<br />
y para <strong>la</strong> aproximación inferior <strong>la</strong> tab<strong>la</strong> <strong>de</strong>l II. Estas aproximaciones se obti<strong>en</strong><strong>en</strong><br />
realizando <strong>la</strong>s operaciones que a continuación se indican.<br />
3.1. Aproximación Inferior por atributo (T • )<br />
Suponemos formada, <strong>en</strong>tonces, <strong>la</strong> tab<strong>la</strong> II. Dada una consulta, que a su vez<br />
<strong>de</strong>be t<strong>en</strong>er <strong>la</strong>s mismas características que el texto (es <strong>de</strong>cir, truncado, sin pa<strong>la</strong>bras<br />
repetidas y sin pa<strong>la</strong>bras cerradas), para cada pa<strong>la</strong>bra c<strong>la</strong>ve que compone<br />
dicha consulta se <strong>de</strong>termina <strong>en</strong> qué <strong>de</strong>finiciones <strong>de</strong> vocablos aparece. El próximo<br />
paso será tras<strong>la</strong>par el resultado anterior y <strong>la</strong> Aproximación Inferior (ecuación 3)<br />
estará dada por aquellos vocablos que cont<strong>en</strong>gan <strong>en</strong> su <strong>de</strong>scripción a <strong>la</strong>s pa<strong>la</strong>bras<br />
c<strong>la</strong>ve <strong>de</strong> <strong>la</strong> consulta. Así <strong>la</strong> ecuación 3 se reexpresa como:<br />
T • = ∩{T ⊆ T ∗ | (T ∗′ ,T ∗ ) ∈ II} (5)<br />
3.2. Aproximación Superior por atributo (T • )<br />
Se parte <strong>de</strong> una tab<strong>la</strong> <strong>de</strong> vocablos (SI ) repres<strong>en</strong>tados con sus respectivas<br />
<strong>de</strong>finiciones, don<strong>de</strong> el texto se <strong>en</strong>cu<strong>en</strong>tra truncado, sin pa<strong>la</strong>bras repetidas y sin<br />
pa<strong>la</strong>bras cerradas. La aproximación superior (ecuación 4) es <strong>la</strong> unión <strong>de</strong>l conjunto<br />
<strong>de</strong> vocablos <strong>en</strong> el que <strong>la</strong>s pa<strong>la</strong>bras c<strong>la</strong>ve <strong>de</strong> su <strong>de</strong>finición están cont<strong>en</strong>idas<br />
<strong>en</strong> <strong>la</strong> consulta.<br />
T<strong>en</strong>i<strong>en</strong>do <strong>en</strong> cu<strong>en</strong>ta que <strong>en</strong> muy pocos casos se van cumplir <strong>la</strong>s cont<strong>en</strong>ciones<br />
exactas <strong>en</strong> ambas aproximaciones, se introduce el criterio <strong>de</strong> mayoría. Para<strong>la</strong><br />
Aproximación Superior, el criterio consiste <strong>en</strong> aceptar como válido un vocablo<br />
don<strong>de</strong> <strong>la</strong> mayoría (<strong>la</strong> mitad <strong>de</strong>l total más uno) <strong>de</strong> <strong>la</strong>s pa<strong>la</strong>bras c<strong>la</strong>ve que lo<br />
<strong>de</strong>fin<strong>en</strong> aparezcan <strong>en</strong> <strong>la</strong> consulta. Y, <strong>en</strong> el caso <strong>de</strong> <strong>la</strong> Aproximación Inferior se<br />
refiere a que <strong>la</strong> mayoría <strong>de</strong> <strong>la</strong>s pa<strong>la</strong>bras c<strong>la</strong>ve <strong>de</strong> <strong>la</strong> consulta estén cont<strong>en</strong>idas <strong>en</strong><br />
<strong>la</strong> <strong>de</strong>finición <strong>de</strong> un vocablo.<br />
Pue<strong>de</strong> suce<strong>de</strong>r que no se utilic<strong>en</strong> <strong>en</strong> <strong>la</strong> consulta <strong>la</strong>s pa<strong>la</strong>bras c<strong>la</strong>ve que aparec<strong>en</strong><br />
<strong>en</strong> <strong>la</strong>s <strong>de</strong>finiciones <strong>de</strong> los vocablos sino algún sinónimo <strong>de</strong> éstas, y es por ello<br />
que <strong>en</strong> una <strong>de</strong> <strong>la</strong>s pruebas se hizo <strong>la</strong> repres<strong>en</strong>tación <strong>de</strong> <strong>la</strong>s pa<strong>la</strong>bras c<strong>la</strong>ve, tanto<br />
<strong>de</strong> <strong>la</strong>s que compon<strong>en</strong> <strong>la</strong>s <strong>de</strong>finiciones como <strong>de</strong> <strong>la</strong> consulta, con un diccionario <strong>de</strong><br />
sinónimos.<br />
3.3. Método directo<br />
Esta primera prueba fue realizada con el contexto <strong>de</strong> conceptos <strong>de</strong>l área<br />
<strong>de</strong> <strong>la</strong> Física. Las consultas utilizadas versaron sobre nociones <strong>de</strong> Mecánica y
Cinemática dadas por profesores <strong>de</strong> Ing<strong>en</strong>iería, estudiantes <strong>de</strong> computación y<br />
otras extraídas <strong>de</strong>l libro <strong>de</strong> L.Landau /E.Lifshitz[5], <strong>la</strong>s cuales se pres<strong>en</strong>tan <strong>en</strong><br />
<strong>la</strong> tab<strong>la</strong> 1.<br />
Consulta (truncadas) Resp. Correcta (RC)<br />
C1 tercer p<strong>la</strong>net sistem sol Tierra<br />
C2 choqu conserv cantidad Choque elástico<br />
movimi<strong>en</strong>t lineal <strong>en</strong>ergi<br />
C3 aplic fuerz provoc Energía mecánica<br />
<strong>de</strong>sp<strong>la</strong>z mism direccion<br />
C4 movimi<strong>en</strong>t sistem <strong>de</strong>scrib Movimi<strong>en</strong>to lineal<br />
line rect<br />
Movimi<strong>en</strong>to rectilíneo<br />
(Rectilíneo)<br />
C5 cambi veloc tiemp Aceleración<br />
(Aceleración angu<strong>la</strong>r y<br />
Aceleración c<strong>en</strong>trípeta)<br />
Tab<strong>la</strong> 1. Consultas utilizadas y respuestas correctas.<br />
Para <strong>la</strong>s respuestas correctas <strong>de</strong> <strong>la</strong> Consulta C5 se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong>tre paréntesis<br />
los hipónimos <strong>de</strong> Aceleración. Mi<strong>en</strong>tras que <strong>la</strong> consulta C4 ti<strong>en</strong>e tres posibles<br />
respuestas correctas, dos <strong>de</strong> el<strong>la</strong>s son sinónimos y <strong>la</strong> que se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong>tre<br />
paréntesis es un hiperónimo <strong>de</strong> <strong>la</strong>s anteriores.<br />
Describiremos ahora los resultados <strong>de</strong> <strong>la</strong> aplicación <strong>de</strong> <strong>la</strong>s fórmu<strong>la</strong>s <strong>de</strong> aproximación<br />
a los glosarios y consultas.<br />
Para <strong>la</strong> consulta C2 no hubo resultados. Se observó que <strong>en</strong> ocasiones el<br />
usuario no utiliza una <strong>de</strong>scripción como <strong>la</strong>s que aparec<strong>en</strong> <strong>en</strong> el glosario y, por<br />
lo tanto, no se <strong>en</strong>cu<strong>en</strong>tra <strong>la</strong> respuesta <strong>de</strong>seada. Esta consulta <strong>en</strong> particu<strong>la</strong>r fue<br />
obt<strong>en</strong>ida <strong>en</strong> el libro L.Landau /E.Lifshitz[5]. Con respecto a los resultados <strong>de</strong> A-<br />
Inf se pue<strong>de</strong> <strong>de</strong>cir que <strong>la</strong> evocación aum<strong>en</strong>tó <strong>en</strong> algunos casos (particu<strong>la</strong>rm<strong>en</strong>te<br />
<strong>en</strong> <strong>la</strong> A-Inf <strong>de</strong> <strong>la</strong> consulta C5) y que <strong>la</strong> precisión se mantuvo igual. Los resultados<br />
obt<strong>en</strong>idos <strong>en</strong> esta prueba con respecto a <strong>la</strong>s Aproximación Superiores (A-Sup)<br />
fueron los esperados. Para <strong>la</strong>s tres primeras consultas no hubo resultados puesto<br />
que es difícil que <strong>la</strong>s <strong>de</strong>scripciones <strong>de</strong> los vocablos estuvieran cont<strong>en</strong>idas <strong>en</strong> <strong>la</strong><br />
consulta.<br />
3.4. Uso <strong>de</strong> un diccionario <strong>de</strong> sinónimos<br />
En esta prueba se utilizó un diccionario <strong>de</strong> sinónimos (41.5 Kb) para repres<strong>en</strong>tar<br />
<strong>la</strong>s pa<strong>la</strong>bras c<strong>la</strong>ve <strong>de</strong> <strong>la</strong> consulta y <strong>de</strong> <strong>la</strong>s <strong>de</strong>finiciones mediante una<br />
pa<strong>la</strong>bra ”equival<strong>en</strong>te”. Las consulta CN homog<strong>en</strong>izada con el diccionario <strong>la</strong> d<strong>en</strong>otamos<br />
con CNeq. El diccionario <strong>de</strong> sinónimos es una lista <strong>de</strong> registros, cada uno<br />
está compuesto por el sinónimo repres<strong>en</strong>tante (un total <strong>de</strong> 523) y a continuación<br />
el listado <strong>de</strong> sinónimos <strong>de</strong> dicho vocablo. La sustitución <strong>de</strong> <strong>la</strong>s pa<strong>la</strong>bras c<strong>la</strong>ve,<br />
tanto <strong>de</strong> <strong>la</strong> consulta como <strong>de</strong> <strong>la</strong>s <strong>de</strong>finiciones, por su sinónimo repres<strong>en</strong>tante (<strong>en</strong><br />
caso que lo t<strong>en</strong>ga) se lleva a cabo <strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te forma:
1. Buscar <strong>la</strong> pa<strong>la</strong>bra c<strong>la</strong>ve <strong>de</strong> <strong>la</strong> consulta o <strong>de</strong> <strong>la</strong> <strong>de</strong>finición d<strong>en</strong>tro <strong>de</strong> <strong>la</strong>s<br />
pa<strong>la</strong>bras <strong>en</strong> el listado <strong>de</strong> sinónimos.<br />
2. Si <strong>la</strong> pa<strong>la</strong>bra c<strong>la</strong>ve se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> el listado <strong>de</strong> sinónimos, <strong>en</strong>tonces <strong>la</strong><br />
pa<strong>la</strong>bra c<strong>la</strong>ve se sustituye por el sinónimo repres<strong>en</strong>tante <strong>de</strong> <strong>la</strong> lista.<br />
3. Si <strong>la</strong> pa<strong>la</strong>bra c<strong>la</strong>ve no se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> dicho listado <strong>de</strong> sinónimos, se manti<strong>en</strong>e<br />
ésta <strong>en</strong> <strong>la</strong> repres<strong>en</strong>tación.<br />
4. Análisis <strong>de</strong> resultados<br />
Las tab<strong>la</strong>s 2 y 3 resum<strong>en</strong> los resultados <strong>de</strong> <strong>la</strong> aplicación <strong>de</strong> los dos métodosaplicadosa<br />
<strong>la</strong>s consultas dadas por <strong>la</strong> tab<strong>la</strong> 1. En estas tab<strong>la</strong>s se dispone<br />
el número <strong>de</strong> respuestas correctas separado por una diagonal <strong>de</strong>l número <strong>de</strong><br />
respuestas <strong>en</strong>tragadas por el sistema.<br />
Al comparar los resultados <strong>de</strong> los métodos Directo y Sinónimos se podría<br />
<strong>de</strong>cir que el uso <strong>de</strong> un diccionario <strong>de</strong> sinónimos para <strong>la</strong> repres<strong>en</strong>tación, tanto <strong>de</strong><br />
<strong>la</strong>s consultas como <strong>de</strong> los glosarios, aum<strong>en</strong>ta levem<strong>en</strong>te <strong>la</strong> precisión con respecto<br />
al método directo. Esta mejora se intuía antes <strong>de</strong> aplicar este segundo método,<br />
s<strong>en</strong>cil<strong>la</strong>m<strong>en</strong>te porque una misma consulta pue<strong>de</strong> ser expresada por varios usuarios<br />
<strong>de</strong> manera difer<strong>en</strong>te, y esta difer<strong>en</strong>cia es <strong>en</strong> parte por el uso <strong>de</strong> sinónimos.<br />
Por ejemplo, para <strong>la</strong> consulta C3, <strong>en</strong> nuestro caso, <strong>la</strong> expresamos <strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te<br />
manera: aplicación <strong>de</strong> una fuerza que provoca <strong>de</strong>sp<strong>la</strong>zami<strong>en</strong>to <strong>en</strong> una misma<br />
dirección, sin embargo otro usuario podría expresar lo mismo <strong>de</strong>ci<strong>en</strong>do: g<strong>en</strong>eración<br />
<strong>de</strong> una fuerza que produce un movimi<strong>en</strong>to <strong>en</strong> el mismo s<strong>en</strong>tido. Enambos<br />
casos estaríamos buscando que nuestro sistema nos <strong>de</strong>volviera como respuesta<br />
correcta Energía mecánica o Trabajo mecánico.<br />
Aunque se pue<strong>de</strong> consi<strong>de</strong>rar que hubo una mejora <strong>de</strong> los resultados <strong>de</strong>l método<br />
<strong>de</strong> repres<strong>en</strong>tación <strong>de</strong> pa<strong>la</strong>bras c<strong>la</strong>ves usando un diccionario <strong>de</strong> sinónimos con<br />
respecto al método directo, los resultados <strong>de</strong> A-Sup y A-Inf son muy parecidos.<br />
Por ejemplo, A-Sup aum<strong>en</strong>tó <strong>la</strong>precisión utilizando el glosario <strong>de</strong> tres<br />
<strong>de</strong>finiciones para cada vocablo <strong>en</strong> <strong>la</strong> consulta C2eq y <strong>la</strong> cantidad <strong>de</strong> resultados<br />
aum<strong>en</strong>tó <strong>en</strong><strong>la</strong>sA-Inf<strong>de</strong><strong>la</strong>consultaC5eq, al usar los dos glosarios y <strong>en</strong> <strong>la</strong> A-Sup<br />
<strong>de</strong> <strong>la</strong> consulta C4eq. Aparte <strong>de</strong> estos cambios, los <strong>de</strong>más resultados se mantuvieron<br />
igual a los <strong>de</strong>l método anterior. Nos preguntamos, sin embargo, por<br />
qué no mejoraron aún más estos resultados. Un elem<strong>en</strong>to que influye <strong>en</strong> dichas<br />
pruebas está re<strong>la</strong>cionado con <strong>la</strong>s <strong>en</strong>tradas <strong>de</strong>l diccionario <strong>de</strong> sinónimos utilizado.<br />
Otra limitación que tuvimos es que el diccionario <strong>de</strong> sinónimos un diccionario<br />
g<strong>en</strong>eral y, por otra parte, no se consi<strong>de</strong>ra el contexto <strong>de</strong> <strong>la</strong> pa<strong>la</strong>bra para hacer<br />
<strong>la</strong> elección <strong>de</strong>l sinónimo correcto. Hay que t<strong>en</strong>er <strong>en</strong> cu<strong>en</strong>ta que partimos <strong>de</strong> dos<br />
glosarios don<strong>de</strong> como máximo contabamos con tres <strong>de</strong>finiciones por vocablo. Sin<br />
embargo, siempre habrá más <strong>de</strong> tres formas <strong>de</strong> <strong>de</strong>scribir dichos vocablos.
Directo Sinónimo<br />
Consulta A-Inf A-Sup A-Inf A-Sup<br />
C1 1/2 0/0 1/2 0/0<br />
C2 0/0 0/0 0/0 0/0<br />
C3 1/1 0/0 1/1 0/0<br />
C4 1/2 2/2 1/2 2/2<br />
C5 3/15 2/2 3/21 2/2<br />
Tab<strong>la</strong> 2. Comparación <strong>de</strong> resultados <strong>de</strong> <strong>la</strong>s A-Inf y A-Sup <strong>de</strong> los<br />
dos métodos <strong>en</strong> cuanto a precisión (mediante <strong>la</strong> re<strong>la</strong>ción<br />
P = R/NRes); usando glosario <strong>de</strong> una <strong>de</strong>finición por vocablo.<br />
Directo Sinónimo<br />
Consulta A-Inf A-Sup A-Inf A-Sup<br />
C1 1/2 0/0 1/2 0/0<br />
C2 0/0 0/0 0/0 1/1<br />
C3 1/1 0/0 1/1 0/1<br />
C4 1/2 2/2 1/2 2/2<br />
C5 3/19 2/2 3/27 2/2<br />
Tab<strong>la</strong> 3. Comparación <strong>de</strong> resultados <strong>de</strong> <strong>la</strong>s A-Inf y A-Sup <strong>de</strong> los<br />
dos métodos <strong>en</strong> cuanto a precisión (mediante <strong>la</strong> re<strong>la</strong>ción<br />
P = R/NRes); usando glosario <strong>de</strong> tres <strong>de</strong>finiciones por vocablo.<br />
5. Conclusiones<br />
En este artículo se pres<strong>en</strong>tó el uso <strong>de</strong> <strong>la</strong>s aproximaciones superior e inferior,<br />
con base <strong>en</strong> <strong>la</strong> teoría <strong>de</strong> conceptos formales, con el fin <strong>de</strong> obt<strong>en</strong>er los vocablos<br />
cuya <strong>de</strong>finición se aproxima a <strong>la</strong> <strong>de</strong>scripción <strong>de</strong> un concepto dado por un usuario.<br />
Los resultados fueron satisfactorios con el método Directo para un glosario <strong>de</strong><br />
una <strong>de</strong>finición. De manera g<strong>en</strong>eral, el método mejora para glosarios con tres<br />
<strong>de</strong>finiciones y aún más con el método <strong>de</strong> repres<strong>en</strong>tación por Sinónimos. Estos<br />
resultados hac<strong>en</strong> evid<strong>en</strong>te <strong>la</strong> necesidad <strong>de</strong> expandir <strong>la</strong> consulta dada por un<br />
usuario <strong>en</strong> una búsqueda <strong>de</strong> informaciún, ya que una misma consulta pue<strong>de</strong> ser<br />
expresada por los usuarios <strong>de</strong> manera difer<strong>en</strong>te.<br />
En este s<strong>en</strong>tido, el análisis <strong>de</strong> los resultados nos permite proponer dos puntos<br />
principales para mejorar, <strong>en</strong> trabajos futuros, el uso <strong>de</strong> <strong>la</strong>s aproximaciones<br />
superior e inferior <strong>en</strong> <strong>la</strong> obt<strong>en</strong>ción <strong>de</strong> términos <strong>en</strong> sistemas <strong>de</strong> recuperación <strong>de</strong><br />
información. El primero es el uso <strong>de</strong> diccionarios <strong>de</strong> sinónimos especializados <strong>en</strong><br />
el áreaqueseestán realizando <strong>la</strong>s búsquedas. El segundo es contar con glosarios<br />
más ext<strong>en</strong>sos <strong>en</strong> cuanto a formas <strong>de</strong> <strong>de</strong>scribir un vocablo, incorporando, <strong>de</strong> ser<br />
posible, <strong>de</strong>scripciones dadas por difer<strong>en</strong>tes tipos <strong>de</strong> usuarios.
Refer<strong>en</strong>cias<br />
[1] Hans-Hermann Bock (Ed.): C<strong>la</strong>ssification, Data Analysis, and Knowledge<br />
Organization, North-Hol<strong>la</strong>nd, Amsterdam, 1991.<br />
[2] Bernhard Ganter & Rudolph Wille: Formal Concepts Analyisis, Springer<br />
Ver<strong>la</strong>g, 1999.<br />
[3] R. K<strong>en</strong>t: “Rough Concepts Analysis: A sythesis of rough set and formal<br />
concept analysis”, Fundam<strong>en</strong>ta Informaticae 27(1996), 169-181.<br />
[4] Keyun Hu, Yuefei Sui, Yuchang Lu, Ju Wang & Chunyi Shi: ”Concept<br />
Approximation in Concept Lattice”. PAKDD 2001, LNAI 2035, Springer<br />
Ver<strong>la</strong>g, pp. 167-173 2001.<br />
[5] L. Landau & E. Lifshitz: Curso Abreviado <strong>de</strong> Física Teórica, Mecánica y<br />
Electrodinámica. Editorial Mir Moscú, 1979.<br />
[6] Z. Paw<strong>la</strong>k: Rough Sets -theoretical aspects of reasoning about data, Kluwer,<br />
1991.<br />
[7] C.J. van Rijsberg<strong>en</strong>: Information Retrieval. University of G<strong>la</strong>sgow, pp. 114<br />
- 117. Second Edition, 1999.<br />
[8] Gerardo Sierra & John McNaught: “Design of an onomasiological search<br />
system: A concept-ori<strong>en</strong>ted tool for terminology”. Terminology. Vol. 6 (1),<br />
2000.<br />
[9] Gerardo Sierra & John McNaught: “Natural Language System for Terminological<br />
Information Retrieval”. CICLing 2003, LNCS 2588, Springer Ver<strong>la</strong>g,<br />
pp. 541-552, 2003.
A Proposed Architecture for a Spok<strong>en</strong> Information<br />
Retrieval with Multimedia Databases<br />
Luis R. Salgado-Garza, Juan A. No<strong>la</strong>zco-Flores, Pablo D. Díaz-López<br />
Computer Sci<strong>en</strong>ce Departm<strong>en</strong>t, ITESM, Campus Monterrey,<br />
Av. Eug<strong>en</strong>io Garza Sada 2501 Sur, Col. Tecnológico,<br />
Monterrey, N.L., México, C.P. 64849.<br />
{lsalgado, jno<strong>la</strong>zco, pdiaz}@itesm.mx<br />
Abstract. This docum<strong>en</strong>t <strong>de</strong>scribes the realization of a spok<strong>en</strong> information<br />
retrieval system and its application to word search into in<strong>de</strong>xed multimedia<br />
databases. The multimedia database is build from a multiformat set of text,<br />
audio and vi<strong>de</strong>o docum<strong>en</strong>ts. The whole archive collection is in<strong>de</strong>xed using<br />
preprocessing techniques to produce transcripts and in<strong>de</strong>xing software tools to<br />
catalog them. The system uses a Java-based distributed cli<strong>en</strong>t-server<br />
architecture. A Java applet is used to capture the audio signal for a spok<strong>en</strong><br />
query, th<strong>en</strong> it is transmitted to a server where an automatic speech recognition<br />
(ASR) software is applied to convert the signal into a transcripted hypothesis.<br />
Later, a query tool process the transcript s<strong>en</strong>t<strong>en</strong>ce along with the in<strong>de</strong>xed<br />
multimedia database and a set of pointers to docum<strong>en</strong>ts are g<strong>en</strong>erated. Finally, a<br />
web page with links to the resulting docum<strong>en</strong>ts, where queried words appear, are<br />
pres<strong>en</strong>ted to the user.<br />
Resum<strong>en</strong>. Este docum<strong>en</strong>to <strong>de</strong>scribe una arquitectura para un sistema<br />
recuperación <strong>de</strong> información con interfaz <strong>de</strong> voz y su aplicación a bases <strong>de</strong> datos<br />
multimedia. La base <strong>de</strong> datos propuesta se construye <strong>de</strong> docum<strong>en</strong>tos <strong>en</strong> formatos<br />
diversos, incluy<strong>en</strong>do texto, audio y vi<strong>de</strong>o. La colección <strong>de</strong> archivos es in<strong>de</strong>xada<br />
utilizando una etapa <strong>de</strong> preprocesami<strong>en</strong>to para g<strong>en</strong>erar transcripciones <strong>de</strong> texto,<br />
según el formato <strong>de</strong>l archivo, y herrami<strong>en</strong>tas <strong>de</strong> in<strong>de</strong>xado para catalogar dichas<br />
transcipciones. Se utiliza una arquitectura cli<strong>en</strong>te-servidor distribuida, basada <strong>en</strong><br />
tecnología Java. En <strong>la</strong> interfaz <strong>de</strong> usuario, una página <strong>de</strong> hipertexto utiliza un<br />
applet <strong>de</strong> Java para grabar <strong>la</strong> señal <strong>de</strong> audio correspondi<strong>en</strong>te a una petición oral<br />
<strong>de</strong> búsqueda, <strong>la</strong> señal acústica es transmitida al servidor <strong>en</strong> dón<strong>de</strong> un<br />
reconocedor automático <strong>de</strong> voz (ASR) <strong>la</strong> convierte a una hipótesis <strong>de</strong> texto.<br />
Posteriorm<strong>en</strong>te, una herrami<strong>en</strong>ta <strong>de</strong> búsqueda procesa conjuntam<strong>en</strong>te <strong>la</strong>s<br />
pa<strong>la</strong>bras <strong>de</strong> <strong>la</strong> transcripción <strong>de</strong> voz y <strong>la</strong> información <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos<br />
multimedia, produci<strong>en</strong>do apuntadores hacia docum<strong>en</strong>tos relevantes a <strong>la</strong><br />
búsqueda. Finalm<strong>en</strong>te, una página <strong>de</strong> hipertexto es g<strong>en</strong>erada para pres<strong>en</strong>tar al<br />
usuario <strong>en</strong><strong>la</strong>ces hacia docum<strong>en</strong>tos <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos re<strong>la</strong>cionados con <strong>la</strong>s<br />
pa<strong>la</strong>bras <strong>de</strong> su búsqueda.<br />
Key words: SIR, multimedia, Java, ASR.
1. Introduction<br />
The collection of writt<strong>en</strong> information in some sort of repository is a practice as old as<br />
civilization itself [1]. From anci<strong>en</strong>t Mesopotamia and Alexandria to mo<strong>de</strong>rn libraries<br />
around the globe, the need to collect information seems natural to the human kind.<br />
However, as time moves forward and new information arrives, we need new<br />
techniques to store and organize this heritage. Main concern is how to organize this<br />
<strong>la</strong>rge archives in or<strong>de</strong>r to have fast access to <strong>de</strong>sired information, for this Information<br />
Technology has <strong>de</strong>veloped techniques for automatic c<strong>la</strong>ssification, compression,<br />
storage and retrieval.<br />
The everyday more accessible use of communications, such as radio, television<br />
and Internet, <strong>en</strong>able us to reach information from anywhere at anytime. We are<br />
immersed in a continuously growing world of information and we need tools to take<br />
advantage from it, in a simple and natural way to any user. The most natural mean to<br />
transmit information among humans is by voice, unfortunately a perman<strong>en</strong>t recording<br />
of such c<strong>la</strong>ss of information has be<strong>en</strong> less common than text archiving, mainly<br />
because two reasons: the <strong>la</strong>rge amount of storage required for acoustics and its<br />
difficulties for c<strong>la</strong>ssification or in<strong>de</strong>xing. Nowadays, massive storage technologies are<br />
more affordable than ever and new algorithms for data compression permit to record<br />
hours of vi<strong>de</strong>o and audio in just t<strong>en</strong>ths or thousands of megabytes. These advances<br />
outline a future where multimedia docum<strong>en</strong>t storage will surpass text-based archiving<br />
[2, 3].<br />
In rec<strong>en</strong>t years, new techniques for text in<strong>de</strong>xing and automatic information<br />
retrieval has be<strong>en</strong> <strong>de</strong>veloped and successfully used over the Internet, focusing on<br />
digital docum<strong>en</strong>ts containing text information. However, the future of these search<br />
<strong>en</strong>gines requires its use on multimedia databases, if not, its application in mobile<br />
<strong>de</strong>vices and hand-busy <strong>en</strong>vironm<strong>en</strong>ts will be very limited. At pres<strong>en</strong>t, several research<br />
groups have conducted efforts to <strong>de</strong>velop search <strong>en</strong>gines for multimedia repositories<br />
of information [4] commonly known as multimedia digital libraries. However, there is<br />
still much work to be done, particu<strong>la</strong>rly regarding speech information and spok<strong>en</strong><br />
queries [5, 6].<br />
In this paper we propose an architecture for information retrieval from multimedia<br />
docum<strong>en</strong>ts, using spok<strong>en</strong> queries as user interface. The organization of this docum<strong>en</strong>t<br />
is the following. Section 2 pres<strong>en</strong>ts the architecture overview, with specifics about our<br />
realization. Section 3 shows the techniques for multimedia database construction and<br />
the use of preprocessing and in<strong>de</strong>xing tools. In section 4 the spok<strong>en</strong> query technology<br />
is <strong>de</strong>tailed, with specific emphasis in the use of automatic speech recognition (ASR)<br />
technology. Section 5 discusses our system setup and incipi<strong>en</strong>t experim<strong>en</strong>tal results.<br />
Finally, section 6 pres<strong>en</strong>ts conclusions and tracks for future work.<br />
2. System Overview<br />
Our proposed implem<strong>en</strong>tation for the spok<strong>en</strong> query information retrieval system is<br />
based in a cli<strong>en</strong>t-server architecture (Fig. 1), working as follows. A Java-<strong>en</strong>abled web<br />
front-<strong>en</strong>d capture the acoustic information of the query, th<strong>en</strong> it is transmitted as a
inary stream to a server-si<strong>de</strong> servlet that invokes the audio preprocessing module and<br />
th<strong>en</strong> the speech <strong>de</strong>co<strong>de</strong>r. The <strong>de</strong>co<strong>de</strong>r uses the acoustic and <strong>la</strong>nguage mo<strong>de</strong>ls obtained<br />
from the training step. Using the Viterbi algorithm the <strong>de</strong>co<strong>de</strong>r g<strong>en</strong>erates a<br />
hypothesis. This outcome is tak<strong>en</strong> as the input for the query tool, and th<strong>en</strong> our system<br />
produces a set of pointers to the docum<strong>en</strong>ts where the queried words were found in<br />
the multimedia database. Finally, this result set is used to g<strong>en</strong>erate a web page (java<br />
server page – JSP) that is returned to the user, including the corresponding links to the<br />
docum<strong>en</strong>t segm<strong>en</strong>ts or audio/vi<strong>de</strong>o file frames for subsequ<strong>en</strong>t consults.<br />
Fig. 1.<br />
G<strong>en</strong>eral spok<strong>en</strong> query information retrieval system architecture.<br />
In or<strong>de</strong>r to build a p<strong>la</strong>tform-in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t user interface, the cli<strong>en</strong>t-si<strong>de</strong> module of<br />
our system will be implem<strong>en</strong>ted as a Java applet, which captured the acoustic stream<br />
uttered by the user to submit it <strong>la</strong>ter to the speech recognition and query system.<br />
As already m<strong>en</strong>tioned, on the server si<strong>de</strong>, our system will use a servlet to receive<br />
the acoustic stream, as a wave file, and invoke the speech <strong>de</strong>co<strong>de</strong>r to g<strong>en</strong>erate a<br />
transcription and th<strong>en</strong> a query the multimedia database. The <strong>de</strong>co<strong>de</strong>r is the CMU<br />
SPHINX-III system, running in the same Linux server as the main servlet, using<br />
acoustic and <strong>la</strong>nguage mo<strong>de</strong>ls trained for Spanish <strong>la</strong>nguage. For training and for<br />
recognition, the <strong>de</strong>co<strong>de</strong>r preprocess the wave files to extract acoustic features as melfrequ<strong>en</strong>cy<br />
cepstral coeffici<strong>en</strong>ts (MFCC) [7], th<strong>en</strong> Hidd<strong>en</strong> Markov Mo<strong>de</strong>ls (HMM) [8]<br />
are built for acoustic mo<strong>de</strong>ls of phones and triphones using the Baum-and-Welch<br />
algorithm. During recognition, the hypothesis g<strong>en</strong>erated by the <strong>de</strong>co<strong>de</strong>r is supplied as<br />
input to the MG system query tool. Using an in<strong>de</strong>xed multimedia database, a set of<br />
links to docum<strong>en</strong>ts and specific pointers is g<strong>en</strong>erated, this information is used to build<br />
a dynamic web page, with refer<strong>en</strong>ces to the docum<strong>en</strong>ts where queried words are<br />
found, and returned to the user.
Back on the cli<strong>en</strong>t si<strong>de</strong>, the returned web page is pres<strong>en</strong>ted to the user with a<br />
choice of specific docum<strong>en</strong>ts where the required information was located.<br />
3. Multimedia Database Construction<br />
The multimedia database used for information retrieval is a set of in<strong>de</strong>xed docum<strong>en</strong>ts,<br />
including p<strong>la</strong>in-text, MS-Word, MS-Excel, MS-Powerpoint, PDF and audio/vi<strong>de</strong>o<br />
files. For the non p<strong>la</strong>in text docum<strong>en</strong>ts, our system uses a preprocessing module,<br />
specific to each file format, to produce a raw transcription able to be processed and<br />
inserted into the in<strong>de</strong>xed archive (Fig. 2).<br />
Fig. 2.<br />
In<strong>de</strong>xing procedure for vi<strong>de</strong>o, audio, p<strong>la</strong>in text and other formatted docum<strong>en</strong>ts.<br />
3.1 In<strong>de</strong>xing procedure for files containing writt<strong>en</strong> text<br />
For our information retrieval system, the queriable repository will be a database with<br />
several types of file formats. Particu<strong>la</strong>rly, from its g<strong>en</strong>eric source, we can id<strong>en</strong>tify two<br />
file categories, text-sourced and audio-sourced. The first c<strong>la</strong>ss groups file format such<br />
as p<strong>la</strong>in text, MS-Word, MS-Excel, MS-Powerpoint and PDF; the other re<strong>la</strong>tes to<br />
audio and vi<strong>de</strong>o files (either in wav, mp3, mpeg or avi formats). For in<strong>de</strong>xing, textsourced<br />
files require a preprocessing to extract the p<strong>la</strong>in text from their differ<strong>en</strong>t
formats; for this a text extraction module is nee<strong>de</strong>d to analyze the raw file directly,<br />
id<strong>en</strong>tify its raw format and produce the corresponding p<strong>la</strong>in text transcript, including<br />
neither font nor docum<strong>en</strong>t style formats, also special characters are ignored as well as<br />
attached images.<br />
3.2 In<strong>de</strong>xing procedure for audio and vi<strong>de</strong>o files<br />
Particu<strong>la</strong>rly, for audio and vi<strong>de</strong>o files, the preprocessing stage is more complex and<br />
uses an automatic speech recognition (ASR) system in or<strong>de</strong>r to extract the audio<br />
transcriptions (Fig. 3).<br />
Fig. 3.<br />
Audio/vi<strong>de</strong>o file preprocessing using a speech <strong>de</strong>co<strong>de</strong>r, and re<strong>la</strong>ted acoustic and<br />
<strong>la</strong>nguage mo<strong>de</strong>ls g<strong>en</strong>eration, previous docum<strong>en</strong>t in<strong>de</strong>xing.<br />
The initial stage for audio-sourced files preprocessing <strong>de</strong>als with segm<strong>en</strong>t boundaries<br />
<strong>de</strong>finition in the acoustic signals, for this we use the CMUseg [12] tool, to g<strong>en</strong>erate<br />
speech segm<strong>en</strong>ts. Th<strong>en</strong>, audio frames are preprocessed, the tool allows to g<strong>en</strong>erate<br />
static and dynamic information cond<strong>en</strong>sed as a feature vector. Each vector is used as<br />
the input for the SPHINX-III speech <strong>de</strong>co<strong>de</strong>r, that is a HMM-based automatic speech<br />
recognition <strong>en</strong>vironm<strong>en</strong>t for continuous speech and <strong>la</strong>rge vocabu<strong>la</strong>ry tasks. Each<br />
hypothesis from the <strong>de</strong>co<strong>de</strong>r repres<strong>en</strong>ts its best transcriptions for the audio signal, the<br />
hole set is stored as the audio transcription archive.<br />
In or<strong>de</strong>r to perform speech recognition, we train acoustic mo<strong>de</strong>ls using a speech<br />
database, containing several hours of audio, produced by differ<strong>en</strong>t speakers for clean<br />
speech. As for <strong>de</strong>coding, during training analog signal, from each audio file in the<br />
database, is segm<strong>en</strong>ted, th<strong>en</strong> sampled and converted to MFCCs. Finally, by the use of<br />
the Baum-and-Welch algorithm [9], the SPHINX-III software obtains the acoustic<br />
mo<strong>de</strong>ls. The Baum-and-Welch algorithm needs the name of the word units to train as<br />
well at the <strong>la</strong>bel and feature vectors, these files are g<strong>en</strong>erated in a preprocessing stage<br />
previous to acoustic mo<strong>de</strong>ls training. The SPHINX-III system setup allows us to<br />
select acoustic mo<strong>de</strong>l either for a phone, a triphone or a word set, also we are able to<br />
mo<strong>de</strong>l either discrete, semicontinuous or continuos acoustic mo<strong>de</strong>ls.<br />
To improve recognition accuracy, the SPHINX-III system uses standard n-gram<br />
based <strong>la</strong>nguage mo<strong>de</strong>ls (LM), for our implem<strong>en</strong>tation we obtained the LM using the
CMU-Cambridge statistical <strong>la</strong>nguage mo<strong>de</strong>l toolkit version 2.0 [10]. The LM aim is<br />
to reduce the perplexity of the task, by predicting the following word based in the<br />
words' history. Several techniques can be used to synthetize a LM [11], among them<br />
N-grams is the easiest technique with very good results. If all the n-grams are not<br />
contained in the <strong>la</strong>nguage corpus, smoothing techniques need to be applied. In the<br />
CMU-Cambridge <strong>la</strong>nguage mo<strong>de</strong>l toolkit, unigram, bigrams or trigrams can be<br />
configured for this tool, as well as four types of discount mo<strong>de</strong>l: Good Turing,<br />
Absolute, Linear and Witt<strong>en</strong>-Bell.<br />
Finally, the audio transcription files are in<strong>de</strong>xed using the Managing Gigabytes<br />
(MG) [3] tools suite, that is a <strong>la</strong>rge scale inverted in<strong>de</strong>x based text retrieval system.<br />
The in<strong>de</strong>xed database spans over the <strong>en</strong>tire audio signal extracted from the audio or<br />
vi<strong>de</strong>o file, including every word <strong>de</strong>tected by the speech recognizer. This database<br />
in<strong>de</strong>xes the vi<strong>de</strong>o in a frame-time bases and will be used for the queries of the next<br />
stage.<br />
4. Spok<strong>en</strong> Queries<br />
Our proposed <strong>de</strong>sign <strong>en</strong>able Internet access to our spok<strong>en</strong> query system. On the cli<strong>en</strong>t<br />
si<strong>de</strong>, we propose the use of a Java front-<strong>en</strong>d because of its features of p<strong>la</strong>tform<br />
in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>ce and minimal system’s resource requirem<strong>en</strong>ts. The spok<strong>en</strong> query applet<br />
uses the user’s computer microphone to capture a query of iso<strong>la</strong>ted words. The audio<br />
signal is stored as a wave-data stream in memory and <strong>la</strong>ter transmitted to a servlet; on<br />
the server si<strong>de</strong>, the servlet receives the acoustic stream via TCP/IP and stores it as a<br />
wave file. Using the received wave file as argum<strong>en</strong>t, the servlet invokes a shell script<br />
to start the <strong>de</strong>coding process for the query while in the cli<strong>en</strong>t’s scre<strong>en</strong> a message for a<br />
wait period is disp<strong>la</strong>yed. The acoustic stream is preprocessed to calcu<strong>la</strong>te MFCCs,<br />
using a wave-to-features tool, and tak<strong>en</strong> into the speech <strong>de</strong>co<strong>de</strong>r. The best hypothesis<br />
is produced as the transcription for the query. The MG query tool uses the in<strong>de</strong>xed<br />
multimedia database to locate the files, text or audio sourced, where each uttered<br />
word, as indicated byt th <strong>de</strong>co<strong>de</strong>r’s outcome, appears. The result set is built as pairs of<br />
docum<strong>en</strong>t name and pointer, for text-sourced docum<strong>en</strong>ts the pointer is a refer<strong>en</strong>ce to<br />
specific page and paragraph, while for audio and vi<strong>de</strong>o archives the pointer is a time<br />
refer<strong>en</strong>ce from the beginning of the file. Finally, a web page is dynamically produced<br />
by the servlet and returned to the user, with the links to the docum<strong>en</strong>ts and pointers<br />
g<strong>en</strong>erated by the query; this information may be used to perform subsequ<strong>en</strong>t consults<br />
to the specific docum<strong>en</strong>ts.<br />
5. Results<br />
At pres<strong>en</strong>t, we have a running prototype of the spok<strong>en</strong> information retrieval system<br />
using p<strong>la</strong>in-text, audio and vi<strong>de</strong>o database files with a text-based front-<strong>en</strong>d. The<br />
speech recognizer (SPHINX-III) and the information retrieval (MG) modules are fully<br />
functional and integrated, while the Java interface and the servlets are still<br />
un<strong>de</strong>rgoing. Curr<strong>en</strong>tly, a Java applet records acoustic information and store it in a
cli<strong>en</strong>t-si<strong>de</strong> file, this wave file is manually transmitted to the speech recognizer. In the<br />
server-si<strong>de</strong>, our Java modules are still in a blueprint, but they are p<strong>la</strong>nned to excecute<br />
in a Linux box running Java Virtual Machine and Tomcat, as a servlet container and<br />
JSP g<strong>en</strong>erator. In our proposal, the same machine will hold the speech <strong>de</strong>co<strong>de</strong>r, but in<br />
g<strong>en</strong>eral these modules could be <strong>de</strong>ployed in differ<strong>en</strong>t computers, using the network<br />
for communication.<br />
The configuration of the SPHINX-III system for our experim<strong>en</strong>ts used 13 MFCCs<br />
and also their first and second <strong>de</strong>rivatives, therefore the feature vector accounted for<br />
39 elem<strong>en</strong>ts. The speech lower and higher frequ<strong>en</strong>cies were set at 300 Hz and 7,000<br />
Hz, respectively. The frame rate was set to 50 frames per second using a 30ms<br />
Hamming window. A 512 samples FFT l<strong>en</strong>gth was used and the number of<br />
filterbanks was set to 40. Five states continuous HMM was used as acoustic mo<strong>de</strong>ling<br />
technique with mixtures of 16 gaussians per state. The training database for the<br />
speech recognition system had a vocabu<strong>la</strong>ry of 22,398 differ<strong>en</strong>t words (409,927<br />
words in 28,537 s<strong>en</strong>t<strong>en</strong>ces). Triphones were used as the word unit and <strong>la</strong>nguage<br />
mo<strong>de</strong>ling is based in word trigrams. The baseline configuration of our speech<br />
recognition system was as reported in [11], for our <strong>la</strong>test experim<strong>en</strong>ts we used a new<br />
version of the SPHINX-III system leading us to the scores reported in table 1.<br />
Table 1. Word Error Rates for the speech recognition system.<br />
Experim<strong>en</strong>t Language Weight WER<br />
Baseline 10.0 26.44%<br />
Experim<strong>en</strong>t 1 9.5 14.98%<br />
Experim<strong>en</strong>t 2 10.0 14.68%<br />
With so embold<strong>en</strong>ing results from the speech <strong>de</strong>co<strong>de</strong>r, we were motivated to test its<br />
combined effic<strong>en</strong>cy with the MG in<strong>de</strong>xing and retrieval system in audio databases.<br />
For our experim<strong>en</strong>ts were performed spok<strong>en</strong> queries using single and multiple words,<br />
uttered by differ<strong>en</strong>t speakers, in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t form the ones in the training set for the<br />
ASR system. We found that the spok<strong>en</strong> query always performed correctly, reporting<br />
every file where the queried words were actually pres<strong>en</strong>t or uttered (in audio-sourced<br />
files).<br />
6. Conclusions<br />
As se<strong>en</strong> from the results, the overall performance of the system showed that the<br />
integration of a speech recognizer, a text based docum<strong>en</strong>t in<strong>de</strong>xing and retrieval tools<br />
comprise an effective architecture for a spok<strong>en</strong> query system on multimedia<br />
databases. However, more work is nee<strong>de</strong>d in or<strong>de</strong>r test the system accordingly to<br />
relevance retrieval and to increase the robustness of the system to out-of-vocabu<strong>la</strong>ry<br />
(OOV) words and acoustic noise conditions. Worth to try is to use noise<br />
comp<strong>en</strong>sation methods, syntactically inspired <strong>la</strong>nguage mo<strong>de</strong>l techniques [11, 13] and<br />
n-Best list hypothesis from the <strong>de</strong>co<strong>de</strong>r and evaluate the effect of these in the<br />
information retrieval cog<strong>en</strong>cy. We also propose the use of phonetic features into the<br />
docum<strong>en</strong>t in<strong>de</strong>xing algorithms (multifeatured information in<strong>de</strong>xing) for audio and
vi<strong>de</strong>o archives, because the use of this kind of acoustic information could lead to<br />
more compreh<strong>en</strong>sive c<strong>la</strong>ssification system for spok<strong>en</strong> information retrieval.<br />
Refer<strong>en</strong>ces.<br />
[1] Krasner-Khait, B., “Survivor: The History of the Library”, History Magazine, October<br />
2001.<br />
[2] Ch<strong>en</strong>, B., H.M. Wang, and L.S. Lee., “Retrieval of Broadcast News Speech in Mandarin<br />
Chinese Collected in Taiwan using Syl<strong>la</strong>ble-Level Statistical Characteristics'”,<br />
Proceedings of ICASSP-2000.<br />
[3] Witt<strong>en</strong>, I.H., Moffat, A., and Bell, T.C., Managing gigabytes: compressing and in<strong>de</strong>xing<br />
docum<strong>en</strong>ts and images. Van Nostrand Reinhold, New York (1994).<br />
[4] Witt<strong>en</strong>, I.H., Don, K.J., Dewsnip, M., and Tab<strong>la</strong>n, V., “Text Mining in a digital library”,<br />
Journal of Digital Libraries, 2003 (In Press).<br />
[5] Wolf, P.P.; Raj, B., “The MERL Spok<strong>en</strong>Query Information Retrieval System: A System<br />
for Retrieving Pertin<strong>en</strong>t Docum<strong>en</strong>ts from a Spok<strong>en</strong> Query”, IEEE International<br />
Confer<strong>en</strong>ce on Multimedia and Expo (ICME), Vol. 2, 317-320, August 2002.<br />
[6] K. Spärck Jones, G. J. F. Jones, J. T. Foote, and S. J. Young., “Experim<strong>en</strong>ts in spok<strong>en</strong><br />
docum<strong>en</strong>t retrieval”, Inf. Processing and Managem<strong>en</strong>t, 32(4):399-417, 1996.<br />
[7] Deller, J.R., Proakis, J.G., Hans<strong>en</strong>, J.H.L., Discrete-Time Processing of Speech Signals,<br />
Pr<strong>en</strong>tice Hall, Sec. 6.2, 1993.<br />
[8] Baker, J.K., “Stochastic mo<strong>de</strong>ling for automatic speech un<strong>de</strong>rstanding”, In D.R. Reddy,<br />
ed., Speech Recognition, New York: Aca<strong>de</strong>mic Press, pp.521-542, 1975.<br />
[9] Dempster, A.P., Laird, N.M., Rubin, D.B., “Maximum likelehood for incomplete data via<br />
the EM algorithm”, J. Roy. Stat. Soc., Vol. 39, No. 1, 1-38, 1977.<br />
[10] C<strong>la</strong>rkson, P., Ros<strong>en</strong>feld, R., “Statistical Language Mo<strong>de</strong>lling using the CMU-Cambridge<br />
Toolkit”, Proceedings of Eurospeech, Rodhes, Greece, 1997, 2707-2710.<br />
[11] Luis R. Salgado-Garza, Richard M. Stern, Juan Arturo No<strong>la</strong>zco-Flores, “N-Best List<br />
Rescoring Using Syntactic Trigrams”, Proceedings of MICAI 2004, Advances in Artificial<br />
Intellig<strong>en</strong>ce, Springer-Ver<strong>la</strong>g (LNAI 2972:79-88)<br />
[12] M. Seigler, U. Jain, B. Raj, R. Stern, “Automatic segm<strong>en</strong>tation, c<strong>la</strong>ssification, and<br />
clustering of Broadcast news audio”, Proc. Of the DARPA speech recognition workshop,<br />
February 1997.<br />
[13] Hsin-Min, W., Berlin, C., “Cont<strong>en</strong>t-based Language Mo<strong>de</strong>ls for Spok<strong>en</strong> Docum<strong>en</strong>t<br />
Retrieval”, International Journal of Computer Processing of Ori<strong>en</strong>tal Languages<br />
(IJCPOL), Vol. 14, No.2, 2001.
Aplicando <strong>la</strong> C<strong>la</strong>sificación <strong>de</strong> Texto <strong>en</strong><br />
<strong>la</strong> Extracción <strong>de</strong> Información<br />
Alberto Téllez-Valero 1 , Manuel Montes-y-Gómez 1,2 , Luis Vil<strong>la</strong>señor-Pineda 1<br />
1 Coordinación <strong>de</strong> Ci<strong>en</strong>cias Computacionales<br />
Instituto Nacional <strong>de</strong> Astrofísica Óptica y Electrónica (INAOE)<br />
e-mail: {albertotellezv, mmontesg, vil<strong>la</strong>s<strong>en</strong>}@inaoep.mx<br />
72840 Pueb<strong>la</strong>, México<br />
2 Departam<strong>en</strong>to <strong>de</strong> Sistemas Informáticos y <strong>Computación</strong><br />
Universidad Politécnica <strong>de</strong> Val<strong>en</strong>cia<br />
e-mail: mmontes@dsic.upv.es<br />
46022 Val<strong>en</strong>cia, España.<br />
Resum<strong>en</strong>: La c<strong>la</strong>sificación <strong>de</strong> texto es <strong>la</strong> actividad <strong>de</strong> etiquetar textos <strong>en</strong> l<strong>en</strong>guaje<br />
natural con categorías temáticas tomadas <strong>de</strong>s<strong>de</strong> un conjunto previam<strong>en</strong>te <strong>de</strong>finido.<br />
En contraste, <strong>la</strong> creación <strong>de</strong> una repres<strong>en</strong>tación estructurada <strong>de</strong> información<br />
tomada <strong>de</strong>s<strong>de</strong> textos <strong>en</strong> l<strong>en</strong>guaje natural es conocida como extracción <strong>de</strong> información.<br />
En este artículo proponemos <strong>de</strong>finir a <strong>la</strong> extracción <strong>de</strong> información<br />
como una tarea <strong>de</strong> c<strong>la</strong>sificación <strong>de</strong> texto. La i<strong>de</strong>a principal <strong>de</strong> esta aproximación<br />
es usar algoritmos <strong>de</strong> apr<strong>en</strong>dizaje automático <strong>en</strong> lugar <strong>de</strong> un sofisticado análisis<br />
lingüístico. Con el propósito <strong>de</strong> mostrar los resultados <strong>de</strong> este método, pres<strong>en</strong>tamos<br />
un sistema l<strong>la</strong>mado “Topo”. Este sistema permite extraer información <strong>de</strong><br />
noticias que reportan <strong>de</strong>sastres naturales.<br />
Pa<strong>la</strong>bras C<strong>la</strong>ve: Extracción <strong>de</strong> Información, C<strong>la</strong>sificación <strong>de</strong> Texto, Apr<strong>en</strong>dizaje<br />
Automático.<br />
1. Introducción<br />
El crecimi<strong>en</strong>to explosivo <strong>de</strong> docum<strong>en</strong>tos disponibles <strong>en</strong> formato digital complica su<br />
exploración y análisis. Por consigui<strong>en</strong>te, son necesarios nuevos métodos que ayud<strong>en</strong> a<br />
los usuarios a filtrar y estructurar <strong>la</strong> información relevante. Dos ejemplos <strong>de</strong> esta c<strong>la</strong>se<br />
<strong>de</strong> métodos son <strong>la</strong> c<strong>la</strong>sificación <strong>de</strong> texto y <strong>la</strong> extracción <strong>de</strong> información.<br />
La c<strong>la</strong>sificación <strong>de</strong> texto (TC, por sus sig<strong>la</strong>s <strong>en</strong> inglés) es <strong>la</strong> asignación <strong>de</strong> docum<strong>en</strong>tos<br />
<strong>de</strong> texto <strong>en</strong> formato libre a una o más categorías pre<strong>de</strong>finidas <strong>en</strong> base a su<br />
cont<strong>en</strong>ido [1]. El<strong>la</strong> se usa <strong>en</strong> aplicaciones don<strong>de</strong> <strong>la</strong> organización <strong>de</strong> docum<strong>en</strong>tos es<br />
requerida. Por ejemplo, <strong>en</strong> el in<strong>de</strong>xado y filtrado automático <strong>de</strong> textos.<br />
Por otro <strong>la</strong>do, <strong>la</strong> extracción <strong>de</strong> información (IE, por sus sig<strong>la</strong>s <strong>en</strong> inglés) es usada<br />
para estructurar <strong>la</strong> información consi<strong>de</strong>rada relevante que se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> docum<strong>en</strong>tos<br />
<strong>de</strong> un dominio <strong>de</strong>terminado. En otras pa<strong>la</strong>bras, el objetivo <strong>de</strong> un sistema <strong>de</strong> extracción<br />
<strong>de</strong> información es <strong>en</strong>contrar y <strong>en</strong><strong>la</strong>zar <strong>la</strong> información relevante, ignorando <strong>la</strong> extraña e
irrelevante [2]. La principal aplicación <strong>de</strong> un sistema <strong>de</strong> IE es ll<strong>en</strong>ar una base <strong>de</strong> datos<br />
con información prov<strong>en</strong>i<strong>en</strong>te <strong>de</strong> textos sin un formato pre<strong>de</strong>finido.<br />
La c<strong>la</strong>sificación <strong>de</strong> texto y <strong>la</strong> extracción <strong>de</strong> información son dos formas complem<strong>en</strong>tarias<br />
<strong>de</strong> procesami<strong>en</strong>to <strong>de</strong> texto. Sin embargo, su interacción y sinergia ha sido<br />
mínima. Muchos sistemas <strong>de</strong> IE usan métodos <strong>de</strong> TC para asegurar que el docum<strong>en</strong>to<br />
a ser procesado cont<strong>en</strong>ga <strong>la</strong> información esperada. En este artículo exploramos como<br />
TC e IE pued<strong>en</strong> integrarse más estrecham<strong>en</strong>te. Básicam<strong>en</strong>te, proponemos una<br />
aproximación <strong>de</strong> IE que usa técnicas <strong>de</strong> TC para guiar <strong>la</strong>s <strong>de</strong>cisiones <strong>de</strong> extracción.<br />
Con el propósito <strong>de</strong> mostrar los resultados <strong>de</strong> esta propuesta, pres<strong>en</strong>tamos el sistema<br />
“Topo” que permite ll<strong>en</strong>ar automáticam<strong>en</strong>te una base <strong>de</strong> datos sobre <strong>de</strong>sastres naturales<br />
a partir <strong>de</strong> noticias <strong>de</strong> periódicos electrónicos <strong>en</strong> español.<br />
El resto <strong>de</strong>l artículo es organizado <strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te manera. La sección 2 <strong>de</strong>scribe el<br />
trabajo re<strong>la</strong>cionado. En <strong>la</strong> sección 3 pres<strong>en</strong>tamos nuestra aproximación para extraer<br />
información usando c<strong>la</strong>sificación <strong>de</strong> texto. La sección 4 <strong>de</strong>scribe una aplicación real<br />
<strong>de</strong> nuestro método y muestra los resultados obt<strong>en</strong>idos. Finalm<strong>en</strong>te, <strong>en</strong> <strong>la</strong> sección 5<br />
concluimos <strong>la</strong> discusión.<br />
2. Trabajo re<strong>la</strong>cionado<br />
La disponibilidad <strong>de</strong> gran<strong>de</strong>s colecciones <strong>de</strong> textos ha estimu<strong>la</strong>do el uso <strong>de</strong> técnicas<br />
estadísticas <strong>en</strong> muchas tareas <strong>de</strong>l procesami<strong>en</strong>to <strong>de</strong>l l<strong>en</strong>guaje natural (ver [3] para un<br />
estudio). El uso <strong>de</strong> métodos estadísticos <strong>en</strong> aplicaciones <strong>de</strong> extracción <strong>de</strong> información<br />
está principalm<strong>en</strong>te <strong>en</strong>focado <strong>en</strong> <strong>la</strong> adquisición automática <strong>de</strong> los patrones <strong>de</strong> extracción,<br />
los cuales son utilizados para dirigir <strong>la</strong> tarea <strong>de</strong> extracción (ver [4] y [5] para un<br />
estudio). A continuación, se m<strong>en</strong>cionan brevem<strong>en</strong>te <strong>la</strong>s aproximaciones para extracción<br />
<strong>de</strong> información que se consi<strong>de</strong>ran más importantes con respecto al pres<strong>en</strong>te trabajo.<br />
A<strong>de</strong>más, se <strong>de</strong>scribe el <strong>en</strong>foque <strong>de</strong> c<strong>la</strong>sificación <strong>de</strong> texto basado <strong>en</strong> técnicas <strong>de</strong><br />
apr<strong>en</strong>dizaje automático, el cual es usado <strong>en</strong> esta investigación.<br />
2.1 Extracción <strong>de</strong> información<br />
Exist<strong>en</strong> pocos trabajos que utilizan métodos <strong>de</strong> TC para guiar <strong>la</strong> tarea <strong>de</strong> extracción <strong>de</strong><br />
información. En g<strong>en</strong>eral, estos <strong>de</strong>sarrollos pres<strong>en</strong>tan arquitecturas que se basan <strong>en</strong> <strong>la</strong><br />
hipótesis que analizando <strong>la</strong> combinación <strong>de</strong> pa<strong>la</strong>bras que ro<strong>de</strong>an a <strong>la</strong> información <strong>de</strong><br />
interés, es sufici<strong>en</strong>te para <strong>en</strong>contrar los patrones <strong>de</strong> extracción requeridos. La v<strong>en</strong>taja<br />
<strong>de</strong> estas arquitecturas es que un profundo análisis lingüístico no es requerido, <strong>en</strong> su<br />
lugar, técnicas <strong>de</strong> TC son usadas para apr<strong>en</strong><strong>de</strong>r los patrones buscados.<br />
Este <strong>en</strong>foque parece ser bastante útil, sin embargo sus aplicaciones actuales no<br />
reflejan <strong>de</strong>l todo su pot<strong>en</strong>cial, así como sus <strong>de</strong>fici<strong>en</strong>cias. Por ejemplo, <strong>en</strong> [6] esta<br />
aproximación fue usada para el problema <strong>de</strong> id<strong>en</strong>tificar afiliaciones <strong>de</strong> autores y analizar<br />
citas <strong>en</strong> publicaciones, y <strong>en</strong> [7] para extraer datos <strong>de</strong>s<strong>de</strong> anuncios <strong>de</strong> empleo. En<br />
<strong>la</strong>s tareas antes m<strong>en</strong>cionadas se ti<strong>en</strong>e cierta estructura <strong>en</strong> <strong>la</strong> información a ser extraída,<br />
por tal motivo no se pue<strong>de</strong> concluir mucho acerca <strong>de</strong> su comportami<strong>en</strong>to <strong>en</strong> docum<strong>en</strong>tos<br />
con formato libre. Por otro <strong>la</strong>do, <strong>en</strong> [8] se pres<strong>en</strong>ta una aplicación que se <strong>en</strong>carga
<strong>de</strong> ll<strong>en</strong>ar una base <strong>de</strong> datos <strong>de</strong> contactos con direcciones <strong>de</strong> e-mail tomadas <strong>de</strong>s<strong>de</strong><br />
correos electrónicos, los cuales pres<strong>en</strong>tan difer<strong>en</strong>tes formatos y estilos.<br />
Esta última aplicación da una mayor perspectiva <strong>de</strong> los alcances <strong>de</strong> dicha aproximación,<br />
sin embargo su dominio <strong>de</strong> estudio se limita a extraer sólo un tipo <strong>de</strong> dato<br />
(direcciones <strong>de</strong> e-mail). Por tal motivo, es necesario ext<strong>en</strong><strong>de</strong>r este trabajo a un dominio<br />
más complejo, don<strong>de</strong> no sólo exista variedad <strong>de</strong> formatos y estilos, sino que a<strong>de</strong>más,<br />
<strong>la</strong> información a ser extraída sea <strong>de</strong> más <strong>de</strong> un tipo y <strong>de</strong> difer<strong>en</strong>tes características,<br />
por ejemplo: fechas, cantida<strong>de</strong>s, nombres <strong>de</strong> lugares y ev<strong>en</strong>tos, <strong>en</strong>tre otras.<br />
2.2 C<strong>la</strong>sificación <strong>de</strong> texto<br />
La aproximación <strong>de</strong> TC basada <strong>en</strong> apr<strong>en</strong>dizaje automático a ganado importancia y<br />
ev<strong>en</strong>tualm<strong>en</strong>te ha llegado a ser <strong>la</strong> dominante. Las v<strong>en</strong>tajas <strong>de</strong> esta aproximación son:<br />
una bu<strong>en</strong>a efectividad, un consi<strong>de</strong>rable ahorro <strong>en</strong> términos <strong>de</strong> mano <strong>de</strong> obra <strong>de</strong>l experto,<br />
y cierta in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>cia <strong>de</strong>l dominio [9]. La construcción <strong>de</strong>l c<strong>la</strong>sificador <strong>de</strong> texto<br />
inicia con una colección <strong>de</strong> docum<strong>en</strong>tos manualm<strong>en</strong>te c<strong>la</strong>sificados (el conjunto <strong>de</strong><br />
<strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to), y <strong>en</strong>tonces se aplican algunos métodos <strong>de</strong> recuperación <strong>de</strong> información<br />
y apr<strong>en</strong>dizaje automático para adquirir una función <strong>de</strong> c<strong>la</strong>sificación (el c<strong>la</strong>sificador).<br />
Tal aproximación consi<strong>de</strong>ra <strong>la</strong>s sigui<strong>en</strong>tes tareas (consultar [1] y [9] para más<br />
<strong>de</strong>talle):<br />
• In<strong>de</strong>xado. El objetivo es repres<strong>en</strong>tar los docum<strong>en</strong>tos <strong>de</strong> texto <strong>en</strong> una forma a<strong>de</strong>cuada<br />
<strong>de</strong> su cont<strong>en</strong>ido para su uso con el c<strong>la</strong>sificador. La repres<strong>en</strong>tación más comúnm<strong>en</strong>te<br />
usada es el mo<strong>de</strong>lo <strong>de</strong> espacio vectorial, don<strong>de</strong> los docum<strong>en</strong>tos son<br />
repres<strong>en</strong>tados por vectores <strong>de</strong> términos. Tales términos son usualm<strong>en</strong>te <strong>de</strong>terminados<br />
por medio <strong>de</strong> algún tipo <strong>de</strong> análisis morfológico. También, se utilizan varios<br />
esquemas <strong>de</strong> pesado para los términos.<br />
• Reducción <strong>de</strong> dim<strong>en</strong>sionalidad. Es común que el espacio <strong>de</strong> repres<strong>en</strong>tación<br />
t<strong>en</strong>ga una alta dim<strong>en</strong>sionalidad. Así, con el propósito <strong>de</strong> evitar el sobre ajuste <strong>en</strong><br />
el proceso <strong>de</strong> apr<strong>en</strong>dizaje e increm<strong>en</strong>tar su efici<strong>en</strong>cia y efectividad, es necesario<br />
consi<strong>de</strong>rar sólo un subconjunto <strong>de</strong> los términos originales. La selección <strong>de</strong> los<br />
términos más repres<strong>en</strong>tativos es hecha por una función <strong>de</strong> características. Por<br />
ejemplo, <strong>la</strong> ganancia <strong>en</strong> <strong>la</strong> información y <strong>la</strong> estadística chi-cuadrada.<br />
• Apr<strong>en</strong>dizaje. Varias técnicas han sido aplicadas para construir el c<strong>la</strong>sificador.<br />
Por ejemplo: c<strong>la</strong>sificadores bayesianos como Simple <strong>de</strong> Bayes, árboles <strong>de</strong> <strong>de</strong>cisión<br />
como C4.5, apr<strong>en</strong>dizaje basado <strong>en</strong> memoria como K-Vecinos más cercanos,<br />
y métodos kernel como Máquinas <strong>de</strong> Vectores <strong>de</strong> Soporte. Sin embargo, ninguna<br />
domina sobre otra para todos los dominios.<br />
3. Arquitectura para <strong>la</strong> extracción <strong>de</strong> información<br />
La arquitectura propuesta consi<strong>de</strong>ra tres tareas principales:<br />
1. Filtrar los textos relevantes al dominio <strong>de</strong> estudio.<br />
2. Detectar <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s <strong>de</strong> información con posibilidad <strong>de</strong> ser extraídas.
3. Discriminar <strong>en</strong>tre <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s id<strong>en</strong>tificadas aquel<strong>la</strong>s que proporcionan información<br />
útil para ll<strong>en</strong>ar <strong>la</strong> base <strong>de</strong> datos.<br />
El diseño <strong>de</strong> <strong>la</strong> arquitectura consiste <strong>de</strong> un mo<strong>de</strong>lo estructural formado por tres<br />
compon<strong>en</strong>tes conectados <strong>en</strong> cascada (ver figura 1). A continuación se <strong>de</strong>scribe cada<br />
uno <strong>de</strong> los compon<strong>en</strong>tes.<br />
Colección<br />
<strong>de</strong> textos<br />
Extracción <strong>de</strong><br />
características <strong>de</strong><br />
los textos<br />
C<strong>la</strong>sificación <strong>de</strong><br />
textos<br />
Filtrado <strong>de</strong><br />
Textos<br />
Expresiones con<br />
<strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s<br />
Extracción <strong>de</strong><br />
contextos<br />
Id<strong>en</strong>tificación<br />
<strong>de</strong> <strong>en</strong>tida<strong>de</strong>s<br />
Textos relevantes<br />
Id<strong>en</strong>tificación <strong>de</strong><br />
Entida<strong>de</strong>s<br />
Extracción <strong>de</strong><br />
características <strong>de</strong><br />
los contextos<br />
C<strong>la</strong>sificación <strong>de</strong><br />
contextos<br />
Información<br />
relevante<br />
Extracción <strong>de</strong><br />
Información<br />
Fig.1 Arquitectura <strong>de</strong> Extracción <strong>de</strong> Información basada <strong>en</strong> TC.<br />
3.1 Filtrado <strong>de</strong> textos<br />
Debido a que es más probable que los textos pert<strong>en</strong>eci<strong>en</strong>tes al dominio <strong>de</strong> estudio<br />
cont<strong>en</strong>gan <strong>la</strong> información requerida, el objetivo <strong>de</strong> este compon<strong>en</strong>te es filtrar los docum<strong>en</strong>tos<br />
que se consi<strong>de</strong>ran relevantes. Una manera efectiva <strong>de</strong> llevar a cabo esta<br />
tarea es usando algún método <strong>de</strong> TC (ver sección 2.2).<br />
Básicam<strong>en</strong>te, el compon<strong>en</strong>te <strong>de</strong> filtrado <strong>de</strong> textos consi<strong>de</strong>ra <strong>la</strong>s sigui<strong>en</strong>tes tareas:<br />
1. Transformar el texto <strong>de</strong> su formato inicial a una repres<strong>en</strong>tación a<strong>de</strong>cuada para <strong>la</strong><br />
tarea <strong>de</strong> c<strong>la</strong>sificación.<br />
2. Aplicar el c<strong>la</strong>sificador previam<strong>en</strong>te construido para el dominio <strong>de</strong> estudio, con el<br />
propósito <strong>de</strong> separar los textos relevantes <strong>de</strong> los irrelevantes.<br />
3.2 Id<strong>en</strong>tificación <strong>de</strong> <strong>en</strong>tida<strong>de</strong>s<br />
La tarea <strong>de</strong> este compon<strong>en</strong>te es <strong>de</strong>tectar, <strong>en</strong> los docum<strong>en</strong>tos consi<strong>de</strong>rados relevantes,<br />
aquellos segm<strong>en</strong>tos <strong>de</strong> texto con alguna posibilidad <strong>de</strong> ser incluidos <strong>en</strong> <strong>la</strong> base <strong>de</strong><br />
datos. A tales segm<strong>en</strong>tos los vamos a l<strong>la</strong>mar <strong>en</strong>tida<strong>de</strong>s. Para <strong>de</strong>tectar <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s<br />
<strong>de</strong>cidimos hacer un análisis con expresiones regu<strong>la</strong>res, esto con el propósito <strong>de</strong> hacer<br />
un mínimo uso <strong>de</strong> recursos lingüísticos.
Finalm<strong>en</strong>te, una vez id<strong>en</strong>tificadas <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s, <strong>la</strong> sigui<strong>en</strong>te tarea es extraer <strong>la</strong> información<br />
que se <strong>en</strong>cu<strong>en</strong>tra próxima, a <strong>la</strong> cual l<strong>la</strong>maremos contexto. En <strong>la</strong> figura 2 se<br />
pres<strong>en</strong>ta un ejemplo.<br />
3.3 Extracción <strong>de</strong> información<br />
Una vez id<strong>en</strong>tificadas <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s con posibilidad <strong>de</strong> ser extraídas, este compon<strong>en</strong>te<br />
se <strong>en</strong>carga <strong>de</strong> filtrar <strong>la</strong>s que son consi<strong>de</strong>radas útiles para ll<strong>en</strong>ar <strong>la</strong> base <strong>de</strong> datos. Para<br />
realizar tal selección se utiliza el contexto <strong>de</strong> <strong>la</strong> <strong>en</strong>tidad junto con un TC previam<strong>en</strong>te<br />
construido y <strong>en</strong>tr<strong>en</strong>ado para discriminar fragm<strong>en</strong>tos <strong>de</strong>l docum<strong>en</strong>to <strong>en</strong> <strong>la</strong>s categorías<br />
<strong>de</strong> interés, <strong>la</strong>s cuales g<strong>en</strong>eralm<strong>en</strong>te se correspond<strong>en</strong> con los registros <strong>de</strong> <strong>la</strong> base <strong>de</strong><br />
datos que <strong>de</strong>seamos ll<strong>en</strong>ar. En otras pa<strong>la</strong>bras, <strong>de</strong>finimos a <strong>la</strong> tarea <strong>de</strong> extracción <strong>de</strong><br />
información como una tarea <strong>de</strong> c<strong>la</strong>sificación <strong>de</strong> textos, don<strong>de</strong> el propósito es c<strong>la</strong>sificar<br />
<strong>en</strong>tida<strong>de</strong>s por su contexto <strong>en</strong> lugar <strong>de</strong> docum<strong>en</strong>tos por su cont<strong>en</strong>ido.<br />
Es importante m<strong>en</strong>cionar que <strong>en</strong> este compon<strong>en</strong>te se pue<strong>de</strong> t<strong>en</strong>er más <strong>de</strong> un c<strong>la</strong>sificador<br />
<strong>de</strong> texto. Esto es <strong>de</strong>bido a que <strong>en</strong> ocasiones es preferible especializar difer<strong>en</strong>tes<br />
c<strong>la</strong>sificadores <strong>en</strong> difer<strong>en</strong>tes tipos <strong>de</strong> <strong>en</strong>tida<strong>de</strong>s. Por ejemplo, un c<strong>la</strong>sificador para discriminar<br />
contextos <strong>de</strong> nombres y otro para discriminar contextos <strong>de</strong> cantida<strong>de</strong>s. También,<br />
el mejor tamaño <strong>de</strong> los contextos para su correcta c<strong>la</strong>sificación, así como el<br />
método <strong>de</strong> apr<strong>en</strong>dizaje empleado, es algo que <strong>de</strong>be ser <strong>de</strong>terminado mediante experim<strong>en</strong>tación,<br />
y no precisam<strong>en</strong>te <strong>de</strong>be ser el mismo para todos los tipos <strong>de</strong> <strong>en</strong>tida<strong>de</strong>s. En<br />
<strong>la</strong> figura 2 se ejemplifica el proceso <strong>de</strong> id<strong>en</strong>tificar <strong>en</strong>tida<strong>de</strong>s y <strong>de</strong> extracción <strong>de</strong> información.<br />
El huracán Isidore <strong>de</strong>jó <strong>en</strong> <strong>la</strong><br />
p<strong>en</strong>ínsu<strong>la</strong> <strong>de</strong> Yucatán 300 mil<br />
personas damnificadas y el<br />
<strong>de</strong>ceso <strong>de</strong> una persona<br />
ISIDORE = No relevante<br />
YUCATÁN = Lugar <strong>de</strong>l ev<strong>en</strong>to<br />
300 MIL = Personas damnificadas<br />
UNA = Personas muertas<br />
Id<strong>en</strong>tificación <strong>de</strong><br />
Entida<strong>de</strong>s<br />
Extracción <strong>de</strong><br />
Información<br />
El huracán (ISIDORE) <strong>de</strong>jó <strong>en</strong><br />
p<strong>en</strong>ínsu<strong>la</strong> <strong>de</strong> (YUCATÁN) 300 mil<br />
<strong>de</strong> Yucatán (300 MIL) personas damnificadas<br />
<strong>de</strong>ceso <strong>de</strong> (UNA) persona<br />
Fig.2 Proceso <strong>de</strong> id<strong>en</strong>tificar <strong>en</strong>tida<strong>de</strong>s y extraer información.<br />
4. Caso <strong>de</strong> estudio: Noticias <strong>de</strong> <strong>de</strong>sastres naturales<br />
En esta sección introducimos un sistema <strong>de</strong> extracción <strong>de</strong> información basado <strong>en</strong> <strong>la</strong><br />
arquitectura propuesta <strong>en</strong> <strong>la</strong> sección 3. El sistema es l<strong>la</strong>mado “Topo”, y su propósito<br />
es extraer información re<strong>la</strong>cionada con <strong>de</strong>sastres naturales <strong>de</strong>s<strong>de</strong> noticias <strong>de</strong> periódi-
cos <strong>en</strong> español. Este caso <strong>de</strong> estudio está inspirado por el trabajo realizado por <strong>la</strong> Red<br />
<strong>de</strong> Estudios Sociales <strong>en</strong> Prev<strong>en</strong>ción <strong>de</strong> Desastres <strong>en</strong> América Latina 1 .<br />
La base <strong>de</strong> datos a ser ll<strong>en</strong>ada por el sistema consiste <strong>en</strong> información re<strong>la</strong>cionada<br />
con el ev<strong>en</strong>to (fecha, lugar y magnitud), <strong>en</strong> información re<strong>la</strong>cionada con <strong>la</strong>s personas<br />
(número <strong>de</strong> muertos, heridos o <strong>en</strong>fermos, <strong>de</strong>saparecidos, damnificados y afectados),<br />
información re<strong>la</strong>cionada con <strong>la</strong>s vivi<strong>en</strong>das (número <strong>de</strong> vivi<strong>en</strong>das <strong>de</strong>struidas y afectadas),<br />
e información re<strong>la</strong>cionada con <strong>la</strong> infraestructura (número <strong>de</strong> hectáreas afectadas,<br />
perdida económica, <strong>en</strong>tre otras). Actualm<strong>en</strong>te trabajamos con noticias que tratan los<br />
ev<strong>en</strong>tos <strong>de</strong>: huracán, inc<strong>en</strong>dio forestal, inundación, sequía y sismo. A continuación,<br />
pres<strong>en</strong>tamos <strong>la</strong>s características técnicas <strong>de</strong> <strong>la</strong> implem<strong>en</strong>tación, y mostramos <strong>la</strong> forma<br />
<strong>de</strong> evaluar el sistema junto con los resultados obt<strong>en</strong>idos.<br />
4.1 Características técnicas<br />
El conjunto <strong>de</strong> <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to utilizado fue obt<strong>en</strong>ido <strong>de</strong>s<strong>de</strong> varios periódicos Mexicanos<br />
que están disponibles <strong>de</strong>s<strong>de</strong> Internet. Esta colección consistió <strong>de</strong> 365 noticias que<br />
tratan sobre <strong>de</strong>sastres naturales.<br />
El compon<strong>en</strong>te <strong>de</strong> filtrado <strong>de</strong> textos incluye un c<strong>la</strong>sificador <strong>en</strong>tr<strong>en</strong>ado con el conjunto<br />
previam<strong>en</strong>te m<strong>en</strong>cionado más una colección <strong>de</strong> 245 noticias consi<strong>de</strong>radas irrelevantes<br />
2 . Este c<strong>la</strong>sificador implem<strong>en</strong>ta un in<strong>de</strong>xado con una repres<strong>en</strong>tación vectorial<br />
con <strong>en</strong>tradas booleanas, es <strong>de</strong>cir, cada texto es repres<strong>en</strong>tado como un vector <strong>de</strong> ceros<br />
y unos que indican <strong>la</strong> pres<strong>en</strong>cia o aus<strong>en</strong>cia <strong>de</strong> ciertos términos <strong>en</strong> el docum<strong>en</strong>to. El<br />
vector conti<strong>en</strong>e 646 términos seleccionados mediante <strong>la</strong> función <strong>de</strong> características<br />
ganancia <strong>en</strong> <strong>la</strong> información. El esquema <strong>de</strong> apr<strong>en</strong>dizaje utilizado es el c<strong>la</strong>sificador<br />
Simple <strong>de</strong> Bayes.<br />
Con respecto al compon<strong>en</strong>te <strong>de</strong> id<strong>en</strong>tificación <strong>de</strong> <strong>en</strong>tida<strong>de</strong>s, éste pue<strong>de</strong> <strong>de</strong>tectar<br />
nombres, fechas y cantida<strong>de</strong>s utilizando un análisis con expresiones regu<strong>la</strong>res. A<strong>de</strong>más,<br />
se agregaron dos diccionarios para tratar <strong>la</strong>s excepciones que ocurr<strong>en</strong> <strong>en</strong> <strong>la</strong>s expresiones<br />
con respecto a nombres y cantida<strong>de</strong>s. Tales excepciones son <strong>la</strong>s sigui<strong>en</strong>tes:<br />
• Pa<strong>la</strong>bras reconocidas como una <strong>en</strong>tidad <strong>de</strong> nombre únicam<strong>en</strong>te porque inician<br />
con letra mayúscu<strong>la</strong> (por ejemplo: artículos y preposiciones al inicio <strong>de</strong> una oración)<br />
• Números reportados con letras <strong>en</strong> lugar <strong>de</strong> dígitos, o una combinación <strong>de</strong> ambos<br />
(por ejemplo: mil 500 personas)<br />
En el compon<strong>en</strong>te <strong>de</strong> extracción <strong>de</strong> información se utilizan tres difer<strong>en</strong>tes c<strong>la</strong>sificadores,<br />
cada uno <strong>de</strong> ellos especializado <strong>en</strong> nombres, fechas y cantida<strong>de</strong>s respectivam<strong>en</strong>te.<br />
Para su <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to se utilizaron un total <strong>de</strong> 1353 segm<strong>en</strong>tos <strong>de</strong> textos –que<br />
repres<strong>en</strong>tan contextos <strong>de</strong> <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s <strong>de</strong> interés- tomados aleatoriam<strong>en</strong>te <strong>de</strong>s<strong>de</strong> el<br />
conjunto <strong>de</strong> <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to. Los tres c<strong>la</strong>sificadores implem<strong>en</strong>tan un in<strong>de</strong>xado con una<br />
1 http://www.<strong>de</strong>sinv<strong>en</strong>tar.org/<br />
2 Por textos relevantes <strong>en</strong>t<strong>en</strong><strong>de</strong>mos todos aquellos que conti<strong>en</strong><strong>en</strong> información a ser extraída,<br />
mi<strong>en</strong>tras que los irrelevantes son los que conti<strong>en</strong><strong>en</strong> pa<strong>la</strong>bras o frases usadas comúnm<strong>en</strong>te <strong>en</strong><br />
<strong>la</strong> <strong>de</strong>scripción <strong>de</strong> un f<strong>en</strong>óm<strong>en</strong>o natural, pero que <strong>en</strong> estos casos se usan <strong>en</strong> contextos muy difer<strong>en</strong>tes.<br />
Por ejemplo, <strong>la</strong> frase “ojo <strong>de</strong>l huracán” <strong>en</strong> el contexto <strong>de</strong> “el presid<strong>en</strong>te está <strong>en</strong> el<br />
ojo <strong>de</strong>l huracán”.
epres<strong>en</strong>tación vectorial con <strong>en</strong>tradas nominales, es <strong>de</strong>cir, cada contexto es repres<strong>en</strong>tado<br />
por un vector <strong>de</strong> pa<strong>la</strong>bras. Debido a que el tamaño <strong>de</strong> los contextos que se tomaron<br />
para experim<strong>en</strong>tar no es mayor <strong>de</strong> 14 pa<strong>la</strong>bras, no fue necesario hacer una reducción<br />
<strong>de</strong> dim<strong>en</strong>sionalidad. Actualm<strong>en</strong>te, los mejores resultados se han obt<strong>en</strong>ido con<br />
contextos <strong>de</strong> 4 pa<strong>la</strong>bras (2 a <strong>la</strong> izquierda y 2 a <strong>la</strong> <strong>de</strong>recha) para c<strong>la</strong>sificar nombres, y<br />
contextos <strong>de</strong> 6 pa<strong>la</strong>bras (3 a <strong>la</strong> izquierda y 3 a <strong>la</strong> <strong>de</strong>recha) para los otros dos casos.<br />
Los esquemas <strong>de</strong> apr<strong>en</strong>dizaje con los que se han obt<strong>en</strong>ido los mejores resultados son:<br />
k-Vecinos más cercanos para los nombres y Máquinas <strong>de</strong> Vectores <strong>de</strong> Soporte para<br />
los casos restantes.<br />
Finalm<strong>en</strong>te, cabe m<strong>en</strong>cionar que el sistema “Topo” es una aplicación real implem<strong>en</strong>tada<br />
<strong>en</strong> Java utilizando Weka [10].<br />
4.2 Evaluación<br />
Para evaluar el <strong>de</strong>sempeño <strong>de</strong>l sistema se utilizaron tres métricas: Precisión, cobertura<br />
y medida-F [1]. Las cuales son comúnm<strong>en</strong>te usadas para evaluar sistemas <strong>de</strong> EI y TC.<br />
A<strong>de</strong>más, utilizamos <strong>la</strong> técnica <strong>de</strong> ejecutar 10 veces una validación cruzada con 10<br />
pliegues (10-Fold Cross-Validation, <strong>en</strong> inglés) para <strong>la</strong> evaluación global. Esta técnica<br />
es <strong>la</strong> manera estándar <strong>de</strong> medir <strong>la</strong> tasa <strong>de</strong> error <strong>de</strong> un esquema <strong>de</strong> apr<strong>en</strong>dizaje sobre un<br />
conjunto <strong>de</strong> <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to [10]. La tab<strong>la</strong> 1 muestra el promedio <strong>de</strong> los resultados.<br />
Tab<strong>la</strong>.1 Resultados <strong>de</strong> evaluación.<br />
Compon<strong>en</strong>te<br />
Precisión Cobertura Medida-F<br />
FILTRADO DE TEXTOS 96% 95% 95%<br />
Huracán 100% 80% 89%<br />
Inc<strong>en</strong>dio forestal 100% 100% 100%<br />
Inundación 95% 100% 97%<br />
Sequía 86% 97% 91%<br />
Sismo 94% 98% 96%<br />
Irrelevante 99% 96% 97%<br />
IDENTIFICACION DE ENTIDADES 88% 99% 93%<br />
Nombres 70% 100% 82%<br />
Fechas 97% 100% 98%<br />
Cantida<strong>de</strong>s 98% 98% 98%<br />
EXTRACCION DE INFORMACION 80% 75% 77%<br />
Fecha <strong>de</strong>l ev<strong>en</strong>to 63.3% 76.0% 69.1%<br />
Lugar <strong>de</strong>l ev<strong>en</strong>to 61.9% 47.0% 53.4%<br />
Magnitud <strong>de</strong>l ev<strong>en</strong>to 88.0% 88.0% 88.0%<br />
Número <strong>de</strong> personas muertas 79.6% 74.7% 77.1%<br />
Número <strong>de</strong> personas heridas o <strong>en</strong>fermas 94.7% 89.0% 91.8%<br />
Número <strong>de</strong> personas <strong>de</strong>saparecidas 96.8% 75.0% 84.5%<br />
Número <strong>de</strong> personas damnificadas 60.0% 53.8% 56.8%<br />
Número <strong>de</strong> personas afectadas 71.4% 62.5% 66.7%<br />
Número <strong>de</strong> vivi<strong>en</strong>das afectadas 93.5% 72.5% 81.7%<br />
Número <strong>de</strong> hectáreas afectadas 95.8% 92.9% 94.4%<br />
Nombres irrelevantes 76.3% 85.6% 80.7%<br />
Fechas irrelevantes 86.5% 77.8% 81.9%<br />
Cantida<strong>de</strong>s irrelevantes 69.8% 84.5% 76.5%
5. Conclusiones<br />
Este artículo pres<strong>en</strong>ta una aproximación para construir sistemas <strong>de</strong> extracción <strong>de</strong><br />
información. En g<strong>en</strong>eral, <strong>la</strong> propuesta está soportada principalm<strong>en</strong>te por un análisis <strong>de</strong><br />
expresiones regu<strong>la</strong>res y técnicas <strong>de</strong> c<strong>la</strong>sificación <strong>de</strong> texto. Con esto se evita emplear<br />
cualquier tipo <strong>de</strong> análisis lingüístico sofisticado.<br />
Nuestros experim<strong>en</strong>tos <strong>de</strong>muestran el pot<strong>en</strong>cial <strong>de</strong> esta aproximación. Usando un<br />
conjunto <strong>de</strong> <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to re<strong>la</strong>tivam<strong>en</strong>te pequeño, alcanzamos una medida-F promedio<br />
<strong>de</strong> 77% para <strong>la</strong> tarea <strong>de</strong> extracción <strong>de</strong> información.<br />
También, se pue<strong>de</strong> concluir que <strong>la</strong> principal <strong>de</strong>sv<strong>en</strong>taja <strong>de</strong> esta propuesta es que no<br />
es posible extraer información expresada <strong>de</strong> forma implícita <strong>en</strong> los textos. A<strong>de</strong>más, es<br />
complicado extraer y <strong>en</strong><strong>la</strong>zar <strong>la</strong> información <strong>de</strong>s<strong>de</strong> docum<strong>en</strong>tos que reportan más <strong>de</strong><br />
un ev<strong>en</strong>to <strong>de</strong> interés. Creemos que tales problemas pued<strong>en</strong> ser parcialm<strong>en</strong>te resueltos<br />
usando algún nivel <strong>de</strong> análisis lingüístico como etapa <strong>de</strong> pre-procesami<strong>en</strong>to, justo<br />
antes <strong>de</strong> aplicar <strong>la</strong> id<strong>en</strong>tificación <strong>de</strong> <strong>en</strong>tida<strong>de</strong>s.<br />
Agra<strong>de</strong>cimi<strong>en</strong>tos<br />
El pres<strong>en</strong>te trabajo fue parcialm<strong>en</strong>te financiado por el CONACYT (Proyectos U39957-Y y<br />
43990). Asimismo, el primer autor agra<strong>de</strong>ce al CONACYT por el apoyo otorgado a través <strong>de</strong> <strong>la</strong><br />
Beca para Estudios <strong>de</strong> Maestría # 171610. Por su parte, el segundo autor agra<strong>de</strong>ce a <strong>la</strong> Secretaría<br />
<strong>de</strong> Estado <strong>de</strong> Educación y Universida<strong>de</strong>s, España.<br />
Refer<strong>en</strong>cias<br />
[1] Aas K., Eikvil L., “Text Categorization: a Survey”, Technical Report, Norwegian<br />
Computing C<strong>en</strong>ter (1999)<br />
[2] Cowie, J., Lehnert, W., “Information Extraction“. Communications of the ACM, Vol. 39,<br />
No. 1 (1996) 80-91<br />
[3] Manning, C., Schütze, H., “Foundations of Statistical Natural Language Processing“.<br />
MIT Press (1999)<br />
[4] Muslea, I., “Extraction Patterns for Information Extractions Tasks: A Survey“. In Proceedings<br />
of the AAAI Workshop on ML for Information Extraction (1999)<br />
[5] Turno, J., “Information Extraction, Multilinguality and Portability“. Revista Iberoamericana<br />
<strong>de</strong> Intelig<strong>en</strong>cia Artificial. No. 22 (2003) 57-78<br />
[6] Bouckaert, R., “Low level information extraction“. In Proceedings of the workshop on<br />
Text Learning (TextML-2002), Sydney, Auxtralia (2002)<br />
[7] Zavrel, J., Berck, P., Lavrijss<strong>en</strong>, W., “Information Extraction by Text C<strong>la</strong>ssification: Corpus<br />
Mining for Features“. In Proceedings of the workshop Information Extraction meets<br />
Corpus Linguistics, Ath<strong>en</strong>s, Greece (2000)<br />
[8] Kushmerick, N., Johnston, E., McGuinness, S., “Information Extraction by Text C<strong>la</strong>ssification“.<br />
17th International Join Confer<strong>en</strong>ce on AI (IJCAI-2001), N. Kushmerick Ed.<br />
Adaptive Text Extraction and Mining (Working Notes), Seattle, Washington (2001) 44-50<br />
[9] Sebastiani, F., “Machine Learning in Automated Text Categorization: a Survey“. Technical<br />
Report IEI-B4-31-1999, Istituto di E<strong>la</strong>borazione <strong>de</strong>ll’Informazione (1999)<br />
[10] Witt<strong>en</strong>, I. H., Frank, E., “Data Minning: Practical Machine Learning Tools and Techniques<br />
with Java Implem<strong>en</strong>tations“. Morgan Kaufmann (2000)
ÓÑÔÖÓÒÓ×ÑØÓÓ×ÕÙØÖÑÒÒ ÙØÓÑØÑÒØÐÜØÖØÓÙÒØÜØÓ ÀÐÖÓËÐÞÖ¹ÅÖØÒÞ¸ÚÈÒØÓ¸ÀØÓÖÂÑÒÞ¹ËÐÞÖ ÒÑÖØÍÒÚÖ×ÙØÓÒÓÑÈÙÐ ÙÐØÒ×ÐÓÑÔÙØÓÒ<br />
ÜØÖØÓÒÓÖÔÙ×¹×ÑØÓ××ÔÖ×ÒغÑØÓØÖÑÒ×ØÑÓ×Ø ×ØÖغÁÒØ×ÔÔÖÓÑÔÖ×ÓÒØÛÒØÛÓÙØÓÑØØÜØ ÐÖÓÑÝÓÓºÓѺÑܸÔÒØÓ׺ÙÔºÑܸÑÒÞѺÙÔºÑÜ ºÍº¾¼¸ÈÙиÅÜÓ<br />
ÖÔÖ×ÒØØÚ×ÒØÒ×Ý××ÒÒ×ÓÖØÓ×ÒØÒÓÒÔÐÒØÜغ ÑØÓÙ××ÓÒÐÝØØÜغ×ÔØ×جÖ×ØÑØÓÙ××Ð××ÒÓÖÑØÓÒ¸ ÒÓÙÖØ×ظØÓØ×ÑÐÖÖ×ÙÐØ×ØÒØ×ÓÒÓÒºÌÖÓÖ¸Ò×Ù×× Ì×ÓÒÑØÓÙ××ØØÜØÓÝØÓÐÙÐØØ×ÓÖ¸ÒجÖ×Ø<br />
ÃÝÏÓÖ×ÙØÓÑØÌÜØÜØÖØÓÒ¸ÅÙØÙÐÁÒÓÖÑØÓÒ¸ËÒ×ÊÐØÓÒ×Ô ×ÒÇ´Ò¾µÒ×ØÒÙÑÖÓ×ÒØÒ×ÒÔÐÒØÜغ ØØØØÜØ×ÚÐиØ×ÔÖÖÐØÓÙ×جÖ×ØÑØÓ¸ÙØÓ¸Ø× ÓÑÔÐÜØÝØѺÁÒØ×׸جÖ×ØÑØÓ×ÒÇ´ÒµÒØ×ÓÒÑØÓ<br />
ÙÒÓÒ×ÑÐØÙÔÖ×ÒÖÙÒÔÙÒØÙÓÒÓÖÓÒÝ×ØÑÒÖ ØÖÑÒÖÐ×ÓÖÓÒ×Ñ×ÖÔÖ×ÒØØÚ׺ÒÐÔÖÑÖÑØÓÓ¸ÐÙÒÓÒ ÙØÓÑØÜØÖØÓ×ØÜØÓ×ÑÓ×ÑØÓÓ×ÙØÐÞÒÔÓÓ×ÖÙÖ×Ó× ÐÒĐÙ×ØÓ×Ý×ÔÓÝÒÒÙÒÓÖÔÙ×ÔÖÓØÒÖÓÜØÖØÓºËÙ×ÙÒ Ê×ÙÑÒºÒ×ØØÖÓ×ÓÑÔÖÒÓ×ÑØÓÓ×ÔÖÐÒÖÓÒ<br />
ÒÒÙ×ØÖ×ÔÖÙ׸ÓØÙÚÓÙÒ×ÑÔÒÓ×ÑÒØÐÔÖÑÖӺ׸Ö×ÙÐØ ×ÑÐØÙ×ÔÐÐÒÞÓÐØÜØÓÓÒÖ×ÔØÓÓÖÓÒÐ ÓÖÓÒÝ×ÙÓÑÔÐÑÒØÓºÙÒÕÙÐ×ÙÒÓÑØÓÓÙØÐÞÑ×ÒÓÖÑÓÒ¸ ÓÒÚÒÒØÙØÐÞÖÐÔÖÑÖÓ¸ÝÕÙ×ÙÓÑÔÓÖØÑÒØÓ¸ÓÒÙÒØÜØÓÒ ÙÖÔÓÐÑ×ÑÓºÒÐ×ÙÒÓ¸ÐÙÒÓÒ×ÑÐØÙ×ÔÐ<br />
½ºÁÒØÖÓÙÓÒ ÓÖÓÒ׸×ØÒÐÐ×Ç´Òµ¸ÑÒØÖ×ÕÙÐ×ÙÒÓÒÇ´Ò¾µº ÈÐÖ×ÐÚÒÖÓÒÙØÓÑØÜØÖØÓ׸ÊÐÓÒ××ÒØÓº<br />
ÁÒØÖÒØÐÑÒÓ×ØÓ×ÓÖÓÑÝÓÖÑÔÓÖØÒ¸ÔÓÖÐÓÕÙ× Ò×ÖÐÙ×ÕÙÒÙÚ×ÓÖÑ×ÕÙÝÙÒÓÑÔÖÒÖ¬ÞÑÒØ ÐÓÒØÒÓÙÒÓÙÑÒØÓ¸×ÒØÒÖÕÙÐÖÓÑÔÐØÑÒØÐÑ×ÑÓºÈÓÖ ÒÖÓÒÙØÓÑØÖ×ÙÑÒÙÒØÜØÓ×ÒØÒÐÔÖÓ×ÓÔÓÖÐÙÐ ÄÓ×ÚÓÐÙÑÒ×ÒÓÖÑÓÒÚÞ×ÓÒÑÝÓÖ×ÝÓÒÐ×ÙÖÑÒØÓ<br />
ÔÖÓÙÖÙÒÚÖ×ÓÒÖÚ×ØÒÙÒÙ×ÙÖÓÔÖØÙÐÖ´ÓÖÙÔÓ ÓÒÓÖÕÙØÖØÙÒÓÙÑÒØÓ×ÒÒ×ÐÖÐÓÓÑÔÐØÑÒØ¸Ý ×ÒجÐÒÓÖÑÓÒ×Ù×ØÒиÔÖÓÚÒÒØÙÒÙÒØ´ÓÚÖ×µÔÖ Ù×ÙÖÓ×µÝÙÒØÖ´ÓØÖ×µ×Ô¬º
¸½¾℄ºÒÒÖиÐÑÝÓÖÐÓ×ÑØÓÓ×××ÒÒÖÙÖ×Ó×ÓÔÓ×Ó׺ ÚÖ××ÖÖÑÒØ׸ÐÙÒ×Ð×ÙÐ×ÒÙ×ÓÖÙÖ×Ó×ÐÒĐÙ×ØÓ× ÒÖÓÒÐÖ×ÙÑÒÙØÓÑØÓºÒÐÙÒÓ×ÒÓÕÙ××ÒÒÖÓ ÖÒ׺ÇØÖÓ×Ñ×ÑÔÐÒÖÙÖ×Ó××ÑÒØÓ×ÝÓØÖÓ׸ÑØÓÓ××Ø×ØÓ× Ü×ØÒÑÙÓ×ÒÓÕÙ×Ý×ÖÖÓÐÐÓ×ÔÖÖ×ÓÐÚÖÐÔÖÓÐÑÐ<br />
ÙÒÐÓÖØÑÓÕÙÓÒ×ØÖÙÝÙØÓÑØÑÒØÙÒÓÖÔÙ×ÔÖÒØÖÒÖ××ØÑ× ÒÐÒÖÓÒÙØÓÑØÖ×ÙÑÒ׸ÝÐÑÔÓÖØÒÒÐÞÖ Ð×ÔÖÓÔÙ×Ø×ÖÐÞ×Ò×Ø×ÒØÓºÒÐÅÖÙ¿℄¸ÔÓÖÑÔÐÓ¸ÔÖÓÔÙ×Ó ÕÙØÖÑÒÒÐÜØÖØÓÙÒØÜØÓº×ØÐÓÖØÑÓØÓÑÙÒÓÒÙÒØÓ ÄÒÖÓÒÙØÓÑØÐÜØÖØÓÙÒØÜØÓ¸×ÙÒØÖÔÖØÙÐÖ<br />
ÜÔÖÑÒØÓÕÙÙÚÐÙÓÔÓÖÙ׺ÐÜÔÖÑÒØÓØÑÒ×ÙÖ Ö¸ÐÓÒÙÒØÓÐÙ×ÙÐ×´ÓÖÓÒ×µÒÐØÜØÓÙØÐÞÓÔÖ×ÖÖ ×ØÖØ×ÜØÖÓÒÔÖÑÓÖÖÐ×ÖÖÓÐÐÓÐ××ØÑÖ×ÙÑÒ ØÙÔÐ×ÓÑÓÒØÖ´Ê×ÙÑÒ¸ÌÜØÓµÝÒÖÐÜØÖØÓÓÖÖ×ÔÓÒÒظ×<br />
ÙØÓÑØÓº ÐÓÖÖ×ÔÓÒÒØÖ×ÙÑÒºÈÖÐ×ÖÖÓÐÐÓÐÐÓÖØÑÓ×ÖÐÞÓÙÒ<br />
ÒÓÖÑÓÒÝÖ×ÙÑÒÙØÓÑØÓº×ØØÖÓÔÖÓÔÓÒЬÒÓÒÙÒ ØÐ℄ÔÖÓÔÓÒÙÒÔÐØÓÖÑÔÖÖ×ÓÐÚÖÔÖÓÐÑ×ÜØÖÓÒ ÑÓÐÓÓÒÔØÙÐÒÖÐÖÔÖ×ÒØÓÒÔÖÓÒÓÑÒØÓ×ÐÒĐÙ×ØÓ× ÖÕÙÖÑÝÓÖÒØÖÙÖ×Ó׺ÈÓÖÑÔÐÓ¸ÐØÖÓÙ×ØÚÓÖ×ÔÒÓ ÖÓÒÓÖ×ÕÙÐÒÖÓÒÙØÓÑØÐÖ×ÙÑÒÙÒØÜØÓ<br />
ÝÐ×ÖÖÓÐÐÓØÖ××ÔÐÞ×ÕÙÓÓÔÖÒÒØÖ׺ÒÐÑÓÐÓ ×ÒجÒÐÓ×ÓÒÓÑÒØÓ×ÐÒĐÙ×ØÓ×ÙÒÓÐÓ×Ò×Ù×ÓÒØÜØÓ×Ý ÓÖÒÞÒÓÐÓ×ÒØÖ××ÔÐÞ׺ÈÖ×ÒظÔÓÖÙÒÐÓ¸ÐÚÒØ ÔÖÑØÖÕÙÐØÖÓÐÐÒĐÙ×Ø×ÖÐÑÒÖÒÔÒÒØ×Ù ÑÔÐÑÒØÓÒÒÓÖÑظݸÔÓÖÓØÖÓ¸ÐÖØÙÐÖØÚÑÒØÒÙÒ<br />
℄¸ÙÝÓ¬Ò×ÔÖÓÚÖÐÙ×ÙÖÓÒÓÖÑÓÒÓÒØÒÒØÜØÓ×ÙÖÓ Ñ×ÑÓ××ØÑÒÓÖÑØÓÐÓ×Ó×ØÔÓ×ØÖ׺<br />
ÓÒ×Ù×ÒØÖ×׺ ÓÒÓÓ×ÓÑÓÐÚØÓÖÐ℄º×¸ÔÙÒÒÖÖ×Ö×ÙÑÒ×ÔÖ×ÓÒÐÞÓ× Ü×ØÒÑÙÓ×ØÖÓ×ÕÙ×ÔÓÝÒÒÑÓÐÓ×ÖÔÖ×ÒØÓÒÒ<br />
ÙØÖÓÙ×ÙÑÒÓ×ÝÖÖÓÖÓÒÖ×ÙÐØÓ×ÔÖÓÑØÓÖ׺ÒÐÔÖ×ÒØ ÑÒØÙÒÐÓÖØÑÓÕÙÓÖÒÐ×ÓÖÓÒ×ÓÒØÒ×ÒÙÒØÜØÓ×ÙÒ ×Ù×ÑÐØÙÓÒÐØÜØÓÑ×ÑÓ℄ºÐÐÓÖØÑÓ×ØÒÇ´Ò¾µÓÒÒ×Ð ÒÙÑÖÓÓÖÓÒ×ÐØÜØÓºÄÓ×ÜØÖØÓ×ÓØÒÓ×ÙÖÓÒÚÐÙÓ×ÔÓÖ ÀÑÓ×ÓÖÓÐÔÖÓÐÑÐÒÖÓÒÙØÓÑØÜØÖØÓ×<br />
ØÖÓÜÔÓÒÑÓ×ÙÒÚÖÒØÒ×ÔÖÒÐØÖÓÒÐÅÖÙ¿℄¸ ÕÙÔÖÑØÖÙÖÐØÑÔÓÐÙÐÓÇ´Ò¾µÇ´Òµ×ÒØÖÑÒØÓ×Ù<br />
Ý̸ÓÒÐÐÚÐÜÔÖÑÒØÓÒÓÒÚÖ××ØÒ׬ÒÓØÒÖÙÒ ÕÙÓØÖǸ×Ð×ÑÐØÙÒØÖÇÝÌ×ÑÝÓÖÕÙÐ×ÑÐØÙÒØÖÇ ¬º<br />
ÓÒÙÒØÓÓÖÓÒ×ÕÙÔÙÒÓÒ×ÖÖ×ÓÑÓÐÜØÖØÓÙÒØÜØÓº ÑÒÓÒÖÕÙÐÐÓÖØÑÓØÖÑÒÐÜØÖØÓØÜØÓ×ÔÐÒÓ×´×Ò ÄÔÓØ××ÕÙÙÒÓÖÓÒÇÙÒØÜØÓÌ×Ñ×ÖÔÖ×ÒØØÚ<br />
×ØÖÙØÙÖ¸ØÕÙØ׸ÙÓØÖÒÓÖÑÓÒµº
ÒÐ×ÓÒ¾×ØØÖÓ×ÒØÖÓÙÒÓ×ÓÒÔØÓ×ÑÔÓÖØÒØ×ÔÖ<br />
ÐÒØÒÑÒØÓÐØÖÓ×ÖÖÓÐÐÓÐÙ×ÓÐÖÐÓÒ×ÒØÓÕÙ×<br />
ÓØÒØÖÚ×ÐÓÖÔÙ×ÝÐÙ×ÓÐÑÒÓÖÑÓÒÑÙØÙÓÑÓ<br />
ÙÒÓÖÑÓÒØÖÓÐÖÐÜÔÒ×ÓÒÔÐÖ×Ù×ÒÓÓÒØÜØÓ×ÙÒÓÖÔÙ׺<br />
ÐÑØÓÓÑÓÖÓ×ÜÔÓÒÒÐ×ÓÒ¿ºÒÐ×ÓÒ×ÔÖ×ÒØÙÒ<br />
ÓÑÔÖÓÒÒØÖÐÓ×Ó×ÑØÓÓ×ÑÒÓÒÓ×Ù×ÒÓ¼ØÜØÓ×ÐÓÑÒÓ<br />
ÔÓÐغÒÐÔÖجÒÐ×ØÖØÙÐÓ×ÔÖ×ÒØÒÐ×ÓÒÐÙ×ÓÒ×Ð<br />
ØÖÓº<br />
¾ºÓÒÔØÓ××Ó×<br />
ÐÖÙÖ×ÓÒÕÙ×ÔÓÝÐÑØÓÓÕÙ×ÔÖ×ÒØ×ÐÓÒÙÒØÓ<br />
ÖÐÓÒ××ÒØÓÙÒØÖÑÒÓºÄ×ÖÐÓÒ×Ð×ÒØÓÙÒÔÐÖ<br />
ܸ×ÐÓÒÙÒØÓØÓ×ÕÙÐÐ×ÔÐÖ×ÖÐÓÒ×ÓÒܾ℄ºÒ×Ø<br />
×Ó¸ÔÖÓÜÑÑÓ×Ð×ÖÐÓÒ××ÒØÓÔÓÖÐÓ×ØÖÑÒÓ×ÕÙÓÙÖÖÒ<br />
ÒÐÓ×ÓÒØÜØÓ×ܺ׸××ØÒÙ×ÒÓÐÓ×ØÖÑÒÓ×ÔÖÑÖÓÖÒ<br />
ÔÖÖÔÖ×ÒØÖܽ¸℄ºËÒÖÐÞÓÓØÖ×ÔÐÓÒ×ÕÙÙØÐÞÒ×Ø<br />
ÖÔÖ×ÒØÓÒ½¿℄º<br />
ÈÖÓØÒÖÐÜØÖØÓÙÒØÜØÓ¸ÒجÑÓ×Ð×ÓÖÓÒ×Ñ×<br />
ÖÔÖ×ÒØØÚ×кÈÖ×جҸÙ×ÑÓ×Ð×ÖÐÓÒ××ÒØÓÝ<br />
ÜÔÒÑÓ×ÐÓ×ØÖÑÒÓ×ÓÖÓÒÐØÜØÓ×ØÓÙÐØÑÓÔÖÑØ<br />
ÔÐÖÙÒÙÒÓÒ×ÑÐØÙÕÙЬÕÙÓÖÓÒÓÒÙÒÒÚÐ<br />
ÖÔÖ×ÒØØÚº<br />
ÈÓÖÓØÖÓÐÓ¸ÓÒ×ÖÑÓ×ÑÔÓÖØÒØÖ¬ÒÖÐÔÖÓÜÑÓÒÐ×<br />
ÖÐÓÒ××ÒØÓÕÙÔÖÓÚÐÓÖÔÙ׸ÓÒЬÒÐÒÖÑÒØÖÐ<br />
ÔÖ×ÓÒÐÓ×Ö×ÙÐØÓ׺׸ÑÓ×ÓÙ×ÓÐÓÒÔØÓÒÓÖÑÓÒ<br />
ÑÙØÙºÄÒÓÖÑÓÒÑÙØÙ´Áŵ½½℄ÔÖÓÚÒÓÒÔØÓ×ØÓÖÓ××ÓÖÐ<br />
ÒÓÖÑÓÒ××ØÑ×ݬÒÐÑÒØ×ØÖÙÙÒѺÄÁÅ×ÒØÓÒ×<br />
ÙÒÓÒØ×ÓÓÒ¸ÔÖÑÖÐÒÓÖÑ×ÓÓÒÔÐÖ׺<br />
ËÓ×ÔÐÖ׸ÜݸØÒÒÔÖÓÐ×ÈִܵÝÈִݵ¸ÒØÓÒ××Ù<br />
ÒÓÖÑÓÒÑÙØÙ¸Á´Üݵ¸×¬ÒÓÑÓ<br />
Á´Ü<br />
ݵÐÓ¾ÈÖ´Ü<br />
ݵ<br />
ÈִܵÈִݵ<br />
´½µ<br />
Ò×Ø×Ó¸Ð×ÔÖÓÐ×ÈִܵÝÈִݵ×ÓÒ×ØÑ×ÐÙÐÒÓÐ<br />
ÖÙÒÓÙÖÖÒÖÐØÚÜÝÒÙÒØÜØÓºÄÔÖÓÐÓÒÙÒظ<br />
ÈÖ´Ü<br />
ݵ¸××ØÑÐÙÐÒÓÐÒÙÑÖÓÚ×ÕÙÓÙÖÖÒÜÝÒÐÑ×Ñ<br />
ÓÖÓÒÝÚÒÓÔÓÖÐÒÙÑÖÓÓÖÓÒ×ÐÓÖÔÙ״ƵºÓÒ×ÖÒÓÕÙ<br />
ÐÖÙÒÓÒÙÒØØÖÑÒÓ×ÔÙ×ÖÖÓ¸ÐÓÖÑÙнÕÙÖÜÔÖ×<br />
ÓÑÓ ÁÅ´Ü<br />
ݵÐӾơִÜ<br />
ݵ<br />
ִܵ¡Ö´Ýµ·½ ´¾µ<br />
ÓÒִܵÝִݵ×ÓÒÐÖÙÒÓÙÖÖÒÐØÖÑÒÓÜݸ<br />
Ö×ÔØÚÑÒظÝÖ´Ü<br />
ݵ×ÐÖÙÒÓÙÖÖÒÒÙÒÑ×ÑÓÖÓÒ<br />
ÐÓ×ØÖÑÒÓ×Üݺ
¿ºÅØÓÓ×ÜØÖÓÒ<br />
×ØÔÓÖÖÔÖ×ÒØÖÐØÜØÓ½¼℄ºÎÐÒÓ×ÙÒÙÒÓÒ×ÑÐØÙ¸× ÙÒÙÒÔÖÓÜÑÓÒÐÐØÓÖÖÐÓÒØÒÓÐÑ×ÑÓݸÔÓÖÐÓØÒØÓ¸ Ù×ÒÒØÓÒ×Ð×ÓÖÓÒ×ÇÕÙØÒÒÑÝÓÖ×ÑÐØÙÓÒÐÒÞÓº ÓÑÓÔÙÚÖ׸ÔÖØÖÑÒÖÐÔÙÒØÙÓÒØÓ×Ð×ÓÖÓÒ×¸× ÆÙ×ØÖÓÒÓÕÙÔÖØÐ×ÙÔÙ×ØÓÕÙÐÒÞÓÙÒØÜØÓÓÖ<br />
ÐÙÐÖÐÔÙÒØÙÓÒÙÒÓÖÓÒÇ×ÖÐÞÒÒÐÙÐÓ××ÑÐØÙ¸ Ù×ÒÓÐÙÖÔÓÐØÜØÓ¸ÐÐÓÖØÑÓØÒÖÙÒÓÑÔÓÖØÑÒØÓÙÖØÓ ÖÐÞÒÒÐÙÐÓ××ÑÐØÙÔÖÙÒØÜØÓÒÓÖÓÒ׺ÒØÒØÓ¸×ÔÖ ÔÖ×ÒÖÐÔÙÒØÙÓÒÐ×ÒÓÖÓÒ×ÐØÜØÓº<br />
Ý̽Ö×ÔØÚÑÒØÒ×Ø×Ó¸×ÐÑÒÒÐ×ÔÐÖ×ÖÖ×Ý×ØÖÙÒ ÐÓ×ØÖÑÒÓ׺ÌÒØÓÓÑÓÐØÜØÓÌÒ×ÖÔÖÔÖÓ×Ó׸ÓØÒÒÓ½ ØÖÑÒÓºÑ׸̽××ÓÑÔÓÒÒ×ÙÒÞÓÌÝ×ÙÙÖÔÓ Ù×ÓÙÒÓÖÔÙ×´Ò×Ø×ÓÐÓÑÒÓÔÓÐصÕÙÔÖÑØÖÔÖ×ÒØÖ ÓÒÐÒØÖÓÖ×ÔÖÓÔÙ×ÓÖÐÞÖÓ×ÜÔÖÑÒØÓ׸ÒÐÓ×ÕÙ×<br />
̺ÐÓÖÔÙ×½×ÑÔÐÔÖÖÔÖ×ÒØÖÙÒÐ×ÓÖÓÒ×ÓÒ Ð×ÓÖÓÒ×ÖÔÖ×ÒØ׺ÓÒØÒÙÓÒ×ÔÖ×ÒÐ××ÒØ×ÜÔÙ×Ø׺ ÐÓ×ØÖÑÒÓ××ÓÓÒÔÖÑÖÓÖҺ׸×ÓØÒÐÓÕÙÐÐÑÑÓ× ÓÖÓÒÖÔÖ×ÒغÄ×ÑÐØÙÒÙÒÐ×ÔÖÙ××ÐÙÐÓÒ<br />
ÓÒÙÒØÓÔÖ×℄ ¿º½ºÊÔÖ×ÒØÓÒÌÜØÓ Ä×ÖÐÓÒ××ÒØÓÓÒÖ×ÔØÓÐÓÖÔÙ×½×ÓÒ¬ÒÐÑÒØÙÒ<br />
ÄÖÔÖ×ÒØÓÒÙÒÔÐÖÜÓÒ×ÒÎ× Î´Ü ÝµÜ Ý¾ÇÔÖÙÒÓÖÓÒǾ½ ´¿µ<br />
´×ÒÖÔØÓÒ×µºÔÖØÖÐÖÔÖ×ÒØÓÒÙÒÔÐÖ¸×ÔÓ×Ð ÄÖÔÖ×ÒØÓÒÙÒÔÐÖ×Ú×ØÓÑÓÙÒÓÒÙÒØÓÔÐÖ× ÜÔÒ´Ü ÎµÝ´Ü Ýµ¾ÎÁÅ´Ü Ýµ ´µ<br />
ÖÔÖ×ÒØÖÙÒÓÖÓÒÓÖÑÒÓÙÒØÙÔкÓÖÖ×ÔÓÒǴܽܵРÖÔÖ×ÒØÓÒ<br />
ÄÖÔÖ×ÒØÓҸ̾¸ÐØÜØÓ̽׸ÒØÓÒ× ÜÔÒÇ´Ç Îµ´ÜÔҴܽεÜÔÒ´Üεµ ´µ<br />
ÓÒ̽×ØÓÖÑÓÔÓִǽǾÇÒµº ̾´ÜÔÒǴǽεÜÔÒÇ´ÇÒεµ ´µ
ÑÔÐÐÒÞÓÔÖØÖÑÒÖÐÔÙÒØÙÓÒÓÖÓÒÐÙÖÔÓ Ý¸Ð×ÙÒÓÙ×ÐÑ×ÑÓÙÖÔÓÔÖÐÙÐÖ×ØÔÙÒØÙÓÒº ¿º¾ºÜØÖØÓÐÌÜØÓ<br />
ÒÞÓºÈÖÐÙÐÖÐÔÙÒØÙÓÒÓÖÓÒÐØÜØÓ¸ ÎÑÓ×ÓÖÐÓ×ÑØÓÓ×ÜØÖØÓÙØÓÑØÓÙÒØÜØÓºÐÔÖÑÖÓ<br />
ÐÙÐÑÓ×Ð×ÑÐØÙÒØÖÐÒÞÓÐØÜØÓ̸̸Ý×ÙÙÖÔÓ̺ ÐÖÔÖ×ÒØÓÒÙÒ×Ø×ÓÖÓÒ× Ò×ØØÖÙØÐÞÑÓ×ÐÓ¬ÒØÂÖºÄÓÒØÖÓÖÓÒ×ÖÒÓ<br />
ÒÞÓÜÔÒÓ̾º ÓÒǾ×й×ÑÓÖÓÒÖÔÖ×ÒØÐÙÖÔÓ̾Ý̾×Ð ×Ѵ̾Ǿµ´Ì¾Ç¾µ ´Ì¾Ç¾µ ´µ<br />
ÓÑÔÐÑÒØÓº×ØÑØÓÓ××ÒÐÓÑÔÐÑÒØÓÙÒÓÖÓÒ ℄¸ÓÒÖ×ÔØÓÐØÜØÓ¸ÔÖÐÖÐ×ÓÖÓÒ×Ñ×ÖÔÖ×ÒØØÚ׺ ÄÔÙÒØÙÓÒÙÒÓÖÓÒ×ÐÙÐÓÒÐ×ÙÒØ×ÑÔЬÓÒÐ<br />
ÕÙ¸×ѼÙÒØÐÒÙÑÖÓÐÑÒØÓ×ÓÑÙÒ×ÐÓÖÓÒÝ×Ù Ó¬ÒØÂÖ<br />
ÓÑÔÐÑÒØÓÒ̾¸Ç¾×ÖǾ×̾×ÒǾº ×Ѽ´Ç¾Ç¾µ´Ç¾Ç¾µ ´µ<br />
¾½Ô×ÙÓÐÜÑ×´ÓÒ×ÖÒÓÒÓÑÖ×ÔÖÓÔÓ׵ݾ½ÓÖÓÒ׺ ØÓÓ×ÐÓÑÒÓÈÓÐغÓÓÖÔÙ×ØÒÙÒØÑÒÓ¾º¸ÓÒ ºÓÑÔÖÓÒÐÓ×ÑØÓÓ×<br />
ÑÒÓÒÖÕÙÐÓ×¼ØÜØÓ×Ù×Ó×ÒÐÔÖÙ¸ÒÓ×ÓÒÔÖØÐÓÖÔÙ׺ ÐÓÖÔÙ×ÙØÐÞÓÒÐ×ÔÖÙ×ÖÐÞ×ÓÒ×Ø¿ØÜØÓ׸<br />
ÓÖÒк׸ÙÒÓÐ×ÔÓ×ÓÒ×Ð×ÓÖÓÒ×ÜØÖ×ÔÓÖÑØÓÓ ×ÓÒÖÒ×ÓÒÖ×ÔØÓÐØÜØÓÓÖÒиÒØÓÒ××ÙÖÔÖ×ÒØØÚ× ÔÙÒØÓÖÖÒÐØÜØÓÓÖÒкÒ×Ò¸×ÓÑÔÖÒÐ×ÔÓ×ÓÒ× Ð×ÓÖÓÒ×ÙÒÜØÖØÓ´ÜصÓÒÐ×ÔÓ×ÓÒ×××ÓÖÓÒ×ÒÐØÜØÓ ÄÓÑÔÖÓÒÐÓ×ÑØÓÓ×ÒØ××ÖØÓ××ÐÐÚÓÓØÓÑÒÓÓÑÓ<br />
ÐÜØÖØÓÓÒÖ×ÔØÓÐØÜØÓÓÖÒÐ× Ç¾ÜØÓÒÐÔÓ×ÓÒÇÒ̺Ò×ÙѸÐÚÐÓÖÓÒÙÒÓÖÓÒ ÜØÓÒǾÜغ×ØÑ××ÒÐÖÒÐÔÓ×ÓÒ ÓÒ×Ø×ÔÐÖÓÒÙÒÓÒ×ÖÒ´ÖÓÖµ¸ÓÖÓÒ ×ÑÐÖ¸ÝÔÓÑÓ×ÓÒÐÙÖÕÙÐÓ×ÑØÓÓ×ÓØÒÒÖ×ÙÐØÓ××ÑÒØ׺<br />
ÄÚÐÙÓÒÐÜØÖØÓÐÓÙÑÒØÓ×ÓØÒÔÖÓÑÒÓ ÖÓÖ´Ìǵ ½<br />
ÖӴ̵¦½ÖÓÖ ·½ ´µ<br />
´½¼µ
ÑØÓÓ×ݺÌнºËÑÒÞÖÐØÚÐÓ×ÑØÓÓ×<br />
ÓÒÙÙÒÒÙÑÖÓÖØÖÖÓÓÖÓÒ×ÕÙ×ØÓÑÖÓÒÔÖ¬ÒÖÜغ ÔÖÓÑÖÐÚÐÙÓÒÜØÖØÓÐ×¼ÓÖÓÒ×ÔÐÒÓÐÓ× ÒÐ×ÙÒØØÐ×ÑÙ×ØÖÒÐÓ×Ö×ÙÐØÓ×ÓØÒÓ××ÔÙ×<br />
ÅØÓÓ ¼º½¼¼º½¾¼º½¾¼º¾½½¼º½¼º½ ¼º¾¿¼º½¼º½½¼º½¿¿¼º½¿¼º½ ǽ Ǿ ÖÓÖÜØ Ç¿ Ç ÇÖÓ<br />
ݺÐÑ×ÑÓÖÑ×ÐÙÐÓÐ×ÑÒÞÒØÖÐÓ×ÜØÖØÓ×´ºµºÐ Ö×ÙÐØÓ×ØÐÙÐÓÙ¼º¸ÐÓÙÐÒÓ×ÔÖÑجÖÑÖÕÙЬ ÑÓ×ÑØÓÓ×××ÑÐÖݸÔÓÖØÒØÓ¸ÔÙÙ×Ö×ÓÒÑÝÓÖÚÒØÐ ÑØÓÓº ÒÐØнÓ×ÖÚÑÓ×ÙÒÚÐÓÖÔÖÓÑÓÖÒ×ÑÒØÔÖ<br />
ºÓÒÐÙ×ÓÒ×<br />
ÙÒÓÖÔÙ×ÓÒЬÒÖÔÖ×ÒØÖÐ×ÓÖÓÒ×ݸ׸×ÒÖÐ×ÙÒÔÙÒØÙÓÒ ÓØÒÓ×ÔÓÖÙ×ÙÑÒÓ׸×ÓÖÐÓ×Ñ×ÑÓ×ØÜØÓ׺ÑÓ×ÑØÓÓ×Ù×Ò ÜØÖØÓ×ÖÖÓÓ×ÔÓÖÐ××ØÑÙÖÓÒÚÐÙÓ×ÓÒÖ×ÔØÓÕÙÐÐÓ× ×ÓÖ×ÙÖÔÖ×ÒØØÚÖÐØÜØÓºÐÑØÓÓÖÕÙÖÙÒØÑÔÓÒ ËÓÑÔÖÖÓÒÓ×ÑØÓÓ×ÔÖÓØÒÖÐÜØÖØÓÙÒØÜØÓºÄÓ×<br />
Ç´ÒµÝÐÑØÓӸǴҾµ¸ÓÙÒØÜØÓÒÓÖÓÒ׺ÉÙÐÒÞÓ× ÐØÜØÓÓÖÒÐÙÔÓ×ÐÓÒ×ØØÖ¸ÒÙÒÔÖÙÕÙÙ×ÓÙÖÒØØÜØÓ׸ ÖÚÐÓÖÐÓÒØÒÓÐØÜØÓ×ÙÒÔÓØ××ÐÑØÓÓºÅÒØÖ×ÕÙ ÒÓÔÒÐÒÞÓºÐÔÐÖÙÒÑÖÒÓÒÖ×ÔØÓ ÕÙÑÓ×ÑØÓÓ×ÓØÒÒÜØÖØÓ××ÑÐÖ׺ËÓÒÐÙݸÒØÓÒ׸ÕÙÐ Ö×ÔÙ×ظÝÕÙØÒÙÒÓÑÔÐÒØÑÔÓÐÒк ÖÑÒØÓ× ÑØÓÓ×ÓÒÐÒÞÓÐØÜØÓ×ÚÒØÓ×ÓÓÒÖ×ÔØÓÐØÑÔÓ<br />
ÔÓÝÓÔÖÐÖÓÔÓÖÔÖØÐÔÖÓÝØÓÎÁÈÁÁÁ¹¼»ÁÆ»º ÖÑÓ×ÐÓ×ÓÑÒØÖÓ×ÐÓ×ÖØÖÓ××ØØÖÓ¸×ØÑÒÐ
ÊÖÒ×<br />
¾℄ÄÝÓÒ׸ºËÑÒØ׸ÑÖÍÒÚÖ×ØÝÈÖ×׸½º ¿℄ÒÐÅÖÙÌÙØÓÑØÓÒ×ØÖÙØÓÒÓÐÖ¹×ÐÓÖÔÓÖÓÖ ½℄ÊÙ¸ÖÓÑÒÒÓÖÔÙ×ÐÒÙ×Ø×ÒÙÑÒÑÑÓÖÝÑÓÐ× ´ºµ¸ÃÐÙÛÖ¸½º ×ÙÑÑÖÞØÓÒÖ×ָŹËÁÆÁʳ¸ÔÔº½¿¹½¸½º ÓÖÙØÓÑØØÖÑ××ÓØÓÒ¸ÌÜØÒÓÖÑØÓÒÖØÖÚи̺ËØÖÞÐÓÛ×<br />
℄ººÂÓÒ×ÓÒ¸ººÏºÂºÈ¸Ð²ºÈºÆÐÌÔÔÐØÓÒÓ ℄ÖÖËÐØÓÒ¸ÂÑ×ÐÐÒ²ÑØËÒÐÙØÓÑØØÜØ ÐÒÙ×ØÔÖÓ××ÒØÓÙØÓÑØ×ØÖØÒÖØÓÒ¸ËÁÁʳ<br />
℄Ù×ØÚÓÖ×ÔÒÓ¸ÂÒ¹ÄÙÅÒвÂÚÖÓÙØÓÓÒØÜØÓÍÒ ℄ÖÒØØظÖÓÖÝÙØÓÑØØ×ÙÖÙ×ÒÖØÓÒÖÓÑÖÛØÜØÙ×Ò ÅÒÑÒظκ¿¾¸ÔÔº½¾¹½¿¸Ð×ÚÖ¸½º ÓÑÔÓ×ØÓÒÒ×ØÖÙØÙÖÒ¸ÁÒÓÖÑØÓÒÈÖÓ××ÒÒ<br />
ÔÐØÓÖÑÔÖÐÜØÖÓÒÒÓÖÑÓÒÝÐÖ×ÙÑÒÙØÓÑØÓ ØÜØÓ׸ÈÖÓÒ×ÓؾҺÏÓÖ×ÓÔÓÒËÔÒ×ÈÖÓ××ÒÒ ÄÒÙÌÒÓÐÓ׸ÔÔº½¿¹½¸ÍÒÚÖ×ÂÒ¸×ÔÒ¸¾¼¼½º ÒÓÛйÔÓÓÖØÒÕÙ׸ÖÓܸÖÒÓÐĺ¸½º<br />
℄ÁºÖӸźÐÓÓÖ¸ºÞ¸ÂºÅºÓÑ޲źÅÒÒÖÓÒ ÙØÓÑØÊ×ÙÑÒ×ÔÖ×ÓÒÐÞÓ׸ÈÖÓ×ÑÒØÓÄÒÙ<br />
½¼℄ËÐÞÖ¸ÀºÇØÒÓÒÐÜØÖØÓÙÒØÜØÓ¸Ì××ÄÒØÙÖÒ ℄ËÐÞÖ¸Àº¸ÈÒØÓ¸Ú²ÂÑÒÞ¸ÀºÌÜØÜØÖØÓÒÓÖÔÙ×¹× ÆØÙÖо¸ÔÔº¾½¹¾¸ËÈÄƾ¼¼½º ÔÔÖÓ¸ÒÚÖ×ÖÓ¹ÍȸÒÓÚÑÖ¾¼¼¿ºÁËÆ¿ ½½¸Ôº¾¹¸¾¼¼¿º<br />
½¾℄ÃÚÒÃÒزÒÐÅÖÙËÙÑÑÖÞÒÝÓÒ×ÒØÒÜØÖØÓÒ ½½℄ÃÒÒØÏÖÙÖ²ÈØÖÀÒ×ÏÓÖ××ÓØÓÒÆÓÖÑ׸ÅÙØÙÐ ½¼º ÁÒÓÖÑØÓÒ¸ÓÑÔÙØØÓÒÐÄÒÙ×Ø×ÎÓÐÙѽ¸ÆÙÑÖ½¸ÅÖ Ò×ÐÓÑÔÙØÓÒ¸¹Íȸ¾¼¼¿º<br />
½¿℄ÎÖ×Ò×ÔÖÒ¸º²ËØÖÙÄѸκĺÜÔÖÑÒØÓÒÜØÖØÒ ½¼¸¾¼¼¾º ËÒ¸ÎÓк¾¸ËÔÖÒÖ¸¾¼¼¿º ÔÖÓÐ×ØÔÔÖÓØÓ×ÒØÒÓÑÔÖÒ×ÓÒ¸Ð×ÚÖ¾¼¼¾¸ÔÔº½¹ ×ÑÒØÖÐØÓÒ×ÖÓÑ×ÝÒØØÖÐØÓÒ¸ÄØÙÖÆÓØ×ÒÓÑÔÙØÖ
Enhancing Flexibility of Named Entity<br />
C<strong>la</strong>ssifiers<br />
Thamar Solorio and A. López López<br />
Coordinación <strong>de</strong> Ci<strong>en</strong>cias Computacionales<br />
Instituto Nacional <strong>de</strong> Astrofísica, Óptica y Electrónica<br />
Luis Enrique Erro #1,<br />
72840 Pueb<strong>la</strong>, México<br />
Abstract. Traditional methods for named <strong>en</strong>tity c<strong>la</strong>ssification are based<br />
on hand-co<strong>de</strong>d grammars, lists of trigger words and gazetteers. While<br />
these methods have acceptable accuracies they pres<strong>en</strong>t a serious drawback:<br />
if we need a wi<strong>de</strong>r coverage of named <strong>en</strong>tities, or a more domain<br />
specific coverage we will probably need a lot of human effort to re<strong>de</strong>sign<br />
our grammars and revise the lists of trigger words or gazetteers. We<br />
pres<strong>en</strong>t here a method that uses Support Vector Machines for improving<br />
flexibility and accuracy of a traditionally-built named <strong>en</strong>tity extractor.<br />
Experim<strong>en</strong>tal results show that this approach can be a very practical solution,<br />
increasing precision by up to 13.56% and recall by up to 38.41%<br />
without consi<strong>de</strong>rable human effort.<br />
Resum<strong>en</strong>. Los métodos tradicionales para c<strong>la</strong>sificación <strong>de</strong> <strong>en</strong>tida<strong>de</strong>s<br />
nombradas se basan <strong>en</strong> gramáticas codificadas manualm<strong>en</strong>te, listas <strong>de</strong><br />
pa<strong>la</strong>bras disparadoras y diccionarios. Aunque <strong>la</strong> exactitud <strong>de</strong> estos métodos<br />
es aceptable pres<strong>en</strong>tan una seria <strong>de</strong>sv<strong>en</strong>taja: si se requiere una cobertura<br />
más amplia o adaptar <strong>la</strong> cobertura <strong>de</strong> <strong>en</strong>tida<strong>de</strong>s a un dominio más específico<br />
probablem<strong>en</strong>te se necesitaría <strong>de</strong> un gran esfuerzo humano para<br />
rediseñar <strong>la</strong>s grámaticas y revisar <strong>la</strong>s listas <strong>de</strong> pa<strong>la</strong>bras disparadoras y<br />
diccionarios. En este trabajo se pres<strong>en</strong>ta un método basado <strong>en</strong> Máquinas<br />
<strong>de</strong> Vectores <strong>de</strong> Soporte que facilita <strong>la</strong> adaptación <strong>de</strong> un extractor tradicional<br />
<strong>de</strong> <strong>en</strong>tida<strong>de</strong>s nombradas. Los resultados experim<strong>en</strong>tales muestran<br />
que el método es una solución muy práctica, que no requiere <strong>de</strong> un trabajo<br />
manual pesado, obt<strong>en</strong>i<strong>en</strong>do mejoras <strong>en</strong> precisión <strong>de</strong> hasta un 13.56%<br />
y <strong>en</strong> recuerdo hasta un 38.41%.<br />
1 Introduction<br />
While hand-co<strong>de</strong>d grammars, gazetteers, chunkers, contextual rules and lists of<br />
trigger words provi<strong>de</strong> a valuable source of information useful for building NE<br />
extractors, (e.g. [1–4]) they can become obsolete if no updating is performed.<br />
Another disadvantage of relying on this information is that the coverage of these<br />
tools might be too g<strong>en</strong>eral or overly specific, thus achieving poor precision and<br />
recall wh<strong>en</strong> applied to more specific or differ<strong>en</strong>t domains. However, they can
pres<strong>en</strong>t a useful starting point in building accurate Named Entity (NE) c<strong>la</strong>ssifiers.<br />
We believe that machine learning techniques can be used to build automated<br />
c<strong>la</strong>ssifiers trained on traditional hand-built NE extractors. Th<strong>en</strong>, instead<br />
of manually re<strong>de</strong>signing the NE extractors we can allow the c<strong>la</strong>ssifiers to learn<br />
from tags assigned by the NE extractor. Hopefully the NE not covered by the<br />
extractor will be successfully c<strong>la</strong>ssified by the learner, providing a faster/easier<br />
method for adapting named <strong>en</strong>tity extractors.<br />
We pres<strong>en</strong>t here a new methodology for NE c<strong>la</strong>ssification that uses Support<br />
Vector Machines (SVM) in or<strong>de</strong>r to <strong>en</strong>hance the flexibility and accuracy of a NE<br />
Extractor System (NEES). The NEES is consi<strong>de</strong>red as a b<strong>la</strong>ck box, we are only<br />
interested in its output, which is used as one of the attributes in our learning<br />
sc<strong>en</strong>ario. Our proposed solution can be consi<strong>de</strong>red as a stack of c<strong>la</strong>ssifiers where<br />
in the first stage a traditional hand-built NEES is used to assign possible tags to<br />
the corpus, th<strong>en</strong> these tags are used by a SVM c<strong>la</strong>ssifier to obtain the final NE<br />
tags. In addition, other attribute information used are the c<strong>la</strong>ss values assigned to<br />
the 2 words to the left and right of the instance. Experim<strong>en</strong>tal results show that<br />
Support Vector Machines are successfully applied to this learning task increasing<br />
F-measure and accuracy.<br />
2 Learning NE C<strong>la</strong>ssifiers<br />
In this section we <strong>de</strong>scribe the setting of our learning sc<strong>en</strong>ario and pres<strong>en</strong>t a<br />
brief introduction to Support Vector Machines.<br />
As m<strong>en</strong>tioned previously, we build our NE c<strong>la</strong>ssifiers using the output of a<br />
NEES. Our assumption is that by using machine learning algorithms we can<br />
adapt NE extractors to differ<strong>en</strong>t domains without a consi<strong>de</strong>rable effort, as opposed<br />
to that involved in ext<strong>en</strong>ding or re<strong>de</strong>signing grammars and lists of trigger<br />
words and gazetteers.<br />
In or<strong>de</strong>r to build a training set for the learner, each instance n is <strong>de</strong>scribed<br />
by a vector of six attributes, 〈a 1 ,a 2 ,...,a 6 〉, where a 1 and a 2 are the c<strong>la</strong>sses<br />
assigned by the NEES to the first two words to the left of n, a 3 and a 4 are<br />
the c<strong>la</strong>sses for the first two words to the right of n, a 5 is the c<strong>la</strong>ss value of n<br />
predicted by the NEES and a 6 is the true c<strong>la</strong>ss value of n. Note that a 5 and a 6<br />
will differ only wh<strong>en</strong> the base NEES misc<strong>la</strong>ssifies a named <strong>en</strong>tity. There are two<br />
types of possible errors from the NEES that the learner will try to overcome.<br />
The first type occurs wh<strong>en</strong> the NEES assigns the wrong NE c<strong>la</strong>ss to the NE; the<br />
other type occurs wh<strong>en</strong> the NEES fails to recognize the NE. Wh<strong>en</strong> this is the<br />
case the NEES assigns a POS tag to the NE, although the same thing happ<strong>en</strong>s<br />
wh<strong>en</strong> the NEES needs to c<strong>la</strong>ssify a non-NE word. It follows that the possible<br />
values for attributes a 1 to a 5 can take any value from the set of possible NEs,<br />
this is NE = {Per,Loc,Org,Misc}, plus the set of possible POS tags, which<br />
has over one hundred differ<strong>en</strong>t tags; so the size of the feature space of our NE<br />
c<strong>la</strong>ssification task is 5 × 10 10 .<br />
Having the high-dim<strong>en</strong>sionality feature space <strong>de</strong>scribed above has some serious<br />
drawbacks: the number of training examples nee<strong>de</strong>d in or<strong>de</strong>r to achieve
good accuracy is proportional to the size of the feature space; but increasing<br />
the amount of training examples to meet this requirem<strong>en</strong>t might be unfeasible.<br />
Another disadvantage is the high computational resources nee<strong>de</strong>d to use SVM<br />
with a feature space such as this.<br />
In or<strong>de</strong>r to overcome these difficulties we <strong>de</strong>ci<strong>de</strong>d to reduce the size of the<br />
feature space. We achieve this by g<strong>en</strong>eralizing the POS tags, i.e. instead of having<br />
tags for all the possible kinds of pronouns, we kept one tag P that <strong>en</strong>capsu<strong>la</strong>tes<br />
the set of pronouns. We did the same for each POS. Table 1 shows the resulting<br />
reduced set of feature values which has a size of 16 5 ∗ 4 = 4,194,304.<br />
Feature Value Description<br />
Per Person<br />
Org Organization<br />
Loc Location<br />
Misc Misce<strong>la</strong>neous<br />
N Noun<br />
A Adjective<br />
P Pronoun<br />
F Punctuation mark<br />
D Determiner<br />
V Verb<br />
S Prepo<strong>sitio</strong>n<br />
R Adverb<br />
T Article<br />
C Conjunction<br />
M Numeral<br />
I Interjection<br />
Table 1. Reduced Feature Values Set<br />
A graphical repres<strong>en</strong>tation of our proposed NE c<strong>la</strong>ssifier is giv<strong>en</strong> in Figure<br />
1. We can see that a NEES is used as a b<strong>la</strong>ck box, the output of which is fed<br />
to the SVM c<strong>la</strong>ssifier. The SVM c<strong>la</strong>ssifier uses this information (in some cases<br />
also additional information such as POS tags, capitalization information and<br />
lemmas) and assigns the final NE c<strong>la</strong>ssification. For information about SVM we<br />
refer the rea<strong>de</strong>r to [5, 6].<br />
3 Experim<strong>en</strong>tal Results<br />
Having introduced our proposed solution we continue <strong>de</strong>scribing in this section<br />
the experim<strong>en</strong>tal setting used to evaluate it. We begin by <strong>de</strong>scribing the data<br />
sets used, and continue pres<strong>en</strong>ting the results achieved. In our experim<strong>en</strong>ts we<br />
used the WEKA implem<strong>en</strong>tation of SVM [7].<br />
Two data sets were used in the experim<strong>en</strong>ts, one was gathered by people in<br />
the NLP <strong>la</strong>b at our Institution. It consists of news in Spanish acquired from
Additional<br />
Information<br />
The NEES recognizes and<br />
c<strong>la</strong>ssifies possible NEs<br />
NEES<br />
SVM C<strong>la</strong>ssifier<br />
Docum<strong>en</strong>ts<br />
Final NE Tags<br />
Fig.1. A graphical repres<strong>en</strong>tation of our NE c<strong>la</strong>ssifier.<br />
differ<strong>en</strong>t newspapers from Mexico that cover disaster-re<strong>la</strong>ted ev<strong>en</strong>ts. This collection<br />
contains a total of 285 NEs. Although it is a small corpus (which is not<br />
so bad as it gives us the opportunity of manual revision) it is <strong>la</strong>rge <strong>en</strong>ough for<br />
our experim<strong>en</strong>tal evaluation. The other corpus is that used in the CoNLL 2002<br />
competitions for the Spanish NE extraction task. This corpus is divi<strong>de</strong>d in three<br />
sets: a training set consisting of 20,308 NEs and two differ<strong>en</strong>t sets for testing,<br />
testa which has 4,634 NEs and testb with 3,948 NEs, the former was <strong>de</strong>signated<br />
to tune the parameters of the c<strong>la</strong>ssifiers (<strong>de</strong>velopm<strong>en</strong>t set), while testb was <strong>de</strong>signated<br />
as the one used to compare the results of the competitors. As in our<br />
setting there is no parameter tuning we performed experim<strong>en</strong>ts with the two<br />
sets.<br />
In or<strong>de</strong>r to evaluate our solution we used the Named Entity extractor <strong>de</strong>veloped<br />
by Carreras and Padró [8]. They have <strong>de</strong>veloped a set of NLP analyzers<br />
for Spanish, English and Cata<strong>la</strong>n that inclu<strong>de</strong> practical tools such as POS taggers,<br />
semantic analyzers and NE extractors. This NEES is based on hand-co<strong>de</strong>d<br />
grammars and lists of trigger words and gazetteer information.<br />
Data Sets Precision Recall F 1 Accuracy<br />
Baseline 90.80% 66.2% 76.62% 62.10%<br />
SVM Features 78.60% 89.95% 83.91% 73.38%<br />
SVM Features+NEE 87.02% 90.83% 88.88% 80.00%<br />
SVM NEE (*) 88.30% 91.73% 89.96% 81.75%<br />
% of improvem<strong>en</strong>t (best vs baseline) -2.95% 38.41% 17.41% 31.64%<br />
Table 2. Results of NE categorization with our data set. The <strong>la</strong>st row shows the<br />
perc<strong>en</strong>tage of highest improvem<strong>en</strong>t comparing the best result with SVM, marked with<br />
”*”, against the baseline.<br />
We begin <strong>de</strong>scribing the results using our disaster corpus. We perform four<br />
differ<strong>en</strong>t experim<strong>en</strong>ts and report the results in Table 2. We experim<strong>en</strong>ted here<br />
using 10-fold cross-validation. The first experim<strong>en</strong>t, <strong>la</strong>beled Baseline is the result
of the NEES. As can be se<strong>en</strong>, it has very high precision, while recall and thus F-<br />
measure, are not so good. The Baseline system achieved an accuracy of 62.10%. A<br />
differ<strong>en</strong>t experim<strong>en</strong>t was performed using SVM trained on features like POS tags,<br />
lemma and capitalization information. These features are acquired automatically<br />
from the text using the Spanish analyzers m<strong>en</strong>tioned above. Results from this<br />
experim<strong>en</strong>t are also in Table 2 un<strong>de</strong>r <strong>la</strong>bel SVM Features. We can see that ev<strong>en</strong><br />
though we are not using the NEES tags we achieve higher recall, F-measure and<br />
accuracy than the NEES. The results named SVM Features+NEE were obtained<br />
using the same features <strong>de</strong>scribed in the previous experim<strong>en</strong>t plus the NE tags<br />
assigned by the extractor system. This combination of features outperformed<br />
the previous results in all but one figure, achieving an accuracy of 80%. The<br />
<strong>la</strong>st experim<strong>en</strong>t performed with this corpus uses as features the output of the<br />
NEES, it does not use POS tags or additional information. Results are <strong>la</strong>beled<br />
SVM NEE, also shown in Table 2. As we can see, the methods using SVM<br />
outperformed the NEES in recall, F-measure and accuracy, the best results being<br />
those from training SVM on the extractor system tags. Precision of the NEES<br />
was the only figure that remained higher. However the improvem<strong>en</strong>ts achieved<br />
by using SVM are as high as 38.41% in recall, 17.41% in F-measure and 31.64%<br />
in accuracy.<br />
In Tables 3 and 4 we pres<strong>en</strong>t results using the corpora from the CoNLL 2002<br />
competition. In both tables we used the <strong>de</strong>signated training set to build the c<strong>la</strong>ssifiers.<br />
The first table shows the results of using the <strong>de</strong>velopm<strong>en</strong>t set for testing.<br />
It can be se<strong>en</strong> that we achieve higher precision, F-measure and accuracy by using<br />
the NEES tags and additional features (POS tags, capitalization and lemmas),<br />
while the NEES by itself has the highest recall for this set. Table 4 shows the<br />
results of testing with the test set of CoNLL 2002, the SVM Feature+NEES c<strong>la</strong>ssifier<br />
outperformed the Baseline method in three figures: precision, F-measure<br />
and accuracy.<br />
Data Sets Precision Recall F 1 Accuracy<br />
Baseline 77.4% 95.49% 85.48% 74.64%<br />
SVM Features+NEE (*) 86.00% 92.27% 88.97% 80.14%<br />
SVM Features 67.00% 83.02% 74.12% 58.89%<br />
SVM NEE 85.60% 91.31% 88.36% 79.15%<br />
% of improvem<strong>en</strong>t (best vs baseline) 11.11% -3.37% 4.08% 7.36%<br />
Table 3. Results of NE categorization for CoNLL 2002 <strong>de</strong>velopm<strong>en</strong>t set. The <strong>la</strong>st row<br />
shows the perc<strong>en</strong>tage of highest improvem<strong>en</strong>t comparing the best result with SVM,<br />
marked with ”*”, against the baseline.
Data Sets Precision Recall F 1 Accuracy<br />
Baseline 70.50% 88.08% 78.33% 64.38%<br />
SVM Features+NEE (*) 80.06% 87.40% 83.86% 72.21%<br />
SVM Features 71.60% 81.55% 76.23% 61.60%<br />
SVM NEE 80.20% 86.57% 83.28% 71.35%<br />
% of improvem<strong>en</strong>t (best vs baseline) 13.56% -0.77% 7.05% 12.16%<br />
Table 4. Results of NE categorization for CoNLL 2002 test set. The <strong>la</strong>st row shows<br />
the perc<strong>en</strong>tage of highest improvem<strong>en</strong>t comparing the best result with SVM, marked<br />
with ”*”, against the baseline.<br />
4 Discussion<br />
Most approaches to NE c<strong>la</strong>ssification involve the use of hand-co<strong>de</strong>d grammars,<br />
lists of trigger words and gazetteers. While the accuracies of such systems may<br />
be acceptable in some domains, it is very likely that their accuracy will suffer<br />
wh<strong>en</strong> used to c<strong>la</strong>ssify NEs in docum<strong>en</strong>ts from a more specific subject. Consi<strong>de</strong>r<br />
th<strong>en</strong> the effort of ext<strong>en</strong>ding the coverage of these approaches: we need to revise<br />
the grammar, or regu<strong>la</strong>r expressions, to adapt them in or<strong>de</strong>r to cover new NE<br />
instances. In addition, it is very likely that the lists of trigger words will need<br />
some changes, together with gazetteers. We have pres<strong>en</strong>ted here an alternate<br />
solution where instead of re<strong>de</strong>signing internally the NEES for new instances<br />
we need only to use a machine learning c<strong>la</strong>ssifier, a SVM in this case, using<br />
the outputs of the curr<strong>en</strong>t NEES correcting them if pertin<strong>en</strong>t and retrain. Our<br />
experim<strong>en</strong>tal results show that we can increase the overall performance of the<br />
NEES with this approach as assessed by F-measure and accuracy. We observed<br />
from the experim<strong>en</strong>ts that there is a minor p<strong>en</strong>alty either in precision or recall.<br />
5 Acknowledgem<strong>en</strong>ts<br />
We would like to thank CONACYT for partially supporting this work un<strong>de</strong>r<br />
grants 166934 and U39957-Y.<br />
Refer<strong>en</strong>ces<br />
1. M. Arévalo, L. Márquez, M.A. Martí, L. Padró, and M. J. Simón. A proposal for<br />
wi<strong>de</strong>-coverage spanish named <strong>en</strong>tity recognition. Sociedad Españo<strong>la</strong> para el Procesami<strong>en</strong>to<br />
<strong>de</strong>l L<strong>en</strong>guaje Natural, (28):63–80, May 2002.<br />
2. P. Ve<strong>la</strong>rdi, P. Fabriani, and M. Missikoff. Using text processing techniques to automatically<br />
<strong>en</strong>rich a domain ontology. In Proceedings of the international confer<strong>en</strong>ce<br />
on Formal Ontology in Information Systems, pages 270–284. ACM Press, 2001.<br />
3. G. Zhou and J. Su. Named <strong>en</strong>tity recognition using an hmm-based chunk tagger.<br />
In Proceedings of ACL’02, pages 473–480, 2002.<br />
4. Radu Florian. Named <strong>en</strong>tity recognition as a house of cards: C<strong>la</strong>ssifier stacking. In<br />
Proceedings of CoNLL-2002, pages 175–178. Taipei, Taiwan, 2002.
5. V. Vapnik. The Nature of Statistical Learning Theory. Number ISBN 0-387-94559-8.<br />
Springer, N.Y., 1995.<br />
6. M. O. Stitson, J. A. E. Wetson, A. Gammerman, V. Vovk, and V. Vapnik. Theory<br />
of support vector machines. Technical Report CSD-TR-96-17, Royal Holloway<br />
University of London, Eng<strong>la</strong>nd, December 1996.<br />
7. I. H. Witt<strong>en</strong> and E. Frank. Data Mining, Practical Machine Learning Tools and<br />
Techniques with Java Implem<strong>en</strong>tations. The Morgan Kaufmann Series in Data<br />
Managem<strong>en</strong>t Systems. Morgan Kaufmann, 1999.<br />
8. X. Carreras and L. Padró. A flexible distributed architecture for natural <strong>la</strong>nguage<br />
analyzers. In Proceedings of LREC’02, Las Palmas <strong>de</strong> Gran Canaria, Spain, 2002.
Estudio Comparativo <strong>de</strong> Traductores<br />
Automáticos para QA multilingüe<br />
Rita M. Aceves 1 , Luis Vil<strong>la</strong>señor 1 &ManuelMontes 2<br />
1 Laboratorio <strong>de</strong> Tecnologías <strong>de</strong>l L<strong>en</strong>guaje<br />
Instituto Nacional <strong>de</strong> Astrofísica, Óptica y Electrónica<br />
Sta. María Tonantzint<strong>la</strong>, Pueb<strong>la</strong>, México<br />
{rmaceves,vil<strong>la</strong>s<strong>en</strong>}@inaoep.mx<br />
2 Departam<strong>en</strong>to <strong>de</strong> Sistemas Informáticos y <strong>Computación</strong><br />
Universidad Politécnica <strong>de</strong> Val<strong>en</strong>cia, España<br />
mmontes@dsic.upv.es<br />
Resum<strong>en</strong>. El pres<strong>en</strong>te trabajo muestra los resultados hasta ahora alcanzados al<br />
usar cuatro traductores automáticos disponibles <strong>en</strong> <strong>la</strong> Web d<strong>en</strong>tro <strong>de</strong> <strong>la</strong><br />
problemática <strong>de</strong> <strong>la</strong> búsqueda <strong>de</strong> respuestas multilingüe. Los traductores fueron<br />
usados <strong>en</strong> <strong>la</strong> traducción <strong>de</strong> <strong>la</strong> pregunta, <strong>en</strong> nuestro caso <strong>de</strong>l inglés al español,<br />
para posteriorm<strong>en</strong>te <strong>en</strong>tregar dicha traducción a un sistema <strong>de</strong> búsqueda <strong>de</strong><br />
respuestas <strong>en</strong> español para dominios abiertos <strong>en</strong> <strong>la</strong> Web. Estos primeros<br />
resultados, a pesar <strong>de</strong> realizarse sobre un corpus pequeño, son prometedores y<br />
comparables con el estado <strong>de</strong>l arte <strong>en</strong> este campo.<br />
1 Introducción<br />
Un sistema <strong>de</strong> búsqueda <strong>de</strong> respuestas (BR) pue<strong>de</strong> ser <strong>de</strong>scrito como un tipo particu<strong>la</strong>r<br />
<strong>de</strong> motor <strong>de</strong> búsqueda que permite al usuario hacer <strong>la</strong>s preguntas usando l<strong>en</strong>guaje<br />
natural <strong>en</strong> vez <strong>de</strong> un l<strong>en</strong>guaje <strong>de</strong> consultas artificial. Un sistema <strong>de</strong> BR <strong>en</strong>cu<strong>en</strong>tra <strong>la</strong><br />
respuesta exacta <strong>en</strong> una colección <strong>de</strong> docum<strong>en</strong>tos, mi<strong>en</strong>tras que los buscadores<br />
clásicos regresan un conjunto <strong>de</strong> docum<strong>en</strong>tos <strong>en</strong>teros que ti<strong>en</strong><strong>en</strong> que ser analizados<br />
por el usuario.<br />
El interés <strong>de</strong> un sistema <strong>de</strong> búsqueda <strong>en</strong> <strong>la</strong> Web es <strong>en</strong>contrar <strong>la</strong>s respuestas <strong>en</strong> una<br />
gran colección <strong>de</strong> docum<strong>en</strong>tos. Debido a que no existe sólo un l<strong>en</strong>guaje <strong>en</strong> <strong>la</strong> Web<br />
(véase <strong>la</strong> figura 1), los sistemas <strong>de</strong> BR multilingüe, son <strong>de</strong> gran relevancia. Un<br />
sistema <strong>de</strong> BR multilingüe, es aquel sistema don<strong>de</strong> el l<strong>en</strong>guaje <strong>de</strong> <strong>la</strong> pregunta es<br />
difer<strong>en</strong>te al l<strong>en</strong>guaje <strong>de</strong>l docum<strong>en</strong>to <strong>en</strong> el que se <strong>en</strong>cu<strong>en</strong>tra <strong>la</strong> respuesta. Este artículo<br />
pres<strong>en</strong>ta los resultados preliminares <strong>de</strong> un sistema <strong>de</strong> BR multilingüe para dominios<br />
abiertos sobre <strong>la</strong> Web, el cual respon<strong>de</strong> preguntas factuales, formu<strong>la</strong>das <strong>en</strong> inglés,<br />
cuya respuesta se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> docum<strong>en</strong>tos escritos <strong>en</strong> español.<br />
En <strong>la</strong> actualidad los trabajos <strong>de</strong>sarrol<strong>la</strong>dos <strong>en</strong> este contexto, usan difer<strong>en</strong>tes<br />
recursos lingüísticos, como etiquetadores POS, extracción <strong>de</strong> <strong>en</strong>tida<strong>de</strong>s, re<strong>la</strong>ciones<br />
semánticas, analizadores sintácticos, diccionarios, etc.; para, <strong>de</strong> este modo, <strong>en</strong>t<strong>en</strong><strong>de</strong>r<br />
<strong>la</strong> pregunta y <strong>la</strong>s secciones concordantes <strong>en</strong> los docum<strong>en</strong>tos. Nuestra propuesta se
asa <strong>en</strong> un sistema prototipo <strong>de</strong> búsqueda <strong>de</strong> respuestas monolingüe para <strong>la</strong> Web,<br />
<strong>de</strong>sarrol<strong>la</strong>do <strong>en</strong> el <strong>la</strong>boratorio <strong>de</strong> Tecnologías <strong>de</strong>l L<strong>en</strong>guaje <strong>de</strong> <strong>la</strong> Coordinación <strong>de</strong><br />
Ci<strong>en</strong>cias Computacionales <strong>de</strong>l INAOE [Castillo et al. 04]. Este sistema únicam<strong>en</strong>te<br />
procesa preguntas formu<strong>la</strong>das <strong>en</strong> español, y <strong>la</strong> búsqueda se realiza <strong>en</strong> docum<strong>en</strong>tos <strong>en</strong><br />
español. El sistema sólo se fundam<strong>en</strong>ta <strong>en</strong> <strong>la</strong> redundancia <strong>de</strong> información <strong>en</strong> <strong>la</strong> Web<br />
[Brill et al. 01].<br />
La i<strong>de</strong>a básica <strong>de</strong> este trabajo es a<strong>de</strong>cuar este prototipo, para po<strong>de</strong>r realizar<br />
búsquedas multilingües. Para ello hemos realizado un estudio <strong>de</strong>l comportami<strong>en</strong>to <strong>de</strong><br />
algunos traductores automáticos disponibles <strong>en</strong> <strong>la</strong> Web. El objetivo <strong>de</strong> este estudio fue<br />
conocer hasta que punto influye <strong>la</strong> calidad <strong>de</strong> <strong>la</strong> traducción <strong>de</strong> <strong>la</strong>s preguntas <strong>en</strong> un<br />
sistema <strong>de</strong> búsqueda <strong>de</strong> respuestas <strong>de</strong> este tipo, así como <strong>la</strong>s <strong>de</strong>bilida<strong>de</strong>s <strong>de</strong> los<br />
traductores para esta tarea.<br />
En <strong>la</strong> sigui<strong>en</strong>te sección <strong>de</strong> este artículo explicaremos <strong>en</strong> <strong>de</strong>talle <strong>la</strong> arquitectura <strong>de</strong><br />
nuestro sistema <strong>de</strong> BR multilingüe. En <strong>la</strong> sección 3 mostraremos los resultados<br />
obt<strong>en</strong>idos con el sistema; y por último, discutiremos acerca <strong>de</strong> <strong>la</strong>s perspectivas <strong>de</strong> este<br />
trabajo.<br />
Fig. 1. L<strong>en</strong>guajes exist<strong>en</strong>tes <strong>en</strong> <strong>la</strong> Web (Marzo 2004), <strong>en</strong> un total <strong>de</strong> 729 millones <strong>de</strong><br />
páginas Web. Fu<strong>en</strong>te: http://www.glreach.com/globstats<br />
2 Arquitectura<br />
La figura 2 muestra <strong>la</strong> arquitectura g<strong>en</strong>eral <strong>de</strong> nuestro sistema <strong>de</strong> BR. Ésta consiste <strong>de</strong><br />
cuatro módulos principales:<br />
1. Traducción <strong>de</strong> <strong>la</strong>s preguntas<br />
2. Búsqueda <strong>en</strong> <strong>la</strong> Web<br />
3. Cálculo <strong>de</strong> respuestas candidatas<br />
4. Selección <strong>de</strong> <strong>la</strong> respuesta correcta.
Cabe m<strong>en</strong>cionar que hasta el mom<strong>en</strong>to aún no se ti<strong>en</strong>e completam<strong>en</strong>te implem<strong>en</strong>tado<br />
el cuarto módulo; los resultados reportados <strong>en</strong> este trabajo fueron calcu<strong>la</strong>dos al<br />
inspeccionar <strong>la</strong>s respuestas candidatas manualm<strong>en</strong>te. A continuación <strong>de</strong>scribiremos <strong>en</strong><br />
<strong>de</strong>talle los tres primeros módulos.<br />
Preguntas<br />
factuales<br />
Traducción<br />
Traducción<br />
Siste m a<br />
<strong>de</strong> BR<br />
Refo rm u<strong>la</strong> c ió n<br />
Recoleccion<br />
Snip p e ts<br />
Buscador<br />
Calculo <strong>de</strong><br />
respuestas<br />
We b<br />
respuestas<br />
candidatas<br />
Fig. 2. Diagrama <strong>de</strong> <strong>la</strong> Arquitectura <strong>de</strong> nuestro sistema.<br />
2.1 Traducción <strong>de</strong> <strong>la</strong>s preguntas<br />
Nuestro experim<strong>en</strong>to int<strong>en</strong>ta respon<strong>de</strong>r preguntas <strong>en</strong> inglés, realizando <strong>la</strong> búsqueda <strong>en</strong><br />
docum<strong>en</strong>tos escritos <strong>en</strong> español disponibles <strong>en</strong> <strong>la</strong> Web. Así, el primer paso consiste <strong>en</strong><br />
<strong>la</strong> traducción <strong>de</strong> <strong>la</strong>s preguntas <strong>de</strong>l inglés al español.<br />
Actualm<strong>en</strong>te se pued<strong>en</strong> <strong>en</strong>contrar varios traductores disponibles <strong>en</strong> <strong>la</strong> Web. Como<br />
se explicó <strong>en</strong> párrafos anteriores, uno <strong>de</strong> los objetivos <strong>de</strong> este trabajo es analizar <strong>la</strong><br />
aplicación <strong>de</strong> estos traductores <strong>en</strong> <strong>la</strong> tarea <strong>de</strong> búsquedas <strong>de</strong> respuestas multilingües.<br />
De esta manera, se eligieron cuatro difer<strong>en</strong>tes traductores: Google, Lycos,<br />
Webtrans<strong>la</strong>tion, Freetrans<strong>la</strong>tion. La selección <strong>de</strong> estos cuatro traductores se basó<br />
únicam<strong>en</strong>te <strong>en</strong> su disponibilidad y facilidad <strong>de</strong> acceso <strong>en</strong> <strong>la</strong> red.<br />
Como resultados <strong>de</strong> <strong>la</strong> traducción se obtuvieron cuatro conjuntos <strong>de</strong> preguntas<br />
todos ellos <strong>en</strong> español. Cada uno <strong>de</strong> estos conjuntos es resultado <strong>de</strong> aplicar uno <strong>de</strong> los<br />
traductores seleccionados sobre le conjunto <strong>de</strong> preguntas <strong>en</strong> inglés. La calidad <strong>de</strong> <strong>la</strong>s<br />
traducciones obt<strong>en</strong>idas cubr<strong>en</strong> todas <strong>la</strong>s posibilida<strong>de</strong>s <strong>de</strong>s<strong>de</strong> <strong>la</strong>s traducciones<br />
completam<strong>en</strong>te correctas hasta <strong>la</strong>s muy <strong>de</strong>fici<strong>en</strong>tes (véase <strong>la</strong> Tab<strong>la</strong> 1).
Cabe recordar que el tipo <strong>de</strong> preguntas hasta ahora tratadas <strong>en</strong> los sistemas <strong>de</strong> BR<br />
son básicam<strong>en</strong>te preguntas cuya respuesta es un hecho: el nombre <strong>de</strong> una persona, una<br />
fecha, un lugar, etc. Sin embargo, <strong>la</strong> complejidad sintáctica <strong>de</strong> <strong>la</strong> pregunta no está<br />
limitada <strong>de</strong> ninguna forma.<br />
Pregunta original<br />
How much does a pill of extasy cost in<br />
Hol<strong>la</strong>nd?.<br />
Traducciones<br />
¿Cuánto cuesta una píldora <strong>de</strong> “extasy” <strong>en</strong> Ho<strong>la</strong>nda?<br />
¿Cuánto hace una píldora <strong>de</strong>l coste extasy <strong>en</strong> Ho<strong>la</strong>nda?<br />
¿Cuánto hace una píldora <strong>de</strong>l coste extasy <strong>en</strong> Ho<strong>la</strong>nda?<br />
¿Cuánto hace una píldora <strong>de</strong>l costo <strong>de</strong> extasy <strong>en</strong> Ho<strong>la</strong>nda?<br />
Tab<strong>la</strong> 1. Ejemplos <strong>de</strong> <strong>la</strong> traducción <strong>de</strong> una pregunta<br />
2.2Búsqueda<strong>en</strong><strong>la</strong>Web<br />
Cada conjunto <strong>de</strong> preguntas fue utilizado para iniciar <strong>la</strong> búsqueda <strong>de</strong> respuestas <strong>en</strong> <strong>la</strong><br />
Web. A continuación se explica brevem<strong>en</strong>te el funcionami<strong>en</strong>to <strong>de</strong> los dos módulos<br />
principales <strong>de</strong> este sistema <strong>de</strong> búsqueda:<br />
• Reformu<strong>la</strong>ción <strong>de</strong> <strong>la</strong> pregunta<br />
• Recolección <strong>de</strong> extractos<br />
2.2.1 Reformu<strong>la</strong>ción <strong>de</strong> <strong>la</strong> pregunta<br />
Dada una pregunta, este módulo g<strong>en</strong>era un conjunto <strong>de</strong> posibles reformu<strong>la</strong>ciones <strong>de</strong> <strong>la</strong><br />
pregunta. Las reformu<strong>la</strong>ciones ti<strong>en</strong><strong>en</strong> por objetivo ampliar <strong>la</strong>s posibilida<strong>de</strong>s <strong>de</strong><br />
recuperación <strong>de</strong> extractos pertin<strong>en</strong>tes. Estas reformu<strong>la</strong>ciones son pa<strong>la</strong>bras o<br />
secu<strong>en</strong>cias <strong>de</strong> pa<strong>la</strong>bras que podrían ser usadas para <strong>en</strong>unciar <strong>la</strong> respuesta esperada.<br />
El sistema pue<strong>de</strong> realizar difer<strong>en</strong>tes reformu<strong>la</strong>ciones, “bolsa <strong>de</strong> pa<strong>la</strong>bras”,<br />
“corrimi<strong>en</strong>to <strong>de</strong>l verbo”, “compon<strong>en</strong>tes” y “compon<strong>en</strong>tes sin <strong>la</strong> primera y segunda<br />
pa<strong>la</strong>bra” [Castillo et al. 04], pero por ahora, sólo usamos <strong>la</strong> l<strong>la</strong>mada “bolsa <strong>de</strong><br />
pa<strong>la</strong>bras”. Por ejemplo, para <strong>la</strong> pregunta ¿Quién obtuvo el premio Nóbel <strong>de</strong> <strong>la</strong> paz <strong>en</strong><br />
1992?, se obti<strong>en</strong>e <strong>la</strong> sigui<strong>en</strong>te bolsa <strong>de</strong> pa<strong>la</strong>bras al eliminar <strong>la</strong>s pa<strong>la</strong>bras vacías:<br />
Obtuvo premio Nóbel paz 1992.<br />
2.2.2 Recolección <strong>de</strong> extractos<br />
Una vez que t<strong>en</strong>emos el conjunto <strong>de</strong> reformu<strong>la</strong>ciones, se <strong>de</strong>b<strong>en</strong> recolectar un número<br />
específico <strong>de</strong> extractos o “snippets”. Para ello usamos un motor <strong>de</strong> búsqueda <strong>en</strong> <strong>la</strong><br />
Web, <strong>en</strong> nuestro caso Google. Como es <strong>de</strong> esperarse los primeros extractos regresados<br />
por el motor son más cercanos a <strong>la</strong> petición, y los últimos son más lejanos. Esto nos<br />
llevó a realizar varios experim<strong>en</strong>tos con difer<strong>en</strong>te número <strong>de</strong> extractos para tratar <strong>de</strong><br />
establecer <strong>la</strong> cantidad más a<strong>de</strong>cuada. En conclusión se optó por 50 extractos como<br />
cantidad sufici<strong>en</strong>te para un bu<strong>en</strong> r<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l prototipo. Para <strong>la</strong> evaluación <strong>de</strong><br />
estos experim<strong>en</strong>tos se usó el MRR (Mean Reciprocal Rank). El MRR es comúnm<strong>en</strong>te
usado <strong>en</strong> este tipo <strong>de</strong> experim<strong>en</strong>tos y trata <strong>de</strong> establecer que tan cerca está <strong>la</strong> respuesta<br />
correcta <strong>de</strong> ser <strong>la</strong> primera opción <strong>de</strong> <strong>en</strong>tre el conjunto <strong>de</strong> respuestas candidatas. El<br />
MRR se calcu<strong>la</strong> <strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te forma:<br />
n<br />
∑ i<br />
r<br />
i =<br />
MRR = 1 ,<br />
n<br />
don<strong>de</strong> n es el número total <strong>de</strong> preguntas y r i es el recíproco <strong>de</strong>l rango <strong>de</strong> <strong>la</strong> primera<br />
respuesta correcta <strong>en</strong> el conjunto ord<strong>en</strong>ado <strong>de</strong> repuestas candidatas para <strong>la</strong> pregunta i.<br />
En <strong>la</strong> gráfica 1 se muestra el comportami<strong>en</strong>to g<strong>en</strong>eral <strong>de</strong>l MRR al increm<strong>en</strong>tar el<br />
número <strong>de</strong> extractos. El comportami<strong>en</strong>to fue simi<strong>la</strong>r para todos los traductores y para<br />
todas nuestras preguntas.<br />
0.25<br />
0.2<br />
MRR<br />
0.15<br />
0.1<br />
0.05<br />
0<br />
10 20 50 200<br />
#Extractos<br />
Gráfica 1. Cantidad <strong>de</strong> extractos sufici<strong>en</strong>tes para un bu<strong>en</strong> r<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l prototipo.<br />
2.3 Cálculo <strong>de</strong> <strong>la</strong>s respuestas candidatas<br />
Las respuestas candidatas son aquel<strong>la</strong>s expresiones que se pres<strong>en</strong>tan con mayor<br />
frecu<strong>en</strong>cia d<strong>en</strong>tro <strong>de</strong> <strong>la</strong> colección <strong>de</strong> “snippets”. El primer paso es calcu<strong>la</strong>r todos los<br />
n-gramas (<strong>de</strong>s<strong>de</strong> uni-gramas hasta p<strong>en</strong>tagramas) sobre el conjunto <strong>de</strong> extractos.<br />
Posteriorm<strong>en</strong>te, los n-gramas son ord<strong>en</strong>ados <strong>en</strong> función <strong>de</strong> su frecu<strong>en</strong>cia. Mi<strong>en</strong>tras<br />
más frecu<strong>en</strong>tes más probabilidad <strong>de</strong> ser <strong>la</strong> respuesta correcta. El método usado para<br />
c<strong>la</strong>sificar los n-gramas aplica un filtro basado <strong>en</strong> expresiones regu<strong>la</strong>res y comp<strong>en</strong>sa <strong>la</strong><br />
frecu<strong>en</strong>cia <strong>en</strong> función <strong>de</strong> su repetición <strong>en</strong> cada c<strong>la</strong>se <strong>de</strong> n-gramas. A continuación se<br />
<strong>de</strong>scrib<strong>en</strong> los pasos <strong>de</strong>l método:<br />
1. Extraer los 50 uni-gramas más frecu<strong>en</strong>tes que satisfac<strong>en</strong> un criterio tipográfico<br />
pre<strong>de</strong>finido, esto es, <strong>la</strong>s pa<strong>la</strong>bras con mayúscu<strong>la</strong>s, los números y los nombres <strong>de</strong><br />
los meses.<br />
2. Determinar <strong>de</strong> todos los n-gramas, <strong>de</strong>s<strong>de</strong> bi-gramas hasta p<strong>en</strong>tagramas,<br />
únicam<strong>en</strong>te aquellos que conti<strong>en</strong><strong>en</strong> los uni-gramas frecu<strong>en</strong>tes.<br />
3. Medir los n-gramas basados <strong>en</strong> su frecu<strong>en</strong>cia comp<strong>en</strong>sada.<br />
La frecu<strong>en</strong>cia comp<strong>en</strong>sada <strong>de</strong> un n-grama g(n)= (w 1 …w n ) se calcu<strong>la</strong> como sigue:<br />
n<br />
g( n)<br />
=<br />
n i f<br />
j ( i)<br />
Gi<br />
f<br />
x=<br />
1 x(<br />
i)<br />
,<br />
P<br />
∑∑<br />
i= 1 j=<br />
1 ∑
don<strong>de</strong> G n es el conjunto <strong>de</strong> todos los n-gramas <strong>de</strong> tamaño n, |G n |indica<strong>la</strong><br />
cardinalidad <strong>de</strong> este conjunto, i(j) es un n-grama i <strong>de</strong> tamaño j cont<strong>en</strong>ido <strong>en</strong> g(n),<br />
yf i(j) es <strong>la</strong> frecu<strong>en</strong>cia <strong>de</strong> ocurr<strong>en</strong>cia <strong>de</strong>l n-grama i(j). Un n-grama i(j) correspon<strong>de</strong><br />
a<strong>la</strong>pa<strong>la</strong>brasimple<strong>de</strong>ln-gramag(n).<br />
4. Mostrar los mejores n-gramas como respuestas candidatas.<br />
3 Resultados<br />
Para evaluar nuestros experim<strong>en</strong>tos usamos un conjunto <strong>de</strong> 30 preguntas factuales,<br />
extraídas <strong>de</strong>l corpus <strong>de</strong> preguntas <strong>en</strong> inglés <strong>de</strong>l CLEF ∗ . Las respuestas esperadas para<br />
estas preguntas son <strong>de</strong> cuatro tipos: fecha, lugar, organización y persona. Las<br />
respuestas correspondi<strong>en</strong>tes también están <strong>de</strong>finidas <strong>en</strong> este corpus.<br />
La Tab<strong>la</strong> 2 compara los resultados obt<strong>en</strong>idos con cada una <strong>de</strong> los traducciones<br />
g<strong>en</strong>eradas por los traductores automáticos usados.<br />
Tipo Pregunta<br />
Traductor<br />
Webtrans<strong>la</strong>tion Freetrans<strong>la</strong>tion Google Lycos<br />
Fecha 0.019 0.0209 0.042 0.099<br />
Lugar 0.263 0.263 0.375 0.250<br />
Organización 0.402 0.400 0.225 0.225<br />
Persona 0.324 0.221 0.208 0.208<br />
Todas 0.208 0.201 0.203 0.170<br />
Tab<strong>la</strong> 2. MRR <strong>de</strong> cada traductor por tipo <strong>de</strong> pregunta<br />
La tab<strong>la</strong> 3 muestra un segundo experim<strong>en</strong>to don<strong>de</strong> se unieron los 4 conjuntos <strong>de</strong><br />
extractos correspondi<strong>en</strong>tes a cada una <strong>de</strong> <strong>la</strong>s traducciones. Para hacer nuestras<br />
evaluaciones a<strong>de</strong>más <strong>de</strong> medir el MRR calcu<strong>la</strong>mos <strong>la</strong> precisión como el número <strong>de</strong><br />
respuestas correctas <strong>en</strong>contradas <strong>en</strong>tre el número total <strong>de</strong> preguntas.<br />
Todas <strong>la</strong>s<br />
traducciones<br />
Webtrans<strong>la</strong>tion<br />
MRR 0.161 0.208<br />
Precisión 0.697 0.545<br />
Tab<strong>la</strong> 3. Resultados al usar todos los traductores<br />
Como pue<strong>de</strong> observarse aunque <strong>la</strong> precisión aum<strong>en</strong>ta, el MRR disminuye. Este<br />
comportami<strong>en</strong>to lo atribuimos al hecho <strong>de</strong> que al unir todos los datos, también se<br />
agregan datos irrelevantes alterando el ord<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> <strong>la</strong>s respuestas candidatas.<br />
∗<br />
The Cross-Language Evaluation Forum (CLEF), http://clef-qa.itc.it/
Es importante recalcar que los resultados hasta ahora alcanzados son comparables<br />
con los obt<strong>en</strong>idos por sistemas actuales <strong>de</strong> búsqueda <strong>de</strong> respuesta multilingüe. Por<br />
ejemplo, po<strong>de</strong>mos m<strong>en</strong>cionar [Neumann et al. 03] qui<strong>en</strong>es <strong>de</strong>sarrol<strong>la</strong>ron una<br />
estrategia para <strong>la</strong> búsqueda <strong>de</strong> respuestas multilingüe basados <strong>en</strong> <strong>la</strong> Web. Este sistema<br />
está ori<strong>en</strong>tado a consultas <strong>en</strong> inglés ó alemán y búsqueda <strong>en</strong> alemán. El sistema difiere<br />
<strong>de</strong>l nuestro pues usa varios recursos lingüísticos para <strong>la</strong> búsqueda <strong>de</strong> <strong>la</strong> respuesta<br />
(gramáticas LTAG, id<strong>en</strong>tificadores <strong>de</strong> Nombres Propios, así como WordNet). La<br />
tab<strong>la</strong> 4 muestra los resultados reportados para este sistema con los tipos <strong>de</strong> pregunta<br />
lugar y persona, para un conjunto <strong>de</strong> prueba <strong>de</strong> 39 preguntas.<br />
Tipo <strong>de</strong> Pregunta Neumann & Feiyu Nuestra Propuesta<br />
Lugar 0.216 0.375 (Google)<br />
Persona 0.135 0.324 (Webtras<strong>la</strong>tion)<br />
Table 4. Tab<strong>la</strong> comparativa con los resultados <strong>de</strong> [Neumann et al. 03]<br />
4 Análisis <strong>de</strong> resultados y trabajo futuro<br />
En g<strong>en</strong>eral los resultados <strong>de</strong> este experim<strong>en</strong>to resultaron ser al<strong>en</strong>tadores, sobretodo si<br />
se toma <strong>en</strong> cu<strong>en</strong>ta que nuestro método no se apoya <strong>en</strong> recursos lingüísticos<br />
adicionales a <strong>la</strong> traducción. Por otro <strong>la</strong>do, fue sorpr<strong>en</strong>d<strong>en</strong>te comprobar que, a pesar <strong>de</strong><br />
<strong>la</strong> ma<strong>la</strong> calidad <strong>de</strong> <strong>la</strong>s traducciones automáticas, es posible usar esta información para<br />
<strong>la</strong> búsqueda <strong>de</strong> respuestas. Por supuesto, aun falta realizar pruebas más completas,<br />
ampliando el conjunto <strong>de</strong> preguntas <strong>de</strong> prueba con otras reformu<strong>la</strong>ciones, así como<br />
ampliar <strong>la</strong> cobertura a otro tipo <strong>de</strong> preguntas.<br />
Entre los problemas que observamos <strong>de</strong> nuestro método po<strong>de</strong>mos m<strong>en</strong>cionar el<br />
tratami<strong>en</strong>to <strong>de</strong> <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s nombradas. En estos casos, si <strong>la</strong> traducción <strong>de</strong> <strong>la</strong> <strong>en</strong>tidad<br />
no es correcta <strong>la</strong> búsqueda se <strong>de</strong>svía completam<strong>en</strong>te. Por ejemplo, <strong>en</strong> <strong>la</strong> pregunta:<br />
Which is the name of Kim Sung II? (¿Cuál es el nombre <strong>de</strong>l hijo <strong>de</strong> Kim Sung II?) <strong>la</strong><br />
<strong>en</strong>tidad “Kim Sung II” fue incorrectam<strong>en</strong>te transformada a “cantado <strong>de</strong> Kim II”. La<br />
misma situación se pres<strong>en</strong>ta con el caso <strong>de</strong> los acrónimos. Por ejemplo, <strong>la</strong> pregunta:<br />
Who is the presid<strong>en</strong>t of the FIAT?(¿Quién es el presid<strong>en</strong>te <strong>de</strong> <strong>la</strong> FIAT?), <strong>la</strong> traducción<br />
fue incorrecta <strong>en</strong> todos los traductores usados consigui<strong>en</strong>do transformaciones como:<br />
¿Quién es el presid<strong>en</strong>te <strong>de</strong> MANDATO? Por supuesto, con este tipo <strong>de</strong> traducciones es<br />
imposible <strong>en</strong>contrar <strong>la</strong> respuesta correcta.<br />
A<strong>de</strong>más, como era <strong>de</strong> esperarse <strong>la</strong> calidad <strong>de</strong> <strong>la</strong> traducción impacta <strong>la</strong> búsqueda. En<br />
nuestro segundo experim<strong>en</strong>to al reunir todos los extractos prev<strong>en</strong>i<strong>en</strong>tes <strong>de</strong> <strong>la</strong>s cuatro<br />
traducciones el MRR disminuyó. Básicam<strong>en</strong>te <strong>la</strong> calidad <strong>de</strong> <strong>la</strong> traducción influye <strong>en</strong><br />
los extractos recuperados. En este punto dos i<strong>de</strong>as se <strong>de</strong>sean explorar. Por un <strong>la</strong>do,<br />
int<strong>en</strong>tar <strong>de</strong>terminar cual es <strong>la</strong> mejor traducción (o <strong>la</strong>s dos mejores traducciones)<br />
utilizando un mo<strong>de</strong>lo <strong>de</strong> l<strong>en</strong>guaje. Así se tomarían sólo los extractos <strong>de</strong> aquel<strong>la</strong>s<br />
traducciones con m<strong>en</strong>or perplejidad. Por otro <strong>la</strong>do, utilizar un sistema <strong>de</strong><br />
agrupami<strong>en</strong>to sobre los extractos, <strong>de</strong> manera a aplicar el cálculo <strong>de</strong> <strong>la</strong>s respuestas<br />
candidatas únicam<strong>en</strong>te sobre un subconjunto escogido <strong>de</strong> tales extractos.
Por último, como se m<strong>en</strong>cionó aún falta realizar pruebas con un corpus mayor y<br />
consi<strong>de</strong>rando otros tipos <strong>de</strong> preguntas. Con los resultados hasta ahora alcanzados<br />
suponemos que serán necesarios filtros para el cálculo <strong>de</strong> <strong>la</strong>s respuestas candidatas<br />
<strong>de</strong>p<strong>en</strong>di<strong>en</strong>tes <strong>de</strong>l tipo <strong>de</strong> respuesta esperada. Por ejemplo, se usará un filtro específico<br />
para el cálculo <strong>de</strong> fechas el cual explotará los elem<strong>en</strong>tos tipográficos propios <strong>de</strong> este<br />
tipo <strong>de</strong> información.<br />
5 Agra<strong>de</strong>cimi<strong>en</strong>tos<br />
El pres<strong>en</strong>te trabajo fue parcialm<strong>en</strong>te financiado por el CONACYT (Proyecto 43990 y<br />
beca No. 184663). Por su parte, el tercer autor agra<strong>de</strong>ce a <strong>la</strong> Secretaría <strong>de</strong> Estado <strong>de</strong><br />
Educación y Universida<strong>de</strong>s, España.<br />
6 Refer<strong>en</strong>cias<br />
[Brill et al. 01] Brill E., Lin J., Banko M., Dumais S. and Ng A.(2001). Data-int<strong>en</strong>sive question<br />
answering. In Proceedings of the T<strong>en</strong>th Text REtrieval Confer<strong>en</strong>ce (TREC 2001).<br />
[Castillo et al. 04] Alejandro <strong>de</strong>l Castillo, Manuel Montes, Luis Vil<strong>la</strong>señor (2004), Encu<strong>en</strong>tro<br />
Internacional <strong>de</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong> 2004, por publicar.<br />
[Neumann et al. 03] Neumann Günter, Feiyu Xu, Sacaleanu Bogdan (2003), Strategies for<br />
Web-based Cross-Language Question Answering.In proceedings of 2nd CoLogNET-<br />
ElsNET Symposium on Questions and Answers: Theoretical and Applied Perspectives,<br />
Amsterdam, 18 Diciembre, 2003, pp. 84-95.
Formalización <strong>de</strong>l Sistema <strong>de</strong> Nombres Hispanos<br />
Noé Alejandro Castro Sánchez, José Ángel Vera Félix,<br />
Igor A. Bolshakov, Grigori Sidorov<br />
C<strong>en</strong>tro <strong>de</strong> Investigación <strong>en</strong> <strong>Computación</strong> (CIC),<br />
Instituto Politécnico Nacional (IPN)<br />
e-mail: {ncastro, jvera}@sagitario.cic.ipn.mx, {igor, sidorov}@cic.ipn.mx<br />
Av. Juan <strong>de</strong> Dios Batíz s/n, esq. Miguel Othón <strong>de</strong> M<strong>en</strong>dizabal,<br />
Unidad Profesional "Adolfo López Mateos", Edificio CIC.<br />
Col Nueva Industrial Vallejo, CP 07738, México, D. F.<br />
Resum<strong>en</strong>. Determinamos <strong>la</strong> estructura <strong>de</strong> los nombres hispanos y analizamos <strong>la</strong><br />
interacción <strong>de</strong> sus elem<strong>en</strong>tos <strong>en</strong> <strong>la</strong> formación <strong>de</strong> secu<strong>en</strong>cias nominales correctas.<br />
Proponemos una gramática g<strong>en</strong>erativa para su <strong>de</strong>scripción y un algoritmo para<br />
su id<strong>en</strong>tificación <strong>en</strong> textos.<br />
Abstract. We <strong>de</strong>fine the structure of Hispanic names and analyze the interaction<br />
of their elem<strong>en</strong>ts in the formation of the correct nominal sequ<strong>en</strong>ces. We propose<br />
a g<strong>en</strong>erative grammar for their <strong>de</strong>scription and an algorithm for their id<strong>en</strong>tification<br />
in texts.<br />
Pa<strong>la</strong>bras C<strong>la</strong>ve: Secu<strong>en</strong>cias Nominales Hispanas, Sistema <strong>de</strong> Nombres<br />
Hispanos, Gramática G<strong>en</strong>erativa.<br />
1 Introducción<br />
Es <strong>de</strong> gran interés conocer <strong>la</strong> forma <strong>en</strong> que se combinan nombres y apellidos hispanos<br />
para constituir lo que nosotros d<strong>en</strong>ominamos Secu<strong>en</strong>cias Nominales (SN) Hispanas,<br />
dado que, <strong>de</strong> esta manera, es posible reconocer nombres humanos <strong>en</strong> textos<br />
electrónicos, logrando mejorar <strong>la</strong> calidad <strong>de</strong> los procesos como <strong>la</strong> id<strong>en</strong>tificación <strong>de</strong> <strong>la</strong>s<br />
pa<strong>la</strong>bras c<strong>la</strong>ve <strong>en</strong> los docum<strong>en</strong>tos [1], seguimi<strong>en</strong>to <strong>de</strong> los <strong>en</strong>tida<strong>de</strong>s y actores <strong>en</strong> <strong>la</strong>s<br />
historias [2] o noticias [9, 10] o etiquetado <strong>de</strong> <strong>la</strong>s categorías gramaticales [11], así<br />
como automatizar procesos como <strong>la</strong> recuperación <strong>de</strong> trabajos ci<strong>en</strong>tíficos <strong>de</strong> bases <strong>de</strong><br />
datos o Internet a través <strong>de</strong>l análisis <strong>de</strong>l título <strong>de</strong> los trabajos id<strong>en</strong>tificando los<br />
apellidos <strong>de</strong> los autores; o bi<strong>en</strong> <strong>en</strong> el control automático <strong>de</strong> nombres <strong>de</strong> ciudadanos<br />
realizados por organismos oficiales, o bi<strong>en</strong> <strong>la</strong> id<strong>en</strong>tificación automática <strong>de</strong> los<br />
nombres <strong>de</strong> <strong>la</strong>s personas <strong>en</strong> <strong>la</strong>s consultas a <strong>la</strong>s bases <strong>de</strong> datos [12].<br />
El objetivo <strong>de</strong> este artículo resi<strong>de</strong> <strong>en</strong> proponer una gramática g<strong>en</strong>erativa que<br />
indique <strong>la</strong>s reg<strong>la</strong>s <strong>en</strong> <strong>la</strong>s que se basa <strong>la</strong> formación <strong>de</strong> SN, y <strong>la</strong> realización <strong>de</strong> un<br />
algoritmo capas <strong>de</strong> aplicar dichas reg<strong>la</strong>s <strong>en</strong> <strong>la</strong> id<strong>en</strong>tificación <strong>de</strong> SN <strong>en</strong> docum<strong>en</strong>tos <strong>de</strong><br />
texto electrónicos.
2 Estructura <strong>de</strong> <strong>la</strong>s Secu<strong>en</strong>cias Nominales<br />
La SN que pres<strong>en</strong>ta una Secu<strong>en</strong>cia <strong>de</strong> Nombres y una Secu<strong>en</strong>cia <strong>de</strong> Apellidos, <strong>la</strong><br />
d<strong>en</strong>ominamos SN Completa. Precisemos más a <strong>de</strong>talle cada una <strong>de</strong> éstas:<br />
2.1 Secu<strong>en</strong>cia <strong>de</strong> Nombres<br />
• Nombres Solos: Son los elem<strong>en</strong>tos más simples (José, Jazmín, Ramón, etc.). Se<br />
divid<strong>en</strong> <strong>en</strong> Nombres Solos Masculinos (Humberto, Luis, etc.) y Nombres Solos<br />
Fem<strong>en</strong>inos (Jim<strong>en</strong>a, Eva, etc.).<br />
• Nombres Compuestos: Surg<strong>en</strong> <strong>de</strong> <strong>la</strong> concat<strong>en</strong>ación <strong>de</strong> un Nombre Solo y un<br />
Complem<strong>en</strong>to Deado, el cual se forma por un Nombre Solo antecedido por <strong>la</strong> preposición<br />
<strong>de</strong> articu<strong>la</strong>da (<strong>de</strong>l Carm<strong>en</strong>, <strong>de</strong> Jesús, <strong>de</strong>l Refugio, etc.). Son Nombres<br />
Compuestos María <strong>de</strong> <strong>la</strong> Luz, José <strong>de</strong>l Refugio, Andrea <strong>de</strong> los Ángeles, etc.<br />
• Nombres Combinados: Resultan <strong>de</strong> <strong>la</strong> concat<strong>en</strong>ación <strong>de</strong> dos Nombres Solos <strong>de</strong><br />
sexo opuesto. Ejemplo <strong>de</strong> tales estructuras son José María, María José, José Trinidad,<br />
etc., pero no se <strong>en</strong>cu<strong>en</strong>tran Alina Raúl, Francisco Mariana, etc.<br />
2.2 Secu<strong>en</strong>cia <strong>de</strong> Apellidos<br />
En el sistema <strong>de</strong> nombres hispanos, los apellidos se conforman por dos grupos <strong>de</strong><br />
elem<strong>en</strong>tos, d<strong>en</strong>ominados Apellido Paterno y Apellido Materno.<br />
• Apellidos Solos: Repres<strong>en</strong>tan los apellidos más simples y comunes (Romero, Ávi<strong>la</strong>,<br />
Castrejón, Gutiérrez etc.).<br />
• Apellidos Deado: Son los Apellidos Solos antecedidos por <strong>la</strong> preposición De<br />
articu<strong>la</strong>da (Del Valle, De León, De los Cobos, etc).<br />
• Apellidos Deado Inseparables: Surg<strong>en</strong> <strong>de</strong> <strong>la</strong> concat<strong>en</strong>ación <strong>de</strong> dos pa<strong>la</strong>bras través<br />
<strong>de</strong> <strong>la</strong> preposición <strong>de</strong>, pudi<strong>en</strong>do ser una <strong>de</strong> éstas un Apellido Solo (Montes <strong>de</strong> Oca,<br />
don<strong>de</strong> Montes existe como apellido Solo, pero no <strong>de</strong> Oca).<br />
• Apellidos Articu<strong>la</strong>dos: Constituy<strong>en</strong> pa<strong>la</strong>bras (no exist<strong>en</strong>tes como Apellidos Solos)<br />
precedidas por algún <strong>de</strong>terminante (La Rubia, La Moneda, La Chica, etc).<br />
• Apellidos exist<strong>en</strong>tes como Nombres: Agrupa a todos aquellos elem<strong>en</strong>tos que<br />
exist<strong>en</strong> como apellidos y nombres a <strong>la</strong> vez (Santos, Félix, Santiago, etc), o como<br />
apellidos y Complem<strong>en</strong>tos Deado (De los Santos, De Román, etc.).<br />
• Apellidos Compuestos: Son estructuras creadas arbitrariam<strong>en</strong>te, como Robles y<br />
López, Ortíz-Landa, Tejada-y-Olivas, Romero Ovando, formando cada agrupación<br />
un único apellido.
3 Gramática G<strong>en</strong>erativa<br />
Para dar inicio a nuestra gramática, <strong>en</strong> <strong>la</strong> sigui<strong>en</strong>te tab<strong>la</strong> mostramos expresiones a los<br />
conceptos antes m<strong>en</strong>cionados, y que serán utilizados <strong>en</strong> los sigui<strong>en</strong>tes capítulos:<br />
Tab<strong>la</strong> 1. Expresiones a conceptos ya <strong>de</strong>finidos<br />
SecNml Secu<strong>en</strong>cia Nominal ApPat Apellido Paterno<br />
ApMat<br />
Apellido Materno<br />
SecNom Secu<strong>en</strong>cia <strong>de</strong> Nombres ApSolo Apellido Solo<br />
SecAp Secu<strong>en</strong>cia <strong>de</strong> Apellidos ApDeado Apellido Deado<br />
ApDeadoInsprble Apellido Deado<br />
Inseparable<br />
NomSolo Nombre Solo ApArtdo Apellido Articu<strong>la</strong>do<br />
Ncmsto Nombre Compuesto ApExsteNom Apellido exist<strong>en</strong>te<br />
como Nombre<br />
NCmb Nombre Combinado ApCmsto Apellido Compuesto<br />
CplmtoDeado Complem<strong>en</strong>to Deado Sgmto(j) Segm<strong>en</strong>to j-ésimo<br />
3.1 Reg<strong>la</strong>s estructurales<br />
Nuestra gramática queda <strong>de</strong>finida <strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te manera:<br />
1. SecNml SecNom(Sex) | SecAp | SecNom(Sex) SecAp<br />
2. SecNom(Sex) NomSolo(1, Sex) | NomSolo(1, Sex) NomSolo(2, Sex) |<br />
NomSolo(1, Sex) NomSolo(2, Sex) NomSolo(3, Sex) |<br />
NCmsto(1, Sex) | NomSolo(1, Sex) NCmsto(2, Sex) |<br />
NomSolo(1, Sex) NCmsto(2, Sex -1 ) |<br />
NCmb(Sex) | NomSolo(1, Sex) NCmb(Sex)<br />
3. NCmsto(j,Sex) NomSolo(j, Sex) CplmtoDeado<br />
4. SecAp Ap(pat) | Ap(pat) Ap(mat)<br />
5. Ap(Prgtor) ApSolo | ApDeado | ApDeadoInsprble | ApArtdo |<br />
ApExsteNom | ApCmsto<br />
6. ApCmsto Sgmto(1) Sgmto(2) | Sgmto(1) y Sgmto(2) |<br />
Sgmto(1)–Sgmto(2) | Sgmto(1)–y–Sgmto(2)<br />
7. Sgmto(j) ApSolo | ApDeado | ApExsteNom | De ApExsteNom |<br />
De <strong>la</strong> ExsteNom | Del ExsteNom | De los ExsteNom<br />
Nota 1. j es variable con valores 1 o 2.<br />
Nota2. En una misma reg<strong>la</strong>, se ti<strong>en</strong>e que NomSolo(1, Sex) ≠ NomSolo(2, Sex),<br />
NomSolo(2, Sex) ≠ NomSolo(3, Sex) y NomSolo(1, Sex) ≠ NomSolo(3, Sex)<br />
Nota 3. Sex es variable <strong>de</strong> Sexo, con valores mas (masculino) o fem (fem<strong>en</strong>ino). Sex,<br />
pres<strong>en</strong>ta el mismo valor <strong>en</strong> una reg<strong>la</strong>. Sex -1 es complem<strong>en</strong>to (valor opuesto) <strong>de</strong> Sex.<br />
Nota 4. Prgtor es variable <strong>de</strong> Prog<strong>en</strong>itor, con valores pat (paterno) o mat (materno).
Nota 5 En <strong>la</strong> reg<strong>la</strong> 2, <strong>en</strong> NomSolo(1, Sex) NCmsto(2, Sex -1 ), el primer elem<strong>en</strong>to <strong>de</strong>l<br />
Nombre Compuesto (vea reg<strong>la</strong> 3) y NomSolo(1, Sex) <strong>de</strong>b<strong>en</strong> formar un Nombre<br />
Combinado válido, por ser <strong>de</strong> sexo opuesto.<br />
3.2 Símbolos terminales<br />
En <strong>la</strong> sigui<strong>en</strong>te tab<strong>la</strong> mostramos los símbolos terminales <strong>de</strong> <strong>la</strong> gramática.<br />
NomSolo(i, mas) Noé | Javier | Omar | Adalberto |...<br />
NomSolo(i, fem) Rosario | Elva | Margarita | Jazmín | ...<br />
CplmtoDeado <strong>de</strong> <strong>la</strong> Luz | <strong>de</strong>l Carm<strong>en</strong> | <strong>de</strong>l Refugio | <strong>de</strong> Jesús | …<br />
NCmb(mas) José María | José Trinidad | …<br />
NCmb(fem) María José | María Jesús | …<br />
ApSolo Romero | Pare<strong>de</strong>s | Molina | Torres | ...<br />
ApDeado Del Valle | De León | De <strong>la</strong> O | De los Cobos | …<br />
ApDeadoInsprble Montes <strong>de</strong> Oca | Cabeza <strong>de</strong> Vaca | …<br />
ApArtdo La Rubia| La Chica | La Moneda | …<br />
ApExsteNom Jorge | Santiago | Félix | Camilo | Alonso | ...<br />
La variable i <strong>de</strong> <strong>la</strong> fórmu<strong>la</strong> NomSolo(i, Sex) ti<strong>en</strong>e valores 1, 2 ó 3.<br />
3.3 Árboles <strong>de</strong> análisis sintáctico<br />
Haci<strong>en</strong>do uso <strong>de</strong> árboles <strong>de</strong> análisis sintáctico, po<strong>de</strong>mos mostrar gráficam<strong>en</strong>te <strong>la</strong><br />
estructura <strong>de</strong> SN. Sea <strong>la</strong> secu<strong>en</strong>cia. María José <strong>de</strong>l Carm<strong>en</strong> Sánchez De los Cobos:<br />
CadNml<br />
SecNom(fem)<br />
SecAp<br />
NomSolo(1, fem) NCmsto(2, mas) Ap(pat) Ap(mat)<br />
NomSolo(2, mas) CplmtoDeado ApSolo ApDeado<br />
María José <strong>de</strong>l Carm<strong>en</strong> Sánchez De los Cobos<br />
4 Analizador Gramatical<br />
El diseño <strong>de</strong> un analizador gramatical nos permite constatar si se cumpl<strong>en</strong> o no <strong>la</strong>s<br />
reg<strong>la</strong>s que hemos <strong>de</strong>finido <strong>en</strong> nuestra gramática. Éste analizador, <strong>de</strong>bido a que es a
partir <strong>de</strong> los elem<strong>en</strong>tos más simples que espera conformar el nivel más alto <strong>en</strong> <strong>la</strong><br />
gramática (el axioma), se d<strong>en</strong>omina Asc<strong>en</strong>d<strong>en</strong>te.<br />
4.1 D<strong>en</strong>ominaciones utilizadas <strong>en</strong> el programa<br />
Las sigui<strong>en</strong>te tab<strong>la</strong> muestra <strong>la</strong>s d<strong>en</strong>ominaciones utilizadas por el programa y <strong>la</strong>s<br />
<strong>de</strong>finidas <strong>en</strong> nuestra gramática.<br />
Gramática<br />
SecNom(mas)<br />
SecNom(fem)<br />
NomSolo(i, mas)<br />
NomSolo(i, fem)<br />
Ap(pat)<br />
Ap(mat)<br />
Programa<br />
(SecNom,M)<br />
(SecNom,F)<br />
(nomi,M)<br />
(nomi,F)<br />
(ap,pat)<br />
(ap,mat)<br />
Otras d<strong>en</strong>ominaciones in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>tes <strong>de</strong> <strong>la</strong> gramática proporcionan información más<br />
específica <strong>de</strong> los elem<strong>en</strong>tos analizados:<br />
Etiqueta<br />
(SecTot, sexo, varFin)<br />
(SecNom, sexo)<br />
(SecNom, sexo, varNom)<br />
Significado<br />
Etiqueta colocada al final <strong>de</strong> una SN.<br />
Variante 1. Etiqueta colocada al final <strong>de</strong> <strong>la</strong> Secu<strong>en</strong>cia <strong>de</strong><br />
Nombres<br />
Variante 2. Etiqueta colocada al final <strong>de</strong> <strong>la</strong> Secu<strong>en</strong>cia <strong>de</strong><br />
Nombres<br />
Los valores y significado correspondi<strong>en</strong>tes a <strong>la</strong>s variables seña<strong>la</strong>das <strong>en</strong> cursiva se<br />
muestran a continuación:<br />
Variable<br />
Significado<br />
SecTot Secu<strong>en</strong>cia Total.<br />
sexo Sexo <strong>de</strong> <strong>la</strong> SecNom. Toma el valor M o F.<br />
La variable varFin se coloca al final <strong>de</strong> una SN. Toma los sigui<strong>en</strong>tes valores:<br />
Valor<br />
Significado<br />
Cmpl [Secu<strong>en</strong>cia] Completa. Indica que <strong>en</strong> <strong>la</strong> SN se aprecian Secu<strong>en</strong>cias <strong>de</strong><br />
Nombres y Secu<strong>en</strong>cias <strong>de</strong> Apellidos<br />
InCmpl [Secu<strong>en</strong>cia] Incompleta. En <strong>la</strong> SN, hace falta ya sea <strong>la</strong> Secu<strong>en</strong>cia <strong>de</strong><br />
Nombres o <strong>la</strong> Secu<strong>en</strong>cia <strong>de</strong> Apellidos.<br />
inddo In<strong>de</strong>terminado. En <strong>la</strong> secu<strong>en</strong>cia analizada, los elem<strong>en</strong>tos pres<strong>en</strong>tes sí se<br />
reconoc<strong>en</strong> como nombres pero no forman una estructura coher<strong>en</strong>te.<br />
En varNom <strong>en</strong>contramos los valores sigui<strong>en</strong>tes:
Valor<br />
inddo<br />
sexoCntrio<br />
rep<br />
Larg<br />
Significado<br />
In<strong>de</strong>terminado. Los elem<strong>en</strong>tos pres<strong>en</strong>tes sí se reconoc<strong>en</strong> como<br />
nombres pero no forman una estructura coher<strong>en</strong>te.<br />
Sexo Contrario. Nombres <strong>de</strong> sexo opuesto no <strong>en</strong>contrados d<strong>en</strong>tro <strong>de</strong>l<br />
grupo <strong>de</strong> Nombres Combinados.<br />
Repetidos. En <strong>la</strong> Secu<strong>en</strong>cia <strong>de</strong> Nombres exist<strong>en</strong> nombres repetidos.<br />
Larga. Secu<strong>en</strong>cia <strong>de</strong> Nombres muy ext<strong>en</strong>sa (más <strong>de</strong> tres elem<strong>en</strong>tos).<br />
4.2 Descripción <strong>de</strong>l programa<br />
Para <strong>la</strong> id<strong>en</strong>tificación <strong>de</strong> <strong>la</strong>s SN, diseñamos diccionarios (bases <strong>de</strong> datos) <strong>de</strong> nombres<br />
y <strong>de</strong> apellidos. El sistema es totalm<strong>en</strong>te <strong>de</strong>p<strong>en</strong>di<strong>en</strong>te <strong>de</strong> estas bases, aún cuando se<br />
utiliza una pequeña heurística para <strong>de</strong>terminar Nombres Combinados, Apellidos<br />
Compuestos, etc. A gran<strong>de</strong>s rasgos, el proceso seguido <strong>en</strong> el análisis es el sigui<strong>en</strong>te:<br />
En primera instancia, el sistema realiza un parseo por el texto electrónico,<br />
<strong>de</strong>terminando si cada pa<strong>la</strong>bra <strong>en</strong>contrada pert<strong>en</strong>ece o no a <strong>la</strong> base <strong>de</strong> datos; cuando se<br />
ha terminado <strong>de</strong> extraer una <strong>de</strong>terminada secu<strong>en</strong>cia, se aplica a ésta un segundo<br />
proceso <strong>de</strong> análisis más específico (proceso <strong>de</strong> etiquetado), que consiste <strong>en</strong> asignar a<br />
cada elem<strong>en</strong>to su d<strong>en</strong>ominación correspondi<strong>en</strong>te a <strong>la</strong> gramática e<strong>la</strong>borada, según el<br />
lugar que ocupe d<strong>en</strong>tro <strong>de</strong> <strong>la</strong> SN extraída.<br />
Algunos resultados arrojados por el sistema son los sigui<strong>en</strong>tes:<br />
Secu<strong>en</strong>cia texto: José <strong>de</strong> Jesús Vélez De los Cobos<br />
Resultado <strong>de</strong>l programa:<br />
[ [[José <strong>de</strong> Jesús(nom1,M)]](SecNom,M)]<br />
[Vélez(ap,pat)][De los Cobos(ap,mat)] ](SecTot,M,Cmpl)<br />
Secu<strong>en</strong>cia <strong>en</strong> texto: Br<strong>en</strong>da Rocío<br />
Resultado <strong>de</strong>l programa:<br />
[ [[[Br<strong>en</strong>da(nom1,F)][Rocío(nom2,F)]](SecNom,F)] ](SecTot,F,Incmpl)<br />
5 Conclusiones<br />
Son muchos los factores que dificultan el <strong>de</strong>sarrollo <strong>de</strong> un mo<strong>de</strong>lo que sea capaz <strong>de</strong><br />
id<strong>en</strong>tificar y reconocer Secu<strong>en</strong>cias Nominales Hispanas d<strong>en</strong>tro <strong>de</strong> textos electrónicos.<br />
La ambigüedad inher<strong>en</strong>te a los sistemas <strong>de</strong> nombres dificulta el proceso <strong>de</strong><br />
mo<strong>de</strong><strong>la</strong>ción. No todo lo pres<strong>en</strong>tado <strong>en</strong> este artículo es concluy<strong>en</strong>te, nuestro ámbito <strong>de</strong><br />
análisis ha t<strong>en</strong>ido que verse restringido por <strong>la</strong>s variaciones tan ext<strong>en</strong>sas que exist<strong>en</strong> <strong>en</strong><br />
<strong>la</strong> formación <strong>de</strong> SN Hispanas. Un ejemplo c<strong>la</strong>ro <strong>de</strong> esto se constata <strong>en</strong> Secu<strong>en</strong>cias <strong>de</strong><br />
Apellidos. Una práctica habitual hace tiempo era <strong>la</strong> concat<strong>en</strong>ación <strong>de</strong> más <strong>de</strong> dos<br />
apellidos para constituir uno solo, por ejemplo, Sánchez <strong>de</strong> Anda y Martínez Salgado,<br />
Martí y Zayas-Bazán, Bancés y Fernán<strong>de</strong>z-Criado, etc. Obviam<strong>en</strong>te, el tratar <strong>de</strong><br />
abarcar todos estos casos (y más) resultaría <strong>en</strong> un <strong>en</strong>tre marañado <strong>de</strong> reg<strong>la</strong>s, <strong>en</strong> una<br />
complejidad realm<strong>en</strong>te <strong>en</strong>orme.
Estos son sólo algunas características que pued<strong>en</strong> dificultar alcanzar el objetivo<br />
que se p<strong>la</strong>nteó <strong>en</strong> este trabajo. La más c<strong>la</strong>ra conclusión <strong>de</strong> esto es que un sistema <strong>de</strong><br />
c<strong>la</strong>sificación <strong>de</strong> nombres no pue<strong>de</strong> ser automatizado <strong>en</strong> su totalidad, siempre será<br />
necesaria <strong>la</strong> interv<strong>en</strong>ción <strong>de</strong>l usuario.<br />
Agra<strong>de</strong>cimi<strong>en</strong>tos. El trabajo fue realizado con apoyo parcial <strong>de</strong> CONACyT y PIFI.<br />
Refer<strong>en</strong>cias<br />
1. Alexandrov, M., A. Gelbukh, and P. Makagonov. A <strong>la</strong>nguage-in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t approach to<br />
evaluation of the docum<strong>en</strong>t thematic structure. Acta Aca<strong>de</strong>mia 2000, Evrica, Chisinau,<br />
Moldova, 2000, pp. 177-189.<br />
2. Calvo, H., A. Gelbukh. Maintaining inter-s<strong>en</strong>t<strong>en</strong>tial continuity of semantic indices with a<br />
knowledge base. IEEE Conf. on Natural Language Processing and Knowledge Engineering,<br />
NLPKE-2003, Peking, China, IEEE Computer Society Press, p. 634–637.<br />
3. Ch<strong>en</strong>, H. H., S. J. Huang, Y. W. Ding, S. C. Tsai. (1998). Proper Name Trans<strong>la</strong>tion in<br />
Cross-Language Information Retrieval. Proceedings of the 17 th International Confer<strong>en</strong>ce<br />
on Computational Linguistics. pp 232 – 236. http://acl.ldc.up<strong>en</strong>n.edu/P/P98/P98-1036.pdf<br />
4. Chinchor, N. (1997). MUC-7 Named Entity Task Definition. Proceedings of the 7 th<br />
Message Un<strong>de</strong>rstanding Confer<strong>en</strong>ce.<br />
http://www.itl.nist.gov/iaui/894.02/re<strong>la</strong>ted_projects/muc/proceedings/ne_task.html<br />
5. Galicia-Haro, S. N., A. Gelbukh, I. A. Bolshakov. Recognition of Named Entities in<br />
Spanish Texts. Proceedings of International Confer<strong>en</strong>ce MICAI’2004, Mexico City,<br />
Mexico. Lecture Notes in Artificial Intellig<strong>en</strong>ce, ISSN 0302-9843, Springer, 2004<br />
(accepted).<br />
6. Galicia-Haro, S. N., A. Gelbukh, I. A. Bolshakov. Web-based Sources for an Annotated<br />
Corpus Building and Composite Proper Name Id<strong>en</strong>tification. Proceedings of International<br />
Confer<strong>en</strong>ce AWIC04, Cancun, Mexico. Lecture Notes in Computer Sci<strong>en</strong>ce, ISSN 0302-<br />
9843, Springer, 2004 (accepted).<br />
7. Huang, F., A. Waibel. An Adaptive Approach to Named Entity Extraction for Meeting<br />
Applications .http://www.is.cs.cmu.edu/papers/speech/HLT2002/hlt2002_fei.pdf<br />
8. Mani, I., R. McMillian, S. Luperfoy, E. Lusher, S. Laskowiski. (1993). Id<strong>en</strong>tifying<br />
Unknown Proper Names in Newswire Text. Proceedings of the Workshop on Acqui<strong>sitio</strong>n of<br />
Lexical Knowledge from Text. pp 44 – 54. http://acl.ldc.up<strong>en</strong>n.edu/W/W93/W93-0105.pdf<br />
9. Montes y Gómez, M., A. Gelbukh, A. López López. A statistical approach to the discovery<br />
of ephemeral associations among news topics. Proc. Database and Expert Systems<br />
Applications (DEXA-2001). Lecture Notes in Computer Sci<strong>en</strong>ce N 2113, Springer-Ver<strong>la</strong>g,<br />
2001, pp. 491-500.<br />
10. Montes-y-Gómez, M., A. Gelbukh, A. López-López. Detecting <strong>de</strong>viations in text<br />
collections: An approach using conceptual graphs. Proc. Mexican International Confer<strong>en</strong>ce<br />
on Artificial Intellig<strong>en</strong>ce (MICAI-2002). Lecture Notes in Artificial Intellig<strong>en</strong>ce N 2313,<br />
Springer-Ver<strong>la</strong>g, 2002, pp. 176–184.<br />
11. Morales Carrasco, R., A. Gelbukh. Evaluation of TnT Tagger for Spanish. ENC-2003, 4th<br />
Mexican International Confer<strong>en</strong>ce on Computer Sci<strong>en</strong>ce. IEEE Computer Society Press,<br />
2003, pp. 18–25.<br />
12. Pazos R., R. A., A. Gelbukh, J. J. González B., E. A<strong>la</strong>rcón R., A. M<strong>en</strong>doza M., A.. P.<br />
Domínguez S. Spanish natural <strong>la</strong>nguage interface for a re<strong>la</strong>tional database querying<br />
system. Text, Speech and Dialogue (TSD-2002). Lecture Notes in Artificial Intellig<strong>en</strong>ce N<br />
2448, Springer-Ver<strong>la</strong>g, 2002, pp. 123–130.
ËÒØÑ×ÔÖÊÙÔÖÓÒÁÒÓÖÑÓÒ ÍÒÅÓÐÓÊÔÖ×ÒØÓÒ×ÓÒ<br />
ÅÙÐÊÓÖÙÞÀº¸ÀØÓÖÂÑÒÞ˺²ÚÈÒØÓ<br />
ÑÖÓÖÙ×½½ÓØÑкÓѸÑÒÞѺÙÔºÑܸÔÒØÓ׺ÙÔºÑÜ Ìк´·¾¾¾¾µ¾¾¼¼Üغ¾½¾Ü´·¾¾¾¾µ¾¾¾ ºÍÒÚÖ×ÙØÓÒÓÑÈÙÐ ºÒ×ÐÓÑÔÙØÓÒ ºÍº¾¼¸ÈÙиÅÜÓ<br />
×ØÖغÌÛÓÜÔÖÑÒØ×ÓÓÙÑÒØÖÔÖ×ÒØØÓÒÖÔÖ×ÒØ<br />
ÓÖÔÙ׸×ØÓÓÙÑÒØ×ÓÖÖÔÖ×ÒØØÓÒÒØÚÐÙØÕÙÖ׺ ÒØ×ÓÒÓÒÙ×ÙÖÓÏÓÖÆØ×Ò×ÖÐØÓÒ×Ô׺ØÓÒÐÐݸ جÖ×ØÜÔÖÑÒØÛ×ÖÖÓÙØÛØØÖ×Ø×Ó¾ØÖÑ׬¹ ÒØÓÒ×ÓÔÝ×××ÙغÁÒØ×׸×ØÛ×Ù×ØÓÓÑÔÓ× ÒØ×ÔÔֺ̬Ö×ØÜÔÖÑÒØÙ×ØØÖѹÔÖ××Ò×ÓÒÔØ<br />
×ØÓ½ÔÖÔÖÓ××ÕÙÖ׸ÓÙسÖسØÖѸÛÖÜÙØÒ<br />
ÃÝÛÓÖ׺ÙØÓÑØÁÒÜÒ¸ÌÖѹÔÖ׸ËÒ×ÊÐØÓÒ×Ôº ×ÝÒÓÒÝÑݹÝÔÓÒÝÑÝ×Ò×ÖÐØÓÒ×Ô×ÓØÒÖÓÑÙÖÓÏÓÖÆغ Ø×ÓÒÜÔÖÑÒظÙ×ÒÓظØ×ÑÓÖÔÙ׸Ò×ÝÒÓÒÝÑÝÒ ØÓÒ×Ô××ØØÖØÒØÓØÖ׸×ÔØØÐÓÛÚÐÙÓÔÖ×ÓÒº ÌÖ×ÙÐØ×ÓØÒ×ÓÛØØØÑØÓØØÙ×××ÝÒÓÒÝÑÝÖй<br />
ÙÒ×ÒØÑÝÔÓÖÓØÖÓÐ×ÖÐÓÒ××ÒØÓ××ÒÙ¹ ¬ÒÓÒ×ØÖÑÒÓ×ÐÖ׺ÄÔÖÑÖÓÖÖ×ÔÓÒÓ ×ÒØÓÒÓÙÑÒØÓ׸Ù×ÒÓÔÓÖÙÒÐÓÐÓÒÔØÓÐ×ÒØÓ ÖÓÏÓÖÆغÒÐÔÖÑÖÜÔÖÑÒØÓ×Ù×ÖÓÒØÖ×ÓÐÓÒ×ÓÒ¾ Ê×ÙÑÒºÒ×ØØÖÓ×ÔÖ×ÒØÒÓ×ÜÔÖÑÒØÓ×ÖÔÖ¹<br />
ÐÓÐÓÒÓÙÑÒØÓ×ÖÔÖ×ÒØÖ¸Ð×ÙÒÐÓÖÔÙ×ÕÙÔÖÓ¹ ÔÓÖÓÒÓÐ×ÖÐÓÒ××ÒØÓÝÐØÖÖÐÓÐÓÒÓÒ×Ùй<br />
ÜØÖ×ÙÖÓÏÓÖÆغÄÓ×Ö×ÙÐØÓ×ÓØÒÓ×ÑÙ×ØÖÒÙÒ¹ Ø××ÙÔÖÚ×׺ÒÐ×ÙÒÓÜÔÖÑÒØÓ×ØÙÖÓÒ½ÓÒ×ÙÐØ× ÐÔÖÑÖÜÔÖÑÒØÓÝÖÐÓÒ××ÒÓÒÑÝ×ÒÓÒѹÔÓÒÑ ØÖÙÒ×ÔÖÐÓÒÔØÓØÖÖÓØÒ××ØÙÒØ×ÙÒ¹<br />
ÑÒØÓ¸×ÒÑÖÓ×ÔÙÓ×ÖÚÖÕÙÐÑØÓÓÕÙÙ×ÖÐÓÒ× ×ÑÔÒÓÓ¸ÓÔÖÒÔÐÑÒØÐÑØÖÐÑÔÐÓÒÐÜÔÖ¹ ÙÐØÁÒÒÖÒ×Ø×Ó¸Ð××ØÑ×ÔÓÝÓÒÐÑ×ÑÓÓÖÔÙ×<br />
×ÒÓÒÑÑÓÖÐÓ×Ö×ÙÐØÓ××ÓÖÐÓ×ÓØÖÓ×Ó×ÑØÓÓ×´ÓÖÔÙ× Ý×ÒÓÒѹÔÓÒѵº<br />
½ÁÒØÖÓÙÓÒ ÈÐÖ×ÐÚÁÒÜÓÙØÓÑØÓ¸ËÒØÓÙÒËÒØѺ<br />
ÀÓÝÒÐÑÒÔÓÖÒÓÖÑÓÒ×ÙÖÒÓÐÖÓÕÙÐÔÒ¹ ÒÐ×ÓÖÒÞÓÒ×ÒÚÙÓ××ÓÖ×ØÖÙÖ×Ó×ÖÙкÁÒØÖÒØ×
Ù×ÙÖÓ×ØÒÖ×ÓÐÒÓÖÑÓÒÕÙ×Ø×ÑÓÖ×Ù×Ò×׺׸ ÔÔÐ×ØÖØÓÒÐØÓÑ×ÓÒ׺ËÒÑÖÓ¸××ÐÔÓÖØÓÓ×ÐÓ× ÐÓÒ×ØÖÙÓÒÙÒÓ×Ù×ÓÖ×Ò×ØÖÙÑÓÖÒØØÜØÓ׸ ÑÒ×ÝÓØÖÓØÔÓÑÓ×ÖÔÖ×ÒØÙÒÖØÓÒÐÙк×ØÑÓ×ÖÒØ ÓÒÚÖØÓÒÐÔÖÒÔÐÔÖÓÚÓÖÒÓÖÑÓÒÝÔÓÖÐÓØÒØÓ¸ÙÙÒ<br />
ÓÒØÒÙÒØÜØÓÝÒÓÐ×ÔÐÖ׺ ÐÔÖÓÐÑÖÙ×ÕÙ×ÒÓÖÑÓÒÓÒ×ÒÐÓ×ÓÒÔØÓ×ÕÙ<br />
ÖÔÖ×ÒØÙÒÓÙÑÒØÓÓÒ×ÖÒÓÐÓ××ÒØÑ×ÕÙÓÒØÒÒÐÓ×ØÖÑÒÓ× ×ØØÖÓ×ÑÔÐÖÐ×ÒØÓÙÒ×ÒØѺËÑÔÐÒØÓÙÒ××ØÑÕÙ ÐØÖÓÒиÐÙÐØÓÑÓÒÙÒØÐÓÒØÒÓ×ÑÒØÓÐÓ×ØÜØÓ×ÓÒÐ ÔÖÓÔÓ×ØÓ×ÖÙØÐÞÒÐÖÙÔÖÓÒÒÓÖÑÓÒºÄÔÖÒÔÐÒ Ò×ØØÖÓ×ÜÔÖÑÒØÓÓÒÙÒÖÔÖ×ÒØÓÒØÜØÓ×ÐØÒØÚ<br />
Ò×ÐÓÙÑÒØÓºÄ×ÓÒ×ÙÐØ××ÖÔÖ×ÒØÒÑÒÖ×ÑÒØÐ ÖÔÖ×ÒØÓÒÙÒÓÙÑÒØÓÝÐÙ×ÕÙ×ÖÐÞÒÓÖÑ×ÑÒØ<br />
ÖÐÞÓºÒÐ×ÓÒ¿×ÔÐÒØÐÑØÓÓÖÔÖ×ÒØÓÒÓÙÑÒ¹ ÓÑÓÐÓÐÑÓÐÓÓÓÐÒÓÖÙÔÖÓÒÒÓÖÑÓÒº ÖÐÓÒ××ÒØÓ¸ÐÓÙÐÓÒÓÖÑÐ××ÓÖÐÕÙÐÔÖ×ÒØÙ ÕÙÒØÖÒ×ØØÖÓºÒÐ×ÓÒ¾××ÖÒÐÓ×ØÖÓ×ÖÐØÚÓ× ØÓ×ÓÒÖÐÓÒ××ÒØÓ¸ÜØÖ×ÙÒÓÖÔÙ×ÝÙÖÓÏÓÖÆØ´ÏƵ¸ ÓÒØÒÙÓÒ××ÖÑÒÖ×ÒØØÐÓÒØÒÓÐ××ÓÒ×<br />
ÓÒÖÓ×ÕÙÔÖÓÚÒÖÐÓÒ××ÒØӺЬÒÐ×ÔÖ×ÒØÒÐ×ÓÒÐÙ×ÓÒ× ×ØØÖÓ×Ù×ÐÔÒÓÒÔÖØØÓ×ÝÖ×ÙÐØÓ×ØÓÑÓ× Ñ׸×ÔÐÒØÐÓÖÑÒÕÙ×ÖÐÞÒÓÒ×ÙÐØ×Ð××ØѺÒÐ×ÓÒ ××ÖÒÐ×ÔÖÙ×ÖÐÞ×ÓÒÖÒØ×ÓÒÙÒØÓ×ÓÒ×ÙÐØ×ݹ Ð×ÔÖÙ׺ ¾ÒØÒØ×<br />
ÄÒĐÙ×غÑ׸ØÖÚ×ÐÓÒÔØÓ×ÓÓÒØÖÑÒÓ××ÔÓ×Ð ØÖÑÒÓ׺×Ø×ÔÖ×ÒØÒ½½℄ÚÒÙÐÓÒÐ×Ö×È×ÓÐÓÝ ËÒÖÚ×ÓÚÖÓ×ØÖÓ×ÕÙÒÒÒÐÒÓÓÒ×ÓÓÒ ÖÙÒÔÐÒØÑÒØÓÔÖÜÔÐÓØÖÐ×ÑÒØÐÓ×ØÖÑÒÓ×ÕÙÔÖÒ<br />
ÔÐÖÒÙÒØÜØÓ¸ÓÒ×ØØÙÝÒÐÔÙÒØÓÔÖØÔÖÖÔÖ×ÒØÖÐÔй ÄÓ×ØÖÑÒÓ××ÓÓÒÔÖÑÖÓÖÒ¸ÕÙ×ÓÒØÖÑÒÓ×ÕÙÖÓÒÙÒ ÑØÓÒØÖÓÐÄÓÖØÓÖÓÊÙÔÖÓÒÁÒÓÖÑÓÒп℄º ÒÐÓ×ØÜØÓ׺ÈÓÖÑÔÐÓ¸×Ú×ØÓÕÙ×ØÓÒÔØÓ×ÙØÐÒÐÓÒ¹<br />
ÖÒÙ×ØÓÒºÓÒ×ØÒÓÕÙÐÓÒ×ÙÑÓÖÙÖ×Ó×ÒÓ××ÔÒÓ×Ó¸Ý ×ØÖÙÓÒØ×ÓÖÓ×℄¸ÕÙØÚÑÒØ×ÓÑÔÖÓÓÒÒÙ×ØÖÓ<br />
ÕÙÙÒÑÒØ×Ò×ÖÓÙÒÓÖÔÙ×ÙÝÓØÑÒÓÝÐÒÒÙÖÖع ×Ñ××ÑÒØÕÙÐØÖÓÒкÈÖÐÐÓÒÖÐÞÖ×ÜÔÖÑÒØÓ× ÑÒØÒÐÓ×Ö×ÙÐØÓ׺׸Ö×ÙÐØØÖØÚÓÒÚ×ØÖ×ØÖÔÖ×ÒØÓÒÕÙ ÕÙÐÕÙÐ׬ÓÖ××ÒÓÑÒÐ×ÕÙÓÙÖÖÒÒÐ×Ö×ÔÙ×Ø×ÔÖÙÒØ× ÚÖ×Ó×ÕÙÖ×ÔÐÒÐÚÐÓÖ×ØÒÓÕÙº ÖØ×℄ºÒ×Ø×Ó¸×ÖÔÖ×ÒØÖÓÒÐ×Ö×ÔÙ×Ø×Ù×ÒÓÓÑÓÓÖÔÙ×ÙÒ ÒØÖÐÓ×ÜÔÖÑÒØÓ×ÖÐÞÓ×ÓÒ×ØÖÔÖ×ÒØÓÒÔÓÑÓ×ØÖ
℄×ÓÖÐ×ÒØÓÙÒ×ÒØѺÄÔÖÓÔÙ×Ø××ÒÐÓÑÒÓÒ ÐÓÖÑÙÐÕÙ×ÑÔÐÔÖÖÔÖ×ÒØÖÙÒ×ÒØÑ´ÚÖº¿µºÇØÖÓ ÓÒÖÓÐ×ÔÒÓкÌÐØÖÓ××Ù×ØÒØÒÐÔÖÓÔÙ×ØÕÙ弅 ÕÙÐÓ××Ö×ÙÑÒÓ×ÑÓ×Ð×ÔÖÓÔ××Ó×ÐÓ×ØÖÑÒÓ׸ ØÖÓÒÐÕÙ×ÙÝÐÖÔÖ×ÒØÓÒ×ÒØÖÑÒÓ×ÔÖÑÖÓÖÒ ØÖÓ×ÒØÓ×ÒÓ×ÓÖÒØÒÖÐÞÖÙÒÔÖÙÐÖÔÖ×ÒØÓÒÓÒ ØÖÑÒÓ×ÔÖÑÖÓÖÒÝÐ×ÒØÓÙÒ×ÒØÑÔÖÓÒÓÖ×ÙØÚ ×ÖØÒ℄¸ÐÙÐÔÖÓÔÓÒÙÒÓÖÑÐØÖÒØÚÐÓÒ ×ÐØÙÓÔÖÓØÒÖÐÜØÖØÓÙÒØÜØÓ½¾℄ºÑÒÓÒÖÕÙ ÝÓØÖ×ÔÖÓÔÙ×Ø×ÖÐÞ×ÔÓÖÐÖÙÔÓÊÁкÈÓÖÑÔÐӸРÒÐÖÙÔÖÓÒÒÓÖÑÓÒº Ò׺ÄÓ×<br />
ÄÔÖÓÔÙ×ØÕÙ×ÔÖÖÔÖ×ÒØÖÙÒÓÙÑÒØÓ×ØÓÑÖÓÖÓÒ ÕÙÓÒØÒ ¿ÊÔÖ×ÒØÓÒÌÜØÓ×<br />
ØÙÖÔÖÓÜÑÓÒºÎÑÓ×ØÐÐ×ØÔÐÒØÑÒØÓº ℄ºÈÓÖØÒØÓ¸ÖÕÙÖÖÑÓ×ÙÒÑÓÕÙÔÖÓÔÓÖÓÒÙÒÔÖÓÜÑÓÒ Ð×ÖÐÓÒ××ÒØÓØÖÑÒÓºÀÑÓ×ÓÒ×ÖÓÙÒÓÖÔÙ×ÔÖ ÈÖØÑÓ×ÔÖÓÜÑÖÐ×ÖÐÓÒ××ÒØÓÙÒÔÐÖÜÓÒÐ× Ò×ÝÙØÐÞÖÐÜÔÖ×ÔÓÖÐ×ÒØÓÙÒ×ÒØÑ<br />
ÑÓ×ÙÒÓÖÔÙ׸ÝÒÓØÑÓ×ÓÒ¼ÐÓÖÔÙ×ÔÖÔÖÓ×Ó×ÖÙÒÚÞ ÔÐÖ×ÕÙÓÙÖÖÒÒÐÓ×ÓÒØÜØÓ×ܺÌÓÑÑÓ×ÓÑÓÓÒØÜØÓÙÒ ÔÐÖÐ×ÓÖÓÒ×ÓÒÓÙÖÖÐÔÐÖºÈÖÐÓÖÖÐÓÒØÖÓÖÑÔÐÖ¹ ÐÑÒ×Ð×ÔÐÖ×ÖÖ×ÝØÖÙÒÒÓ×Ù×ØÖÑÒÓ׺¬ÒÑÓ×ÒØÓÒ× Ð×ÔÐÖ×ÝÐÓÒØÜØÓÜ×ÙÒÐÖÐÓÒÜÎݸÓÒÎ×<br />
ØÙÔÐ ÓÕÙÐÓ×ÓÒØÜØÓ××ÓÒÓÖÓÒ׸¬ÒÑÓ×ÙÒÓÖÓÒÓÑÓÙÒ Î´ÜÝµÜ Ý˴ؽؾص<br />
ÓÙÖÖÒÒËÓÒ˾¼ ´½µ<br />
ØÖÑÒÓØ×Ö ÓÒؽؾØ×ÓÒØÖÑÒÓ× ØÖÔÖÑÖÑÒØÐÓ×ØÖÑÒÓ× ÓØÒÓ×ÑÒØÐÙÓÒ½ºÈÓÖØÒØÓ¸ÒÙ×ØÖÖÔÖ×ÒØÓÒØÔÖÙÒ ÒÐ×ÓÖÓÒ×ÓÒ×Ò×Ù×ÓÒØÜØÓ× Ò×ÙÒÓÙÑÒØÓºÑÓ×ÖÔÖ×Ò¹<br />
ÑÒØÓÐÙÐÔÖØÒÐÓÖÓÒÝÐÒÙÑÖÓÓÖÓҺ׸ÔÓÑÓ×ÚÖ ÐÓÙÑÒØÓ½ÓÑÓ ÍÒÓÙÑÒØÓ×ØÓÑÔÙ×ØÓÓÖÓÒ×˸ÓÒÖÔÖ×ÒØÐÓÙ¹ ØÝ´Øݵ¾Î ´¾µ<br />
×ØÓÖÑй×ÑÓÖÓÒй×ÑÓÓÙÑÒØÓ×ÒÓØÖÓÑÓ ½´Ë½½Ë½¾Ë½Òµ ˴ؽØÒµ
ÒÓÒ×ÐÓ×ØÖÑÒÓ×ÖÔÖ×ÒØÓ×ÝÙÒÒÓØÓ××Ø×ÒØÖ×ÓÒ׺ ×ØÓ×ÐÓÖÑÒØÐ×ÙÒØÜÔÖ×ÓÒ℄℄ ÓÒ×ÙÒÓÙÑÒØÓ¸ÑÒØÐÙÓÒ¾¸ÔÓÑÓ×ÓØÒÖÐÖÔÖ¹ ÍÒÚÞÓØÒÐÖÔÖ×ÒØÓÒÐÓ×ØÖÑÒÓ×ÒÕÙÒØÖÒÐ×ÓÖ¹ ×ÒØÓÒËÙÒÓÖÓÒ˸ÖÐÞÒÓÐÒØÖ×ÓÒØÓ×Ð×Óѹ<br />
׸ÐÓÙÑÒØÓ×ÖÔÖ×ÒØÖÔÓÖÐÙÒÓÒØÓ×Ð×ÓÖÓÒ×ÖÔÖ×Ò¹ Ø× ËØØÐÐ ´¿µ<br />
×Ò¬ÓÐ×ÓÒ×ÙÐØ׸ÐÙÐÕÙ×ÞÓÓÒÐÓ×ÓÙÑÒØÓ׺ÈÖÖÐÞÖ ÙÒÓÒ×ÙÐØÕ´Õ½Õ¾Õµ¸ÖÔÖ×ÒØÑÓ×ÐÓ×ØÖÑÒÓ×Õ½Õ¾ÕÕ¸ ÍÒÓÒ×ÙÐØÕÐ××ØÑÖÖÙ×ÓÙÒÖÔÖ×ÒØÓÒÕÙÓÒ×ÖÐ Ë ´µ<br />
Ù×ÒÓÕ½Õ¾Õº×ØÓ×ÕÙÚÐÒØÖÔÖ×ÒØÖÙÒÓÖÓÒÙ×ÒÓÐ<br />
ÒÐÑÒظÐÓ×ÓÙÑÒØÓ×Ñ×ÖÐÚÒØ×ÓØÒÒÙØÐÞÒÓÙÒÖØÖÓ ÙÓÒ<br />
ÒÙÑÖÓØÖÑÒÓ×ÓÒÐÓÒ×ÙÐØÖÔÖ×ÒØØÒÖÑÝÓÖÖÐÚÒº ÖÚÓÐÑÓÐÓÓÓÐÒÓÙÒÓÙÑÒØÓÖÔÖ×ÒØÓÕÙÓÑÔÖØÑÝÓÖ Õ´ÕÕµ ´µ<br />
ÈÖÙ×ÊÐÞ× ÄÓ×ØÓ×ÓÒÐÓ×ÕÙ×ÖÐÞÖÓÒÐ×ÔÖÙ×ÓÒ××ØÖÓÒÙÒÐÓ×ÖÓ ×¾ÚÓÐÓ×½ÝØÖ׬ÒÓÒ×ÔÓÖÚÓÐÓºÈÖÚÓÐÓÐ ÐÓ×ÖÓ¸ÐÔÖÑÖ¬ÒÓÒ×ÐÑÒÓÒÙÒÖÚÓÕÙ×Ù×ÓÓÑÓÓÖÔÙ׺ Ä×ÙÒ¬ÒÒÓÒ×ÐÑÒÓÒÓØÖÓÖÚÓÙ×ÓÓÑÓÓÐÓÒ ÐÓÐÓÒºÄØÖÖ¬ÒÓÒÐÚÓÐÓÙÐÑÒÒÙÒÖÚÓ ÓÙÑÒØÓ××ØÓÑÓÓÑÓÓÙÑÒØÓ¬ÒÓÒÔÖÓÖÑÖÐÖÚÓ ÕÙÓÒ×ØØÙÝÓÙÒÓÐÓÒÓÒ×ÙÐØ×Ð××ØÑÔÖÙÒÐ×ÔÖÙ× ØÙ׺ÌÓÓ××ØÓ×ÖÚÓ×ÙÖÓÒÔÖÔÖÓ×Ó×ÒÐÓÖÑÕÙ× ÑÒÓÒÓº<br />
ÓÑÓÙÒØÔÖÔÖÓÚÖÖÐÓÒ××ÒØÓÐÓÖÔÙ×´¾¬ÒÓÒ× ×µÝÖÐÓÒ×ÔÖÓÚ×Ø×ÔÓÖÙÖÓÏÓÖÆØ´ÏƵºÒÐÔÖÑÖ×Ó× ×ÔÓÖ×ØÙÒØ×ÁÒÒÖÅÒÐÍȾºÑÓ×ÙØÐÞÖÓÒ ÙÒØ××ÖØÒÐÔÖÖÓÒØÖÓÖºÐ×ÙÒÓ¸ÙÒÓÐÓÒ½ÔÖÙÒØ× ËÖÐÞÖÓÒÓ×ÜÔÖÑÒØÓ׺ÐÔÖÑÖÓÑÔÐÓÐÓÐÓÒ¾ÔÖ¹<br />
ÓÒѸÝÐÓÑÒÓÒØÓ×ÐÐ׺ ÙØÐÞÖÓÒÖÐÓÒ×ÐØÖÒØÚ×ÜØÖ×ÏÆ×ÒÓÒѸÔÓÒѸÔÖ¹ ¾ÊÙÖ×ÓÑÐÑÒØÔÖÓÔÓÖÓÒÓÔÓÖĺÖÙк℄º ½ÊÙÖ×ÓÑÐÑÒØÔÖÓÔÓÖÓÒÓÔÓÖÐÁĹÁÁ¹ÍÆŸØÖÚ׺ËÖÖź
º½ÓÒ×ÙÐØ×ÐÐÓ×ÖÓ ÈÖÐ×¾ÓÒ×ÙÐØ××ÖÐÞÖÓÒÐ×ÔÖÙ×ÓÒÐ×ÖÐÓÒ××ÒÓÒ¹ ѸÔÓÒѸÔÖÓÒÑÝÐÓ×ØÖ×ØÔÓ×ÖÐÓÒ×ÓÒØÒ×ÒÙÒ×ÓÐÓ ÖÚÓÔÖÐÖÔÖ×ÒØÓÒÕÙÜÐÑØÓÓºÄÓ×Ö×ÙÐØÓ×ÔÖÓÑÓ× ×ÑÙ×ØÖÒÒÐØоº ÙÒÕÙ×ÒÓظØÑÒÑÓÖ×ÑÔÒÓÐÙ×ÖÖÐÓÒ×ÔÓÒÑÓÒ ÐÖÔÖ×ÒØÓÒ×ÒØÑ××ÓÐÑÒØÑÔÐÒÓÐ×ÖÐÓÒ××ÒÓÒѺ Ö×ÔØÓØÓ×ÝÐ×ÔÖÓÒѺ×ÑÔÓÖØÒØÒÓØÖÕÙÐÑÔÐÓÙÒ ÓÖÔÙ×ÔÖÔÖÓÚÖÖÐÓÒ××ÒØÓØÒÐ×ÑÔÒÓÑ×ÓºÄÐØ ÓÑÓÔÙÓ×ÖÚÖ×ÝÙÒÑÓÖ×Ù×ØÒÐÙ×ÒÓÓÑÓ×ÓÔÓÖØÔÖ<br />
ÔÖ×ÓÒÒÐÒÚÐÚÓÓÒÙÒÓ¸ÐÙ×Ö×ÒÓÒÑÓ׸ÔÙÓ×ÖÚÖ×ÒÐ ÓÐÙÑÒÈÓ×ÓÒÐÊ×ÔÙ×ØÓÖÖغ ×ØÔÓÖÓÑÔÖÓÖ׸ÔÓÖÑÔÐÓ¸×ÐÒÓØÖÑÒÓ×ÐÓ×ÓÒØÜØÓ×Ð ÓÖÔÙ×ݬÐØÖÒÓÐÓ×ÓÒÐÑÒÓÖÑÓÒÑÙØÙÝÙÒÑÓÖºÙÐ ÓÖѸ×Ò×ÖÓÓÖÖÓÓÖÖÐÓ×Ö×ÙÐØÓ×ÓØÒÓ×ÓÒÓØÖ×ÓÐÓÒ× ØÜØÓ׺ ÌÓ××Ø×Ó×ÖÚÓÒ×ÒÙÒÓÑÔÖÓÖ×ÓÒÑÝÓÖÜÙ×ØÚº<br />
ËØÖؽÓÒ×ÙÐØ×ÕÙ×ÓÒ×ÖÔÓÒ×ÐÓÒÔØÓÌÖÖºÄØÐ ½ÑÙ×ØÖ×Ø×ÓÒ×ÙÐØ×ØÖÙÒ׺ÙÒ×Ø×ÓÒ×ÙÐØ×Ù Ð××ØѸÙØÐÞÒÓÐÓÖÔÙ×ÝÖÐÓÒ××ÒÓÒÑÔÖÓÚÒÒØ×ÏÆ º¾ÓÒ×ÙÐØ××ÔÓÖ×ØÙÒØ×<br />
ÔÖÓÑÓÐÓ×ÚÐÓÖ×ÒÓ×ÔÖÐ×Ó×ÓÖÑ×ÖÔÖ×ÒØÓÒ´ÓÖÔÙ× ×ÓÒ×ÒØÑ×ÓÒÐÑÓÐÓÚØÓÖкÄØÐÔÖ×ÒØÖ×ÙÐØÓ× ÝÖÐÓÒ××ÒÓÒѵ¸Ù×ÒÓÐÓÖÑÙпº ÓÑÓÔÓÝÓÐÖÔÖ×ÒØÓÒÔÓÖ×ÒØÑ׺ÄØпÑÙ×ØÖÒÖ×ÙÑÒÐ<br />
ÔÖÓÑÓ×Ð×ÓÒ×ÙÐØ×ÖÐÞ×ÓÒÐÓ×Ó×ÑÓÐÓ×ÖÙÔÖÓÒ ÒÓÖÑÓÒºÒÑÓ×ÑÓÐÓ××ÓÒ×ÖÓÐÙ×Ó×ÒÓÒÑÓ׸ÝÓÑÓ× ÔÖÒÐÑÓÐÓÚØÓÖÐÐÙ×Ó×ÒÓÒÑÓ×ÒÓÔÖÓÚÑÓÖº ÈÖ×Ø×ÓÒ×ÙÐØ××ÖÐÞÓÙÒÔÖÙÓÒиÓÒÖÓÒØÒÓÐÑÓÐÓ<br />
ÒÐÔÖ×ÒØØÖÓ×ÜÔÖÑÒØÓÓÒÙÒÔÖÓÔÙ×ØÖÔÖ×ÒØÓÒ ×ÑÒØØÜØÓ×ÓÒЬÒ×ÖÙØÐÞÒÐÖÙÔÖÓÒÒÓÖ¹ ×Ù×ÓÒ<br />
×ÑÒØÝÐÙ×ÕÙ×ØÙÓÑÓÐÓÐÑÓÐÓÓÓÐÒÓÖÙ¹ ÔÖÔÖÓ×ÑÒØÓÐØÜØÓµºÑ׸Ð×ÓÒ×ÙÐØ××ÖÔÖ×ÒØÒÑÒÖ ÐÓ×ØÖÑÒÓ×ÒÐÓ×ØÜØÓ×´ÕÙÐÐÓ×ØÖÑÒÓ×ÕÙÖ×ÙÐØÒЬÒÐÐ ÑÓÒºËÔÖØÓÐÐ×ÒØÓÙÒ×ÒØÑÝ×ÑÔÐÒØÓÙÒ<br />
ÔÖÓÒÒÓÖÑÓÒº ××ØÑÕÙÖÐÞÐÖÔÖ×ÒØÓÒÓÒ×ÖÒÓÐÓ××ÒØÑ×ÕÙÓÒØÒÒ<br />
Ö׺ÄÔÖÑÖÓÖÖ×ÔÓÒÓÐÓÐÓÒÓÙÑÒØÓ׸Ð×ÙÒ Ä×ÔÖÙ××ÔÓÝÖÓÒÓÒØÖ×ÓÐÓÒ×ÙÒ¾¬ÒÓÒ×Ð
ÐÙÐØÁÒÒÖÅÒÐÍȸÔÓÝÒÓ×Ð××ØÑÒÙÒ ÐÓÖÔÙ×ÝÐØÖÖÐÓÐÓÒÓÒ×ÙÐØ××ÙÔÖÚ×׺ÌÑÒ×¹<br />
ÔÖÓÚÒÒØ×ÙÖÓÏÓÖÆØÔÖÓÒѸÔÓÒÑÝÙÒÓÐÓÒÕÙÓÒ¹ ÓÖÔÙ×ÝÖÐÓÒ××ÒÓÒÑ´ÜØÖ×ÙÖÓÏÓÖÆصº ØÙÖÓÒ½ÓÒ×ÙÐØ×ØÖÙÒ×ÔÖÐÓÒÔØÓÌÖÖ¸ÓØÒ××ØÙÒØ×<br />
ØÒÐ×ØÖ×ÒØÖÓÖ׺ Ñ×Ù×ÖÐ×ÖÐÓÒ××ÒÓÒѸ×ÙØÐÞÖÓÒÓØÖ×ÖÐÓÒ×<br />
ÐÓÐÓÒ×¾ÝÐÑÝÓÖ×ØÓ××ØÓÑÔÙ×ØÓ×ÓÐÑÒØÙÒ ÓÖÓÒºÓÒÖ×ÔØÓÐÒÙÑÖÓÓÙÑÒØÓ××ÙØÐÞÓÙÒÓÒÙÒØÓÖÒ ÔÐÑÒØÐÑØÖÐÑÔÐÓÒÐÜÔÖÑÒØÓºÐÒÙÑÖÓÐÑÒØÓ× ÓÒ×ÙÐØ׸ÙÝ×ÖØÖ×Ø×ÒÐÐÖÙÔÖÓÒÜØÔÓÖÐÓÖÒ ÄÓ×Ö×ÙÐØÓ×ÓØÒÓ×ÑÙ×ØÖÒÙÒ×ÑÔÒÓ×ÓÐÙØÓÓ¸ÓÔÖÒ¹<br />
Ö¬ÖÒÐÓÑÒÓ¸ÐØÔÓÐÒÙ×ÒÓÖÑÐÝÖÒØÐÐÓ×ÓÙÑÒ¹ ØÓ׺ÙÒ׸ÓÒ×ÖÑÓ×ÑÔÓÖØÒØÖÐÞÖÐÜÔÖÑÒØÓÓÒ×ØÑØÖк ÓÐÓÕÙÐ×Ø×ÜÔÖ×ÓÒ׸ÐÚÓÙÐÖÓ×Ø××ÚÖÓݸÙÒÕÙ× ÌÓ××Ø×Ó×ÖÚÓÒ×ØÒÑÓ×ÑÓÐÓ×ÔÖÓÓ׺ ÖÙÓÝÔÓÖ×Ó×Ù×ÑÔÒÓ×ÐÑ×ÓºÓÑÓ××ÔÖ¸ÐÑÔÐÓ ×ÒØÓÒÐÓ×ØÖÑÒÓ×Ù×ÒÓÙÒÓÖÔÙ×ÚÑÓ×ÕÙ×ÒØÖÓÙÑÙÓ Ð×ÑÔÒÓ××ÐÑ×ÑÓÐÐÑÓÐÓÚØÓÖк ×ÒÓÒÑÓ×ÓÒÐÐÚÙÒÑÓÖ¸ÝÐÖÐÞÖÐÕÙÚÐÒÒØÖØÖÑÒÓ× ÒÐ×ÓÐÑÓÐÓ×ÓÒ×ÒØÑ׸ÙÒÓ×ÖÐÞÐÖÔÖ¹<br />
ÑÓÒÔÖÓÒѸ×ÒÓÒÑÓÒÔÓÒÑÔÖÓÒÑÓÒÔÓÒѸ ÔÐÒÓÐÖÔÖ×ÒØÓÒÒÚÖ×Ó×ÔÙÒØÓ×ÐÔÖÓ×ÑÒØÓÒØÖÓÐË×¹ ØÑÊÙÔÖÓÒÁÒÓÖÑÓÒº×Ñ×ÑÓ¸ÜÔÖÑÒØÖÓÒÙÒÓÖÔÙ× ÑÝÓÖØÑÒÓº ÈÙÒÖÐÞÖ×ÓØÖ×ÔÖÙ×ÓÑÓÐÓÑÒÓÒÖÐÓÒ××ÒÓÒ¹<br />
ÖÑÓ×ÐÓ×ÓÑÒØÖÓ×ÐÓ×ÖØÖÓ××ØØÖÓ¸×ØÑÒÐÔÓÝÓ ÔÖÐÖÓÔÓÖÔÖØÐÔÖÓÝØÓÎÁÈÁÁÁ¹¼»ÁÆ»º ÖÑÒØÓ×<br />
ÊÖÒ× ¾ºÖÖÓËÖÖ²ÂÓÒÅÆÙØÆØÙÖÐÄÒÙËÝ×ØÑÓÖÌÖÑÒÓÐÓ¹ ½ººÂºÚÒÊ×ÖÒÁÒÓÖÑØÓÒÊØÖÚкÍÒÚÖ×ØÝÓÐ×ÓÛ¸ÔÔº½½¹½½º ËÓÒØÓÒ¸½º<br />
ºÞ¹Ø×ÊÖÓÅÓÖÒÁÒÓÖÑØÓÒÊØÖÚи×ÓÒÏ×Ðݺ½ ¿ºÚ׸ʺ¸×ØÐкÊ×ÙÐØÓ×ÐÄÓÖØÓÖÓÊÙÔÖÓÒÁÒÓÖÑÓÒ ÎÖиÔÔº½¹¾¸¾¼¼¿º кÙÐØÒ×ÐÓÑÔÙØÓÒºÍÈ ÐÁÒÓÖÑØÓÒÊØÖÚкÁÄÒ¾¼¼¿¸ÄÆ˾¸ºÐÙ´ºµËÔÖÒÖ<br />
ºÊÝ׺ÖÒ¸ÅÓÝÓØÐÀºÖÊÙÓÒØÖÑÒÓ× ºÖÙÐÙ×ØĺÒÐ××ÙÒÊÔÖ×ÒØÓÒÌÜØÓ×Ù×ÒÓÄØØ׺ ØÖÒ×ÓÒºÙÐØÒ×ÐÓÑÔÙØÓÒºÍÈ Ì××Å×ØÖÒÒ×ÐÓÑÔÙØÓÒºÍȺ¾¼¼ ÒÙ×ÒÓÐÔÙÒØÓ
ºÂÑÒÞËÐÞÖÀº¸ÅÓÖÐ×ÄÙÒºÓÑÒÑÑÖ×ÔÒÐ׬ØÓÒÑØÓ× ºÖÒ×ØØØÖÓÖÝÙØÓÑØÌ×ÙÖÙ×ÒÖØÓÒÖÓÑÊÛÌÜØÙ×Ò ºÖÖÓÂÓ׬Ò×ØÖÙØÙÖÓÒÔØÙÐÝÓÑÙÒÓÒ¸ÐÓÐÓ ÃÒÓÛйÈÓÓÖÌÒÕÙ׸ÊÒÖÓÜÊ×ÖÒØÖº ºÍȸÁÆÎËÌιÁÈÆ ÅÜÓ½º<br />
½¼ºÊÓÖÙÞÀÖÒÒÞźÊÔÖ×ÒØÓÒÓÙÑÒØÓ×ÙØÐÞÒÓÊÐÓÒ× ½½ºÊÙÖÓÑÒÒÓÖÔÙ×ÐÒÙ×Ø×ÒÙÑÒÑÑÓÖÝÑÓÐ×ÓÖÙØÓ¹ ½¾ºËÐÞÖÅÖØÒÞÀºÂÑÒÞËÐÞÖÀº²ÈÒØÓººÜØÖØÓÒÓÖÔÙ×¹× ËÒØÓºÌ××ÄÒØÙÖºÙÐØÒ×ÐÓÑÔÙØÓÒºÍȺ<br />
ÔÔÖÓºÙÐØÒ×ÐÐÓÑÔÙØÓÒºÍÈ ÑØØÑ××ÓØÓÒ¸ÁÖÓÙÔºÁÒ×ØØÙØÙÖÁÒÓÖÑظÅÙÒÒº½ ÂÙÒÓ¾¼¼º<br />
ØÓ×ÝÊ×ÙÐØÓ×<br />
ÁÒجÓÖ Õ¾ Õ½ ÌнºÓÒ×ÙÐØ×ÔÖÔÖÓ××ÔÖÐÓÒÔØÓÌÖÖº<br />
Õ¿ Ñ×ØÓÙÖÞØÖÓÒÙÖÔÓ× ØÖÔÐÒØÖÒËÓÐØÖ¾ÓÖÖÔÖÓÔÖÓØÓÒ ØÖÖÔÐÒØ××ØÑ×ÓÐÚÖÒØÑ× ÙÒØÚÖ×ÔÖÙÖÒÙÒØÖÚÖ×Ó××ØÑ<br />
Õ Õ Õ Õ ÔÐÒØÐÙØÚÚ ÔÐÒØØÀÓÑÖÙÒÚ ÔÓÖÓÒÑØÖÐ×ÓÐÙÒÔÐÒØ ÓÒÚÖØÖÑÙÖÑÓ× ÒÙÒØÖÚÖ×ØÔÓÚÖ×<br />
Õ½½ Õ½¼ Õ Õ ÔÐÒØÓÙÔØÖÐÙÙØÒÔÓ×ÓÒ××ØÑ×ÓÐÙÒØ ÔÖÑÖÔÓÖØÞØÖÖ×ØÖÓÒÓØÑÔÓ ÔÙÒØ×ÒÐÐÓÓ ÔÐÒØ××ØÑ×ÓÐÚÚÑÓ×<br />
Õ½¾ Õ½¿ Õ½ ÓÒÓÒÔÖÓÔÚÓÖÚÓÐÖÔÖÓÙÓÒÚ<br />
Õ½ ÓÖÒ×Ñ<br />
Õ½ ÐÑÒØÒØÙÖÐÔÞÚ ÒÙÚÔÐÒØÒØÖ××ØÑ×ÓÐÖ ØÖÔÐÒØ××ØÑ×ÓÐ×ØÐØÒØÙÖÐÐÐÑÄÙÒ Ó××ØÑÓÒÓÖÑÔÐÒØÒÑÐÐÑÒØÙ ØÖÒÐÖÙØ
Ìоº×ÑÔÒÓÔÖÓÑÓÐ××ØÑÙ×ÒÓÚÖ××ÖÐÓÒ×´¾ÓÒ×ÙÐØ×µº ÊÐÓÒ×ÓÙÑÒØÓ×Ê×ÔÙ×ØÈÖ×ÓÒÚÓÓÒ ÈÖÓÑÓÈÓ×ÓÒÐ<br />
ÔÓÒÑ ÔÖÓÒÑ ×ÒÓÒÑÊÙÔÖÓ×ÓÖÖØ<br />
½¿¾º¿¾ ½½¿º¼¿ º¼¿ ¾º¾ ¾¿º¼¿¾ º¼¼¼ ¼º¼¾¿¾¾¼º½½¼º¼½¿¾ ¼º¼¼¼º¼¼º¼¿¼ ¼º¼½ ¼º¿¾¼º¼½¾ ½<br />
ÓÖÔÙ× ØÓ× ½¼º½¾½ ¾½º½½ º¿¾½ º¾ ¼º¼½¼¼º¿¾¼º¼½¾½ ¼º¼¼ ¼º¼¿¼º¼½½¼¼<br />
ÊÔÖ×ÒØÓÒÓÙÑÒØÓ× ÌпºÊÔÖ×ÒØÓÒÔÓÖÓÖÔÙ×Ý×ÒÓÒÑÓ×´½ÓÒ×ÙÐØ××ØÙÒØ×µº<br />
ËÒÓÒÑ ÓÖÔÙ× ÊÙÔÖÓ×Ê×ÔÙ×ØÓÖÖØ ½½º½¾ ÈÓ×ÓÒÐ ½º ÈÖ×ÓÒÚÓÓÒ½<br />
ÔÓÒÑ<br />
¾¾º ¾¿º¾ ¾º¿½¾ ¾ ¼º¼¾ ¼º¼¾ ¼º¼¼¾ ¼º¾ ¼º ¼º¼ ¼º¼ ¼º¼¼<br />
ÌкÅÓÐÓÚØÓÖÐÚ××ÒØÑ×´½ÓÒ×ÙÐØ××ØÙÒØ×µº<br />
ËÒØÑ××ÒÓÒÑÓ×¼º¼¾ ÎØÓÖÐ×ÒÓÒÑÓ× ËÒØÑ×ÓÖÔÙ× ÅÓÐÓ ÈÖ×ÓÒÚÓÓÒ½ ¼º¼¼¾ ¼º¼¾½ ¼º ¼º ¼º¼¼ ¼º¼<br />
¼º¼½
ÈÖÙ×ÓÒÐÓÖØÑÓ×ÖÙÔÑÒØÓÔÖ<br />
ËÓÈÒÙÊÚÖ¸ÀØÓÖÂÑÒÞ¹ËÐÞÖ²ÚÈÒØÓ ÒÖÖÙÒ×ØÓ×ÄÜ<br />
ÙÐØÒ×ÐÓÑÔÙØÓÒ<br />
×ÓÔØÖÖºÓѺڸÑÒÞѺÙÔºÑܸÔÒØÓ׺ÙÔºÑÜ Ìк´·¾¹¾¾¾µ¾¾¼¼Üغ¾½¾Ü´·¾¹¾¾¾µ¾¾¾¸ ½×ÙÖÝÚºËÒÐÙÓºº½¿ºÙÍÒÚÖ×ØÖ¸ ºÍÒÚÖ×ÙØÓÒÓÑÈÙи ÈÙиÈÙº¾¼ºÅÜÓ¸<br />
ÐÙ×ØÖ×ÓÑÔÓ×ÝØÙÖ×ÓØÒÝØÛÓÑØÓ×½µÙ×Ò ×ÒØÒØ×ÔÔÖºÌÓÐ×ØÓÙ×ØØÄÓÖÏÓÖËÒ××¹ ÑÙØÓÒ´Ï˵¸ØÙ׸ÛÔÖ×ÒØÒÚÐÙØÓÒÓØÑÙÓÙ× ×ÒØÒ×ÓÚÖ×ØÓÐÙ×ØÖ×´ÒÖØÝØÅǹËÄÐÓÖØѵº ×ØÖغÚÒ×ÓÒÓÒ×ØÖÙØÒÄÜÐØ״ĵÖÔÖ¹<br />
ÓØÒ¾º¹ÔÖÒØÙÖݺ ÆÝÓÖÑÙÐÒ¾µÙ×ÒÒØÖ×ØÓÒÝÓÒØÜعÔÖ׺ÐØÓÙ ØÓÖÔÙ×××ÑÐиØÖ×ÙÐØ×ÒÓÙÖØÓÔÖÓÒØ×ÖØÓÒº ÃÝÛÓÖ×ÐÙ×ØÖÒ¸ÄÜÐØ×׸×ÑÙØÓÒ Ì¬Ö×ØÑØÓÓØÒ¹ÔÖÒØÙÖÝÒØ×ÓÒÑØÓ Ê×ÙÑÒºÒ×ØØÖÓ×ÔÖ×ÒØÒÚÒ××ÓÖÐÓÒ×ØÖÙÓÒ ÙÒ×ØÓ×ÐܴĵÕÙ×ØÖÓÒÓÖÑÔÓÖÖÙÔÓ× ÙÒØÖÑÒÓ×ÑÙÖµ×ÓÖÙÒÓÒÙÒØÓÖÙÔÓ×ÒÖÓ× ×Ù×ØÒØÚÓ×ÓÒ×ÙÖ×ÔØÚÓ×Ö×Ó׺Ë×ÔÖÕÙÐÄÔÓÝ ØÖÚ×ÐÐÓÖØÑÓÅǹËĸÓÒ×ÓÐÙÓÒÖ×Ó×ÔÓÖÑÓ Ó×ÑØÓÓ×Ù×ÓÓÖÑÙЬÒØÖ×ÓÒÔÖ×ÒØÖÓÒ¹ ÒÐÔÖÓ×Ó×ÑÙÓÒÐ×ÒØÓÙÒÔÐÖ´Ï˵ºÈÓÖ<br />
ØÜØÓ׺Ô×ÖÙ×ÖÙÒÓÖÔÙ××ÙÑÑÒØÖÙÓ¸ÐÓ×Ö×ÙÐØÓ× ØÒØÓ¸Ò×ØÖØÙÐÓ×ÖÔÓÖØÐÚÐÙÓÒÓÓÓÖÓÒ×´ÓÒ<br />
ÔÖ×ÓÒº ÃÝÛÓÖ×ÖÙÔÑÒØÓ¸××ØÓ×ÄÜ׸×ÑÙÓÒº ÔÖ×ÓÒÑÒØÖ×ÕÙÔÖÐ×ÙÒÓÑØÓÓ×ÓØÒÙÒ¾º± ×ÓÒÒØÖ×ÒØ׸ÝÕÙÔÖÐÔÖÑÖÑØÓÓ×ÓØÒÙÒ±<br />
½ÁÒØÖÓÙÓÒ<br />
ÙÖÐ×ÒØÓÐ×ÔÐÖ׸ØÑÒ×ÓÒ×ÖÓÑÓÙÒÓÒÖÓÕÙ ÐÒ×ØÙÓºÍÒ×ØÓ×ÐÜ×ØÒ¸ÔÓÖÐÓÒÖи×ѹ ÔÓ×ØÖÑÒÓ×ÖÐÓÒÓ׸ÙÒÓÓÒ×Ù×Ö×ÔØÚ×ÖØÖ×Ø×´Ö×¹ ÍÒ×ØÓ×ÐÜ×ÙÒ×ÓÒÓÑÒØÓ×ÖÒ×иÒÓÖÑй<br />
Ó×µºÄ×ÑÙÓÒÐ×ÒØÓÐ×ÔÐÖ×´Ï˵×ÓÙÒØÑ ÑÒØÑÒÓ℄¸ÝÐÓÒ×ØÖÙÓÒÙØÓÑØÐÐ×ØÓÚÙÒ
ÓÒÒÓÖÑÓÒÙÒÙÒØÓÒÓÑÒØÓÜØÖÒ¸ÓÒÓÖÑÓÒÖ ÑÔØÑÒØÓÐÓÒØÜØÓÐÒ×ØÒÙÒÔÐÖ×Ö×ÑÙ ÒÚ×ØÓÒÒÐÓ×ÙÐØÑÓ×ÒÓ×ÝÙÒØÖÑ×ÒÐÔÖÓ×ÑÒØÓÐ<br />
ÐÒ×ÖÖÙÒÖÙÖ×ÓÕÙÔÖÑØ×ÑÙÖÔÐÖ×ØÜØÓ×Ò ÓÒØÜØÓ×Ò×ØÒ×ÐÔÐÖÒØÖÓÖÑÒØ×ÑÙºËÔÐÒØ ÐÒÙÒØÙÖдÈÄƵºÐØÖÓ×ÑÙÓÒÒÚÓÐÙÖ¸×ÒÐÑÒظ<br />
×ÔÒÓÐÝÒÓÑÒÓ××Ô¬Ó׺Ò×ØØÖÓ×ÔÖ×ÒØÒÚÒ××ÓÖ ÙÒÑÒØÐÑÒØÒÓÖÑÓÒØÖÑÒÓ×ÝÖÐÓÒ××Ò¬Óº ÐÓÒ×ØÖÙÓÒÙÒ×ØÓ×ÐÜÕÙ×ØÖÓÒÓÖÑÔÓÖÖÙ¹ ÔÓ××Ù×ØÒØÚÓ×ÓÒ×ÙÖ×ÔØÚÓ×Ö×Ó׺Ä×××ØÓ×ÐÜ×ØÒÒ<br />
Å×ØÖÑÒ´½¾µÙØÐÞÓÙÒÖ×ÑÒØÔÖÖÚÖÐÖÔÖ×ÒØÓÒ ÒÓÓÒÐØÖÙÓÒØÜØÓ×ØÒÓ×ÝÙÒÑ×ÑÓÓÑÒÓº×ÔÙ× ÐÅÌÙÓÖÒØÐ×ÖÖÓÐÐÓÓÒÖÓ××ÔÐÞÓ׺Ð××ØÑ ×ÙÓÒ××ÙÙ×ÓÒÐØÖÙÓÒÙØÓÑØ´Å̵¸ÒÓÒ× Ð×ÖÖÓÐÐÓ×ØÖÙÖ×ÓÔ×ÓÔÓÖÚÖ×××׺ÒÐÔÖÑÖ<br />
ÒÐÖÓÒÓÒÖÓ׸ÔÓÖÑÔÐÓ¸Ä×Ò½℄ÖÓÙÒ× ØÓ×ÓÒ×ÓÓÙÒ¬ÖÑ×ÒØÓÒÙÒÓÒÖÓºÒÐÙÒÓ××Ó׸ ØÖØÑÒØÓÐ×ÑÙÓÒ×ÒØÓ×¾ß℄ºÇØÖ×ÔÐÓÒ××ÒØÖÒ Å×ØÖÑÒÔÖÐÐÒÙÒØÙÖÐÝÙÙÒÓÐÓ×ÔÖÑÖÓ××ÒÓ×ÔÖÐ ÓÖÓÒ×ÓÒÔØÓ×ÙÒÐÒÙÙÒؽ℄ºÏÐ×´½¼µÙ×ÓÐ×ÔÖÑØÚ×<br />
××ØÑÔÐÒÓ¸ÙØÐÞÒÓÒÙÚÓ×ÓÒÔØÓ××Ó×ÒÐÓ×ÐÓÖØÑÓ× ×ØÒÙÒÓÒÙÒØÓÔÐÖ×Ý×Ù¬ÒÓÒ´ÓÒÖÓØÖÑÒÓ×µ¸Ò<br />
Ä׸ÏÐ×ÝÓØÖÓ×ÔÖÙÖ×ÓÖ×℄º ÑÔÐÓÏÓÖÒصºÐÓÒÔØÓ××ØÓ×ÐÜ×ÒÓ×ÖÒظ×Ò ÓØÖÓ××Ó××ØÒ¸Ñ׸ÐÖÐÓÒÒØÖÙÒÓÐÓ×ØÖÑÒÓ×´ÔÓÖ<br />
ÄÓ××Ö×ÙÑÒÓ×ØÒÑÓ×ÙÒÖÙÖ×Ó×ÑÐÖÐ×××ØÓ×ÐÜ×ÒÑÖ×Ó ÒÒÙ×ØÖÓÓÒÓÑÒØÓ¸ÝÔÖØÖ×ظ×ÐÒجÖÕÙ×Ö¬Ö ÑÖÓ×ÙÒ×ØÙÓÔÓÖÑÔÐÓÐ×ØÓ×ÐÜÙÖÓÏÓÖÆØ<br />
ÑØÔÐÖº×ØÓ×ÓÐ×ÑÙÓ×ØÖÓ×ÔÖ×ÑÙÖ ÔÖÙ×ÖÒÙ×ÓÓÖÔÓÖ´ÓÑÓÒÓÝØÖÓÒÓµÔÖÔÖÓÔÓÖÓÒÖÐÓ× ÙÒÔÐÖÑÙ¸×ÑÔÖØÓÑÒÓÓÑÓÖÖÒÐÓÒØÜØÓÒÐÙÐ× ÓÒØÜØÓ×ÐÓ××Ù×ØÒØÚÓ××ÑÙÖºÐÔ×ÓÑ×ÑÔÓÖØÒØ×ÖÙÔÖ ÙÒÓÐÓ××ÒØÓ×ÙÒÔÐÖÔÖØÒÑÓ×ØÓÑÖÖÙÔÓÓÖÑÓ ÙØÓÑØÑÒØ×ØÓ×ÓÒØÜØÓ×ÓÒЬÒÜØÖÖÖØÖ×Ø× Ð×ÒØÓÐ×ÔÐÖ×Ý×ÐÕÙ×ÙÑÓ×ÒÒÙ×ØÖÓØÖÓºÆÙ×ØÖ×<br />
¾ÈÐÒØÑÒØÓÝ×ÓÐÙÓÒ ÐÙÒÓÒ×ÑÐØÙÝÐÖØÖÓ×ÐÓÒÖØÖ×Ø׺ ÓÑÓÙÒ×ÒØÓº×ÚÖÓ×ÔÖÓÑÒØÓ×ÓÙÔÒÙÒÔÔÐÑÔÓÖØÒظÓÑÓ<br />
ÒÐÑØÓÖÙÔÑÒØÓÓÒØÜØÓ×ÔÖ×Ù×ØÒØÚÓ× ÌÖ×ØÒ××ØÒ×ÒÓÑÔÐÒØ×ÓÒЬÒÐÖÔÓÖØÖ×ÙÖÒÑÒØÓ ØÒ×ØÙÒÑÒØÒÐÙ×ÓÙÒÐÓÖØÑÓÚÓÖÞÕÙÙØÐÞÙÒ ÖÔÖ×ÒØØÚÓ×ÓÒØÜØÓºÄ×ÙÒØÒ×ÐÒÓÑÒÅǹËÄ ÙÒÓÒ×ÑÐØÙ×ÒÐÚÐÓÖÐÓ×ÒÓÐÒÙÐÓÒØÖÚØÓÖ×<br />
ÙÓ׺ÄÔÖÑÖ
ÓÖÒÐ×ØØÖÓÙÝÓÓØÚÓ×Ö¬ÒÖÐØÒÅǹËÄÑÒØ ´ÒÐÕÙ×ÓÒÒØÖÐÔÖ×ÒØØÖÓµÝØÓÑ×Ù×××ÒÐÔÖÓÔÙ×Ø À××ÒØн¼℄ÔÖÖÓÒÔÖØ׺ÄÙÐØÑØÒ×ÙÒÔÖÓÔÙ×Ø ØÖÓÒ×ÓÒØÒÙ׸Ù×ÒÓÐØÒØÑÔÐ×ÑÙÐÓºØÒ Ù×ÓÙÒÑÒ×ÑÓÖÔÖ×ÒØÓÒ×ØÒØÓºÈÖÖÔÖ×ÒØÖÐÓ×ÓÒØÜØÓ× ×Ù×ØÒØÚÓ¸ÔÖÑÖÓ×ÜØÖÒÓÒØÜØÓÐÑÒÑÓÒÙÑÖÓ ÔÐÖ×ÕÙ×ÖÒÐÑ×ÑÓ´ÔÐÖ×ÖÔÖ×ÒØØÚ×ÓÖ×Ó×µ¸Ý×ÖÐÞ ÖÔÖ×ÒØØÚкÄÓØÖÓÖÑÐÖÐ×ÔÐÖ×ÖÔÖ×ÒØØÚ×Ð Ó×ÑÒÖ׺ÍÒ¸ÐÙÐÒÓЬÝ×ÙÑÒÓÕÙÖÙÔÓ×Ø ÖÙÔÓÙÐÓØÒÐÑÝÓÖ¬Ý×ÖÙÔÓ××ÒÐÔÐÖÓÑÓ ÓÑÔÙ×ØÓ×ÓÐÑÒØÙÒÔÐÖ´ÐÔÐÖÐÖµºËÖÚ×ÔÖ ÖÙÔÓ×ÓØÒÒÓÐÙÒÓÒØÓ×Ð×ÒØÖ×ÓÒ×ÔÓÖÔÖ×ÓÒØÜØÓ× ÑÔÐÒØ×Ò×ØØÖÓº ¾º½ÌÒÅǹËÄ ´×ÓÐÙÓÒËʵºÓÒØÒÙÓÒ××ÖÒØÐÐÙÒÐ×ØÒ×<br />
Ëĵ¸ÙØÐÞÙÒÚÖÒØÒÐÓ¬ÒØ×ÑÐØÙÂÖÓÒÓÓ ÐÑØÓÓËÄ´ËÒÐÄÒÐÙ×ØÖÙ×ÓÒÓÐÓµÔÖÓÔÙ×ØÓÔÓÖËÒØ ÒØÖØÖ׺ÈÓÖ×ÙÔÖØÐÚÖ×ÓÒÑÓ¬ÐÑØÓÓËÄ´Åǹ ½½¸ ÓÑÓÓ¬ÒØ×ÑÐØÙÂÖÒÓÒÓÒ¹ÂÖÒ½¼℄¸ÐÙÐ× ÙÒÑÐÒÚÐÑÔØÑÒØÓÒÓÒÐÒÙÑÖÓÑÔØÑÒØÓ× ½¾℄ ÙØÐÞÐÓ¬ÒØ×ÑÐØÙÂÖÔÖÒÓÒØÖÖÐ×ÑÐØÙ<br />
×ÚÓÔÓÖÙÒÒØÒÓÖÑÐÞº×ØÓ¬ÒØØÒÙÒØÖÑÒÓ ÓÒÐÒÐÒÙÑÖÓÖÝ׸×ÑÒظÐÒÙÑÖÓÔÖ×ÔÖ׸РÙ×ÓÐÑÂÖÒÓÒЬÒÐÑÖÐÖÓ×ÑÐØÙ ÒØÖÓÒØÜØÓ×½¼℄ºÐÓ¬ÒØ×ÑÐØÙÕÙ¬ÒÓÓÑÓ×Ù ÙÐ×ÚÓÔÓÖÐÒÓÖÑÐÞÓÒØÖÑÒÓ׺ÒÒÙ×ØÖÓ×Ó¸ÑÓ×Ó<br />
ÕÙÑÓ×ÓÒØÜØÓ×ÒÓØÒÒµ¸×ÐÒÙÑÖÓÙÒÓ×ÕÙ×ØÒÒÐÓÒØÜØÓ ÒÒ´ÔÐÖ×ÒÓÑÙÒµº×ÐÒÙÑÖÓÖÓ×ÒÓÑÙÒ´ÔÐÖ× ÓÒ×ÐÒÙÑÖÓÙÒÓ×ÒÓÑÙÒÒØÖÐÓ×ÓÒØÜØÓ×ÝÒÐÑØÖÞ Ë´·×ÕÖØ´£µµ´···×ÕÖØ´£µµ<br />
ÝÒÓ×ØÒÒÐÓÒØÜØÓ´ÔÐÖ×ÖÒØ×µº×¬ÒÑÒÖ×ÑÐÖ ÔÖÓÔÖÐÓÒØÜØÓº ÙÒÓÒ¬ºÈÖÔÐÖ¸×ÚÖ¬ÒÐÓ×ÓÒØÜØÓ×ÒÐÓ×ÕÙ ÓÙÖÖÝ×ÐÙÐЬÒØÖ×ØÓ×ÓÒØÜØÓ×ÝÔÖÙÒÓÐÓ×ÖÙ¹ ÔÓ×ÒÖÓ׺ÄÑЬÐÓÐÔÖÐÓ×ÖÙÔÓ×ÒÖÓ׸ÝÕÙ ÐÔÖÓÑÒØÓÔÖÐÒÖÓÒÐÓ×ÖÙÔÓ×××ÖÒЬÙÖ½º<br />
×Ù×ØÑÒÔÖÐ×ÒÓÒÔÐÖ×ÓÒØÜØÓ××ÓØÒÑÒØ ÈÓ×ØÖÓÖÑÒØ×ÔÖÓ×ÒÖÔÐÖ×ÖÙÔÓÙ×ÒÓÙÒ<br />
ÔÓÒÐ×´ÙÖÐÓ×ÖÙÔÓ׵ݽ×ÐÒÙÑÖÓÖÓ×ÒØÖÓÐÓ×ÖÙÔÓ׺ ÓÒ¸×ÐÒØÙÒÓ×ÒÐÑØÖÞ¸¼×ÐÒÙÑÖÓÐÑÒØÓ×ܹ Ð×ÙÒØÓÖÑÙÐ ´ ¼µ´·½µ
È×Ó¿×ÒÖÐÓÒØÜØÓÝÐÓÒØÜØÓÐÑ×ÑÓÖÙÔÓº È×ÓÐÑÒÖÐ×ÑÐØٴ˵ÐÑØÖÞ×ÑÐØÙº È×Ó½Í×ÒÓÐÑØÖÞÒÒÖÖÐÑØÖÞ×ÑÐØÙÓÒØÜØÓ׺ È×Ó¾ÄÓÐÞÖÐÑÜÑÓÚÐÓÖ×ÑÐØٴ˵ÒÐÑØÖÞ×ÑÐØÙº È×Ó¼ÒÖÖÐÑØÖÞÒÒÓÒØÜØÓ¹ÔÐÖ׺<br />
È×ÓËÒÓ×ØÒØÓÓ×ÐÓ×ÓÒØÜØÓ××ÒÓ×ÖÖ×ÖÐÔ×Ó¾º ÙÖ½ºÐÓÖØÑÓÅǹËÄÔÖÖÙÔÑÒØÓÓÒØÜØÓ׺<br />
ÓÒÐ×ÝÒÒÙÒÚÐÓÖÖÓÒØÖÓÐÓ×ÖÙÔÓ×ÐÓÕÙÖÖÓÖÙÒÚÐÓÖ½Ý ÔÓÖØÒØÓ×ÖÒÖÙÔÓ×Ò¬ÒÓ׺ ÓØÒ׸ÝÕÙÒÐÑÓÖÐÓ××Ó׸ÖÖÖÓÐÑÒØÓ×ÜÔ¹ ĬÔÙ×ÖÙÒÙÒÑÒ×ÑÓÔÖÑÖÐÐÐ××ÓÐÙÓÒ×<br />
×ØÐÓÖØÑÓ¸ÓÑÓ×ÑÒÓÒÓÒØÖÓÖÑÒظÔÖÑØÖÙÔÖÐÓ×ÓÒØÜØÓ× Ð×ØÔ×ÔÖÔÖÓ×ÑÒØÓ¸ÜØÖÓÒ×Ù×ØÒØÚÓ׸ÜØÖÓÒÓÒ¹ ÓØÒÓ׸ÔÖ×Ù×ØÒØÚÓÐÓÖÔÙ׸ÓÒ×ÒÙÒÙÒÓÒ×ÑÐØÙº ÈÖÓØÒÖ×ØÓ×ÓÒØÜØÓ××ÙØÐÞÓÙÒÓÖÔÙ×ØÖÓÒÓºËÔÖÓÖÑÖÓÒ ÐÜÔÖÑÒØÓÖÐÞÓÒ×ØØÖÓ××ÓÒÐÐÓÖØÑÓÅǹËĺ<br />
××ÖÓÒØÒÙÓÒº ØÜØÓ׸ÖÙÔÑÒØÓÝ×ÑÙÓÒºÒÔÖØÙÐÖ¸×ÐÓÐ×Ù×ØÒØÚÓ<br />
×ÔÖÓÓÓØÒÖÐÚÓÙÐÖÓ×Ù×ÓÒØÜØÓ××ØÓÓÕÙÐÚÓ¹ ÒÓÓÑÓÔÖÙÝÐÔÖÓ×ÓÔÖÙÐÐÚÓÓÓÒ×Ø×Ù×ØÒØÚÓ<br />
ÙÐÖÓ×Ò×ÖÓÔÖÒÖÖÐÑØÖÞÒÒÓÒØÜØÓ×¹ÔÐÖ×ºË ÔÖÓÓÔÐÖÐÐÓÖØÑÓÅǹËĸÓØÒÒÓÐÓ×ÖÙÔÓ׸ÝÔÖ ÖÙÔÓ×ÜØÖÖÓÒ×Ù×Ö×Ó׺ËÙØÐÞÖÓÒÓÖÓÒ×ÔÖÙÒÐ×ÙÐ× ÍÒÚÞÒÖÓÐÖÚÓÐÓ×ÓÒØÜØÓ×ÐÔÐÖÑÙÒÓ¸<br />
ØнºÐÔÖÓ×Ó×ÑÙÓÒÓÒ××ØÓÒÔÐÖÐÓÒØÂÖ ÒØÖÙÒÓÐÓ×Ö×Ó×ÐÓ×ÓÒØÜØÓ×ÓØÒÓ×ÝÐÓÖÓÒÓÒ×ÙÐغ ËÐÚÐÓÖ×ÑÐØÙ×ÙÐÖÓ×Ò¬ÕÙÐÓÖÓÒÓÒ×ÙÐØÒÓ ÔÖÐÔÐÖÒÓºÄ×ÓÖÓÒ×ÔÖÙÙÖÓÒÜØÖ×ÐÓÖÔÙ×<br />
ÔÖØÒÒÒÙÒÖÙÔÓ¸ÒÓØÖÓ×Ó¸×ÑÔÐÑÒØ×ÚÖ¬ÐÚÐÓÖÑÜÑÓ ÐÁ½ºÄ×ÔÐÖ×ÓÒØÒ×ÒÐ×ÓÖÓÒ×ÔÖÙ×ÔÖ×ÒØÒÒÐ<br />
ÐÖÙÔÓÐÕÙÖÔÖØÒÖÐÓÖÓÒ´ÚÐÙÓÒÑÒÙе¸ÒÐØÖÖ ×ÒÙÒØÖÐÒÙÑÖÓÓÖÓÒ×ÖÚÐÙ¸ÒÐ×ÙÒÓÐÙÑÒÔÖ ×ØÐ××ØÒ×ØÖÙØÙÖ×Ð×ÙÒØÑÒÖÒÐÔÖÑÖÓÐÙÑÒ Ö×ÔÓÒÓÖÙÔÓºÄÓ×Ö×ÙÐØÓ×ÓØÒÓ××ÑÙ×ØÖÒÒÐØоݿº ÓØÒÓ´ÔÓÖÖÙÔÓµÝ×ÓÒÐÙÝÕÙÐ×ÒØÓÐÓÖÓÒÓÒ×ÙÐØÓÖ¹<br />
ÓÐÙÑÒÐÖÙÔÓÐÕÙÙ×Ò´ØÖÚ×ÐÓÒØÂÖµ¸ÝÒÐ ÐÕÙÙ×Òº ÙÐØÑÓÐÙÑÒ×ÒÙÒØÖÐÚÐÓÖ×ÑÐØÙÒØÖÐÓÖÓÒÝÐÖÙÔÓ ½ÊÙÖ×ÓÑÐÑÒØÔÖÓÔÓÖÓÒÓÔÓÖÐÄÓÖØÓÖÓÈÖÓ×ÑÒØÓ ÄÒÙÆØÙÖÐÐÁ¹ÁÈƺ
ÖÙÔÓ×ÒÖÓ×ØÖÚ×ÐÐÓÖØÑÓÅǹËĸÓÒ×ÐÓÒÖ×Ó×ÔÓÖ ¿Ê×ÙÐØÓ×<br />
×ÒÓÒ×Ò׺ËÒÑÖÓ¸ÐÖÖÕÙÐÓÖÓÒÒÓ×Ö ÒÐØо×ÔÖ×ÒØÐÖ×ÙÐØÓÚÐÙÖÓÖÓÒ××ÓÖÙÒÓÒÙÒØÓ<br />
×ÒÖÙÔÓÐÙÒÓ¸ÔÙ×ÒÓÜ×ØÙÒÖÙÔÓÕÙÐÖÔÖ×ÒØ´ÙÖÓ ÓÒÐÓ×ÓÒØÜØÓ×ÕÙ×ÓØÙÚÖÓÒÐÓÖÔÙ×µºÈÓÖÐÓÒØÖÓÖÔÙÖ× ÓÖÖØÑÒØ×ÙÖÙÔÓ׸×Ó¿ÓÖÓÒ×ÕÙÔÖÒØÑÒØÒÓ×ØÒ ÐÓÖÑÙЬºÈÙÓ×ÖÚÖ×ÕÙÐÒÙÑÖÓÓÖÓÒ××Ò×<br />
ÕÙ¸ÒÒÖиÐÐÓÖØÑÓ×ÒÓÖ×ÔÙ×Ø×ÓÖÖØ×ÕÙ×ÙØÐÞÖÓÒ ÔÖÐ×ÑÙÓÒºÒÐØп×ÔÖ×ÒØÐÖ×ÙÐØÓÚÐÙÖÐ× Ñ×Ñ×ÓÖÓÒ××ÓÖÙÒÓÒÙÒØÓÖÙÔÓ×ÒÖÓ×ØÖÚ×ÐÐÓÖØÑÓ ÔÙÓ×ÖÚÖÕÙÐ×ÔÖÙ×ÖÐÞ׸ÐÐ××ÓÒÓÖÖØ×ÝÐ׿ ÅǹËĸÓÒ×ÐÓÒÖ×Ó×ÔÓÖÒØÖ×ÓÒÔÖ×ÒØÖÓÒØÜØÓ×ºË Ö×ØÒØ××ØÒ×Ò×ÑÒÖÒÓÖÖغÙÒÕÙÒÙÚÑÒØÑÓ× ØÓÑÖÒÙÒØÕÙÐÓÖÓÒÒÓ×Ö×ÒÖÙÔÓÐÙÒÓ¸Ý×Ò ÓÖÓÒºÌнºÇÖÓÒ×ÔÖÖÐÞÖÐÔÖÙ×ÑÙÓÒ ÑÖÓÐ××ØÑÐÓÐÓÒÐÖÙÔÓÕÙ××ÔÖÑ×ÙÓÔÖ<br />
ÆÓºÓÒ×ÙÐØ ¾ÑÒÒÓÑÙÒÐÝÙÑÓÒØÖÔÖØÖÔÓÖÞÑÙÖ× ½ÐÓÐÖÔÙÑÖ×ÒÚÖ×Ò×ØØÙÓÒ׬ÒÒÖ׸ØÐ×<br />
×Ø×ÑÔÖØÓÑ×ÒØÓÒÐÑ×ÑÓÒÓ ¿ËÒØÙÐÐ×Ø׬ÒÒÖ×ÔÖÔÓ×ØÓ×ÒÐÓ× ÒÓ× ÓÑÓÐ×××ÑÓÓÐÒÓ<br />
ÐÒÓÒÓÔÙÓ×ØÖÖÖÓ×ÒÓÐÖÓÖÖÓ ×ØÚÐÙÓÒÙÒØÓÒÙÒÒÓÓÒÙÖÖÙÐÖÓÒ× ÈÙ×ØÓÕÙÐÒÓÖÓÓ×Ó×ÒÙÒØÖÓÒÔÖÓÒÙÒÒÐÒÓÒ ÖÒÙÒ×ÙÑÒØÓÑÓÐÔÖÓ×ÓÖ ÓØÖÓÐÙÖÑÖÐÕÙ<br />
ÐÒÓÓÒÓÒÔÖØÐÙÖÓÐ ×ÐÖÓÌÖÓ<br />
ÐØÖÓÔÖ×ÒØÓ×ÐÒÓÙÒÖÖÑÒØÕÙÔÓÝÐÔÖÓ×Ó ÔÐÖÐÞÖÐÓ××ÕÙÒØ×Ô×Ó׺ÒÔÖÑÖÐÙÖ¸ÖÔÖÙ×ÓÒÓ×ÓÖ¹ Ï˺ÈÖÓØÒÖÐÓØÚÓ×ÔÖÓÝÔÖÓÖ×ÙØÚ×ÓÒØѹ ×Ù×ÓÒ<br />
ÔÓÖ¸ÙÒÓÓÑÓÒÓÝÓØÖÓØÖÓÒÓºËÙ×ÖÒ×ÙÙÒØÕÙØÓÖ ÔÖØ××ÙÖ×Ó¸ÔÖÔÖÓÚÖÑÝÓÖÒÓÖÑÓÒÐÓ×ÐÓÖØÑÓ×ÖÙ¹ ÔÑÒØÓº×Ñ×ÑÓ¸×ÖÙ×ÓÙÒÐÑØÞÓÖÔÖÒÓÖÑÐÞÖÐ×ÔÐÖ×
ÌоºÊ×ÙÐØÓ×ÓÒÐ×ÐÓÒÖ×Ó×ÙØÐÞÒÓ¬Ð×ÔÐÖ× ÆÙÑÖÓÓÖÓÒÖÙÔÓÓÖÖØÓÖÙÔÓ×ÒÓÎÐÓÖÐ×ÑÐØÙ<br />
¿ ¾½ ¾ ¿ ¿ ¼º¼<br />
½¹ ¹ ¼º¼½ ¼º¼¾ ¼º¼¼<br />
ÌпºÊ×ÙÐØÓ×ÓÒÐ×ÐÓÒÖ×Ó×ÙØÐÞÒÓÐ×ÓÐÙÓÒËÊ ÆÙÑÖÓÓÖÓÒÖÙÔÓÓÖÖØÓÖÙÔÓ×ÒÓÎÐÓÖÐ×ÑÐØÙ ¿ ¾ ½ ¼º¿<br />
½ ¾ ¹ ¼º½ ¼º¾ ¼º¿¿ ¼º<br />
¿ ¿ ÕÙÔÖØÒÒÙÒÑ×ÑÑÐÑÓÖÓÐÓ¸ÓÒÐÐÓ××ÔÖÓÒ×ÙÖÕÙ ¼º¾<br />
ÐÐÓÖØÑÓÖÙÔÑÒØÓÓØÒÑÝÓÖ¬ÐÓÖÑÖÐÓ×ÖÙÔÓ׺ÈÓÖ ÓÖ¸×ØÒ×ÒÓÔÖÓÓ×ÐÓ×ØÖ×ÐÓÖØÑÓ×ÖÙÔÑÒØÓÑÒÓÒÓ׺ ×ÑÔÓÖØÒØ×ØÖÕÙÐÔÖÓ×ÓÖÙÔÑÒØÓ×ÓÑÔÐÓ¸Ó ÕÙÜ×ØÒÖÐÑÒØÔÓ×ÔÐÖ×ÒÓÑÙÒÔÖÕÙÐÐÓ×ÓÒØÜØÓ×ÕÙ× Ö¬ÖÒÙÒÑ×ÑÓ×ÒØÓ¸×ÒÑÖÓ¸ÐÐÓÖØÑÓÅǹËÄÑÓ×ØÖÓ ÑÓÖÖ×ØØÒÑÒØÐÓÒÙÖ×Ø×Ö¬ÒÑÒØÓ¸ÓÑÓ× Ð×ÓÐØÑÔÐ×ÑÙÐÓºËØÒÔÐÒÓÙ×ÖÐ×ØÓ×ÐÜÒÙÒ Ö×ÙÐØÓ×ÐÒØÓÖ×ÒÐÔÖÓ×ÓÖÙÔÑÒØÓÓÒØÜØÓ×Ý×ÔÖØÒ<br />
ÔÖØÖÐÏÕÙ×Ó×ØÒÒØÙÐÑÒØÐÓ×ÖÙÔÓ×ÈÄÆÐÁÆÇ ÑÒظ×ØÑØÓÓÔÓÖÚÒÙÐÖ×ÓÒÐÔÖÓÝØÓÓÒ×ØÖÙÓÒÓÖÔÙ× ÒÖÓÝÔÖÓÖÓÒÐÙÒÓ×ÓØÖÓ×ÑØÓÓ×ÖÙÔÑÒØÓÓÑÓ×Ð×Ó Ä´ÓÑÔÐØÄÒÐÙ×ØÖÒµÝÄ´ÚÖÄÒÐÙ×ØÖÒµºÒй ××ØÑÖÙÔÖÓÒÒÓÖÑÓÒÔÖÓÒÓÖÐØÚÐÖÙÖ×Ó<br />
ÖÑÒØÓ× ´ÈÙиÅÜÓµÝÐÍÒÚÖ×ÈÓÐØÒÎÐÒ´×ÔÒµº<br />
ÖÑÓ×ÐÓ×ÓÑÒØÖÓ×ÐÓ×ÖØÖÓ××ØØÖÓ¸×ØÑÒÐÔÓÝÓ ÔÖÐÖÓÔÓÖÔÖØÐÔÖÓÝØÓÎÁÈÁÁÁ¹¼»ÁÆ»º
ÊÖÒ×<br />
¿ºÏÐ׸ºÒËØÚÒ×ÓÒź¸ÌÖÑÑÖÓ×Ò×Á×ÛÓÖ×Ò×ØÒ ½ºÅ×ØÖÑÒ¸ÅÖÖغ¸ËÑÒØÑ××ØØÓÒÓÖÑÒØÖÒ×ÐØÓÒÙ×Ò ¾ºÏÐ׸ºÒ×׺¸ÈÖÖÒ×ÑÒØ×ÑÐÝ×ØÓÖݸÊÔÓÖØÅ˸ ÔÔº¼¹½¸½¼º ÑÙÑÓÖØÒÔÖعӹ×ÔØÒ¸ÌÒÐÖÔÓÖØ˹¹¼¸ÍÒÚÖ×ØÝ ÒØÖÐÒÙ¸ËØØÓÒÖÝÇƸÄÓÒÓÒ¸ÔÔº¿¹¸½¾º<br />
ºÄ׸Åк¸ÙØÓÑØ×Ò××ÑÙØÓÒÙ×ÒÑÒ¹ÖÐØÓ¹ ºÏÐ׸ºÒËØÚÒ×ÓÒź¸ËÒ×ÌÒËÑÒØØÒÛØÐÜÓÒ¸<br />
ÓËÆиËÆиÍø½º<br />
ºÈÖ×Ҹ̺ÒÒָ˺¸ÒÔØÄ×ÐÓÖØÑÓÖÏÓÖËÒ××¹ ºÁ¸Æº¸ÒÎÖÓÒº¸ÁÒØÖÓÙØÓÒØÓØËÔÐÁ××ÙÓÒÏÓÖËÒ××ѹ ¾¹¾¸½º ÒÖ×ÀÓÛØÓØÐÐÔÒÓÒÖÓÑÒÖÑÓÒ¸ËÁÇÓÒÖÒ¸ÔÔº ÑÙØÓÒÙ×ÒÏÓÖÆظÁÄÒ¾¼¼¾¸ÔÔº½¿¹½¸¾¼¼¾º<br />
ºÈÓÐÓÊÓ××Ó¸ÖÒ×ÓÅ×ÙÐиÚÙ×иÖÖÒÈиÒØÓÒÓÅÓÐÒ ºÓÖÏÐ׸ÊÓÖØØÞÓÒÄÜÐÌÙÒÒºÁÄÒ¾¼¼¾¸ÔÔº½¼¹½¾¸ ¾¼¼¾º ÙØÓÒ¸ÓÑÔÙØÓÒÐÄÒÙ×Ø׸ÎÓк¾¸ÆÙÑÖ½¸ÔÔº½¹¾¸½º<br />
½¼ºÀ××Òź˺¸Êź˺ºº¸ÖÝÁºÅº¸ÓÖÑØÓÒÓÅÒÖÓÙÔ× ½½ºËÒظȺÀº¸ÌÔÔÐØÓÒÓÓÑÔÙØÖ×ØÓÌÜÓÒÓÑݸÂÓÙÖÒÐÓÒÖÐ ÒÈÖØÑÐ×ÑÓ¬ËÄÅØÓÒÓÑÔÖØÚËØÙݸÁÒØÖØ ÅÒÙØÙÖÒËÝ×ØÑ׸ÔÔº½¾¿¹½¿¸¾¼¼¿º ÙØÓÑØÆÓÙÒËÒ××ÑÙØÓÒ¸ÁÄÒ¾¼¼¿ÔÔº¾¿¹¾¸¾¼¼¿º<br />
½¾ºËÒظȺÀº¸ËÓÑÌÓÙØ×ÓØÖÐÐ×׬ØÓÒ¸ÂÓÙÖÒÐÓÒÖÐ ÅÖÓÓÐÓݸÎÓк½¸ÔÔº¾¼½¹¾¾¸½º ÅÖÓÓÐÓݸÎÓк½¸ÔÔº½¹¾¼¼¸½º
tanialugo@correo.cic.ipn.mx,<br />
{gelbukh, sidorov}|@|cic.ipn.mx; www.gelbukh.com<br />
We propose a statistical method for syntactic disambiguation based<br />
on learning w ord combinations from unprepared unmark ed tex t. I t uses the statistics<br />
of sub-trees found in the <strong>de</strong>p<strong>en</strong>d<strong>en</strong>cy syntactic trees of the s<strong>en</strong>t<strong>en</strong>ces in a<br />
<strong>la</strong>rge corpus. N amely, as features, w e consi<strong>de</strong>r sub-trees consisting of tw o nonaux<br />
iliary w ords, one being gov ernor and one <strong>de</strong>p<strong>en</strong>d<strong>en</strong>t, possibly connected<br />
through a chain of aux iliary w ords, e. g. , prepo<strong>sitio</strong>ns. T he algorithm iterativ ely<br />
re-estimates the probabilities of the features and the probabilities ( w eights) of<br />
the v ariants of syntactic structures of the s<strong>en</strong>t<strong>en</strong>ces of the corpus. T he probabilities<br />
of the features learnt in this w ay are useful for disambiguating new ( unse<strong>en</strong>)<br />
s<strong>en</strong>t<strong>en</strong>ces. I n addition, the features w ith high learnt probabilities constitute<br />
a dictionary of collocations of a giv <strong>en</strong> <strong>la</strong>nguage, useful not only for syntactic<br />
disambiguation but also for part of speech tagging and simi<strong>la</strong>r task s.
O u r m e t h o d i s b a s e d o n t h e i d e a s o f G a l i c i a -H ar o [ 1 ] b u t ad ap t e d t o l e ar n i n g w o r d<br />
c o mb i n at i o n s i n st e ad o f p r e p o si t i o n s. O u r p r o g r am u se s v ar i o u s p r e -p r o c e ssi n g mo d -<br />
u l e s:<br />
• M o r p ho l o g i c al an al y si s an d d i samb i g u at i o n . T he P O S t ag g i n g i s u se f u l f o r sy n -<br />
t ac t i c d i samb i g u at i o n . T he P O S t ag g i n g i s t he su b ar e a o f l i n g u i st i c p r o c e ssi n g o f<br />
t e xt s w hi c h c o n si d e r t he st u d y o f t he me t ho d s an d al g o r i t hms t o r e d u c e t he c at e -<br />
g o r i c al amb i g u i t y . A mb i g u i t y o f g r ammat i c al c at e g o r y r e f e r s t o a w o r d w i t h se v -<br />
e r al sy n t ac t i c c at e g o r i e s, i .e . lie c an b e a v e r b an d al so a n o u n . K n o w i n g t he P O S<br />
o f sp e c i f i c w o r d s he l p s t o r e j e c t w r o n g v ar i an t s o f an al y si s. T he d i samb i g u at i o n<br />
o f t hi s k i n d c an r e d u c e t he amo u n t o f amb i g u i t y t hat t he sy n t ac t i c an al y z e r has t o<br />
d e al w i t h.<br />
T he L E X E S P c o r p u s w e u se has t he c at e g o r i e s ac c o r d i n g t o t he P A R O L E<br />
st an d ar d [ 2 ] .<br />
• S y n t ac t i c an al y si s. T r ad i t i o n al me t ho d s e mp l o y e d t o d e sc r i b e t he sy n t ac t i c l e v e l<br />
o f n at u r al l an g u ag e s ar e t ho se b ase d o n g e n e r at i v e g r ammar s. I n t hi s ap p r o ac h,<br />
t he d e sc r i p t i o n o f t he f e at u r e s o f v al e n c e s f o r t he l e xe me s ar e mad e , mai n l y f o r<br />
t he v e r b s. T he ac t an t s ( o r c o mp l e me n t s) ar e d e sc r i b e d f r o m a p u r e l y sy n t ac t i c<br />
p o i n t o f v i e w . T he i n f o r mat i o n ab o u t t he st r u c t u r e o f t he c o mp l e me n t s o f a g i v e n<br />
v e r b ar e k n o w n as su b c at e g o r i z at i o n . E ac h v e r b has i t s o w n se t o f c o mp l e me n t s<br />
t hat o f t e n hav e a g i v e n l i n e al o r d e r .<br />
T he f o l l o w e xamp l e s i l l u st r at e su b c at e g o r i z at i o n i n S p an i sh:<br />
T o s b c e g o r y m g r o u ( N G ) , i M a r s a w a s<br />
T o g t b c e g o r y N G f o l l o w e d b y P G , i M a r g a v a<br />
h b o y f r .<br />
T o t b c e g o r y N G f o l l o w e d b y P G , t p r e p o t i o n g r o u p<br />
i e b y d i f f e r e n t p r e p o t i o n o u , e t c<br />
o ee has a su at no ina l p .e .: ia pid er .<br />
o iv e has he su at .e .: ia e letter to<br />
is i<strong>en</strong>d<br />
o pu t al so has he su at he si al<br />
s mad si s: n, nd er .
Information on su b c ate g oriz ation frame s are u se fu l to re stric t th e nu mb e r of<br />
anal y se s g e ne rate d b y th e sy ntac tic anal y z e r.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
1 . move + t a b l e + to + c or n er<br />
2 . move + t a b l e + from + c <strong>en</strong> t er + to + c or n er<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
P + n o u n = 0.4, P + a d j = 0.4, P + v e r b = 0.2<br />
<br />
<br />
<br />
P + a d j > P + v e r b<br />
<br />
≈ 0 <br />
≈ 0
t o<br />
t o<br />
1 .<br />
f r om<br />
2 .<br />
f r om<br />
Move T h e b a l l T h e f l oor T h e B ox<br />
Move T h e b a l l T h e f l oor T h e B ox<br />
t o<br />
3 .<br />
f r om<br />
4 .<br />
f r om<br />
t o<br />
MMove TThe b a l l TThe f l oor The Box<br />
5 .<br />
f r om<br />
Move T h e b a l l T h e f l oor T h e B ox<br />
t o<br />
Move M e TThe b a l l TThe f l oor The Box<br />
Figure 1. Variants of syntactic structure.<br />
<br />
<br />
<br />
The girl moves t he b a ll f rom t he f loor t o t he b ox .<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
T o o b t n t h e f o r m u l f o r t h e s t i s t i c w e i g h t s o f t h e v i t s o f t h e s y n t t i c t r e e s o f<br />
p h r e b e d o n t h e c o m b i n i o n t h p e s i n e h t r e e , m o d e l o f p h r e g e n -<br />
e r i o n i s c o n s i d e r e d<br />
<br />
<br />
<br />
<br />
<br />
ai as at ar an ac<br />
a as as at at ap ar ac a as<br />
at .
∈ <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
a<br />
k,<br />
r<br />
n<br />
r<br />
⎧p<br />
n<br />
,<br />
= ⎨ r<br />
⎩q<br />
n<br />
,<br />
f<br />
n<br />
∈ P<br />
otherwise<br />
e r e :<br />
t h e p r o b a b y t o c h o o s e t h e c o m b a t n<br />
t h e p r o b a b y t h a t t h e c o m b a t n n o t c h o s e n s v a l u e = 1<br />
t h e n u m b e r o f t h e v a r n t<br />
1 c o r r e s p o n d s t o t h e r h t v a r n t ( r e p r e s e n t e d b y “ + ” ) a n d<br />
0 c o r r e s p o n d s t o t h e o n g v a r n t ( r e p r e s e n t e d b y “ )<br />
t h e n u m b e r o f c o m b a t n s<br />
wh<br />
p is il it in io<br />
q is il it in io is ; it is q – p<br />
k is ia<br />
r is if it ig ia is<br />
is if it wr ia is –“<br />
n is in io<br />
S o we h a v e t h e f o l l o win g p r o b a b il it ie s :<br />
i f a n d k i s t h e r i g h t v a r i a n t<br />
i f a n d k i s t h e r i g h t v a r i a n t<br />
- -<br />
i f a n d k i s t h e w r o n g v a r i a n t<br />
- -<br />
i f a n d k i s t h e w r o n g v a r i a n t<br />
p + n , f n ∈ P<br />
q + n , f n ∉ P<br />
p n , f n ∈ P<br />
q n , f n ∉ P<br />
T h e n t h e p r o b a b i l i t y o f P i s :<br />
k , r<br />
P(P ) = ∏α<br />
n<br />
( 2 )<br />
s i n c e e a c h o f t h e f e a t u r e s i s i n c l u d e d i n d e p e n d e n t l y i n t h e p h r a s e P w i t h t h e p r o b a b i l i -<br />
t i e s α. Where we d<strong>en</strong> o t e r a s f o l l o ws :<br />
( 1 )
K<br />
N<br />
k 11 ii f f k ≠ i i (( ri gg hh t t vv aa ri aa nn t t ))<br />
r = δ i 00 ii f f k ≠ i i (( ww ro nn g g vv aa ri aa nn t t ))<br />
T h e s e p r o b ab i l i t i e s c an b e s e e n as a m at r i x V w h i t k r o w s , o n e p e r v ar i an t an d n<br />
c o l u m n s , o n e p e r c o m b i n at i o n . T h e n t h e v al u e s i n t h e m at r i x ar e :<br />
k k ,, rr<br />
α n<br />
=<br />
δ k i<br />
p n V k [n] > > 00<br />
δ k i<br />
q n V k [n] = 0<br />
( 3 )<br />
w h e r e r e p r e s e n t t h e v a l u e s o f t h e p r o b a b i l i t i e s o f o c c u r r e n c e o f t h e p r e s e n t<br />
c o m b i n a t i o n , . I f t h e c o m b i n a t i o n n i s p r e s e n t , t h e n > 0 , o t h e r w i s e =<br />
0 .<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
V k [n]<br />
n ∈ V k V k [n] V k [n]<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
ξ <br />
<br />
<br />
P ( H j )<br />
P(H j | ξ) = P ( ξ | H j ) ( 4 )<br />
P ( ξ )<br />
ξ <br />
<br />
ΣPj = = 11<br />
V j ∈V<br />
( 5 )<br />
ξ <br />
<br />
≠ <br />
<br />
<br />
<br />
<br />
κ,δ<br />
P(ξ⏐H P ( ξ ⏐ H j ) ∼ ∏ ∏α k i n<br />
( 7 )<br />
k = 1 n = 1<br />
where N is the number of combinations and k is the number of variants, and ∼ means<br />
proportional.
w<br />
<br />
The following sim p lified ex a m p le is a b it a rt ific ia l. L et u s t a k e a c orp u s c onsist ing of<br />
t he following p hra se:<br />
I see a cat with a telescope.<br />
<br />
1 .<br />
w i th<br />
S e e a cat a te l e s co p e<br />
2 .<br />
i t h<br />
SS ee e e a c a t a t e l e s c o p e<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
o p<br />
c a<br />
o p<br />
Feature f p+ p-<br />
see + with 1 0<br />
see 1 0<br />
see + with + tel esc e 1 0<br />
t 1 1<br />
tel esc e 1 0<br />
<br />
<br />
<br />
<br />
<br />
C a<br />
C a<br />
T<br />
Feature f p + p –<br />
See + with + telescope 1 0<br />
See 0 1<br />
see + with 1 0<br />
t 2 0<br />
t + with + telescope 0 1<br />
elescope 1 0
[ 1 ] S o f í a G al i ci a-H ar o , A n á l i s i s s i n t á ct i co co n d u ci d o p o r u n d i cci o n ar i o d e p at r o n e s<br />
d e m an e j o s i n t á ct i co p ar a l e n g u aj e e s p añ o l . Ph.D. thesis, CIC, IPN, Mexico,<br />
2 0 0 0 .<br />
[ 2 ] Civ it, M. a n d I. Ca stel l ó n . " Gramesp: U n a g ramá t i c a d e c o rpu s para el<br />
españ o l " . Ma g a z in e f r om A E S L A , L a R ioj a , E sp a ñ a , 1 9 9 8 .<br />
[ 3 ] S m a d j a , F . A . “ R et ri ev i n g C o l l o c at i o n s f ro m T ex t : X t rac t ” . Com p u ta tion a l L in -<br />
g u istics, 1 9 .1 : 1 4 3 - - 1 7 6 , 1 9 9 3 .<br />
[ 4 ] Y u r et, D. D i sc o v ery o f L i n g u i st i c R el at i o n s U si n g L ex i c al A t t rac t i o n . Ph.D.<br />
thesis. Ma ssa chu setts In stitu te of T echn ol og y , 1 9 9 8 .
Tecnología <strong>de</strong><br />
objetos <strong>de</strong> apr<strong>en</strong>dizaje<br />
Ma. El<strong>en</strong>a Chan Núñez<br />
Rafael Morales Gamboa<br />
Víctor G. Sánchez Arias<br />
(Editores)
Introducción<br />
La propuesta más importante hoy <strong>en</strong> día <strong>en</strong> el ámbito internacional <strong>de</strong>l apr<strong>en</strong>dizaje<br />
basado <strong>en</strong> tecnología es <strong>la</strong> organización <strong>de</strong> cont<strong>en</strong>ido educativo <strong>en</strong> <strong>la</strong> forma <strong>de</strong> objetos<br />
<strong>de</strong> apr<strong>en</strong>dizaje. Exist<strong>en</strong> un gran número <strong>de</strong> propuestas y proyectos <strong>en</strong> <strong>de</strong>sarrollo,<br />
a<strong>de</strong>más <strong>de</strong> un creci<strong>en</strong>te número <strong>de</strong> productos <strong>en</strong> <strong>de</strong>sarrollo y operación.<br />
La promesa <strong>de</strong> los objetos <strong>de</strong> apr<strong>en</strong>dizaje es facilitar <strong>la</strong> reutilización, distribución y<br />
personalización <strong>de</strong> cont<strong>en</strong>ido educativo <strong>en</strong> Internet. Sin embargo, mucho trabajo hace<br />
falta todavía para acumu<strong>la</strong>r <strong>la</strong> masa crítica que haga <strong>de</strong> <strong>la</strong>s promesas <strong>de</strong> <strong>la</strong> tecnología<br />
<strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje una realidad. De particu<strong>la</strong>r importancia <strong>en</strong> este s<strong>en</strong>tido es <strong>la</strong><br />
e<strong>la</strong>boración, validación y adopción <strong>de</strong> un conjunto básico <strong>de</strong> estándares, mo<strong>de</strong>los <strong>de</strong><br />
refer<strong>en</strong>cia, recom<strong>en</strong>daciones y tecnologías que permitan alinear esfuerzos dispersos<br />
hacia un objetivo común: educación <strong>de</strong> calidad a bajo costo, accesible <strong>en</strong> todo lugar y<br />
mom<strong>en</strong>to.<br />
El objetivo <strong>de</strong> este segundo taller sobre tecnologías <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje es<br />
continuar el esfuerzo <strong>de</strong>l taller anterior (véase www.iie.org.mx/TOA) <strong>en</strong> formar una<br />
comunidad co<strong>la</strong>borativa, interesada <strong>en</strong> <strong>de</strong>sarrol<strong>la</strong>r y validar <strong>la</strong> tecnología <strong>de</strong> objetos<br />
<strong>de</strong> apr<strong>en</strong>dizaje. De especial interés <strong>en</strong> esta ocasión es el intercambio <strong>de</strong> conocimi<strong>en</strong>tos<br />
y experi<strong>en</strong>cias <strong>en</strong> re<strong>la</strong>ción a <strong>la</strong>s difer<strong>en</strong>tes propuestas internacionales para el <strong>de</strong>sarrollo<br />
<strong>de</strong> cont<strong>en</strong>idos y sistemas interoperables basados <strong>en</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje.
Comité Ci<strong>en</strong>tífico<br />
Copresid<strong>en</strong>tes:<br />
Ma. El<strong>en</strong>a Chan Núñez, Univ. <strong>de</strong> Guada<strong>la</strong>jara (U<strong>de</strong>G), machancita25@hotmail.com<br />
Rafael Morales Gamboa, Inst. <strong>de</strong> Investig. Eléctricas (IIE), rmorales@inf.ed.ac.uk<br />
Víctor G. Sánchez Arias, Lab. Nac. Informática Avanz. (LANIA), victor@<strong>la</strong>nia.mx<br />
Jorge Martínez P<strong>en</strong>iche, DGSCA-UNAM, mp<strong>en</strong>iche@servidor.unam.mx<br />
Larisa Enríquez Vázquez, DGSCA-UNAM, <strong>la</strong>risa@piaget.dgsca.unam.mx<br />
Luz Maria Castañeda <strong>de</strong> León, DGSCA-UNAM, luzcast@servidor.unam.mx<br />
Leonel Iriarte Navarro, Universidad Agraria <strong>de</strong> <strong>la</strong> Habana, lin@infomed.sld.cu<br />
Ivonne Robledo Portillo, Univ. Autónoma <strong>de</strong> Ciudad Juárez, irobledo@uacj.mx<br />
Lucio Teles, TELEStraining Inc., CANADA, teles@telestraining.com<br />
Daniel Morán, Universidad Alicante, ESPAÑA, dani.moron@ua.es
Mundo Óseo para Niños<br />
Misael Medina Hernán<strong>de</strong>z 1 , Edgar Ortìz Sánchez 2 , Marva Angélica Mora Lumbreras 3<br />
Universidad Autónoma <strong>de</strong> T<strong>la</strong>xca<strong>la</strong><br />
Departam<strong>en</strong>to <strong>de</strong> Ci<strong>en</strong>cias Básicas, Ing<strong>en</strong>iería y Tecnología<br />
Laboratorio <strong>de</strong> Sistemas Distribuidos<br />
Calzada Apizaquito S/N C. P. 90300<br />
e-mail: mhmisa@hotmail.com 1 , edorsapa@hotmail.com 2 , marva@ing<strong>en</strong>ieria.uatx.mx 3<br />
Resum<strong>en</strong>: En el pres<strong>en</strong>te artículo, se pres<strong>en</strong>ta un panorama g<strong>en</strong>eral <strong>de</strong> <strong>la</strong> investigación y el<br />
<strong>de</strong>sarrollo que se lleva acabo <strong>en</strong> <strong>la</strong> e<strong>la</strong>boración <strong>de</strong>l ambi<strong>en</strong>te virtual <strong>de</strong> apr<strong>en</strong>dizaje aplicado al<br />
sistema Óseo, con apoyo <strong>de</strong> cont<strong>en</strong>ido multimedia. Resaltando por una parte el valor educativo<br />
<strong>de</strong>l ambi<strong>en</strong>te virtual, que es el resultado <strong>de</strong> análisis previos sobre los <strong>de</strong>stinatarios, los<br />
cont<strong>en</strong>idos y el mo<strong>de</strong>lo didáctico <strong>en</strong> el que se <strong>en</strong>marca el uso <strong>de</strong> <strong>la</strong> computadora. Por otra parte,<br />
se <strong>de</strong>scribe <strong>la</strong> importancia <strong>de</strong>l uso <strong>de</strong> <strong>la</strong> tecnología multimedia, para el logro <strong>de</strong> los objetivos<br />
didácticos y pedagógicos. De esta manera, bajo <strong>la</strong>s premisas m<strong>en</strong>cionadas, se increm<strong>en</strong>ta <strong>la</strong><br />
interacción usuario-ambi<strong>en</strong>te propiciando un <strong>en</strong>torno lúdico que favorece el estado <strong>de</strong><br />
apr<strong>en</strong>dizaje <strong>en</strong> el usuario. Este Software es <strong>de</strong> apoyo específico para 5to. Grado <strong>de</strong> primaria, y se<br />
basa <strong>en</strong> los temas re<strong>la</strong>cionados con el mundo Óseo <strong>de</strong>l libro <strong>de</strong> texto <strong>de</strong> <strong>la</strong> S.E.P, el propósito <strong>de</strong><br />
este software es donarlo a <strong>la</strong>s Escue<strong>la</strong>s primarias <strong>de</strong> T<strong>la</strong>xca<strong>la</strong> con el fin <strong>de</strong> que sea utilizado como<br />
una herrami<strong>en</strong>ta <strong>de</strong> apoyo.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve: Constructivismo, Objeto <strong>de</strong> Apr<strong>en</strong>dizaje, Software Educativo, Sistema<br />
Óseo<br />
1. Introducción<br />
Actualm<strong>en</strong>te Universida<strong>de</strong>s muestran un mayor interés <strong>en</strong> cuanto a <strong>la</strong> mo<strong>de</strong>rnización<br />
<strong>de</strong> <strong>la</strong> educación.<br />
Un error que ocurre a m<strong>en</strong>udo <strong>en</strong> el <strong>de</strong>seo <strong>de</strong> mo<strong>de</strong>rnizar <strong>la</strong> educación, es que se<br />
confunda una educación mo<strong>de</strong>rna, con el uso <strong>de</strong> <strong>la</strong> tecnología, con el simple hecho <strong>de</strong><br />
digitalizar <strong>la</strong> información, por ejemplo, un libro <strong>en</strong> formato PDF para que los<br />
estudiantes t<strong>en</strong>gan acceso a esa información, <strong>la</strong> impriman y <strong>la</strong> estudi<strong>en</strong>. Otro error<br />
frecu<strong>en</strong>te, es dar mayor importancia al aspecto gráfico, que al cont<strong>en</strong>ido <strong>de</strong> <strong>la</strong>s<br />
aplicaciones, ya que es frecu<strong>en</strong>te ver portales <strong>de</strong> Internet, visualm<strong>en</strong>te impactantes,<br />
pero pobres <strong>en</strong> cuanto al cont<strong>en</strong>ido.<br />
Insertos <strong>en</strong> <strong>la</strong> importancia que ti<strong>en</strong>e el uso <strong>de</strong> <strong>la</strong>s nuevas tecnologías <strong>en</strong> <strong>la</strong> educación <strong>en</strong><br />
nuestros días, tratamos <strong>de</strong> c<strong>en</strong>trar nuestros esfuerzos <strong>en</strong> <strong>de</strong>sarrol<strong>la</strong>r una aplicación
multimedia e interactiva con <strong>en</strong>foque constructivista, apoyada <strong>en</strong> <strong>la</strong> necesidad <strong>de</strong><br />
cautivar <strong>la</strong> at<strong>en</strong>ción <strong>de</strong> los usuarios, sin convertir <strong>la</strong> formación <strong>en</strong> algo aburrido y<br />
monótono.<br />
2. Problemática<br />
Basados <strong>en</strong> el hecho <strong>de</strong> que los <strong>en</strong>foques educativos tradicionales no cubr<strong>en</strong> todas <strong>la</strong>s<br />
necesida<strong>de</strong>s educativas, proponemos que <strong>en</strong> lugar <strong>de</strong> memorizar hechos y <strong>de</strong>ducir<br />
procesos podríamos dar énfasis a otras formas <strong>de</strong> <strong>en</strong>señanza permiti<strong>en</strong>do <strong>la</strong><br />
visualización <strong>de</strong> conceptos, ev<strong>en</strong>tos o interactuar con ambi<strong>en</strong>tes que muchas veces son<br />
completam<strong>en</strong>te inalcanzables <strong>en</strong> condiciones reales.<br />
3. Justificación<br />
La i<strong>de</strong>a surge al darnos cu<strong>en</strong>ta que los <strong>en</strong>foques educativos tradicionales <strong>de</strong> <strong>la</strong><br />
<strong>en</strong>señanza, basados <strong>en</strong> el uso <strong>de</strong> libros <strong>de</strong> texto parece no ser sufici<strong>en</strong>te para satisfacer<br />
y cubrir <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> apr<strong>en</strong>dizaje <strong>de</strong> los estudiantes, ya que no crea <strong>la</strong> sufici<strong>en</strong>te<br />
motivación <strong>en</strong> los estudiantes para apr<strong>en</strong><strong>de</strong>r.<br />
Basados <strong>en</strong> los hechos anteriores y con <strong>la</strong> cre<strong>en</strong>cia <strong>de</strong> que el sistema óseo es una parte<br />
<strong>de</strong> <strong>la</strong> <strong>en</strong>señanza que es un poco complicada <strong>de</strong> <strong>en</strong>señarse y compr<strong>en</strong><strong>de</strong>rse, creemos que<br />
po<strong>de</strong>mos aplicar a este un ambi<strong>en</strong>te virtual <strong>de</strong> apr<strong>en</strong>dizaje que facilite su percepción y<br />
acceso al mismo así como a su vez incluir una estrategia pedagógica que soporte el<br />
apr<strong>en</strong>dizaje.<br />
4. Estrategia Pedagógica<br />
El software educativo <strong>de</strong>be estar caracterizado con una <strong>de</strong>terminada estrategia <strong>de</strong><br />
<strong>en</strong>señanza <strong>de</strong> una manera Implícita o Explícita: ejercitación y práctica, simu<strong>la</strong>ción,<br />
tutorías, uso individual, competición.<br />
Cuando nos referimos al diseño y e<strong>la</strong>boración <strong>de</strong> un ambi<strong>en</strong>te virtual con un<br />
<strong>de</strong>terminado objetivo educativo, <strong>de</strong>bemos t<strong>en</strong>er pres<strong>en</strong>te <strong>la</strong> concepción acerca <strong>de</strong> cómo<br />
se produc<strong>en</strong> los procesos <strong>de</strong> <strong>en</strong>señanza-apr<strong>en</strong>dizaje, que fundam<strong>en</strong>t<strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong>l<br />
ambi<strong>en</strong>te virtual y el cómo hacer viable su integración.<br />
5.1 Constructivismo<br />
Los procesos <strong>de</strong> apr<strong>en</strong>dizaje dirigido por el apr<strong>en</strong>diz son fundam<strong>en</strong>talm<strong>en</strong>te una<br />
construcción <strong>en</strong> lugar <strong>de</strong> un proceso <strong>de</strong> asimi<strong>la</strong>ción; los significados y los cont<strong>en</strong>idos<br />
son procesos <strong>de</strong> construcción y no <strong>de</strong> absorción [4].
Para <strong>la</strong> aplicación <strong>de</strong>l constructivismo empleando <strong>la</strong> tecnología informática, se toma<br />
como refer<strong>en</strong>cia <strong>la</strong> repres<strong>en</strong>tación <strong>de</strong>l conocimi<strong>en</strong>to. En el mom<strong>en</strong>to <strong>en</strong> que los<br />
usuarios ti<strong>en</strong><strong>en</strong> contacto con medios como vi<strong>de</strong>os, hipertextos, animaciones,<br />
simu<strong>la</strong>ción, <strong>de</strong>scubr<strong>en</strong> una manera difer<strong>en</strong>te <strong>de</strong> repres<strong>en</strong>tar <strong>la</strong> realidad <strong>de</strong>l mundo que<br />
los ro<strong>de</strong>a. De tal forma que se habitú<strong>en</strong> a repres<strong>en</strong>tar o simbolizar todo cuanto esté a su<br />
alcance. Es <strong>de</strong>cir, manipu<strong>la</strong>ndo estos elem<strong>en</strong>tos <strong>de</strong> repres<strong>en</strong>tación se le permite al<br />
estudiante crear su propia visión <strong>de</strong> <strong>la</strong> realidad [4].<br />
5.2 Multimedia<br />
El uso <strong>de</strong> los multimedia nos pres<strong>en</strong>ta características y particu<strong>la</strong>rida<strong>de</strong>s, con su<br />
capacidad <strong>de</strong> integrar paquetes <strong>de</strong> información <strong>en</strong> muy diversos formatos (texto,<br />
imág<strong>en</strong>es, sonido, ví<strong>de</strong>o, animaciones), lo que permite contextualizar el apr<strong>en</strong>dizaje, y<br />
ubicar al usuario <strong>en</strong> <strong>en</strong>tornos más asequibles [1].<br />
A través <strong>de</strong> estas aplicaciones multimedia, a los usuarios se les permite obt<strong>en</strong>er su<br />
propio ritmo <strong>de</strong> apr<strong>en</strong>dizaje a <strong>la</strong> hora <strong>de</strong> ejercitarse <strong>en</strong> prácticas <strong>de</strong> repetición,<br />
id<strong>en</strong>tificación y afianzami<strong>en</strong>to <strong>de</strong> conocimi<strong>en</strong>tos previos, pero sobre todo pres<strong>en</strong>ta un<br />
nuevo apr<strong>en</strong>dizaje, el <strong>de</strong> <strong>la</strong> adquisición <strong>de</strong> nuevas <strong>de</strong>strezas sobre el uso <strong>de</strong> medios<br />
tecnológicos como <strong>la</strong> computadora [2].<br />
5.3 Interactividad<br />
Una <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ves <strong>de</strong>l éxito <strong>de</strong> los ambi<strong>en</strong>tes virtuales <strong>de</strong> apr<strong>en</strong>dizaje, se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong><br />
su capacidad <strong>de</strong> g<strong>en</strong>erar situaciones interactivas, es <strong>de</strong>cir, <strong>de</strong> provocar un diálogo <strong>en</strong>tre<br />
el ambi<strong>en</strong>te y el usuario que le permita seguir su propio apr<strong>en</strong>dizaje. De este modo, los<br />
<strong>en</strong>tornos multimedia han logrado romper con <strong>la</strong> transmisión unidireccional y lineal <strong>de</strong><br />
<strong>la</strong> información, transformándose <strong>en</strong> vehículos <strong>de</strong> discusión a partir <strong>de</strong> los cuales se<br />
g<strong>en</strong>eran nuevas estrategias <strong>de</strong> búsqueda y acceso al conocimi<strong>en</strong>to [2].<br />
6. Mundo Óseo<br />
El objetivo <strong>de</strong> este proyecto es el <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>r un ambi<strong>en</strong>te virtual <strong>de</strong> apr<strong>en</strong>dizaje que<br />
funja como una herrami<strong>en</strong>ta didáctica, ágil y divertida, diseñado para los niños <strong>de</strong> 5to.<br />
Grado <strong>de</strong> primaria. Mundo Óseo se apoya <strong>de</strong> elem<strong>en</strong>tos multimedia, que transmit<strong>en</strong> <strong>la</strong><br />
información <strong>de</strong> una manera atractiva para <strong>de</strong>spertar el interés por parte <strong>de</strong>l estudiante,<br />
con el fin <strong>de</strong> <strong>en</strong>t<strong>en</strong><strong>de</strong>r mas a fondo lo que es y repres<strong>en</strong>ta el sistema Óseo.<br />
El propósito es que el estudiante llegue a ser participante activo <strong>en</strong> el material que esta<br />
estudiando.
A continuación se hace <strong>la</strong> <strong>de</strong>scripción <strong>de</strong>l ambi<strong>en</strong>te virtual así como <strong>de</strong> los difer<strong>en</strong>tes<br />
módulos que lo compon<strong>en</strong>.<br />
En al Fig. 1, se observa el diagrama g<strong>en</strong>eral <strong>de</strong>l sistema, <strong>en</strong> él, se pres<strong>en</strong>tan <strong>de</strong> manera<br />
gráfica todos los compon<strong>en</strong>tes que conforman a Mundo Óseo así como <strong>la</strong>s re<strong>la</strong>ciones<br />
que se ti<strong>en</strong><strong>en</strong>.<br />
Fig. 1 Diagrama G<strong>en</strong>eral<br />
El cont<strong>en</strong>ido temático se fundam<strong>en</strong>ta <strong>en</strong> varios Aspectos:<br />
• Se basa <strong>en</strong> el programa <strong>de</strong> estudios <strong>de</strong> <strong>la</strong> educación primaria <strong>en</strong> <strong>la</strong> <strong>en</strong>señanza<br />
<strong>de</strong>l sistema óseo.<br />
• Se basa <strong>en</strong> el empirismo <strong>de</strong> los profesores, al mom<strong>en</strong>to que se <strong>en</strong>cu<strong>en</strong>tran al<br />
<strong>en</strong>señar este tema.<br />
• Se hace uso <strong>de</strong> recursos didácticos como <strong>en</strong>ciclopedias y <strong>la</strong>minas <strong>en</strong> el que<br />
nos hemos apoyado para docum<strong>en</strong>tar el ambi<strong>en</strong>te.<br />
En <strong>la</strong> Fig. 2, po<strong>de</strong>mos observar el m<strong>en</strong>ú principal <strong>de</strong>l sistema.
Fig. 2 M<strong>en</strong>ú Principal<br />
En Mundo Óseo, se pres<strong>en</strong>tan tutorías que contemp<strong>la</strong>n y ayudan a adquirir el<br />
conocimi<strong>en</strong>to sobre el cont<strong>en</strong>ido temático a través <strong>de</strong> animaciones que le hac<strong>en</strong><br />
<strong>en</strong>tret<strong>en</strong>ido su apr<strong>en</strong>dizaje, un ejemplo se muestra <strong>en</strong> <strong>la</strong> Fig. 3.<br />
Fig.3 Cont<strong>en</strong>ido Temático<br />
A<strong>de</strong>más, Mundo Óseo cu<strong>en</strong>ta con activida<strong>de</strong>s que permit<strong>en</strong> al usuario reforzar y<br />
evaluar su conocimi<strong>en</strong>to, logrando involucrar al usuario al tema que se esta tratando.<br />
Un ejemplo <strong>de</strong> esto se muestra <strong>en</strong> <strong>la</strong> Fig. 4.
Fig. 4 Actividad <strong>de</strong> Refuerzo<br />
La p<strong>la</strong>taforma <strong>en</strong> que se basa el ambi<strong>en</strong>te es una combinación <strong>de</strong> herrami<strong>en</strong>tas que<br />
permit<strong>en</strong> el manejo y <strong>la</strong> creación <strong>de</strong> cont<strong>en</strong>idos multimedia. En <strong>la</strong> e<strong>la</strong>boración <strong>de</strong><br />
tutorías se hace uso <strong>de</strong> SMIL para integrar estos cont<strong>en</strong>idos. Las animaciones son<br />
hechas <strong>en</strong> 3D Studio Max, F<strong>la</strong>sh MX Java Script y finalm<strong>en</strong>te páginas web, don<strong>de</strong> esta<br />
integrado todo el ambi<strong>en</strong>te.<br />
7. Aportaciones<br />
Este trabajo nos pres<strong>en</strong>ta diversas estrategias <strong>en</strong> el manejo <strong>de</strong> cont<strong>en</strong>idos<br />
conjuntam<strong>en</strong>te con activida<strong>de</strong>s e interacciones simultáneas apoyadas <strong>en</strong> un software<br />
educativo, don<strong>de</strong> el alumno apr<strong>en</strong><strong>de</strong>, manipu<strong>la</strong> y aplica sus conocimi<strong>en</strong>tos previos<br />
construy<strong>en</strong>do sus propios conceptos.<br />
Y nos reafirma el p<strong>en</strong>sami<strong>en</strong>to <strong>de</strong> que un proceso <strong>de</strong> apr<strong>en</strong>dizaje <strong>en</strong>cu<strong>en</strong>tra mejores<br />
condiciones cuando se ti<strong>en</strong>e lugar <strong>en</strong> un medio activo <strong>en</strong> el que los alumnos participan<br />
<strong>en</strong> el propio proceso a través <strong>de</strong> <strong>la</strong> construcción <strong>de</strong> objetos y <strong>la</strong> noción <strong>de</strong> apr<strong>en</strong>dizaje<br />
autónomo con el uso <strong>de</strong> <strong>en</strong>tida<strong>de</strong>s computacionales.<br />
8. Conclusiones<br />
Actualm<strong>en</strong>te el software esta <strong>en</strong> proceso <strong>de</strong> <strong>en</strong>trega a tres escue<strong>la</strong>s primarias <strong>de</strong><br />
T<strong>la</strong>xca<strong>la</strong> para su uso y evaluación <strong>de</strong>l mismo, con el objeto <strong>de</strong> que exista una<br />
retroalim<strong>en</strong>tación <strong>de</strong>l mismo.<br />
En ningún mom<strong>en</strong>to se ha p<strong>en</strong>sado <strong>en</strong> sustituir los métodos y condiciones exist<strong>en</strong>tes<br />
con anterioridad sino <strong>en</strong> utilizar el producto como un complem<strong>en</strong>to adicional <strong>de</strong>l
proceso <strong>de</strong> <strong>en</strong>señanza-apr<strong>en</strong>dizaje, aprovechando <strong>la</strong>s v<strong>en</strong>tajas que este ambi<strong>en</strong>te pue<strong>de</strong><br />
ofrecer.<br />
Des<strong>de</strong> el punto <strong>de</strong> vista didáctico sobre el tema que aborda, consi<strong>de</strong>ramos que es<br />
posible consolidar los conocimi<strong>en</strong>tos sobre <strong>la</strong> estructura <strong>de</strong>l Sistema Óseo y <strong>de</strong> <strong>la</strong><br />
importancia que este ti<strong>en</strong>e <strong>en</strong> nuestra vida.<br />
Finalm<strong>en</strong>te po<strong>de</strong>mos <strong>de</strong>cir que <strong>de</strong>bemos utilizar y promover herrami<strong>en</strong>tas que<br />
propici<strong>en</strong> el apr<strong>en</strong>dizaje, para interactuar con el conocimi<strong>en</strong>to y hacerlo nuestro para<br />
que a su vez t<strong>en</strong>gamos <strong>la</strong> capacidad <strong>de</strong> g<strong>en</strong>erar nuevo conocimi<strong>en</strong>to. So<strong>la</strong>m<strong>en</strong>te así,<br />
podremos <strong>de</strong>cir que ya hemos mo<strong>de</strong>rnizado <strong>la</strong> educación, reflejando una verda<strong>de</strong>ra<br />
innovación <strong>en</strong> cuanto al método <strong>de</strong> apr<strong>en</strong>dizaje.<br />
9. Trabajos Futuros<br />
Actualm<strong>en</strong>te <strong>la</strong> Universidad Autónoma <strong>de</strong> T<strong>la</strong>xca<strong>la</strong> esta <strong>de</strong>sarrol<strong>la</strong>ndo un software para<br />
el 5º. Grado <strong>de</strong> primaria, para que sea utilizado por <strong>la</strong>s Primarias <strong>de</strong> T<strong>la</strong>xca<strong>la</strong>.<br />
Refer<strong>en</strong>cias<br />
[1] M. E. Del Moral y J. I. García, "DIMAS: diseño <strong>de</strong> módulos interactivos hipermediales<br />
para <strong>la</strong> explotación didáctica <strong>de</strong> los MASS MEDIA", Departam<strong>en</strong>to <strong>de</strong> CC. De <strong>la</strong><br />
Educación, Universidad <strong>de</strong> Oviedo,1997.<br />
[2] M. E. Del Moral, "Aplicaciones multimedia para <strong>la</strong> formación <strong>de</strong>l profesorado: diseño y<br />
evaluación". I Simposio Iberoamericano sobre Re<strong>de</strong>s <strong>de</strong> Comunicación para <strong>la</strong><br />
Educación, Mar <strong>de</strong>l P<strong>la</strong>ta, Arg<strong>en</strong>tina, 6-10 <strong>de</strong> Mayo <strong>de</strong> 1996.<br />
[4] J. Parra, et. Al., ”Seviba: realidad virtual para el apr<strong>en</strong><strong>de</strong>r a apr<strong>en</strong><strong>de</strong>r. Una reflexión<br />
alre<strong>de</strong>dor <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong>l software constructivita basado <strong>en</strong> p<strong>en</strong>sami<strong>en</strong>to sistémico”<br />
[5] A. López, et. al. “Ambi<strong>en</strong>tes Virtuales <strong>de</strong> Apr<strong>en</strong>dizaje. Sociedad Mexicana <strong>de</strong><br />
<strong>Computación</strong>.<br />
[6] P. Ávi<strong>la</strong> y M. D. Bosco, "Ambi<strong>en</strong>tes virtuales <strong>de</strong> apr<strong>en</strong>dizaje. Unanuevaexperi<strong>en</strong>cia",<br />
20th. International Council for Op<strong>en</strong> and Distance Education.Düsseldorf, Alemania, 1-5<br />
Abril 2001.<br />
[7] A. M. Tejeda, “Software Esco<strong>la</strong>r Diseñado <strong>de</strong>s<strong>de</strong> el Constructivismo: Estrategia Didáctica<br />
para Favorecer punto y modo <strong>de</strong> articu<strong>la</strong>ción <strong>de</strong>l fonema /rr/ <strong>en</strong> niños preesco<strong>la</strong>res con<br />
dis<strong>la</strong>lias funcionales”. Universidad Pedagógica Nacional Unidad Upn 099, D.F.<br />
Poni<strong>en</strong>te, 2003.
Objetos <strong>de</strong> Apr<strong>en</strong>dizaje Adaptativos<br />
José Mario García-Val<strong>de</strong>z 1 , Alfredo Cristóbal-Sa<strong>la</strong>s 2 ,<br />
Antonio Rodríguez-Díaz 2 , Misael Isaac Ramírez-Noriega 1<br />
1 Instituto Tecnológico <strong>de</strong> Tijuana, Departam<strong>en</strong>to <strong>de</strong> Sistemas y <strong>Computación</strong><br />
Calzada. Tecnológico s/n Fracc. Tomás Aquino,<br />
AP 1166 Tijuana, B.C. México 22000<br />
email: {mario, misael}@tectijuana.mx<br />
2 Universidad Autónoma <strong>de</strong> Baja California, Facultad <strong>de</strong> Ci<strong>en</strong>cias Químicas e<br />
Ing<strong>en</strong>iería. Calzada Universitaria s/n, Delegación Otay, Tijuana, B.C. México 22390<br />
email: {cristobal, ardiaz}@uabc.mx<br />
Abstract: Educational systems based on learning objects are curr<strong>en</strong>tly avai<strong>la</strong>ble<br />
on the Internet, however the information pres<strong>en</strong>ted to the user is not necessarily<br />
a<strong>de</strong>quate because the context in which the user is immersed is not always<br />
consi<strong>de</strong>red. In this paper an ext<strong>en</strong>sion to learning objects is proposed so they can<br />
automatically adapt to the context of use. Design <strong>de</strong>tails of the adaptation<br />
mechanism are pres<strong>en</strong>ted and also a use case example. In preliminary results of<br />
our work the information pres<strong>en</strong>ted is relevant to the users. B<strong>en</strong>efits to the<br />
learning process are expected and also an <strong>en</strong>hancem<strong>en</strong>t to the avai<strong>la</strong>ble learning<br />
objects.<br />
Resum<strong>en</strong>: Exist<strong>en</strong> varios sistemas <strong>en</strong> Internet que implem<strong>en</strong>tan objetos <strong>de</strong><br />
apr<strong>en</strong>dizaje. Pero vemos que <strong>la</strong> información que se muestra al usuario no<br />
necesariam<strong>en</strong>te es <strong>la</strong> más a<strong>de</strong>cuada y esto se <strong>de</strong>be a que el contexto <strong>en</strong> el que el<br />
usuario se <strong>de</strong>s<strong>en</strong>vuelve no es tomado <strong>en</strong> cu<strong>en</strong>ta. Es por esto que <strong>en</strong> este artículo se<br />
pres<strong>en</strong>ta una propuesta <strong>de</strong> ext<strong>en</strong>sión <strong>de</strong> los objetos <strong>de</strong> apr<strong>en</strong>dizaje para hacer que<br />
se adapt<strong>en</strong> al contexto <strong>de</strong>l usuario <strong>de</strong> manera automática. Se pres<strong>en</strong>tan <strong>de</strong>talles <strong>de</strong><br />
diseño como los módulos que integran el mecanismo <strong>de</strong> adaptación así como un<br />
ejemplo <strong>de</strong> uso <strong>de</strong> nuestra propuesta. Los resultados preliminares <strong>de</strong> nuestro<br />
trabajo muestran que el mecanismo <strong>de</strong> adaptación <strong>de</strong> <strong>la</strong> información pres<strong>en</strong>ta<br />
información relevante para el usuario y <strong>en</strong> el formato <strong>de</strong> su prefer<strong>en</strong>cia. Esto<br />
creemos que facilitará el proceso <strong>de</strong> <strong>en</strong>señanza/apr<strong>en</strong>dizaje y se aprovecharán los<br />
objetos <strong>de</strong> apr<strong>en</strong>dizaje ya exist<strong>en</strong>tes.<br />
Pa<strong>la</strong>bras C<strong>la</strong>ve: Objetos <strong>de</strong> apr<strong>en</strong>dizaje, Sistemas hipermedia<br />
adaptativos, Sistemas adaptativos.<br />
1. Introducción<br />
Tradicionalm<strong>en</strong>te un instructor prepara su material didáctico utilizando cont<strong>en</strong>ido <strong>de</strong><br />
distintas fu<strong>en</strong>tes, selecciona distintos pedazos <strong>de</strong> información que posteriorm<strong>en</strong>te<br />
<strong>en</strong>samb<strong>la</strong> para formar el curso o c<strong>la</strong>se a impartir. Los objetos <strong>de</strong> apr<strong>en</strong>dizaje están<br />
basados <strong>en</strong> esta metodología vi<strong>en</strong>do al cont<strong>en</strong>ido didáctico como un compon<strong>en</strong>te el
cual es diseñado para combinarse con otros para ser usados <strong>en</strong> difer<strong>en</strong>tes contextos<br />
[3,2]. En g<strong>en</strong>eral los objetos <strong>de</strong> apr<strong>en</strong>dizaje [18] ti<strong>en</strong><strong>en</strong> <strong>la</strong>s sigui<strong>en</strong>tes características:<br />
Cada objeto pue<strong>de</strong> utilizarse <strong>de</strong> manera in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te.<br />
Un objeto <strong>de</strong> apr<strong>en</strong>dizaje pue<strong>de</strong> ser utilizado <strong>en</strong> difer<strong>en</strong>tes contextos para<br />
múltiples propósitos.<br />
Los objetos <strong>de</strong> apr<strong>en</strong>dizaje pued<strong>en</strong> ser agrupados <strong>en</strong> colecciones para <strong>de</strong>spués<br />
ser pres<strong>en</strong>tados con una estructura <strong>de</strong> curso tradicional.<br />
Cada objeto <strong>de</strong> apr<strong>en</strong>dizaje ti<strong>en</strong>e asociada información <strong>en</strong> forma <strong>de</strong> metadatos,<br />
que lo <strong>de</strong>scribe. Esto facilita su reutilización por medios automáticos.<br />
De acuerdo al Mo<strong>de</strong>lo <strong>de</strong> Refer<strong>en</strong>cia <strong>de</strong> Objetos <strong>de</strong> Cont<strong>en</strong>ido Compartido (Sharable<br />
Cont<strong>en</strong>t Object Refer<strong>en</strong>ce Mo<strong>de</strong>l - SCORM) [6] los objetos <strong>de</strong> apr<strong>en</strong>dizaje l<strong>la</strong>mados <strong>en</strong><br />
este mo<strong>de</strong>lo Objetos <strong>de</strong> Cont<strong>en</strong>ido Compartible (Sharable Cont<strong>en</strong>t Objects - SCOs) son<br />
una colección <strong>de</strong> uno o más datos. Estos datos son <strong>de</strong>finidos como una repres<strong>en</strong>tación<br />
electrónica <strong>de</strong> texto, imág<strong>en</strong>es, objetos <strong>de</strong> evaluación, o cualquier pieza <strong>de</strong> datos que<br />
pue<strong>de</strong> ser repres<strong>en</strong>tada por un cli<strong>en</strong>te Web.<br />
Otros mo<strong>de</strong>los [7,16] propon<strong>en</strong> <strong>la</strong> agregación <strong>de</strong> elem<strong>en</strong>tos básicos para crear<br />
colecciones <strong>de</strong> objetos que se pued<strong>en</strong> re<strong>la</strong>cionar con una estructura <strong>de</strong> un curso <strong>en</strong><br />
particu<strong>la</strong>r. Nosotros <strong>de</strong>finimos a un OA como un elem<strong>en</strong>to d<strong>en</strong>tro <strong>de</strong> una red <strong>de</strong><br />
recursos utilizados para el apr<strong>en</strong>dizaje. Los recursos son accesados mediante metadatos<br />
estándar y al consi<strong>de</strong>rar a los objetos <strong>de</strong> apr<strong>en</strong>dizaje d<strong>en</strong>tro <strong>de</strong> una red es importante<br />
contar con <strong>la</strong> posibilidad <strong>de</strong> re<strong>la</strong>cionarlos. La iniciativa <strong>de</strong> metadatos <strong>de</strong> Dublín (Dublin<br />
Core Metadata Initiative - DCMI) [14] <strong>de</strong>fine varios tipos <strong>de</strong> re<strong>la</strong>ciones como: son<br />
IsPartOf, Refer<strong>en</strong>ces, Requires, IsBasedOn, IsA, sin embargo para los objetos <strong>de</strong><br />
apr<strong>en</strong>dizaje se han propuesto otras re<strong>la</strong>ciones como son: IsPrerequisiteOf,<br />
HasApproved, Knows [1]. Para nuestro mo<strong>de</strong>lo <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje se propone<br />
a<strong>de</strong>más pon<strong>de</strong>rar ciertas re<strong>la</strong>ciones.<br />
Los objetos <strong>de</strong> apr<strong>en</strong>dizaje normalm<strong>en</strong>te son administrados por un Sistema <strong>de</strong><br />
Administración <strong>de</strong> Apr<strong>en</strong>dizaje (LMS, por sus sig<strong>la</strong>s <strong>en</strong> inglés Learning Managem<strong>en</strong>t<br />
System). Para po<strong>de</strong>r intercambiar estos objetos <strong>de</strong> apr<strong>en</strong>dizaje <strong>en</strong>tre distintos LMSs es<br />
necesario contar con estándares abiertos los cuales permitan una p<strong>la</strong>taforma común<br />
para su reutilización [6]. Ésta es <strong>la</strong> motivación <strong>de</strong> varias iniciativas <strong>de</strong> estandarización<br />
<strong>la</strong>s cuales han propuesto difer<strong>en</strong>tes mo<strong>de</strong>los para lograr una mejor utilización <strong>de</strong> los<br />
objetos <strong>de</strong> apr<strong>en</strong>dizaje [6,7,8,9]. Sin embargo, los elem<strong>en</strong>tos que ti<strong>en</strong><strong>en</strong> que ver con <strong>la</strong><br />
personalización <strong>de</strong>l cont<strong>en</strong>ido educativo son consi<strong>de</strong>rados <strong>de</strong> forma limitada. Es por<br />
esto que este artículo pres<strong>en</strong>ta una propuesta <strong>de</strong> ext<strong>en</strong>sión al concepto <strong>de</strong> objetos <strong>de</strong><br />
apr<strong>en</strong>dizaje para lograr adaptarlos al contexto <strong>de</strong>l estudiante, consi<strong>de</strong>rando elem<strong>en</strong>tos<br />
adicionales <strong>en</strong>contrados normalm<strong>en</strong>te <strong>en</strong> sistemas hipermedia adaptativos (SHA). En <strong>la</strong><br />
sigui<strong>en</strong>te sección se <strong>de</strong>scrib<strong>en</strong> <strong>la</strong>s principales i<strong>de</strong>as <strong>de</strong>trás <strong>de</strong> los SHA, <strong>en</strong> <strong>la</strong> sección 3<br />
se <strong>de</strong>scrib<strong>en</strong> <strong>la</strong>s principales especificaciones abiertas para objetos <strong>de</strong> apr<strong>en</strong>dizaje y <strong>en</strong><br />
<strong>la</strong> sección 4 <strong>la</strong> propuesta <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje adaptativos, <strong>en</strong> <strong>la</strong> sección 5<br />
pres<strong>en</strong>tamos el ejemplo <strong>de</strong> un objeto <strong>de</strong> apr<strong>en</strong>dizaje adaptativo. Por último,<br />
pres<strong>en</strong>tamos <strong>la</strong>s conclusiones y el trabajo futuro.
2. Sistemas Hipermedia Adaptativos (SHA)<br />
Un sistema adaptativo es aquel que automáticam<strong>en</strong>te modifica aspectos <strong>de</strong> su<br />
funcionalidad o interfaz para favorecer <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> un usuario o grupo <strong>de</strong><br />
usuarios [19]. Un SHA adapta el cont<strong>en</strong>ido y <strong>la</strong>s posibilida<strong>de</strong>s <strong>de</strong> navegación d<strong>en</strong>tro <strong>de</strong><br />
un sistema hipermedia consi<strong>de</strong>rando un mo<strong>de</strong>lo <strong>de</strong> usuario [20]. Técnicas <strong>de</strong> los SHA<br />
son utilizadas normalm<strong>en</strong>te <strong>en</strong> sistemas <strong>de</strong> apr<strong>en</strong>dizaje basado <strong>en</strong> Web para<br />
personalizar <strong>la</strong> pres<strong>en</strong>tación <strong>de</strong>l material didáctico a <strong>la</strong>s necesida<strong>de</strong>s particu<strong>la</strong>res <strong>de</strong> los<br />
usuarios. B<strong>en</strong>yon y Murray [19] id<strong>en</strong>tifican tres compon<strong>en</strong>tes básicos <strong>de</strong> un sistema<br />
adaptativo:<br />
El Mo<strong>de</strong>lo <strong>de</strong>l Usuario. El cual es una repres<strong>en</strong>tación <strong>de</strong>l conocimi<strong>en</strong>to y<br />
prefer<strong>en</strong>cias que el sistema “cree” que posee el usuario. El usuario pue<strong>de</strong> ser<br />
un individuo, grupo <strong>de</strong> usuarios u otro sistema.<br />
El Mo<strong>de</strong>lo <strong>de</strong>l Dominio. En este mo<strong>de</strong>lo se repres<strong>en</strong>ta el conocimi<strong>en</strong>to con<br />
que se cu<strong>en</strong>ta para po<strong>de</strong>r adaptar el sistema, es por ejemplo el conocimi<strong>en</strong>to<br />
que se <strong>de</strong>be transmitir a un usuario.<br />
El Mo<strong>de</strong>lo <strong>de</strong> Interacción. Es una repres<strong>en</strong>tación <strong>de</strong> <strong>la</strong> interacción <strong>de</strong>seada<br />
<strong>en</strong>tre el sistema y los usuarios, captura <strong>la</strong> información g<strong>en</strong>erada por <strong>la</strong><br />
interacción y <strong>de</strong>fine <strong>la</strong>s infer<strong>en</strong>cias, adaptaciones y evaluaciones que pued<strong>en</strong><br />
ocurrir.<br />
Brusilovsky [20] consi<strong>de</strong>ra dos métodos <strong>de</strong> adaptación:<br />
Navegación Adaptativa. El cont<strong>en</strong>ido pue<strong>de</strong> ser personalizado consi<strong>de</strong>rando el<br />
Mo<strong>de</strong>lo <strong>de</strong>l Usuario, ajustando el nivel <strong>de</strong> <strong>de</strong>talle, el estilo o cambiando el<br />
medio <strong>de</strong> pres<strong>en</strong>tación. Las pa<strong>la</strong>bras, párrafos o incluso metáforas pued<strong>en</strong><br />
adaptarse al usuario. En sistemas educativos el cont<strong>en</strong>ido es adaptado<br />
consi<strong>de</strong>rando el conocimi<strong>en</strong>to y <strong>la</strong>s metas <strong>de</strong>l alumno.<br />
Cont<strong>en</strong>ido Adaptativo. De acuerdo al Mo<strong>de</strong>lo <strong>de</strong>l Usuario, <strong>la</strong>s opciones <strong>de</strong><br />
navegación son modificadas, por ejemplo <strong>la</strong> liga a cierto cont<strong>en</strong>ido pue<strong>de</strong> no<br />
estar disponible hasta que cierta meta sea alcanzada, o el color y otros<br />
aspectos <strong>de</strong> pres<strong>en</strong>tación cambian cuando se infiere que el usuario ya los<br />
conoce o ha visitado anteriorm<strong>en</strong>te. La ruta <strong>de</strong> navegación también es<br />
modificada consi<strong>de</strong>rando el estilo <strong>de</strong> apr<strong>en</strong>dizaje o <strong>la</strong>s prefer<strong>en</strong>cias <strong>de</strong>l<br />
usuario. Los patrones <strong>de</strong> navegación <strong>de</strong> otros usuarios pued<strong>en</strong> consi<strong>de</strong>rarse<br />
para <strong>de</strong>finir <strong>la</strong> navegación <strong>de</strong> usuarios simi<strong>la</strong>res.<br />
3. Estándares para los Objetos <strong>de</strong> Apr<strong>en</strong>dizaje<br />
Las más importantes iniciativas <strong>de</strong> estandarización son <strong>la</strong> Advanced Distributed<br />
Learning Initiative (ADL-SCORM) [6], el Instructional Managem<strong>en</strong>t System Project<br />
(IMS) [7], <strong>la</strong> Alliance of Remote Instructional Authoring Distribution Networks of<br />
Europe (ARIADNE) [8], y el IEEE Learning Technology Standards Committee [9]. Se<br />
han <strong>de</strong>sarrol<strong>la</strong>do especificaciones abiertas con distintos propósitos para los objetos <strong>de</strong><br />
apr<strong>en</strong>dizaje, a continuación m<strong>en</strong>cionamos algunos:<br />
Learning Object Metadata (LOM). Este esquema <strong>de</strong> metadatos está basado <strong>en</strong> <strong>la</strong>
iniciativa Dublin Core [14] <strong>la</strong> cual <strong>de</strong>scribe <strong>de</strong> manera g<strong>en</strong>eral a los difer<strong>en</strong>tes recursos<br />
disponibles <strong>en</strong> el Web. El LOM <strong>de</strong>fine ciertos elem<strong>en</strong>tos adicionales para <strong>de</strong>scribir el<br />
cont<strong>en</strong>ido educativo. Este estándar pue<strong>de</strong> ser refer<strong>en</strong>ciado por otros estándares los<br />
cuales pued<strong>en</strong> agregar otros medios que permitan explotar a los objetos <strong>de</strong> apr<strong>en</strong>dizaje.<br />
[6].<br />
Mo<strong>de</strong>lo <strong>de</strong> agregación <strong>de</strong>l cont<strong>en</strong>ido (Cont<strong>en</strong>t Aggregation Mo<strong>de</strong>l - CAM). Define un<br />
mo<strong>de</strong>lo para el empaquetado y agregación <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje. Permite organizar<br />
a los objetos <strong>de</strong> apr<strong>en</strong>dizaje <strong>en</strong> una estructura jerárquica y pasiva permiti<strong>en</strong>do su<br />
organización <strong>en</strong> forma <strong>de</strong> un curso; aunque actualm<strong>en</strong>te no se ti<strong>en</strong><strong>en</strong> otro tipo <strong>de</strong><br />
organizaciones [7].<br />
Información <strong>de</strong>l estudiante (Learner Information - LI). Nos permite <strong>de</strong>scribir a<br />
distintos tipos usuarios <strong>de</strong> los objetos <strong>de</strong> apr<strong>en</strong>dizaje; tanto a los estudiantes como a los<br />
productores <strong>de</strong>l cont<strong>en</strong>ido educativo. Los elem<strong>en</strong>tos están basados <strong>en</strong> accesibilidad,<br />
actividad, afiliación, compet<strong>en</strong>cias, metas, id<strong>en</strong>tificaciones, interés, cualida<strong>de</strong>s,<br />
certificaciones y lic<strong>en</strong>cias, re<strong>la</strong>ciones, l<strong>la</strong>ves <strong>de</strong> seguridad así como transcripciones [7].<br />
Secu<strong>en</strong>cia y navegación (Sequ<strong>en</strong>ce and Navigation - SN). Define un método para<br />
repres<strong>en</strong>tar el comportami<strong>en</strong>to int<strong>en</strong>cional <strong>de</strong> una experi<strong>en</strong>cia <strong>de</strong> apr<strong>en</strong>dizaje <strong>de</strong> tal<br />
manera que cualquier sistema <strong>de</strong> tecnología <strong>de</strong> apr<strong>en</strong>dizaje (Learning Technology<br />
system – LTS) pue<strong>de</strong> organizar activida<strong>de</strong>s <strong>de</strong> apr<strong>en</strong>dizaje discretas <strong>de</strong> manera<br />
consist<strong>en</strong>te. También provee <strong>de</strong> un ord<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> comportami<strong>en</strong>tos basado <strong>en</strong> reg<strong>la</strong>s<br />
[7].<br />
4. Objetos <strong>de</strong> Apr<strong>en</strong>dizaje Adaptativos (ALOs)<br />
Los objetos <strong>de</strong> apr<strong>en</strong>dizaje (LO por sus sig<strong>la</strong>s <strong>en</strong> inglés Learning Objects) son<br />
normalm<strong>en</strong>te tratados como cont<strong>en</strong>idos estáticos es por esto que los ALOs que<br />
proponemos <strong>en</strong> este artículo son una ext<strong>en</strong>sión <strong>de</strong> los LOs que a<strong>de</strong>más <strong>de</strong> t<strong>en</strong>er <strong>la</strong>s<br />
características <strong>de</strong> los LOs conti<strong>en</strong><strong>en</strong> los sigui<strong>en</strong>tes módulos que permit<strong>en</strong> su<br />
adaptabilidad al contexto <strong>de</strong>l usuario.<br />
Mo<strong>de</strong>lo <strong>de</strong>l dominio <strong>de</strong>l conocimi<strong>en</strong>to (Knowledge Domain Mo<strong>de</strong>l - KDM). El KDM<br />
repres<strong>en</strong>ta el conocimi<strong>en</strong>to apr<strong>en</strong>dido por los usuarios. Para una universidad este<br />
mo<strong>de</strong>lo podría ser <strong>la</strong> información curricu<strong>la</strong>r <strong>de</strong>l estudiante. Este mo<strong>de</strong>lo esta compuesto<br />
por una red <strong>de</strong> elem<strong>en</strong>tos <strong>de</strong>l conocimi<strong>en</strong>to (Knowledge Elem<strong>en</strong>ts - KE) los cuales son<br />
los objetivos <strong>de</strong> apr<strong>en</strong>dizaje más básicos.<br />
Mo<strong>de</strong>lo <strong>de</strong>l usuario (User Mo<strong>de</strong>l - UM). El UM es un compon<strong>en</strong>te básico <strong>de</strong>l sistema<br />
adaptativo, <strong>en</strong> este caso el perfil <strong>de</strong>l usuario captura <strong>la</strong>s características g<strong>en</strong>erales y <strong>la</strong>s<br />
prefer<strong>en</strong>cias <strong>de</strong>l estudiante, tambi<strong>en</strong> el mo<strong>de</strong>lo <strong>de</strong>l conocimi<strong>en</strong>to <strong>de</strong>l estudiante<br />
(Learner Knowledge Mo<strong>de</strong>l - LKM), implem<strong>en</strong>tado como red semántica, repres<strong>en</strong>ta el<br />
conocimi<strong>en</strong>to actual o capacida<strong>de</strong>s actuales <strong>de</strong>l estudiante. Esta red es manipu<strong>la</strong>da por<br />
reg<strong>la</strong>s adaptativas <strong>en</strong>contradas <strong>en</strong> los ALOs.<br />
Sesión (S). El compon<strong>en</strong>te sesión conti<strong>en</strong>e información adicional que es g<strong>en</strong>erada <strong>en</strong><br />
tiempo real cuando ocurre <strong>la</strong> interacción <strong>en</strong>tre los ALOs y un estudiante. Por ejemplo,<br />
este compon<strong>en</strong>te es responsable <strong>de</strong> contabilizar el tiempo que les toma a los estudiantes<br />
respon<strong>de</strong>r una pregunta. Este compon<strong>en</strong>te asocia el mo<strong>de</strong>lo <strong>de</strong>l estudiante, el mo<strong>de</strong>lo<br />
<strong>de</strong>l contexto y el ALO.
Mo<strong>de</strong>lo <strong>de</strong>l contexto (CM). Conti<strong>en</strong>e el conocimi<strong>en</strong>to sobre el contexto <strong>en</strong> el cual<br />
ocurre <strong>la</strong> interacción. En algunos casos utiliza un sistema <strong>de</strong> conci<strong>en</strong>cia <strong>de</strong>l contexto<br />
Context Awar<strong>en</strong>ess System - CAS) para capturar el contexto a través <strong>de</strong> algún<br />
hardware o aplicación. La información sobre el contexto pue<strong>de</strong> ir <strong>de</strong>s<strong>de</strong> el tipo <strong>de</strong><br />
navegador que se esta utilizado hasta <strong>la</strong> información biométrica <strong>de</strong>l usuario.<br />
Las Reg<strong>la</strong>s <strong>de</strong> Adaptación (ARs) son utilizadas para personalizar <strong>la</strong> información que<br />
los ALOs proporcionan al usuario. Las Ars son reg<strong>la</strong>s <strong>de</strong> producción que se activan y<br />
pued<strong>en</strong> manipu<strong>la</strong>r re<strong>de</strong>s semánticas <strong>de</strong>l LKM. Exist<strong>en</strong> tres tipo<strong>de</strong> <strong>de</strong> ARs:<br />
Reg<strong>la</strong>s <strong>de</strong> navegación (NR). Son usadas para <strong>de</strong>cidir que <strong>en</strong><strong>la</strong>ces son habilitadas o<br />
marcadas por el usuario. Esto no es una <strong>de</strong>cisión simple sino que hay varias propuestas<br />
difer<strong>en</strong>tes a <strong>la</strong>s reg<strong>la</strong>s <strong>de</strong> producción como lo son <strong>la</strong>s re<strong>de</strong>s bayesianas [1, 17] así como<br />
los cálculos <strong>de</strong>l tipo Gozinto. Estas propuestas toman <strong>en</strong> cu<strong>en</strong>ta pre-requisitos<br />
pon<strong>de</strong>rados <strong>en</strong>tre los LOs. Exist<strong>en</strong> otro tipo <strong>de</strong> re<strong>la</strong>ciones que pudieran tomar <strong>en</strong> cu<strong>en</strong>ta<br />
<strong>la</strong> re<strong>la</strong>ción IsRe<strong>la</strong>ted para producir un <strong>en</strong><strong>la</strong>ce si el estudiante esta interesado <strong>en</strong> otro<br />
tópico. También si un ALO has sido frecu<strong>en</strong>tem<strong>en</strong>te visitado <strong>en</strong>tonces se pudiera<br />
pres<strong>en</strong>tar como primera opción o se pudiera pres<strong>en</strong>tar <strong>en</strong> otro formato.<br />
Reg<strong>la</strong>s <strong>de</strong> pres<strong>en</strong>tación <strong>de</strong>l cont<strong>en</strong>ido (CPR). Estas reg<strong>la</strong>s escog<strong>en</strong> el ALO más<br />
apropiado d<strong>en</strong>tro <strong>de</strong> varios ALOs para pres<strong>en</strong>tarlo al usuario consi<strong>de</strong>rando los<br />
compon<strong>en</strong>tes <strong>de</strong> adaptación.<br />
Reg<strong>la</strong>s <strong>de</strong> Adaptación (AR). Estas reg<strong>la</strong>s modifican el LKM añadi<strong>en</strong>do, borrando o<br />
modificando los pesos <strong>de</strong> los <strong>en</strong><strong>la</strong>ces. También pued<strong>en</strong> ser activadas por <strong>la</strong> interacción<br />
<strong>de</strong>l estudiante. También exist<strong>en</strong> ALOs cuyo propósito es evaluar a los estudiantes. Por<br />
ejemplo, una AR aña<strong>de</strong> un elem<strong>en</strong>to <strong>de</strong> conocimi<strong>en</strong>to al LKM <strong>de</strong>l estudiante si <strong>la</strong><br />
evaluación <strong>de</strong> <strong>la</strong> sesión con el objeto es mayor que algún cierto valor.<br />
Estos mo<strong>de</strong>los pued<strong>en</strong> estar empacados <strong>en</strong> un solo ALO o éste pue<strong>de</strong> t<strong>en</strong>er solo<br />
refer<strong>en</strong>cias a ellos, ya que todos los elem<strong>en</strong>tos son tratados como recursos. Esta<br />
propuesta difiere <strong>de</strong> otros sistemas adaptativos basados <strong>en</strong> OA [1,10,12,15] <strong>en</strong> los<br />
cuales el mecanismo adaptativo no se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> los OA mismos.<br />
5. Ejemplo <strong>de</strong> un ALO.<br />
Image<br />
Audio<br />
Image<br />
Image<br />
Mexican F<strong>la</strong>g<br />
Instrum<strong>en</strong>tal Version<br />
Jaime Nuno<br />
G. Bocanegra<br />
Text<br />
Mexicanos, al grito <strong>de</strong> guerr a<br />
el acero aprestad y el bridón,<br />
y retie mble <strong>en</strong> sus ce ntros <strong>la</strong> ti erra<br />
al sonoro rugir <strong>de</strong>l cañón.<br />
I<br />
Ciña ¡oh Patria! tus si<strong>en</strong>es <strong>de</strong> oliva<br />
<strong>de</strong> <strong>la</strong> paz el arcángel divino,<br />
que <strong>en</strong> el cielo tu eterno <strong>de</strong>stino,<br />
por el <strong>de</strong>do <strong>de</strong> Dios se escribió;<br />
Mas si osare un extraño <strong>en</strong>emigo,<br />
profanar con su p<strong>la</strong>nta tu suelo,<br />
pi<strong>en</strong>sa ¡oh Patria querida! que el cielo<br />
un soldado <strong>en</strong> cada hijo te dió.<br />
National Anthem<br />
Text (Comp)<br />
Fue <strong>en</strong> el año <strong>de</strong> 1821 cuando se estr<strong>en</strong>ó <strong>la</strong> primera composición <strong>de</strong><br />
Himno Nacional suscrita por José Torrescano, cuya obra nunca<br />
alcanzó el grado <strong>de</strong> institucionalidad ni <strong>de</strong> aceptación <strong>en</strong> el ámbito <strong>de</strong><br />
<strong>la</strong> sociedad civil mexicana.<br />
Después <strong>de</strong> dieciocho años, <strong>la</strong> Aca<strong>de</strong>mia <strong>de</strong> San Juan <strong>de</strong> Letrán<br />
<strong>la</strong>nzó una Convocatoria a efecto <strong>de</strong> obt<strong>en</strong>er una Letra <strong>de</strong> un Himno<br />
Nacional mexicano. De <strong>la</strong>s treinta composiciones recibidas, se<br />
eligieron dos: una <strong>de</strong>l estadounid<strong>en</strong>se Andrew Davies Bradburn, y<br />
History<br />
Fig 1. Recursos re<strong>la</strong>cionados con el himno nacional mexicano.<br />
Para c<strong>la</strong>rificar el concepto <strong>de</strong> adaptabilidad <strong>de</strong> los LOs pres<strong>en</strong>tamos <strong>en</strong> esta sección un<br />
ejemplo <strong>de</strong> cómo se <strong>de</strong>fine un ALO. En <strong>la</strong> figura 1 se pue<strong>de</strong> observar recursos <strong>de</strong>
I<br />
I<br />
I<br />
I<br />
información pot<strong>en</strong>ciales para <strong>de</strong>finir un curso sobre el himno nacional mexicano. Para<br />
este ejemplo, contamos con tres imág<strong>en</strong>es: <strong>la</strong> ban<strong>de</strong>ra <strong>de</strong> México y los autores <strong>de</strong>l<br />
himno nacional mexicano. También se incluye texto que conti<strong>en</strong>e <strong>la</strong> historia <strong>de</strong>l himno<br />
así como el texto <strong>de</strong>l himno <strong>en</strong> dos versiones resumida y completa. La versión<br />
instrum<strong>en</strong>tal <strong>de</strong>l himno está también disponible. Estos recursos pued<strong>en</strong> ser<br />
consi<strong>de</strong>rados como OA, etiquetados a<strong>de</strong>más con sus correspondi<strong>en</strong>tes metadatos, por<br />
ejemplo el LOM.<br />
Text<br />
Text<br />
Parcial Lyrics Mexican Ant<br />
Complete Lyrics of Mex. A.<br />
Audio<br />
Image<br />
partial_lyrics_of<br />
complete_lyrics_of<br />
Instrum<strong>en</strong>tal Version<br />
Mexican F<strong>la</strong>g<br />
instrum<strong>en</strong>tal_<br />
audio_of<br />
image_of<br />
Mexican National Anthem<br />
F<strong>la</strong>g<br />
author_of<br />
Bocanegra<br />
Nuno<br />
has<br />
has<br />
Mexico<br />
type_of<br />
Knowledge Domain<br />
Country<br />
Fig 2. Re<strong>la</strong>ciones <strong>en</strong>tre los recursos y el domino <strong>de</strong>l conocimi<strong>en</strong>to.<br />
La figura 2 pres<strong>en</strong>ta <strong>la</strong>s re<strong>la</strong>ciones <strong>en</strong>tre los compon<strong>en</strong>tes re<strong>la</strong>cionados con el himno<br />
nacional mexicano cont<strong>en</strong>idas <strong>en</strong> el dominio <strong>de</strong> conocimi<strong>en</strong>to. Las re<strong>la</strong>ciones usadas<br />
son: “letra parcial <strong>de</strong>”, “letra completa <strong>de</strong>”, “instrum<strong>en</strong>tación <strong>de</strong>”, “imag<strong>en</strong> <strong>de</strong>”, “autor<br />
<strong>de</strong>”, “ti<strong>en</strong>e”, “tipo <strong>de</strong>”. Para nuestra propuesta es importante que exista una conexión<br />
con ciertos dominios, ya que esto nos permite <strong>la</strong> selección <strong>de</strong> OAs a partir <strong>de</strong> elem<strong>en</strong>tos<br />
<strong>de</strong>l dominio <strong>de</strong>l conocimi<strong>en</strong>to.<br />
Rules<br />
IF Learner.Education = Basic THEN<br />
PartialLyrics.Enabled = TRUE<br />
........<br />
Mexican National Anthem<br />
URI: http://www.hn.mx/himno/6/4/2001<br />
Image<br />
Image<br />
Image<br />
Mexican F<strong>la</strong>g<br />
Learner Mo<strong>de</strong>l<br />
Jaime Nuno<br />
G. Bocanegra<br />
Text<br />
F<strong>la</strong>g<br />
Mexico<br />
Country<br />
México<br />
Knowledge Domain<br />
Mexican National Anthem<br />
F<strong>la</strong>g<br />
Mexico<br />
Bocanegra<br />
Nuno<br />
Text (Aggregate)<br />
Fue <strong>en</strong> el año <strong>de</strong> 1821 cuando se estr<strong>en</strong>ó <strong>la</strong> primera composición <strong>de</strong><br />
Himno Nacional suscrita por José Torrescano, cuya obra nunca<br />
alcanzó el grado <strong>de</strong> institucionalidad ni <strong>de</strong> aceptación <strong>en</strong> el ámbito <strong>de</strong><br />
<strong>la</strong> sociedad civil mexicana.<br />
Después <strong>de</strong> dieciocho años, <strong>la</strong> Aca<strong>de</strong>mia <strong>de</strong> San Juan <strong>de</strong> Letrán<br />
<strong>la</strong>nzó una Convocatoria a efecto <strong>de</strong> obt<strong>en</strong>er una Letra <strong>de</strong> un Himno<br />
Nacional mexicano. De <strong>la</strong>s treinta composiciones recibidas, se<br />
eligieron dos: una <strong>de</strong>l estadounid<strong>en</strong>se Andrew Davies Bradburn, y<br />
otra <strong>de</strong>l poeta Félix María Esca<strong>la</strong>nte. La musicalización <strong>de</strong> <strong>la</strong> obra <strong>de</strong><br />
Bradburn fue escrita por el austriaco H<strong>en</strong>ry Hertz. Empero, dicho<br />
Himno tampoco tuvo una recepción favorable <strong>en</strong>tre el pueblo<br />
mexicano. Otro int<strong>en</strong>to fallido que registra <strong>la</strong> Historia fue el <strong>de</strong>l poeta<br />
<strong>de</strong> orig<strong>en</strong> cubano, Juan Miguel Lozada, y <strong>de</strong>l compositor europeo<br />
Carlos Boscha.<br />
Partial Lyrics of Mex. A.<br />
Text<br />
Complete Lyrics of Mex.A.<br />
Audio<br />
Instrum<strong>en</strong>tal Version<br />
Mexico<br />
Country<br />
History<br />
Fig 3. Ejemplo <strong>de</strong> un ALO
Al contar con un ALO po<strong>de</strong>mos adaptar el cont<strong>en</strong>ido que pres<strong>en</strong>ta, <strong>en</strong> <strong>la</strong> figura 3 se<br />
pue<strong>de</strong> observar que se cu<strong>en</strong>ta con un mo<strong>de</strong>lo <strong>de</strong>l usuario y a<strong>de</strong>más reg<strong>la</strong>s <strong>de</strong> adaptación<br />
con estos recursos po<strong>de</strong>mos especificar condiciones como <strong>la</strong> sigui<strong>en</strong>te: suponemos que<br />
dos estudiantes <strong>de</strong> dos países distintos uno <strong>de</strong> ellos es México y ambos <strong>de</strong>sean apr<strong>en</strong><strong>de</strong>r<br />
el concepto <strong>de</strong> himno nacional <strong>en</strong>tonces <strong>la</strong> información pue<strong>de</strong> ser pres<strong>en</strong>tada al<br />
estudiante <strong>de</strong>p<strong>en</strong>di<strong>en</strong>do <strong>de</strong> su nacionalidad ya sea <strong>en</strong> su l<strong>en</strong>guaje, con información<br />
pertin<strong>en</strong>te a su país o con información que le sea mas común d<strong>en</strong>tro <strong>de</strong> su ambi<strong>en</strong>te<br />
social. En el caso <strong>de</strong> un estudiante mexicano, si éste es <strong>de</strong> nivel básico al mostrar <strong>la</strong><br />
letra (<strong>en</strong> base a <strong>la</strong>s reg<strong>la</strong>s <strong>de</strong> adaptación) se mostraría el recurso <strong>de</strong> <strong>la</strong> letra parcial. Es<br />
importante m<strong>en</strong>cionar que los recursos con que cu<strong>en</strong>ta a su vez este ALO pued<strong>en</strong> ser<br />
otros ALOs como es el caso <strong>de</strong>l texto <strong>de</strong> historia <strong>de</strong>l himno nacional, este se adapta con<br />
sus propias reg<strong>la</strong>s <strong>de</strong> adaptación. En este ejemplo básico no se muestran los mo<strong>de</strong>los <strong>de</strong><br />
sesión ni <strong>de</strong> contexto.<br />
6. Conclusiones y trabajo futuro<br />
En este artículo hemos pres<strong>en</strong>tado una ext<strong>en</strong>sión <strong>de</strong> a los objetos <strong>de</strong> apr<strong>en</strong>dizaje para<br />
hacerlos adaptarse al contexto <strong>de</strong>l usuario. Aunque <strong>la</strong> p<strong>la</strong>taforma que implem<strong>en</strong>ta los<br />
objetos <strong>de</strong> apr<strong>en</strong>dizaje adaptativos esta aún <strong>en</strong> <strong>de</strong>sarrollo los resultados preliminares<br />
muestran que el cont<strong>en</strong>ido mostrado al usuario es mas a<strong>de</strong>cuado. Pres<strong>en</strong>tando <strong>la</strong><br />
información relevante para el usuario <strong>en</strong> el formato multimedia que más facilite su<br />
apr<strong>en</strong>dizaje.<br />
Reconocimi<strong>en</strong>tos. Este trabajo es parcialm<strong>en</strong>te soportado por UC-Mexus bajo el<br />
programa <strong>de</strong> posdoctorado 2003-2004, SEP-PROMEP bajo el número <strong>de</strong> folio PTC-<br />
UABC-16, UABC con el número <strong>de</strong> proyecto 371. Cualquier opinión, <strong>de</strong>scubrimi<strong>en</strong>to,<br />
conclusión o recom<strong>en</strong>dación expresada <strong>en</strong> este material solo manifiestan <strong>la</strong>s i<strong>de</strong>as <strong>de</strong><br />
los autores y no necesariam<strong>en</strong>te reflejan el punto <strong>de</strong> vista <strong>de</strong> UC-Mexus, SEP o UABC.<br />
7. Refer<strong>en</strong>cias<br />
[1] G.F. Knolmayer, “Decision Support Mo<strong>de</strong>ls for Composing and Navigating through e-<br />
Learning Objects”, Proceedings of the 36th Hawaii International Confer<strong>en</strong>ce on System Sci<strong>en</strong>ces<br />
(HICSS’03), 2003.<br />
[2] H.J. Re<strong>de</strong>ker, “An Educational Taxonomy for Learning Objects”, Proceedings of the The 3rd<br />
IEEE International Confer<strong>en</strong>ce on Advanced Learning Technologies (ICALT’03), 2003.<br />
[3] D.A. Wiley, Connecting Learning Objects to Instructional Design Theory: A Definition, a<br />
Metaphor, and a Taxonomy In: The Instructional Use of Learning Objects, Bloomington:<br />
Association for Educational Communications and Technology, 2000, pp. 3-23.<br />
[4] D.J. Mullier and M.B. Dixon, “Authoring Educational Hypermedia Using a Semantic<br />
Network”, Proceedings of ED-MEDIA 2000, Montreal, Canada, 2000.
[5] N. H<strong>en</strong>ze and W. Nejdl, “Knowledge Mo<strong>de</strong>ling for Op<strong>en</strong> Adaptive Hypermedia”,<br />
Proceedings of the 2nd International Confer<strong>en</strong>ce on Adaptive Hypermedia and Adaptive Web<br />
Based Systems, May 29-31, 2002, Ma<strong>la</strong>ga, Spain.<br />
[6] SCORM: Sharable Cont<strong>en</strong>t Object Refer<strong>en</strong>ce Mo<strong>de</strong>lhttp://www.adlnet.org<br />
[7] IMS: Instructional Managem<strong>en</strong>t System Project http://www.imsproject.org.<br />
[8] ARIADNE: Alliance of Remote Instructional Authoring and Distribution Networks of<br />
Europe http://www.ariadne.unil.ch .<br />
[9] LOM: Draft Standard for Learning Object Metadata, IEEE 1484.12.1-2002, Jul-15-2002.<br />
[10] P. Dolog, N. H<strong>en</strong>ze and W. Nejdl, “Logic-Based Op<strong>en</strong> Hypermedia for the Semantic Web”,<br />
International Hypertext Confer<strong>en</strong>ce, August 26-31 2003, Nottingham, UK.<br />
[11] L. Anido, M. L<strong>la</strong>mas, M.J. Fernán<strong>de</strong>z, J. Rodríguez, M. Caeiro and J. Santos, “A Standardsdriv<strong>en</strong><br />
Op<strong>en</strong> Architecture for Learning Systems”, Proceedings of the IEEE International<br />
Confer<strong>en</strong>ce on Advanced Learning Techniques (ICALT’01) 2001.<br />
[12] P. Mohan and C. Brooks, “Learning Objects on the Semantic Web”, Proceedings of the The<br />
3rd IEEE International Confer<strong>en</strong>ce on Advanced Learning Technologies (ICALT’03), 2003.<br />
[13] F. Concannon, M. Byrne and J. Shields, “Instructional Design and its implications for<br />
eLearning technologies”, Proceedings of EdTech 2003, May 22-23 2003, Waterford, Ire<strong>la</strong>nd.<br />
[14] DCMI: Dublin Core Metadata Initiative http://www.dublincore.org<br />
[15] O. Con<strong>la</strong>nd, D. Lewis, S. Higel, D. O’Sullivan, V. Wa<strong>de</strong>, “Applying Adaptive Hypermedia<br />
Techniques to Semantic Web Service Compo<strong>sitio</strong>n”, Proceedings of the Workshop on Adaptive<br />
Hypermedia and Adaptive Web-Based Systems (AH2003), May 20, 2003.<br />
[16] C. Barritt, “Reusable Learning Object Strategy Ver. 4.0”, Cisco Systems Inc. November<br />
2001. http://newsroom.cisco.com/dlls/innovators/e_learning/tech.html.<br />
[17] N. H<strong>en</strong>ze: "Adaptive Hyperbooks: Adaptation for Project-Based Learning Resources", PhD<br />
Thesis, University of Hannover, April 2000.<br />
[18] About Learning Objects, <strong>en</strong> <strong>la</strong> Universidad <strong>de</strong> Wesleyan<br />
(http://learningobjects.wesleyan.edu/about/in<strong>de</strong>x.html)<br />
[19] D.R. B<strong>en</strong>yon y D.M. Murray, “Adaptive Systems; from intellig<strong>en</strong>t tutoring to autonomous<br />
ag<strong>en</strong>ts”. Knowledge-based Systems, 6 (3) 1993<br />
[20] P. Brusilovsky, Methods and techniques of adaptive hypermedia. User Mo<strong>de</strong>ling and User-<br />
Adapted Interaction, 6 (2-3), pp. 87-129. 1996.
Propuesta <strong>de</strong> Metodología para e<strong>la</strong>boración <strong>de</strong> cursos <strong>en</strong><br />
línea utilizando Objetos <strong>de</strong> Apr<strong>en</strong>dizaje y Software Libre<br />
como <strong>en</strong>torno <strong>de</strong> apr<strong>en</strong>dizaje.<br />
Juan P Cardona S. y Francisco Álvarez R.<br />
Universidad Autónoma <strong>de</strong> Aguascali<strong>en</strong>tes<br />
Av. Universidad No. 940, c.p. 20100/Norte, México<br />
fjalvar@correo.uaa.mx jpcardon@correo.uaa.mx<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve: Apr<strong>en</strong>dizaje asistido por Tecnología, Diseño <strong>de</strong> cursos <strong>en</strong> línea,<br />
Objetos <strong>de</strong> Apr<strong>en</strong>dizaje, GNU GPL (G<strong>en</strong>eral Public Lic<strong>en</strong>ce,)<br />
Abstract<br />
El pres<strong>en</strong>te trabajo se refiere a <strong>la</strong> propuesta <strong>de</strong> un curso <strong>en</strong> línea diseñado con Objetos<br />
<strong>de</strong> Apr<strong>en</strong>dizaje como diseño instruccional; utilizando HTML como herrami<strong>en</strong>ta <strong>de</strong><br />
diseño y como p<strong>la</strong>taforma <strong>de</strong> herrami<strong>en</strong>tas <strong>de</strong> apr<strong>en</strong>dizaje utiliza un software <strong>de</strong><br />
lic<strong>en</strong>cia pública g<strong>en</strong>eral (GNU GPL, 2004) basado <strong>en</strong> PHP 1 /MySQL 2 l<strong>la</strong>mado<br />
C<strong>la</strong>roline (C<strong>la</strong>roline, 2001) el cual provee un <strong>en</strong>torno <strong>de</strong> apr<strong>en</strong>dizaje co<strong>la</strong>borativo<br />
don<strong>de</strong> maestros e instituciones pued<strong>en</strong> crear y administrar cursos a través <strong>de</strong> <strong>la</strong> red<br />
Internet. La propuesta es una metodología para <strong>la</strong> integración <strong>de</strong> estos dos elem<strong>en</strong>tos<br />
con <strong>la</strong> libertad <strong>de</strong> <strong>de</strong>finir el diseño instruccional <strong>de</strong>l curso que para este caso se eligió el<br />
diseño <strong>de</strong> Objetos <strong>de</strong> Apr<strong>en</strong>dizaje.<br />
The pres<strong>en</strong>t work focuses to the application of an on-line course <strong>de</strong>signed<br />
with Learning Objects as educative <strong>de</strong>sign; using HTML as our <strong>de</strong>sign tool. As<br />
a p<strong>la</strong>tform of learning tools it uses a g<strong>en</strong>eral public lic<strong>en</strong>se (GNU GPL,<br />
2004) software based on called PHP/MySQL: C<strong>la</strong>roline (C<strong>la</strong>roline, 2001) which<br />
provi<strong>de</strong>s an common learning <strong>en</strong>vironm<strong>en</strong>t where teachers and institutions can<br />
create and manage their courses through Internet. The proposal is a<br />
methodology for the integration of these two elem<strong>en</strong>ts with the freedom of<br />
1 L<strong>en</strong>guaje <strong>de</strong> instrucciones script diseñado especialm<strong>en</strong>te para <strong>de</strong>sarrollos <strong>en</strong> internet y pue<strong>de</strong><br />
ser mezc<strong>la</strong>do con otros l<strong>en</strong>guajes para internet como HTML (HiperText Markup Language)<br />
2<br />
Base <strong>de</strong> Datos con lic<strong>en</strong>cia pública g<strong>en</strong>eral (GNU GPL) <strong>de</strong> mayor uso <strong>en</strong> el mundo por su<br />
r<strong>en</strong>dimi<strong>en</strong>to y seguridad.
<strong>de</strong>fining the educational <strong>de</strong>sign of the course that in this case, the<br />
Learning Objects take p<strong>la</strong>ce.<br />
I. Introducción<br />
En el ámbito internacional <strong>de</strong> apr<strong>en</strong>dizaje basado <strong>en</strong> tecnología, <strong>en</strong> <strong>la</strong> área <strong>de</strong><br />
Educación Abierta y a Distancia, se están diseñando los cursos con los últimos avances<br />
<strong>de</strong> <strong>la</strong> Psicología Educativa como el diseño instruccional, <strong>en</strong> el caso <strong>de</strong> cursos <strong>en</strong><br />
<strong>en</strong>tornos virtuales el diseño instruccional más idóneo y mas utilizado es Objetos <strong>de</strong><br />
Apr<strong>en</strong>dizaje.<br />
El mismo nombre <strong>de</strong> Objetos <strong>de</strong> Apr<strong>en</strong>dizaje (OA) se utiliza para d<strong>en</strong>ominar a <strong>la</strong><br />
<strong>de</strong>scripción <strong>de</strong> un tipo g<strong>en</strong>érico <strong>de</strong> dato, es <strong>de</strong>cir datos acerca <strong>de</strong> los datos o lo que es lo<br />
mismo: metadata, este esquema -metadata se utiliza como unidad <strong>de</strong> almac<strong>en</strong>ami<strong>en</strong>to y<br />
los datos almac<strong>en</strong>ados bajo este esquema se conoc<strong>en</strong> como Objetos, si <strong>la</strong> información<br />
es un apoyo al proceso <strong>de</strong> <strong>en</strong>señanza -apr<strong>en</strong>dizaje <strong>en</strong>tonces será un Objeto <strong>de</strong><br />
Apr<strong>en</strong>dizaje.<br />
Esta organización <strong>de</strong> <strong>la</strong> información hace posible compartir y explotar <strong>la</strong> información<br />
<strong>en</strong>tre usuarios y <strong>en</strong>tre sistemas y así cumplir uno <strong>de</strong> los principios <strong>de</strong>l OA: que pueda<br />
ser “reusable, interoperable y con posibilida<strong>de</strong>s <strong>de</strong> <strong>en</strong>samble “(Wiley, 2001).<br />
La información pue<strong>de</strong> ser compartida automáticam<strong>en</strong>te siempre y cuando se ajuste a<br />
algún estándar metadata, <strong>en</strong>tre los estándares actuales está el LOM Learnin g Object<br />
Metadata creado por el Comité <strong>de</strong> Estandares <strong>de</strong> Tecnologías <strong>de</strong> Apr<strong>en</strong>dizaje <strong>de</strong>l IEEE,<br />
Institute of Electrical and Electronics Engineer, Inc., el DCIM Dublín Core Metadata<br />
Initiative, el SCORM (Sharable Courseware Object Refer<strong>en</strong>t Mo<strong>de</strong>l, el IMS<br />
Information Managem<strong>en</strong>t System y <strong>en</strong> México actualm<strong>en</strong>te se esta trabajando <strong>en</strong> un<br />
Repositorio Distribuido <strong>de</strong> Objetos <strong>de</strong> Apr<strong>en</strong>dizaje (REDOBA) que utilizará un<br />
esquema-metadata propio.<br />
Para poner <strong>en</strong> operación un curso <strong>en</strong> línea es necesario contar con una p<strong>la</strong>taforma o<br />
aplicación informática que cont<strong>en</strong>ga herrami<strong>en</strong>tas <strong>de</strong> apoyo al proceso <strong>de</strong> <strong>en</strong>señanzaapr<strong>en</strong>dizaje,<br />
esta p<strong>la</strong>taforma pue<strong>de</strong> ser comprada, r<strong>en</strong>tada, hecha a <strong>la</strong> medida o hacer<br />
uso <strong>de</strong> p<strong>la</strong>taformas <strong>de</strong> lic<strong>en</strong>cia pública.<br />
El paso sigui<strong>en</strong>te es propiam<strong>en</strong>te poner <strong>en</strong> “línea” el curso pres<strong>en</strong>te, para esto es<br />
necesario una computadora propia que t<strong>en</strong>ga acceso a Internet ó r<strong>en</strong>tar el servicio <strong>de</strong><br />
hospedaje <strong>de</strong>l curso con alguna compañía que ofrezca este servicio.<br />
La p<strong>la</strong>taforma a utilizar <strong>de</strong>berá ser <strong>la</strong> más a<strong>de</strong>cuada a <strong>la</strong>s caracterís ticas <strong>de</strong>l curso, para<br />
esta propuesta se eligió <strong>la</strong> p<strong>la</strong>taforma C<strong>la</strong>roline por <strong>la</strong> s<strong>en</strong>cillez <strong>de</strong> su manejo y <strong>la</strong><br />
integridad <strong>de</strong> funcionami<strong>en</strong>to.
El proyecto C<strong>la</strong>roline fue inicialm<strong>en</strong>te <strong>de</strong>sarrol<strong>la</strong>do por <strong>la</strong> Universidad Católica <strong>de</strong><br />
Louvain, Bélgica por Thomas De Praetere, Hugues Peeters y Christophe Gesché,<br />
(UCL, 2001) y <strong>de</strong>s<strong>de</strong> <strong>en</strong>tonces lo <strong>de</strong>sarrol<strong>la</strong> un red internacional <strong>de</strong> maestros y<br />
programadores que recic<strong>la</strong> programas completos o piezas <strong>de</strong> código <strong>en</strong>contrados <strong>en</strong> <strong>la</strong>s<br />
vastas librerías que <strong>de</strong>sarrol<strong>la</strong> <strong>la</strong> comunidad mundia l <strong>de</strong> código libre, (C<strong>la</strong>roline, 2004).<br />
II. Justificación <strong>de</strong>l uso <strong>de</strong> C<strong>la</strong>roline<br />
En <strong>la</strong> elección <strong>de</strong> <strong>la</strong> p<strong>la</strong>taforma C<strong>la</strong>roline se consi<strong>de</strong>raron algunos indicadores<br />
sugeridos por el Gabinete <strong>de</strong> Tele Educación (GATE) <strong>de</strong> <strong>la</strong> Universidad Politécnica <strong>de</strong><br />
Madrid (UPM, 2004), estos indicadores se agrupan <strong>en</strong> 5 categorías:<br />
1. Información Técnica<br />
1.1 Características g<strong>en</strong>erales<br />
Evalúa fundam<strong>en</strong>talm<strong>en</strong>te si se adapta <strong>en</strong> lo básico a <strong>la</strong>s necesida<strong>de</strong>s y<br />
posibilida<strong>de</strong>s <strong>de</strong> <strong>la</strong> institución<br />
Aspecto a Evaluar<br />
Evaluación <strong>de</strong> C<strong>la</strong>roline<br />
a) Idiomas Es multil<strong>en</strong>guaje<br />
b) Numero <strong>de</strong> usuarios permitidos Ilimitado, <strong>de</strong>p<strong>en</strong><strong>de</strong> hardware<br />
c) Numero <strong>de</strong> cursos Ilimitado, <strong>de</strong>p<strong>en</strong><strong>de</strong> hardware<br />
d) Adaptable Permite integrar material<br />
did áctico<br />
e) Precio Gratis<br />
d) Servicio Técnico Muy pobre<br />
1.2 Compatibilidad<br />
a) Requisitos Hardware y Software Ver Anexo A<br />
d) Estandares IMS, AICC, ADL-SCORM, LOM ADL-SCORM<br />
1.2 Robustez<br />
Evalúa <strong>la</strong> fiabilidad <strong>de</strong>l uso <strong>de</strong> <strong>la</strong> p<strong>la</strong>taforma tanto <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> su<br />
consist<strong>en</strong>cia como <strong>de</strong> su protección.<br />
a) Integridad <strong>de</strong> funcionami<strong>en</strong>to No fal<strong>la</strong>s reportadas<br />
2. Edición <strong>de</strong> Materiales<br />
Es <strong>la</strong> gama <strong>de</strong> propuestas formativas por Internet..<br />
2.1 Edición <strong>de</strong> cont<strong>en</strong>idos<br />
Evalúa <strong>la</strong>s herrami<strong>en</strong>tas y sus capacida<strong>de</strong>s para <strong>la</strong> edición <strong>de</strong> cont<strong>en</strong>idos<br />
pedagógicos<br />
a) Capacidad <strong>de</strong> conocimi<strong>en</strong>tos técnicos Básico<br />
requeridos y facilidad <strong>de</strong> apr<strong>en</strong>dizaje<br />
d) Manejo <strong>de</strong> archivos para trabajar <strong>en</strong> remoto Si, mediante <strong>en</strong><strong>la</strong>ce
2.2 Edición <strong>de</strong> elem<strong>en</strong>tos <strong>de</strong> evaluación<br />
Evalúa <strong>la</strong> riqueza <strong>de</strong> p<strong>la</strong>ntil<strong>la</strong>s disponibles para g<strong>en</strong>erar elem<strong>en</strong>tos <strong>de</strong> evaluación y<br />
activida<strong>de</strong>s <strong>de</strong> refuerzo<br />
a) tipo <strong>de</strong> preguntas La p<strong>la</strong>taforma provee<br />
exám<strong>en</strong>es <strong>de</strong> opción<br />
múltiple, <strong>la</strong>s <strong>de</strong>más<br />
activida<strong>de</strong>s <strong>de</strong> refuerzo<br />
v<strong>en</strong>drían cont<strong>en</strong>idos <strong>en</strong> el<br />
OA<br />
b) Riqueza <strong>de</strong> recursos <strong>en</strong> cada pregunta Pobre, <strong>de</strong>p<strong>en</strong><strong>de</strong> <strong>de</strong>l OA<br />
2.3 Creación <strong>de</strong> otros elem<strong>en</strong>tos complem<strong>en</strong>tarios<br />
a) Tipos <strong>de</strong> activida<strong>de</strong>s Foros, chat, repositorio <strong>de</strong><br />
docum<strong>en</strong>tos<br />
3. Proceso <strong>de</strong> Enseñanza -Apr<strong>en</strong>dizaje<br />
Prestaciones <strong>de</strong> <strong>la</strong> p<strong>la</strong>taforma <strong>en</strong> lo refer<strong>en</strong>te al <strong>de</strong>sarrollo <strong>de</strong> los cursos<br />
3.1 P<strong>la</strong>nificación <strong>de</strong> un curso<br />
a) Guía <strong>de</strong>l curso Si aplica<br />
b) Integración <strong>de</strong> cont<strong>en</strong>idos, activida<strong>de</strong>s y Si aplica<br />
recursos<br />
3.2 Supervisión y control <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong>l curso<br />
b) Capacidad <strong>de</strong> automatizar tareas <strong>de</strong> control Si aplica<br />
d) G<strong>en</strong>eración <strong>de</strong> un expedi<strong>en</strong>te <strong>de</strong>l alumno En construcción.<br />
3.3 Herrami<strong>en</strong>tas específicas <strong>de</strong>l alumno<br />
a) Acceso al material Aplica <strong>en</strong> 90%<br />
b) Control <strong>de</strong> su progreso Regu<strong>la</strong>r<br />
3.4 Servicios <strong>de</strong> Comunicación<br />
a) Cal<strong>en</strong>dario Si aplica<br />
b) Correo electrónico Si aplica<br />
c) Foros <strong>de</strong> Discusión Si aplica<br />
d) Trabajo <strong>en</strong> grupo Si aplica<br />
e) Chat Si aplica<br />
f) Pizarra compartida<br />
g) Tablón <strong>de</strong> anuncios Si aplica<br />
h) Audioconfer<strong>en</strong>cia No aplica<br />
g) Vi<strong>de</strong>oconfer<strong>en</strong>cia No aplica<br />
4. Administración y Gestión Académica<br />
Todos los aspectos re<strong>la</strong>cionados con <strong>la</strong> admisión y matricu<strong>la</strong>ción <strong>de</strong> los estudiantes<br />
<strong>en</strong> los difer<strong>en</strong>tes cursos, gestión administrativa y e<strong>la</strong>boración <strong>de</strong> informes.
4.1 Gestión <strong>de</strong> usuarios<br />
d) Gestión <strong>de</strong> <strong>la</strong> matricu<strong>la</strong>ción <strong>de</strong> los alumnos a<br />
<strong>la</strong>s asignaturas<br />
4.2 Ord<strong>en</strong>ación Académica<br />
a) Capacidad para dar <strong>de</strong> alta cursos y<br />
convocatorias<br />
b) Capacidad para obt<strong>en</strong>er listados <strong>de</strong> alumnos<br />
por curso y convocatoria<br />
4.3 Informes<br />
a) E<strong>la</strong>boración <strong>de</strong> estadísticas e informes sobre el<br />
trabajo y apr<strong>en</strong>dizaje <strong>de</strong> alumnos<br />
Si aplica<br />
Si aplica<br />
En construcción<br />
En construcción<br />
5. Otras características<br />
Son aspectos que <strong>en</strong> alguna medida son subjetivos y que están re<strong>la</strong>cionados con <strong>la</strong><br />
confianza que a priori nos ofrece <strong>la</strong> p<strong>la</strong>taforma.<br />
5.1 Madurez y Difusión<br />
a) Historial <strong>de</strong> <strong>la</strong> P<strong>la</strong>taforma Consist<strong>en</strong>te<br />
d) Evaluaciones realizadas por organismos e Evaluado por Cátedra<br />
instituciones in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>tes <strong>en</strong> estudios UNESCO, Educación a<br />
comparativos.<br />
Distancia, UNED<br />
5.2 Interface <strong>de</strong> usuario<br />
Evalúa tanto <strong>la</strong> s<strong>en</strong>cillez <strong>de</strong> manejo como <strong>la</strong> comodidad y amabilidad <strong>de</strong> uso<br />
a) Diseño y navegación Amigable<br />
d) Trabajo off-line, permite <strong>de</strong>scargar el curso o No implem<strong>en</strong>tado<br />
parte <strong>de</strong> el.<br />
5.3 Ori<strong>en</strong>taciones para su correcto manejo<br />
Evalúa <strong>la</strong> cantidad y calidad <strong>de</strong>l material disponible para apr<strong>en</strong><strong>de</strong>r a utilizar<br />
correctam<strong>en</strong>te <strong>la</strong> p<strong>la</strong>taforma.<br />
a) Tutoriales y docum<strong>en</strong>tación No aplica<br />
b) Ayudas on-line No aplica<br />
La p<strong>la</strong>taforma ti<strong>en</strong>e <strong>la</strong> fortaleza <strong>de</strong> cont<strong>en</strong>er <strong>la</strong> mayoría <strong>de</strong> herrami<strong>en</strong>tas <strong>de</strong> apr<strong>en</strong>dizaje<br />
integradas <strong>en</strong> un solo sistema y proveer el código para adaptarlo a <strong>la</strong>s necesida<strong>de</strong>s<br />
regionales, <strong>la</strong>s <strong>de</strong>sv<strong>en</strong>tajas es el trabajo <strong>en</strong> investigar y apr<strong>en</strong><strong>de</strong>r los aspectos técnicos<br />
para ajustarlo a <strong>la</strong>s necesida<strong>de</strong>s específicas ya que hay poco material docum<strong>en</strong>tal <strong>de</strong><br />
apoyo y muy poca asist<strong>en</strong>cia técnica <strong>en</strong> estas p<strong>la</strong>taformas; <strong>en</strong> términos g<strong>en</strong>erales son<br />
<strong>la</strong>s mismas v<strong>en</strong>tajas y <strong>de</strong>sv<strong>en</strong>tajas <strong>de</strong> <strong>la</strong> mayoría <strong>de</strong>l software <strong>de</strong> lic<strong>en</strong>cia pública.<br />
La propuesta <strong>de</strong> esta metodología es resumir <strong>la</strong>s activida<strong>de</strong>s necesarias para lograr una<br />
p<strong>la</strong>taforma ajustada a <strong>la</strong>s necesida<strong>de</strong>s locales o regionales y que incluya el material <strong>de</strong>l<br />
curso <strong>en</strong> un formato <strong>de</strong> repositorio <strong>de</strong> Objetos <strong>de</strong> Apr<strong>en</strong>dizaje.
III. Arquitectura <strong>de</strong> <strong>la</strong> propuesta <strong>de</strong> aplicación<br />
El sistema C<strong>la</strong>roline <strong>en</strong> <strong>la</strong> pantal<strong>la</strong> principal <strong>de</strong>spliega categorías <strong>de</strong> área conocimi<strong>en</strong>tos<br />
don<strong>de</strong> se pue<strong>de</strong> dar <strong>de</strong> alta cursos afines a cada categoría, por cada curso provee <strong>la</strong>s<br />
herrami<strong>en</strong>tas <strong>de</strong> apr<strong>en</strong>dizaje co<strong>la</strong>borativo como foros, repositorio <strong>de</strong> docum<strong>en</strong>tos,<br />
ag<strong>en</strong>da, chat, asignación <strong>de</strong> áreas, ligas, administración <strong>de</strong> perfiles <strong>de</strong> usuarios<br />
conformando un <strong>en</strong>torno <strong>de</strong> apr<strong>en</strong>dizaje amigable.<br />
La propuesta <strong>de</strong> <strong>la</strong> aplicación consiste <strong>en</strong> utilizar una <strong>de</strong> <strong>la</strong>s opciones <strong>de</strong> C<strong>la</strong>roline para<br />
<strong>en</strong><strong>la</strong>zar<strong>la</strong> a un repositorio <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje que se utilizarán para los diversos<br />
cursos, a<strong>de</strong>más <strong>de</strong> temas re<strong>la</strong>cionadas que se consi<strong>de</strong>r<strong>en</strong> que puedan apoyar el proceso<br />
<strong>de</strong> apr<strong>en</strong>diza je.<br />
A continuación se muestra el esquema <strong>de</strong>l sistema:<br />
Fig. 1. Esquema <strong>de</strong> Interacción <strong>de</strong>l <strong>en</strong>torno <strong>de</strong> apr<strong>en</strong>dizaje<br />
IV. Arquitectura <strong>de</strong> C<strong>la</strong>roline e Integración <strong>de</strong>l Repositorio <strong>de</strong><br />
Objetos <strong>de</strong> Apr<strong>en</strong>dizaje<br />
C<strong>la</strong>roline es un sistema integrado con los principales programas y segm<strong>en</strong>tos <strong>de</strong><br />
programas que ha <strong>de</strong>sarrol<strong>la</strong>do <strong>la</strong> comunidad <strong>de</strong> código libre, por su misma<br />
arquitectura permite <strong>la</strong> interacción con otros compon<strong>en</strong>tes, como es el caso <strong>de</strong> un<br />
repositorio <strong>de</strong> Objetos <strong>de</strong> Apr<strong>en</strong>dizaje, <strong>la</strong> sigui<strong>en</strong>te gráfica muestra los programas y sus<br />
autores, a<strong>de</strong>más <strong>de</strong> <strong>la</strong> integración <strong>de</strong>l repositorio <strong>de</strong> OA.
Fig. No. 2 Integración <strong>de</strong> <strong>la</strong>s distintas herrami<strong>en</strong>tas <strong>de</strong> apr<strong>en</strong>dizaje <strong>en</strong> C<strong>la</strong>roline<br />
incluy<strong>en</strong>do el Repositorio <strong>de</strong> Objetos <strong>de</strong> Apr<strong>en</strong>dizaje.<br />
V. Diseño y construcción <strong>de</strong> cont<strong>en</strong>idos <strong>de</strong>l curso basado <strong>en</strong> Objetos<br />
<strong>de</strong> Apr<strong>en</strong>dizaje<br />
El cont<strong>en</strong>ido <strong>de</strong>l curso se guardará <strong>en</strong> un docum<strong>en</strong>to con un formato que sea rico <strong>en</strong><br />
expresión gráfica, con hipertexto, que pueda <strong>en</strong><strong>la</strong>zarse a otros recursos y compatible<br />
con el <strong>en</strong>torno don<strong>de</strong> se trabaja que es el Internet, estamos hab<strong>la</strong>ndo <strong>de</strong> HTML que<br />
propiam<strong>en</strong>te es <strong>la</strong> l<strong>en</strong>gua nativa <strong>de</strong> Internet.<br />
La Internet ó World Wi<strong>de</strong> Web fue diseñada como un universo interactivo <strong>de</strong><br />
información compartida a través <strong>de</strong> personas que puedan comunicarse <strong>en</strong>tre si por<br />
medio <strong>de</strong> maquinas (Berners-Lee, 1996), para este fin se p<strong>en</strong>só hacerlo <strong>de</strong> <strong>la</strong> manera<br />
más simple utilizando un protocolo <strong>de</strong> comunicación HTTP y un l<strong>en</strong>guaje <strong>de</strong> formato<br />
<strong>de</strong> docum<strong>en</strong>tos HTML.<br />
El protocolo con <strong>la</strong> velocidad sufici<strong>en</strong>te para transferir hipertexto es el HTTP<br />
(HyperText Transfer Protocol), hipertexto se refiere a <strong>la</strong> pres<strong>en</strong>tación <strong>de</strong> información<br />
como una liga a una red <strong>de</strong> nodos don<strong>de</strong> los lectores son libres <strong>de</strong> navegar <strong>en</strong> un modo<br />
no lineal, lo que permite múltiples autores y que sea difícil <strong>de</strong> <strong>de</strong>finir los limites <strong>de</strong> esta<br />
información (Nelson, 1965).<br />
Las sig<strong>la</strong>s <strong>de</strong> HTML son HyperText Mark-up Language; Mark-up es un término <strong>de</strong><br />
impr<strong>en</strong>ta que significa el conjunto <strong>de</strong> instrucciones estilísticas <strong>de</strong>tal<strong>la</strong>das escritas <strong>en</strong> un<br />
manuscrito que <strong>de</strong>be ser tipografiado. Así, HTML podría ser traducido como<br />
"L<strong>en</strong>guaje <strong>de</strong> Formato <strong>de</strong> Docum<strong>en</strong>tos para Hipertexto".
El material <strong>de</strong>l curso específico <strong>de</strong>berá ser escrito <strong>en</strong> HTML y <strong>en</strong> unida<strong>de</strong>s <strong>de</strong><br />
apr<strong>en</strong>dizaje u Objetos <strong>de</strong> Apr<strong>en</strong>dizaje, con <strong>la</strong> int<strong>en</strong>ción <strong>de</strong> mejorar el proceso <strong>de</strong><br />
<strong>en</strong>señanza-apr<strong>en</strong>dizaje; cada Objeto <strong>de</strong> Apr<strong>en</strong>dizaje <strong>de</strong>berá cont<strong>en</strong>er: el insumo<br />
informativo, repres<strong>en</strong>tación por difer<strong>en</strong>tes canales perceptuales, contexto <strong>de</strong> uso,<br />
proceso o problema a resolver, <strong>la</strong>s estrategias <strong>de</strong> apr<strong>en</strong>dizaje, g<strong>en</strong>eración <strong>de</strong> producto<br />
<strong>de</strong> apr<strong>en</strong>dizaje y cualquier otro apoyo al proceso <strong>de</strong> <strong>en</strong>señanza-apr<strong>en</strong>dizaje<br />
(Chan,2002).<br />
Se pued<strong>en</strong> crear docum<strong>en</strong>tos HTML utilizando un editor <strong>de</strong> texto, pero se recomi<strong>en</strong>da<br />
utilizar herrami<strong>en</strong>tas especializadas para este fin como Macromedia, FrontPage,<br />
WYSEWIG, etc.<br />
VI. Evaluación <strong>de</strong> <strong>la</strong> propuesta<br />
El primer criterio son los indicadores <strong>de</strong> <strong>la</strong> UPM (UPM,2004) respecto a <strong>la</strong> p<strong>la</strong>taforma,<br />
<strong>la</strong> evaluación <strong>de</strong>l diseño instruccional <strong>de</strong>l curso será mediante <strong>la</strong> aplicación <strong>de</strong>l mismo<br />
a nivel medio superior, con una proporción 80% <strong>en</strong> línea y 20% pres<strong>en</strong>cial, esta<br />
proporción es por ser alumnos <strong>de</strong> primeros semestres y todavía no ti<strong>en</strong><strong>en</strong> <strong>la</strong> c<strong>la</strong>ra <strong>la</strong><br />
mecánica <strong>de</strong>l curso.<br />
Conclusiones<br />
La revolución <strong>de</strong>l mundo <strong>de</strong> <strong>la</strong> información con el <strong>de</strong>sarrollo <strong>de</strong> tecnologías <strong>de</strong><br />
computo y telecomunicaciones, han g<strong>en</strong>erado opciones como <strong>la</strong>s lic<strong>en</strong>cias públicas <strong>de</strong><br />
software, que son i<strong>de</strong>ales para probar prototipos <strong>de</strong> cursos, <strong>de</strong> mo<strong>de</strong>los pedagógicos,<br />
migración <strong>de</strong> materiales didácticos y creación <strong>de</strong> materiales didácticos a<strong>de</strong>cuados a<br />
estos <strong>en</strong>tornos virtuales antes <strong>de</strong> <strong>de</strong>cidir si se utilizan p<strong>la</strong>taformas comerciales o libres.<br />
Refer<strong>en</strong>cias Bibliográficas<br />
ADL SCORM http://www.adlnet.org, última visita Abril 2004<br />
Berners-Lee,Tim. 1996. Publicacion especial <strong>de</strong> <strong>Computación</strong> IEEE Octubre 1996, el autor es<br />
creador <strong>de</strong>l Internet y Director <strong>de</strong>l Consorcio World Wi<strong>de</strong> Web y ci<strong>en</strong>tífico M.I.T.<br />
Chan, Maria El<strong>en</strong>a 2002. Revista Apertura, Marzo 2002 Confer<strong>en</strong>cias Magistrales <strong>de</strong>l X<br />
Encu<strong>en</strong>tro Internacionales <strong>de</strong> Educación a Distancia “Hacia <strong>la</strong> construcción <strong>de</strong> <strong>la</strong> sociedad<br />
<strong>de</strong>l apr<strong>en</strong>dizaje”<br />
C<strong>la</strong>roline, 2001. Software <strong>de</strong>sarrol<strong>la</strong>do principalm<strong>en</strong>te por Thomas De Praetere, Hugues Peeters<br />
(peeters@ipm.ucl.ac.be), Christophe Gesché - aka Moosh (gesche@ipm.ucl.ac.be) <strong>en</strong> <strong>la</strong><br />
Universidad Catolica <strong>de</strong> Louvain, Bélgica.<br />
C<strong>la</strong>roline, 2004. http://www.c<strong>la</strong>roline.net/credits.htm<br />
Dublín Core Metadata Initiative, http://www.dublincore.org, última visita Abril 2004<br />
GNU GPL, 2004. GNU G<strong>en</strong>eral Public Lic<strong>en</strong>se, proyecto que <strong>de</strong>fine <strong>la</strong> libertad <strong>de</strong> usar,<br />
modificar y distribuir software gratuitam<strong>en</strong>te o con contraprestación.<br />
ht tp://www.gnu.org/gnu/thegnuproject.html
IEEE 1484.12.1, Learning Technology Standard Committee, Learning Object Metadata standard<br />
(LOM), Draft Standard for Learning Object Metadata, Diciembre 2002.<br />
IMS Global Learning Consortium, Inc. http://www.imsproject.org, última visita Abril 2004<br />
Nelson, Theodor Holm 1965, "A File Structure for the Complex, the Changing, and the<br />
In<strong>de</strong>terminate", 20va confer<strong>en</strong>cia anual <strong>de</strong> <strong>la</strong> Association of Computer Machinery (ACM),<br />
UCL, 2004. Universidad Católica <strong>de</strong> Louvain, Bélgica, universidad creada el 9 <strong>de</strong> Diciembre <strong>de</strong><br />
1425 a instancia <strong>de</strong>l Duke Juan IV <strong>de</strong> Bravant. http://www.ucl.ac.be/<br />
UPM, 2004, Universidad Politécnica <strong>de</strong> Madrid, Gabinete <strong>de</strong> Tele Educ ación (GATE),<br />
http://www.upm.es/<br />
http://www.gate.upm.es/p<strong>la</strong>taformas/p<strong>la</strong>taformas_vistas/docum<strong>en</strong>tos/indicadores.pdf<br />
Wiley, David A. (2001), Connecting learning objects to instructional <strong>de</strong>sign theory: a <strong>de</strong>finition,<br />
a metaphor, and a taxonomy. Utah State University.<br />
Anexo A<br />
Visitar el <strong>sitio</strong> http://www.c<strong>la</strong>roline.net/downlo ad.htm, ahí se seña<strong>la</strong> <strong>la</strong> versión mas<br />
estable, se recomi<strong>en</strong>da <strong>la</strong> versión 1.4.2., los requerimi<strong>en</strong>tos para insta<strong>la</strong>r C<strong>la</strong>roline <strong>en</strong><br />
un servidor local o remoto son los sigui<strong>en</strong>tes:<br />
Software<br />
• Servidor web (se recomi<strong>en</strong>da Apache, aunque otros pued<strong>en</strong> funcionar)<br />
• El software PHP 4.* o reci<strong>en</strong>tes<br />
• La base <strong>de</strong> datos MySQL versión 3.23 * o reci<strong>en</strong>tes<br />
Hardware<br />
• Computadora procesador <strong>de</strong>s<strong>de</strong> P<strong>en</strong>tium 3<br />
• 256 Mb Ram,<br />
• Disco Duro <strong>de</strong>s<strong>de</strong> 10 GB<br />
• Conexión a Internet
Guías <strong>de</strong>diseño para el<strong>de</strong>sarrollo <strong>de</strong>objetos <strong>de</strong><br />
apr<strong>en</strong>dizaje<br />
Jorge Agui<strong>la</strong>r Cisneros 1 , Jaime Muñoz Arteaga 2 , Saúl Pomares Hernán<strong>de</strong>z 3<br />
1<br />
Universidad Tecnológica <strong>de</strong>Pueb<strong>la</strong>, Antiguo Camino a<strong>la</strong>Resurrección #1002-A<br />
Zona Industrial, Pueb<strong>la</strong>, Pue., México, C.P. 72300,<br />
jagui<strong>la</strong>r@utpueb<strong>la</strong>.edu.mx<br />
2<br />
Departam<strong>en</strong>to <strong>de</strong> Sistemas <strong>de</strong> Información <strong>de</strong> <strong>la</strong> Universidad Autónoma <strong>de</strong><br />
Aguascali<strong>en</strong>tes Av. Universidad # 940, Fraccionami<strong>en</strong>to Bosques, C.P. 20100,<br />
Aguascali<strong>en</strong>tes, México.<br />
jmunozar@correo.uaa.mx<br />
3<br />
Instituto Nacional <strong>de</strong>Astrofísica Óptica yElectrónica, CalleLuis EnriqueErro #1,<br />
Tonatzint<strong>la</strong>,Pue., México, Apartado Postal 51y216, 72000,<br />
spomares@inaoep.mx<br />
Resum<strong>en</strong>: En este artículo se pres<strong>en</strong>ta una guía sobre los elem<strong>en</strong>tos que <strong>de</strong>b<strong>en</strong><br />
ser consi<strong>de</strong>rados cuando se diseñan y crean objetos <strong>de</strong> apr<strong>en</strong>dizaje. La guía<br />
propuesta toma como refer<strong>en</strong>cia <strong>la</strong>s características básicas <strong>de</strong> los objetos <strong>de</strong><br />
apr<strong>en</strong>dizaje: accesibilidad, reusabilidad e interoperabilidad. Se consi<strong>de</strong>ran<br />
a<strong>de</strong>más, aspectos pedagógicos para el diseño y creación <strong>de</strong> éstos. Los aspectos<br />
pedagógicos contemp<strong>la</strong>dos <strong>en</strong> este artículo serefier<strong>en</strong> alos difer<strong>en</strong>tes estilos <strong>de</strong><br />
apr<strong>en</strong>dizaje pres<strong>en</strong>tes <strong>en</strong> los usuarios <strong>de</strong> los objetos que se <strong>de</strong>sarroll<strong>en</strong>. Al<br />
<strong>de</strong>sarrol<strong>la</strong>r objetos <strong>de</strong> apr<strong>en</strong>dizaje con cualida<strong>de</strong>s pedagógicas se podrá garantizar<br />
<strong>de</strong> cierta manera el aum<strong>en</strong>to <strong>en</strong> el porc<strong>en</strong>taje <strong>de</strong> ret<strong>en</strong>ción <strong>de</strong> información <strong>de</strong> los<br />
usuarios y aplicado <strong>en</strong> uncontexto educativo, disminuir elíndice <strong>de</strong>reprobación.<br />
La creación <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje <strong>de</strong>s<strong>de</strong> <strong>la</strong> perspectiva <strong>de</strong> este artículo, se<br />
evaluará <strong>en</strong> el dominio <strong>de</strong><strong>la</strong>smatemáticas universitarias.<br />
Pa<strong>la</strong>bras C<strong>la</strong>ve: Objetos <strong>de</strong> apr<strong>en</strong>dizaje, Guías <strong>de</strong> diseño, Estilos <strong>de</strong><br />
apr<strong>en</strong>dizaje.<br />
1. Introducción<br />
Este artículo hace una contribución <strong>en</strong> el dominio <strong>de</strong> cont<strong>en</strong>idos educativos<br />
digitales. Para ello pres<strong>en</strong>ta una propuesta para <strong>la</strong> construcción <strong>de</strong> objetos <strong>de</strong>
apr<strong>en</strong>dizaje los cuales puedan ser insertados <strong>en</strong> distintos ambi<strong>en</strong>tes <strong>de</strong> apr<strong>en</strong>dizaje.<br />
Tres son <strong>la</strong>s aportaciones <strong>de</strong> esta propuesta: i)<strong>la</strong> <strong>de</strong>terminación <strong>de</strong> los<br />
principales elem<strong>en</strong>tos que <strong>de</strong>b<strong>en</strong> constituir unobjeto <strong>de</strong>apr<strong>en</strong>dizaje, ii)el <strong>de</strong>sarrollo <strong>de</strong><br />
guías para el diseño y construcción <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje usando los elem<strong>en</strong>tos que<br />
se han <strong>de</strong>terminado, yiii) <strong>la</strong>inclusión <strong>de</strong>atributos pedagógicos <strong>en</strong>los objetos <strong>de</strong><br />
apr<strong>en</strong>dizaje creados, los cuales serefier<strong>en</strong> a<strong>la</strong>consi<strong>de</strong>ración <strong>de</strong>difer<strong>en</strong>tes estilos <strong>de</strong><br />
apr<strong>en</strong>dizaje.<br />
En nuestra propuesta, consi<strong>de</strong>rar difer<strong>en</strong>tes estilos <strong>de</strong> apr<strong>en</strong>dizaje implica<br />
crear unobjeto <strong>de</strong> apr<strong>en</strong>dizaje que pres<strong>en</strong>te <strong>la</strong>información <strong>de</strong>l mismo tópico, <strong>de</strong><br />
difer<strong>en</strong>tes formas: textual, gráfica, simu<strong>la</strong>ciones, animaciones, etc.<br />
Una vez que sehan construido objetos <strong>de</strong>apr<strong>en</strong>dizaje basados <strong>en</strong><strong>la</strong>s guías <strong>de</strong><br />
diseño, estos <strong>de</strong>b<strong>en</strong> conservar <strong>la</strong>s características <strong>de</strong>: accesibilidad, reusabilidad e<br />
interoperabilidad.<br />
2. Problemática<br />
Actualm<strong>en</strong>te exist<strong>en</strong> esfuerzos nacionales e internacionales para <strong>la</strong> <strong>de</strong>scripción<br />
<strong>de</strong> objetos <strong>de</strong>apr<strong>en</strong>dizaje através <strong>de</strong>metadatos [1,2,3,4]. Sin embargo, unárea que<br />
<strong>de</strong>be ser consi<strong>de</strong>rada para suinvestigación es<strong>la</strong>refer<strong>en</strong>te al<strong>de</strong>sarrollo <strong>de</strong>guías <strong>de</strong><br />
diseño <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje que permitan <strong>la</strong> construcción <strong>de</strong> éstos, <strong>de</strong> manera<br />
homogénea [5,6,7,8].<br />
Por otro <strong>la</strong>do, investigaciones <strong>en</strong>elárea educativa han permitido <strong>de</strong>terminar<br />
que existe un grave problema <strong>de</strong> aprovechami<strong>en</strong>to <strong>en</strong> el dominio <strong>de</strong> <strong>la</strong>s matemáticas <strong>en</strong><br />
los difer<strong>en</strong>tes niveles <strong>de</strong><strong>en</strong>señanza <strong>de</strong>l sistema educativo nacional [17].<br />
En este artículo se abordan los problemas <strong>de</strong>scritos al proponer guías <strong>de</strong><br />
construcción <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje. Los objetos <strong>de</strong> apr<strong>en</strong>dizaje creados serán<br />
evaluados <strong>en</strong>cursos <strong>de</strong>matemáticas d<strong>en</strong>ivel superior, seespera aum<strong>en</strong>tar elporc<strong>en</strong>taje<br />
<strong>de</strong> aprovechami<strong>en</strong>to <strong>de</strong>esta materia ydisminuir elíndice <strong>de</strong>reprobación y<strong>de</strong>serción<br />
<strong>de</strong> este tipo <strong>de</strong> cursos.<br />
3. Definición, características y c<strong>la</strong>sificación <strong>de</strong> Objetos <strong>de</strong><br />
Apr<strong>en</strong>dizaje<br />
Actualm<strong>en</strong>te no existe una <strong>de</strong>finición única <strong>de</strong> objeto <strong>de</strong> apr<strong>en</strong>dizaje(OA). En<br />
este artículo <strong>la</strong> <strong>de</strong>finición que se adopta es: “un OA es cualquier cont<strong>en</strong>ido digital<br />
utilizado <strong>en</strong> un contexto <strong>de</strong> apr<strong>en</strong>dizaje y accesible a través <strong>de</strong>l Internet”[9]. Al igual<br />
que <strong>en</strong> <strong>la</strong> <strong>de</strong>finición, <strong>en</strong> <strong>la</strong> c<strong>la</strong>sificación no existe un estandar, <strong>la</strong> adoptada <strong>en</strong> este<br />
artículo es <strong>la</strong> que propone David Wiley[10].<br />
Exist<strong>en</strong> tres características básicas <strong>de</strong> un objeto <strong>de</strong> apr<strong>en</strong>dizaje[11]: i)
Accesibilidad. El OA <strong>de</strong>be ser etiquetado, ésto permitite su almac<strong>en</strong>ami<strong>en</strong>to y<br />
refer<strong>en</strong>cia. ii) Reusabilidad/Adaptabilidad. Debe ser funcional para varios contextos <strong>de</strong><br />
apr<strong>en</strong>dizaje. iii) Interoperabilidad. In<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te <strong>de</strong>l medio <strong>de</strong><strong>en</strong>trega y<strong>de</strong>l sistema<br />
<strong>de</strong> administración <strong>de</strong> apr<strong>en</strong>dizaje.<br />
Los tipos <strong>de</strong>OAsson [10]:<br />
1. Fundam<strong>en</strong>tal.- Recurso digital individual, que no está combinado con ningún otro<br />
[12], ejemplo, undocum<strong>en</strong>to <strong>de</strong>texto sobreunsólo tópico.<br />
2. Combinación cerrada.- Un conjunto <strong>de</strong> recursos digitales combinados por el autor<br />
<strong>en</strong> elmom<strong>en</strong>to <strong>de</strong>l diseño <strong>de</strong>l OA, estos recursos digitales nopued<strong>en</strong> ser accesados<br />
individualm<strong>en</strong>te, sino que seaccesan <strong>en</strong>conjunto. Por ejemplo unvi<strong>de</strong>o clip, que<br />
combina audio y vi<strong>de</strong>o, no se pue<strong>de</strong> accesar <strong>de</strong> forma in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te el audio o el<br />
vi<strong>de</strong>o.<br />
3. Combinación abierta.- Un conjunto <strong>de</strong> recursos digitales combinados por una<br />
computadora <strong>en</strong>respuesta auna solicitud. Estos también pued<strong>en</strong> ser reusados <strong>de</strong>forma<br />
individual. Por ejemplo, una página web g<strong>en</strong>erada dinámicam<strong>en</strong>te que combina audio,<br />
texto, vi<strong>de</strong>o.<br />
4. Pres<strong>en</strong>tación g<strong>en</strong>erativa.- Un OA <strong>de</strong> pres<strong>en</strong>tación g<strong>en</strong>erativa ti<strong>en</strong>e una alta<br />
reusabilidad intra-contextual (Pued<strong>en</strong> ser usados una y otra vez <strong>en</strong> contextos simi<strong>la</strong>res),<br />
pero ti<strong>en</strong><strong>en</strong> una baja reusabilidad extra-contextual (no pued<strong>en</strong> ser usados <strong>en</strong>dominios<br />
para los cuales nofueron g<strong>en</strong>erados).<br />
6. G<strong>en</strong>erativa instruccional.- Este tipo <strong>de</strong> OAs es concebido para evaluar <strong>la</strong> capacidad<br />
<strong>de</strong> unapr<strong>en</strong>diz <strong>de</strong>recordar una serie <strong>de</strong>pasos. Enotras pa<strong>la</strong>bras, soportan estrategias<br />
instruccionales abstractas como por ejemplo: recordar y ejecutar una serie <strong>de</strong> pasos.<br />
Por ejemplo <strong>la</strong>id<strong>en</strong>tificación <strong>de</strong><strong>la</strong>molécu<strong>la</strong> <strong>de</strong>agua. Sepres<strong>en</strong>ta <strong>la</strong>teoría <strong>de</strong>los<br />
átomos que forman <strong>la</strong>molécu<strong>la</strong>. Semuestra <strong>la</strong>teoría <strong>de</strong>cómo combinar estos átomos<br />
para obt<strong>en</strong>er dicha molécu<strong>la</strong>. Se pi<strong>de</strong> al apr<strong>en</strong>diz que id<strong>en</strong>tifique esta molécu<strong>la</strong> a partir<br />
<strong>de</strong> undibujo.<br />
Tomando <strong>en</strong>cu<strong>en</strong>ta estos seis tipos <strong>de</strong>OAs, <strong>de</strong>spués <strong>de</strong>que se<strong>de</strong>terminaron<br />
los elem<strong>en</strong>tos que <strong>de</strong>b<strong>en</strong> <strong>de</strong> incluir los OAs, el tipo <strong>de</strong> OA que mejor se adapta al OA<br />
creado apartird<strong>en</strong>uestraguíaeseld<strong>en</strong>ominado combinación cerrada.<br />
4. Estilos <strong>de</strong> apr<strong>en</strong>dizaje<br />
Exist<strong>en</strong> difer<strong>en</strong>tes teorías <strong>de</strong>estilos <strong>de</strong>apr<strong>en</strong>dizaje, este artículo sebasa <strong>en</strong><strong>la</strong><br />
teoría propuesta por David Kolb[14]. En ésta se asume que para adquirir un<br />
conocimi<strong>en</strong>to se <strong>de</strong>be trabajar o procesar <strong>la</strong> información que se recibe. La información<br />
se pue<strong>de</strong> recibir <strong>de</strong>dos formas: i)<strong>de</strong>una experi<strong>en</strong>cia directa yconcreta, ésta seti<strong>en</strong>e<br />
cuando hacemos, visualizamos o experim<strong>en</strong>tamos algo; ii) <strong>de</strong> una experi<strong>en</strong>cia<br />
abstracta, ésta se ti<strong>en</strong>e cuando leemos acerca <strong>de</strong> algo o cuando algui<strong>en</strong> nos lo cu<strong>en</strong>ta.<br />
La experi<strong>en</strong>cia que se t<strong>en</strong>ga, concreta o abstracta se transforma <strong>en</strong><br />
conocimi<strong>en</strong>to cuando <strong>la</strong>procesamos <strong>de</strong>alguna <strong>de</strong>estas dos formas :i)reflexionando y
p<strong>en</strong>sado sobre el<strong>la</strong>s, ii) experim<strong>en</strong>tando <strong>de</strong> forma activa con <strong>la</strong> información recibida.<br />
En <strong>la</strong>figura1vemos gráficam<strong>en</strong>te loantes expuesto.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Fig. 1. Diagrama <strong>de</strong> transformación <strong>de</strong> experi<strong>en</strong>cias <strong>en</strong> conocimi<strong>en</strong>to.<br />
5. Elem<strong>en</strong>tos <strong>de</strong> un objeto <strong>de</strong> apr<strong>en</strong>dizaje<br />
En <strong>la</strong> propuesta <strong>de</strong> este artículo, se sugiere que al <strong>de</strong>sarrol<strong>la</strong>r un OA, éste<br />
cont<strong>en</strong>ga 5 elem<strong>en</strong>tos: Teoría, experim<strong>en</strong>tación, evaluación, co<strong>la</strong>boración y re<strong>la</strong>ción,<br />
como se muestra <strong>en</strong> <strong>la</strong> figura 2. De acuerdo a <strong>la</strong> c<strong>la</strong>sificación <strong>de</strong> OAs, <strong>la</strong> propuesta que<br />
estamos pres<strong>en</strong>tando correspon<strong>de</strong> a <strong>la</strong> categoría combinación cerrada. Otros autores<br />
c<strong>la</strong>sificarían a este OA, como compuesto[5]. Un objeto compuesto consiste <strong>de</strong> dos o<br />
más objetos fundam<strong>en</strong>tales (Exist<strong>en</strong> propuestas <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> OAs basadas <strong>en</strong><br />
objetos fundam<strong>en</strong>tales[6]).<br />
Las sigui<strong>en</strong>tes subsecciones <strong>de</strong>tal<strong>la</strong>n los elem<strong>en</strong>tos <strong>de</strong> <strong>la</strong> propuesta.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Fig. 2.- Esquema g<strong>en</strong>eral <strong>de</strong> un objeto <strong>de</strong> apr<strong>en</strong>dizaje
5.1Teoría<br />
Esta área conti<strong>en</strong>e información sobre el tópico <strong>de</strong>l AO. Esta área favorece a<br />
los usuarios que t<strong>en</strong>ga un estilo <strong>de</strong> apr<strong>en</strong>dizaje abstracto <strong>de</strong>bido a que <strong>en</strong>contrarán<br />
conceptos teóricos sobre el tema abordado.<br />
5.2 Experim<strong>en</strong>tación<br />
Esta área conti<strong>en</strong>e animaciones, simu<strong>la</strong>ciones etc. Esta área favorece alos<br />
usuarios que t<strong>en</strong>gan unestilo <strong>de</strong>apr<strong>en</strong>dizaje concreto. Enesta área elusuario podrá<br />
experim<strong>en</strong>tar y reflexionar los conceptos mostrados <strong>en</strong> el área <strong>de</strong> teoría. En esta área<br />
los usuarios obti<strong>en</strong><strong>en</strong>una experi<strong>en</strong>cia directa yconcreta.<br />
5.3 Evaluación<br />
En esta área se evaluará el conocimi<strong>en</strong>to adquirido <strong>en</strong> el área <strong>de</strong> teoría y<br />
experim<strong>en</strong>tación.<br />
5.4 Co<strong>la</strong>boración<br />
En esta área sepued<strong>en</strong> hacer com<strong>en</strong>tarios sobre elOA. A<strong>de</strong>más, sepued<strong>en</strong><br />
visualizar com<strong>en</strong>tarios <strong>de</strong> otros usuarios. Mediante estos com<strong>en</strong>tarios se hace una<br />
socialización <strong>de</strong>l conocimi<strong>en</strong>to. Laco<strong>la</strong>boración se<strong>en</strong>ti<strong>en</strong><strong>de</strong> como cualquier actividad<br />
que unpar <strong>de</strong>individuos, oungrupo <strong>de</strong>g<strong>en</strong>te hac<strong>en</strong> juntos [15].<br />
5.5Re<strong>la</strong>ción<br />
Esta área conti<strong>en</strong>e ligas a otros OAs re<strong>la</strong>cionados con el tópico. A través <strong>de</strong><br />
el<strong>la</strong>s se pued<strong>en</strong> acce<strong>de</strong>r otros OAs.<br />
Estos 5 elem<strong>en</strong>tos permit<strong>en</strong> <strong>la</strong> construcción <strong>de</strong> OAs, <strong>en</strong> los cuales se consi<strong>de</strong>ra<br />
el área pedagógica como parte fundam<strong>en</strong>tal para el proceso <strong>de</strong> apr<strong>en</strong>dizaje. Para<br />
acce<strong>de</strong>r estos objetos <strong>de</strong> apr<strong>en</strong>dizaje, se ha <strong>de</strong>sarrol<strong>la</strong>do un sistema l<strong>la</strong>mado ArROBA<br />
[16] que se <strong>de</strong>scribe <strong>en</strong> otros artículos.
6. Guias <strong>de</strong> diseño <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje<br />
Acontinuación sepres<strong>en</strong>tan <strong>la</strong>s guías <strong>de</strong>diseño para <strong>la</strong>construcción <strong>de</strong>un<br />
OA, <strong>en</strong> base a los elem<strong>en</strong>tos <strong>de</strong>scritos <strong>en</strong> <strong>la</strong> sección anterior.<br />
1. ElOA<strong>de</strong>be especificarunobjetivo g<strong>en</strong>eral mediante elcual seubique elcontexto <strong>de</strong><br />
apr<strong>en</strong>dizaje. Esteobjetivoselocalizará<strong>en</strong>e<strong>la</strong>réa <strong>de</strong>texto.<br />
2. El OA <strong>de</strong>sarrol<strong>la</strong>do <strong>de</strong>be ser visualizado prefer<strong>en</strong>tem<strong>en</strong>te <strong>en</strong> un espacio que alcance<br />
totalm<strong>en</strong>te <strong>en</strong><strong>la</strong>pantal<strong>la</strong>, esto quiere <strong>de</strong>cir que se<strong>de</strong>be evitar eluso <strong>de</strong>barras <strong>de</strong><br />
<strong>de</strong>sp<strong>la</strong>zami<strong>en</strong>to.<br />
3. La teoría <strong>de</strong>be ser escrita sigui<strong>en</strong>do algún método instruccional, por ejemplo: i)<br />
pistas tipográficas y subrayados.- Seña<strong>la</strong>mi<strong>en</strong>tos que se hac<strong>en</strong> <strong>en</strong> un texto para<br />
<strong>en</strong>fatizar yorganizar ciertos elem<strong>en</strong>tos <strong>de</strong>cont<strong>en</strong>ido, ii) ilustraciones.- Repres<strong>en</strong>tación<br />
visual <strong>de</strong> los conceptos expuestos <strong>en</strong> <strong>la</strong> teoría, iii) preguntas interca<strong>la</strong>das.- Preguntas<br />
insertadas <strong>en</strong>untexto, através <strong>de</strong>estas semanti<strong>en</strong>e <strong>la</strong>at<strong>en</strong>ción yret<strong>en</strong>ción <strong>de</strong>l tópico<br />
estudiado. Serecomi<strong>en</strong>da usar guías <strong>de</strong>colores para <strong>la</strong>s fu<strong>en</strong>tesylos fondos.<br />
4. En el área <strong>de</strong> experim<strong>en</strong>tación se <strong>de</strong>b<strong>en</strong> colocar animaciones que pued<strong>en</strong> ser creadas<br />
através <strong>de</strong>F<strong>la</strong>sh oalgún otro software que permita <strong>la</strong>animación, sepued<strong>en</strong> colocar<br />
applets que nospermitan <strong>la</strong>simu<strong>la</strong>ción osepued<strong>en</strong> incluir vi<strong>de</strong>os.<br />
5. El área <strong>de</strong> evaluación pue<strong>de</strong> cont<strong>en</strong>er preguntas utilizando los sigui<strong>en</strong>tes tipos: i)<br />
re<strong>la</strong>ción.- Sepres<strong>en</strong>tan preguntas <strong>de</strong>l <strong>la</strong>do izquierdo ysus respuestas <strong>de</strong>l <strong>la</strong>do <strong>de</strong>recho<br />
(d<strong>en</strong>tro <strong>de</strong>l área <strong>de</strong>evaluación), elusuario hace una re<strong>la</strong>ción <strong>en</strong>tre el<strong>la</strong>s, ii) opción<br />
múltiple una so<strong>la</strong> opción valida.- El usuario visualiza varias opciones para <strong>la</strong> respuesta<br />
<strong>de</strong> <strong>la</strong> pregunta y sólo una es verda<strong>de</strong>ra, iii) opción múltiple, múltiples opciones<br />
válidas.- El usuario visualiza varias opciones para <strong>la</strong>respuesta <strong>de</strong><strong>la</strong>pregunta ymás <strong>de</strong><br />
una son verda<strong>de</strong>ras, iv) rell<strong>en</strong>ar espacios.- El usuario visualiza una pregunta y un<br />
espacio vacío <strong>en</strong>elcual <strong>de</strong>be escribir alcomplem<strong>en</strong>to <strong>de</strong><strong>la</strong>pregunta. Estas preguntas<br />
serán procesadas yretroalim<strong>en</strong>tarán alusuario inmediatam<strong>en</strong>te.<br />
6. En el área <strong>de</strong> co<strong>la</strong>boración se visualizará un foro <strong>en</strong> el cual los usuarios puedan<br />
interactuar, también sepue<strong>de</strong> agregar una herrami<strong>en</strong>ta que permita alusuario otorgar<br />
una calificación alOA.<br />
7. En el área <strong>de</strong> re<strong>la</strong>ción el usuario <strong>en</strong>contrará ligas hacia otros OAs re<strong>la</strong>cionados con<br />
el que seestá estudiando, serecomi<strong>en</strong>da nopres<strong>en</strong>tar más <strong>de</strong>3ligas con elobjetivo <strong>de</strong><br />
no ocasionar confusión ycarga cognitiva.<br />
Al seguir <strong>la</strong>s guías antes referidas po<strong>de</strong>mos obt<strong>en</strong>er OAs como el que se<br />
muestra <strong>en</strong><strong>la</strong>figura 3.
Fig. 3.- Creación<strong>de</strong>unOAcon los elem<strong>en</strong>tospropuestos.<br />
7. Evaluación<br />
El marco <strong>de</strong> evaluación <strong>de</strong> los objetos <strong>de</strong> apr<strong>en</strong>dizaje creados mediante <strong>la</strong>s<br />
guías propuesta <strong>en</strong> este artículo, será el curso <strong>de</strong> Matemáticas I, impartida d<strong>en</strong>tro <strong>de</strong>l<br />
p<strong>la</strong>n curricu<strong>la</strong>r <strong>de</strong> <strong>la</strong> carrera <strong>de</strong> Telemática <strong>de</strong> <strong>la</strong> Universidad Tecnológica <strong>de</strong> Pueb<strong>la</strong>.<br />
La etapa <strong>de</strong> evaluación se iniciará <strong>en</strong> el periodo septiembre-diciembre <strong>de</strong>l<br />
2004 y los resultados <strong>de</strong> esta evaluación se pres<strong>en</strong>tarán <strong>en</strong> artículos posteriores.<br />
En esta evaluación se preguntará a los estudiantes sobre <strong>la</strong> experi<strong>en</strong>cia que<br />
han t<strong>en</strong>ido al interactuar con material pres<strong>en</strong>tado <strong>de</strong> esta forma, también se analizarán<br />
sus prefer<strong>en</strong>cias sobre <strong>la</strong> pres<strong>en</strong>tación <strong>en</strong> formato texto, sobre <strong>la</strong>s animaciones,<br />
simu<strong>la</strong>ciones y <strong>la</strong>s evaluaciones. Se analizará el horario <strong>en</strong> que los objetos <strong>de</strong><br />
apr<strong>en</strong>dizaje fueron accesados para <strong>de</strong>terminar el interés por el material. Se evaluarán<br />
<strong>la</strong>s propieda<strong>de</strong>s pedagógicas pres<strong>en</strong>tes <strong>en</strong> los objetos <strong>de</strong> apr<strong>en</strong>dizaje <strong>de</strong>sarrol<strong>la</strong>dos para<br />
implem<strong>en</strong>tar, <strong>en</strong> caso que sea necesario, <strong>la</strong>s a<strong>de</strong>cuaciones pertin<strong>en</strong>tes. Estos estudios<br />
nos permitirán <strong>de</strong>terminar <strong>la</strong> efectividad <strong>de</strong> <strong>la</strong>s guías <strong>de</strong> diseño propuesta.<br />
8. Conclusiones<br />
Contar con guías <strong>de</strong> diseño <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje facilitará el trabajo <strong>de</strong><br />
los <strong>de</strong>sarrol<strong>la</strong>dores <strong>de</strong> cont<strong>en</strong>ido educativo <strong>en</strong> formato <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje.<br />
El <strong>de</strong>sarrollo <strong>de</strong> OAs compuestos o <strong>de</strong> combinación cerrada pres<strong>en</strong>tan<br />
v<strong>en</strong>tajas sobre los objetos fundam<strong>en</strong>tales o básicos, por que, a<strong>de</strong>más <strong>de</strong> po<strong>de</strong>r ser<br />
reusables, permit<strong>en</strong> incluir características pedagógicas que no se pued<strong>en</strong> contemp<strong>la</strong>r <strong>en</strong>
los objetos <strong>de</strong> apr<strong>en</strong>dizaje fundam<strong>en</strong>tales.<br />
Existe mucho trabajo <strong>de</strong>investigación por <strong>de</strong>sarrol<strong>la</strong>r <strong>en</strong>elárea <strong>de</strong>l diseño <strong>de</strong><br />
objetos <strong>de</strong> apr<strong>en</strong>dizaje, <strong>en</strong> este artículo se pres<strong>en</strong>ta un avance para facilitar <strong>la</strong><br />
producción <strong>de</strong> cont<strong>en</strong>ido educativo <strong>en</strong> el formato <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje. La<br />
evaluación <strong>de</strong>los objetos <strong>de</strong>apr<strong>en</strong>dizaje <strong>de</strong>sarrol<strong>la</strong>do bajo elformato propuesto, nos<br />
permitirá marcar líneas <strong>de</strong>acción para mejor <strong>la</strong>producción <strong>de</strong>los mismos <strong>en</strong>b<strong>en</strong>eficio<br />
<strong>de</strong> los usuarios <strong>de</strong> ambi<strong>en</strong>tes <strong>de</strong> apr<strong>en</strong>dizaje basados <strong>en</strong> Web.<br />
Refer<strong>en</strong>cias<br />
[1] IEEE 1484.12.1, Learning Technology Standards Committee, Learning Object Metadata<br />
standard , Draft Standard for Learning Object Metadata, Diciembre 2002.<br />
[2] Dublin Core Metadata Initiative, http://dublincore.org/, última visita, mayo 2003..<br />
[3] IMS Global Learning Consortium, Inc., http://www.imsproject.org ,última visita julio 2004.<br />
[4] ADL SCORM, Advanced Distributed Learning, http://www.adlnet.org ,última visita julio<br />
2004.<br />
[5] C. C<strong>la</strong>ire, T. Boyle, The <strong>de</strong>velopm<strong>en</strong>t and <strong>de</strong>ploym<strong>en</strong>t of multimedia learning objects,<br />
Learning Technology Research Institute, London Metropolitan University, Learning<br />
Objects Symposium 2003, Educational Multimedia and Hypermedia, Honolulu, USA, june<br />
2003.<br />
[6] T. Boyle, Desing principles for authoring dynamic, reusable learning objects, Learning<br />
Technology Research Institute, London Metropolitan University, ASCILITE 2002,<br />
Auckand New Ze<strong>la</strong>nd, <strong>de</strong>cember 2002.<br />
[7] A. Damle, Learning Styles and Learning Objects, The Ohio State University, LO: context<br />
and connections. 2003.<br />
[8] R. Roberts, Creating Learning Objects. SDSU Educational Technology,<br />
http://coe.sdsu.edu.eet/Aricles/learnobject, última visita julio 2004.<br />
[9] J Agui<strong>la</strong>r Cisneros, Adminsitración <strong>de</strong>cont<strong>en</strong>idos digitales para ambi<strong>en</strong>tes <strong>de</strong> apr<strong>en</strong>dizaje<br />
basados <strong>en</strong> Web, Departam<strong>en</strong>to <strong>de</strong> Sistemas Computacionales. Universidad <strong>de</strong> <strong>la</strong>s Amèricas<br />
Pueb<strong>la</strong>, diciembre 2003.<br />
[10] D. A. Wiley, Connectig Learning Objects to instructional <strong>de</strong>sign Theory: A <strong>de</strong>finition ,<br />
Sistemas Computacionales. Universidad <strong>de</strong><strong>la</strong>s Amèricas Pueb<strong>la</strong>, diciembre 2003.<br />
[11] P. R. Polsani, Use and Abuse of Reusable Learning Objects, University of Arizona, USA,<br />
Learning Technology C<strong>en</strong>ter, 2000.<br />
[12] D. A. Wiley, L. M. Nelson, The fundam<strong>en</strong>tal object,<br />
http://wiley.ed.usu.edu/docs/fundam<strong>en</strong>tal.html, 1998.<br />
[13] M. D. Merril, Instructional transaction theory (ITT): Instructional <strong>de</strong>sign based on<br />
knowledge objects, .InC.M.Reigeluth (Ed.), Instructional <strong>de</strong>sign theories andmo<strong>de</strong>ls: A<br />
new paradigm of instructional theory, Hillsdale, NJ: Lawr<strong>en</strong>ce Erlbaum Associates, pp.<br />
397-424, 1999<br />
[14] H. H<strong>en</strong>ke, Learning Theory:Applying Kolb´s Learning Style Inv<strong>en</strong>tory with computer based<br />
Training , June 2001<br />
[15] L. Lippon<strong>en</strong>, Exploring Fundations for Computer-Supported Col<strong>la</strong>borative Learning,<br />
Departm<strong>en</strong>t of Psychology University of Helsinki, Proceeding of: CSCL January 7-<br />
11,2002.
[16] J. Agui<strong>la</strong>r Cisneros, J.L. Zechinelli Martini, J. Muñoz Arteaga. Hacia <strong>la</strong> creación y<br />
Administración <strong>de</strong> repositorios <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje. 4º Congreso Internacional <strong>de</strong><br />
Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong>, Apizaco T<strong>la</strong>xca<strong>la</strong>, pp 245-250, septiembre 2003.<br />
[17] J. Fal<strong>la</strong>d Chávez, Software educativo para <strong>la</strong> asignatura <strong>de</strong> matemáticas 1 <strong>de</strong> nivel<br />
lic<strong>en</strong>ciatura, XV Simposio int<strong>en</strong>acional <strong>de</strong> computación <strong>en</strong> <strong>la</strong> educación, SOMECE 1999.
PROPUESTA DE IMPLEMENTACIÓN PARA<br />
GENERACIÓN DE MATERIALES MULTIMEDIA EN<br />
LÍNEA UTILIZANDO UN META ETIQUETADOR Y<br />
COMPONENTES OO CSPR(I) VERSIÓN 3.0 PARA<br />
RESOLVER LOS PROBLEMAS DE CONTENIDO,<br />
CONTROL, REUTILIZACIÓN Y SECUENCIACIÓN<br />
DINÁMICA,<br />
Rubén Peredo Val<strong>de</strong>rrama, Leandro Bal<strong>la</strong>dares Ocaña, Cutberto García Tamayo<br />
Instituto Politécnico Nacional<br />
C<strong>en</strong>tro <strong>de</strong> Investigación <strong>en</strong> <strong>Computación</strong><br />
Ave. Juan <strong>de</strong> Dios Bátiz S/N Esq. Miguel Othón <strong>de</strong> M<strong>en</strong>dizábal<br />
07738 México, D.F.<br />
Fax: 5586-2936; Tel.: 57296000 ext. 56611<br />
peredo[bal<strong>la</strong>d]@cic.ipn.mx<br />
ABSTRAC: The <strong>de</strong>velopm<strong>en</strong>t of materials for the Web has differ<strong>en</strong>t stages and chall<strong>en</strong>ges, one<br />
of the fundam<strong>en</strong>tal chall<strong>en</strong>ges is the technological barrier, it simply is not a conversion of c<strong>la</strong>ssic<br />
materials to HTML, it implies much more. From creating an interface and consist<strong>en</strong>t<br />
functionality for all the materials, taking care of the bandwidth. With the purpose that the<br />
learning experi<strong>en</strong>ce becomes a true experi<strong>en</strong>ce multimedia and interactive attractive for the<br />
stud<strong>en</strong>t. For all previously m<strong>en</strong>tioned you <strong>de</strong>velopm<strong>en</strong>t a d<strong>en</strong>ominated software Meta-<br />
Etiquetador (ME) writt<strong>en</strong> in Visual Basic. NET, being the fundam<strong>en</strong>tal piece of the same one the<br />
Compon<strong>en</strong>ts of Software Intellig<strong>en</strong>t Reutilizables (CSPRI) v3 Object Ori<strong>en</strong>ted <strong>de</strong>veloped in<br />
ActionScript version 2.0. ME is the first phase of a tool CASE, that will allow to simplify the<br />
g<strong>en</strong>eration of rich educational materials with multimedia and interactividad with an interface and<br />
consist<strong>en</strong>t functionality for education distance on-line.<br />
RESUMEN: El <strong>de</strong>sarrollo <strong>de</strong> materiales para <strong>la</strong> Web ti<strong>en</strong><strong>en</strong> difer<strong>en</strong>tes etapas y retos, uno <strong>de</strong> los<br />
retos fundam<strong>en</strong>tales es <strong>la</strong> barrera tecnológica, no se trata simplem<strong>en</strong>te <strong>de</strong> una conversión <strong>de</strong><br />
materiales clásicos a HTML, implica mucho más. Des<strong>de</strong> crear una interface y funcionalidad<br />
consist<strong>en</strong>te para todos los materiales, cuidando el ancho <strong>de</strong> banda. Con <strong>la</strong> finalidad <strong>de</strong> que <strong>la</strong><br />
experi<strong>en</strong>cia <strong>de</strong> apr<strong>en</strong>dizaje se convierta <strong>en</strong> una verda<strong>de</strong>ra experi<strong>en</strong>cia multimedia e interactiva<br />
atractiva para el alumno. Por todo lo anteriorm<strong>en</strong>te m<strong>en</strong>cionado se <strong>de</strong>sarrollo un software<br />
d<strong>en</strong>ominado Meta-Etiquetador (ME) escrito <strong>en</strong> Visual Basic .NET, si<strong>en</strong>do <strong>la</strong> pieza fundam<strong>en</strong>tal<br />
<strong>de</strong>l mismo los Compon<strong>en</strong>tes <strong>de</strong> Software Reutilizables Intelig<strong>en</strong>tes (CSPRI) v3 Ori<strong>en</strong>tados a<br />
Objetos <strong>de</strong>sarrol<strong>la</strong>dos <strong>en</strong> ActionScript versión 2.0. El ME conforman <strong>la</strong> primera fase <strong>de</strong> una<br />
herrami<strong>en</strong>ta CASE, que permitirá simplificar <strong>la</strong> g<strong>en</strong>eración <strong>de</strong> materiales educativos ricos <strong>en</strong><br />
multimedia e interactividad con una interface y funcionalidad consist<strong>en</strong>te para educación a<br />
distancia <strong>en</strong> línea.<br />
Pa<strong>la</strong>bras C<strong>la</strong>ves: Meta-Etiquetador, CSPR(I) v3, educación a distancia <strong>en</strong> línea, OOP.
I. Introducción y estado <strong>de</strong> arte<br />
El requerimi<strong>en</strong>to global urg<strong>en</strong>te <strong>de</strong> recursos <strong>de</strong> apr<strong>en</strong>dizaje, prácticos, reusables y <strong>de</strong><br />
alta calidad, que involucra innovación y <strong>en</strong>trega <strong>de</strong> tecnología <strong>de</strong> apr<strong>en</strong>dizaje, marca<br />
hoy <strong>en</strong> día <strong>la</strong> panorama <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> sistemas WBT. Los principales aspectos <strong>en</strong><br />
los que se c<strong>en</strong>tra <strong>la</strong> investigación son reusabilidad, accesibilidad, durabilidad e<br />
interoperabilidad <strong>de</strong> materiales didácticos y ambi<strong>en</strong>tes <strong>de</strong> educación virtual. Difer<strong>en</strong>tes<br />
consorcios <strong>de</strong> universida<strong>de</strong>s, instituciones gubernam<strong>en</strong>tales y empresas están<br />
involucrados <strong>en</strong> el proceso <strong>de</strong> <strong>la</strong> búsqueda <strong>de</strong> soluciones <strong>de</strong>l problema <strong>de</strong> integración<br />
a<strong>de</strong>cuada <strong>de</strong> <strong>la</strong> tecnología con avances <strong>en</strong> <strong>la</strong> pedagogía. Las principales iniciativas son<br />
<strong>la</strong>s sigui<strong>en</strong>tes: <strong>la</strong> Iniciativa <strong>de</strong> Conocimi<strong>en</strong>to Abierta <strong>de</strong> MIT (Op<strong>en</strong> Knowledge<br />
Initiative - OKI), el Apr<strong>en</strong>dizaje Distribuido Avanzado Co -Lab (Advanced<br />
Distribuited Learning - ADL) <strong>de</strong>l <strong>de</strong>partam<strong>en</strong>to <strong>de</strong> <strong>de</strong>f<strong>en</strong>sa y <strong>la</strong> oficina <strong>de</strong> ci<strong>en</strong>cia <strong>de</strong> <strong>la</strong><br />
Casa B<strong>la</strong>nca y política tecnológica y el IMS Consorcio <strong>de</strong> Apr<strong>en</strong>dizaje Global (IMS<br />
Global Learning Consortium). El IMS <strong>de</strong>sarrol<strong>la</strong> especificaciones técnicas abiertas<br />
para apoyar apr<strong>en</strong>dizaje distribuido. Estas especificaciones forman parte <strong>de</strong> los<br />
estándares y <strong>la</strong>s herrami<strong>en</strong>tas que se están <strong>de</strong>sarrol<strong>la</strong>ndo <strong>en</strong> el marco <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong><br />
refer<strong>en</strong>cia SCORM (Sharable Cont<strong>en</strong>t Object Refer<strong>en</strong>ce Mo<strong>de</strong>l), cuyo propósito es<br />
asegurar el acceso a educación <strong>de</strong> alta calidad y materiales <strong>de</strong> <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to que<br />
pued<strong>en</strong> ser personalizados a <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> los alumnos individuales y hechos<br />
disponibles cuando quiera y don<strong>de</strong> quiera que estos sean requeridos [1-5].<br />
II. Metodología usada<br />
En el pres<strong>en</strong>te artículo, se expone el ME <strong>en</strong> conjunción con sus constituy<strong>en</strong>tes los<br />
CSPR(I) v3, con el fin <strong>de</strong> simplificar el <strong>de</strong>sarrollo <strong>de</strong> materiales didácticos multimedia<br />
y producir un material rico <strong>en</strong> multimedios, interactividad, retroalim<strong>en</strong>tación y metaetiquetado,<br />
para WBT. El mo<strong>de</strong>lo propuesto es compatible con <strong>la</strong>s especificaciones <strong>de</strong><br />
SCORM [4] y busca resolver los problemas <strong>de</strong> cont<strong>en</strong>ido, control, reutilización y<br />
secu<strong>en</strong>ciación dinámica.<br />
El resto <strong>de</strong>l artículo esta organizado <strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te manera. En <strong>la</strong>s sigui<strong>en</strong>te sección se<br />
pres<strong>en</strong>tan <strong>la</strong>s bases <strong>de</strong>l mo<strong>de</strong>lo CSPR(I) v3 Object Ori<strong>en</strong>ted Programming (OOP). La<br />
sección IV pres<strong>en</strong>tan los resultados experim<strong>en</strong>tales <strong>de</strong> CSPRI v3 con el metaetiquetador<br />
v1 con ejemplos <strong>de</strong> g<strong>en</strong>eración <strong>de</strong> módulos para los materiales. Finalm<strong>en</strong>te,<br />
se discut<strong>en</strong> <strong>la</strong>s conclusiones y trabajo futuro <strong>de</strong> <strong>la</strong> investigación <strong>de</strong>l pres<strong>en</strong>te trabajo.<br />
III. Programación Ori<strong>en</strong>tada a Objetos <strong>de</strong> los compon<strong>en</strong>tes CSPRI<br />
v3.0.<br />
La Programación Ori<strong>en</strong>tada a Objetos (<strong>en</strong> inglés, OOP) es el nombre dado a programas<br />
que hac<strong>en</strong> uso <strong>de</strong> objetos. Los objetos y <strong>la</strong> OOP son intrínsicos a <strong>la</strong> programación <strong>en</strong><br />
ActionScript v 2.0 (AS 2.0), <strong>de</strong> F<strong>la</strong>sh MX 2004. Para que un l<strong>en</strong>guaje sea OOP <strong>de</strong>be
permitir implem<strong>en</strong>tar tres características fundam<strong>en</strong>tales que son: <strong>en</strong>capsu<strong>la</strong>ción,<br />
polimorfismo y her<strong>en</strong>cia. Un objeto es una estructura que agrupa juntos propieda<strong>de</strong>s y<br />
métodos re<strong>la</strong>cionados. Un objeto típicam<strong>en</strong>te <strong>en</strong>capsu<strong>la</strong> sus funcionami<strong>en</strong>tos,<br />
<strong>en</strong>t<strong>en</strong>di<strong>en</strong>do por esto que los <strong>de</strong>talles internos <strong>de</strong> cómo ejecuta sus funciones no son<br />
necesariam<strong>en</strong>te visibles fuera <strong>de</strong>l objeto. Un programa interactúa con un objeto vía su<br />
interfaces . La her<strong>en</strong>cia hace posible otro concepto c<strong>la</strong>ve <strong>de</strong> <strong>la</strong> OOP. El polimorfismo<br />
es una pa<strong>la</strong>bra elegante que significa: “muchas formas”. El polimorfismo por su parte,<br />
nos permite tratar objetos difer<strong>en</strong>tes para que t<strong>en</strong>gan funcionami<strong>en</strong>tos difer<strong>en</strong>tes <strong>de</strong> una<br />
manera uniforme, como <strong>la</strong> implem<strong>en</strong>tación <strong>de</strong> métodos con el mismo nombre. La<br />
her<strong>en</strong>cia nos permite reutilizar código, con <strong>la</strong> finalidad <strong>de</strong> compartir características<br />
comunes <strong>en</strong>tre c<strong>la</strong>ses. Una <strong>de</strong> <strong>la</strong>s características cruciales <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses d<strong>en</strong>tro <strong>de</strong> <strong>la</strong><br />
OOP avanzada es su habilidad para heredar propieda<strong>de</strong>s y métodos. Una c<strong>la</strong>se <strong>en</strong>tera<br />
pue<strong>de</strong> adoptar <strong>la</strong>s propieda<strong>de</strong>s y métodos <strong>de</strong> otra c<strong>la</strong>se y adicionar sus características<br />
particu<strong>la</strong>res. Las c<strong>la</strong>ses que sirv<strong>en</strong> <strong>de</strong> mol<strong>de</strong> para otras recib<strong>en</strong> el nombre <strong>de</strong> superc<strong>la</strong>se,<br />
mi<strong>en</strong>tras que <strong>la</strong>s que pid<strong>en</strong> prestados propieda<strong>de</strong>s y métodos <strong>de</strong> otra c<strong>la</strong>se son<br />
conocidas como subc<strong>la</strong>ses. Se dice que subc<strong>la</strong>se <strong>de</strong>riva <strong>de</strong> <strong>la</strong> superc<strong>la</strong>se, porque hereda<br />
métodos y atributos <strong>de</strong> <strong>la</strong> superc<strong>la</strong>se a<strong>de</strong>más <strong>de</strong> los suyos propios [6].<br />
III.I. Encapsu<strong>la</strong>ción <strong>de</strong> compon<strong>en</strong>tes CSPRI v3.0.<br />
En AS 1.0 no hay una pa<strong>la</strong>bra reservada para <strong>la</strong> <strong>de</strong>c<strong>la</strong>ración <strong>de</strong> una c<strong>la</strong>se como <strong>en</strong> C++<br />
y Java. Se <strong>de</strong>fine un tipo especial <strong>de</strong> función, l<strong>la</strong>mada función constructora, esta g<strong>en</strong>era<br />
una nueva instancia <strong>de</strong> nuestra c<strong>la</strong>se. Al <strong>de</strong>finir <strong>la</strong> función constructora, se crea el<br />
mol<strong>de</strong> <strong>de</strong> <strong>la</strong> c<strong>la</strong>se o <strong>de</strong>finición <strong>de</strong> <strong>la</strong> c<strong>la</strong>se. La <strong>de</strong>c<strong>la</strong>ración <strong>de</strong> atributos y métodos <strong>de</strong> una<br />
c<strong>la</strong>se también t<strong>en</strong>ia algunas difer<strong>en</strong>cias importantes con respecto a C++ y Java,<br />
primeram<strong>en</strong>te se <strong>de</strong>be <strong>de</strong> utilizar <strong>la</strong> pa<strong>la</strong>bra reservada this <strong>en</strong> el caso <strong>de</strong> los atributos.<br />
Esta <strong>de</strong>c<strong>la</strong>ración <strong>de</strong> atributos se <strong>de</strong>be <strong>de</strong> hacer d<strong>en</strong>tro <strong>de</strong> <strong>la</strong> función constructora, this<br />
hace refer<strong>en</strong>cia a <strong>la</strong> c<strong>la</strong>se actualm<strong>en</strong>te g<strong>en</strong>erada. En el caso <strong>de</strong> los métodos se <strong>de</strong>be <strong>de</strong><br />
utilizar igualm<strong>en</strong>te this seguida <strong>de</strong>l nombre <strong>de</strong>l método y sus parámetros d<strong>en</strong>tro <strong>de</strong> <strong>la</strong><br />
función constructora, y a continuación lo que <strong>de</strong>be <strong>de</strong> hacer el método.<br />
En AS 2.0 ya hay una pa<strong>la</strong>bra reservada para <strong>la</strong> <strong>de</strong>c<strong>la</strong>ración <strong>de</strong> una c<strong>la</strong>se como <strong>en</strong> C++<br />
y Java d<strong>en</strong>ominada c<strong>la</strong>ss.<br />
Los métodos son funciones asociadas con los objetos y son típicam<strong>en</strong>te usadas para<br />
ejecutar tareas re<strong>la</strong>cionadas al objeto o acce<strong>de</strong>r a propieda<strong>de</strong>s <strong>de</strong>l objeto, <strong>la</strong> sintaxis<br />
g<strong>en</strong>eral para l<strong>la</strong>mar a un método es <strong>la</strong> sigui<strong>en</strong>te:<br />
NombreObjeto.método(arg 1 ,...arg n );<br />
La manera <strong>de</strong> refer<strong>en</strong>ciar miembros <strong>de</strong> un objeto es con el operador punto (.) para<br />
acce<strong>de</strong>r a los atributos y métodos <strong>de</strong>l objeto, <strong>la</strong> sintaxis g<strong>en</strong>eral es <strong>la</strong> sigui<strong>en</strong>te:<br />
NombreObjeto.miembro;
La Tab<strong>la</strong> 1 muestra un ejemplo <strong>de</strong> <strong>la</strong> <strong>de</strong>c<strong>la</strong>ración <strong>de</strong> una c<strong>la</strong>se <strong>de</strong> un CSPRI v3 con su<br />
constructor.<br />
Tab<strong>la</strong> 1 C<strong>la</strong>se <strong>de</strong> unCSPRI v3 con su constructor.<br />
c<strong>la</strong>ss Pregunta{<br />
function Pregunta(preguntaXML:Number,Respuestacorrecta:Number,<br />
Textopregunta:String, respuestas:Array) {<br />
// Atributos<br />
Textopregunta = "";<br />
respuestas = new Array();<br />
Respuestacorrecta = 0;<br />
Respuestausuario = null;<br />
// Inicialización.<br />
private var Listarespuesta:Array = new Array();<br />
if (argum<strong>en</strong>ts.l<strong>en</strong>gth == 1 && preguntaXML instanceof XMLno<strong>de</strong>) {<br />
//Construye <strong>la</strong> pregunta usando XML.<br />
setRespuestaCorrecta(preguntaXML.attributes.RESPUESTA);<br />
setTextoPregunta(preguntaXML.attributes.TEXTO);<br />
for (var i=0; i < preguntaXML.childNo<strong>de</strong>s.l<strong>en</strong>gth; i++) {<br />
Listarespuesta[i]= preguntaXML.childNo<strong>de</strong>s[i].firstChild.no<strong>de</strong>Value;<br />
}<br />
setRespuestas(Listarespuestas);<br />
}else{<br />
setRespuestaCorrecta(Respuestacorrecta);<br />
setTextoPregunta(Textopregunta);<br />
setRespuestas(respuestas);<br />
} }<br />
III.II. Polimorfismo <strong>en</strong> compon<strong>en</strong>tes CSPRI v3.0.<br />
El polimorfismo permite a objetos distintos ser tratados <strong>de</strong> manera uniforme. Por<br />
ejemplo si utilizamos el método dibujar() para que cada objeto se dibuje, aun p<strong>en</strong>sando<br />
que <strong>la</strong> función dibujar() para cada c<strong>la</strong>se es única. La Tab<strong>la</strong> 2 muestra <strong>la</strong> sobrecarga <strong>de</strong>l<br />
método evaluar <strong>de</strong> CSPRI v3 utilizando AS v2.0, <strong>en</strong> <strong>la</strong> versión 1.0 se t<strong>en</strong>ia que utilizar<br />
prototype para llevar acabo esto.<br />
Tab<strong>la</strong> 2 Polimorfismo sobrecargando <strong>la</strong> función evaluar() <strong>de</strong> un CSPRI v3.<br />
CSPRIV3_FALSO_VERDADERO.evaluar = function(){ }<br />
CSPRIV3_RELACION_COLUM..evaluar = function () { }<br />
CSPRIV3_LLENADO_BLANCO.evaluar = function (){ }<br />
CSPRIV3_SELECION_AREAS.evaluar = function () { }<br />
III.III. Her<strong>en</strong>cia <strong>de</strong> compon<strong>en</strong>tes CSPRI v3.0<br />
En <strong>la</strong> versión 2 <strong>de</strong> AS era necesario especificar una superc<strong>la</strong>se para una c<strong>la</strong>se dada, se<br />
<strong>de</strong>bía <strong>de</strong> remp<strong>la</strong>zar <strong>la</strong> propiedad prototype completam<strong>en</strong>te <strong>de</strong> <strong>la</strong> c<strong>la</strong>se con una nueva<br />
instancia <strong>de</strong> <strong>la</strong> <strong>de</strong>seada superc<strong>la</strong>se, <strong>la</strong> her<strong>en</strong>cia difiere <strong>de</strong> <strong>la</strong> forma <strong>de</strong> manejar her<strong>en</strong>cia<br />
<strong>de</strong> C++ y Java. La sintaxis g<strong>en</strong>eral usada para especificar una superc<strong>la</strong>se es <strong>la</strong><br />
sigui<strong>en</strong>te:
Subc<strong>la</strong>seConstructor.prototype = new SuperC<strong>la</strong>seConstructor( );<br />
Don<strong>de</strong> Subc<strong>la</strong>seConstructor es <strong>la</strong> function constructora <strong>de</strong> <strong>la</strong> subc<strong>la</strong>se y<br />
SuperC<strong>la</strong>seConstructor es <strong>la</strong> función constructora <strong>de</strong> <strong>la</strong> superc<strong>la</strong>se. La Tab<strong>la</strong> 3 muestra<br />
un ejemplo <strong>de</strong> esto aplicado a un CSPRI v3.<br />
Tab<strong>la</strong> 3 Estableci<strong>en</strong>do MovieClip() como superc<strong>la</strong>se <strong>de</strong> Clip1 <strong>de</strong> un CSPRI v3.<br />
Clip1.prototype = new MovieClip( );<br />
Mi<strong>en</strong>tras que <strong>en</strong> <strong>la</strong> versión 2.0 <strong>de</strong> AS queda <strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te manera:<br />
c<strong>la</strong>ss Subc<strong>la</strong>se ext<strong>en</strong>ds SuperC<strong>la</strong>se{}<br />
III.IV. Instanciación <strong>de</strong> objetos <strong>de</strong> compon<strong>en</strong>tes CSPRI v3.0<br />
En <strong>la</strong> versión 1.0 <strong>de</strong> AS para crear una instancia <strong>de</strong> un objeto, se utiliza <strong>de</strong> manera<br />
regu<strong>la</strong>r el operador new con <strong>la</strong> función constructora, <strong>la</strong> cual inicializa el objeto, pero<br />
como veremos más a<strong>de</strong><strong>la</strong>nte <strong>de</strong>l trabajo, los compon<strong>en</strong>tes Movie Clips (MC)<br />
utilizanban duplicateMovieClip y attachMovie para crear instancias <strong>de</strong> este tipo <strong>de</strong><br />
objeto, <strong>la</strong> sintaxis g<strong>en</strong>eral es <strong>la</strong> sigui<strong>en</strong>te:<br />
var manejador= new FunciónConstructora(arg 1 ,...,arg n );<br />
Esta manera <strong>de</strong> instanciar objetos era muy simi<strong>la</strong>r a <strong>la</strong> manera <strong>de</strong> C++ y Java. Pero <strong>la</strong><br />
instanciación <strong>de</strong> MC pue<strong>de</strong> ser <strong>de</strong> dos maneras, <strong>la</strong> primera mediante <strong>la</strong> función:<br />
duplicateMovieClip(target, Nombre, Profundidad);<br />
En este caso era necesario t<strong>en</strong>er una instancia previam<strong>en</strong>te <strong>en</strong> el área <strong>de</strong> trabajo.<br />
Mi<strong>en</strong>tras que <strong>la</strong> segunda manera <strong>de</strong> instanciar un MC, es mediante <strong>la</strong> función:<br />
Clip.attachMovie(simboloID, Nombre, Produnfidad, [Objetoinicializador]);<br />
La difer<strong>en</strong>cia fundam<strong>en</strong>tal <strong>en</strong>tre estas dos funciones es que attachMovie no necesita <strong>de</strong><br />
ninguna instancia previa <strong>en</strong> el área <strong>de</strong> trabajo. Mi<strong>en</strong>tras que <strong>en</strong> <strong>la</strong> versión 2.0 <strong>de</strong> AS se<br />
utiliza simplem<strong>en</strong>te el operador new. La Tab<strong>la</strong> 4 muestra el código para instanciar una<br />
evaluación <strong>de</strong> re<strong>la</strong>ción <strong>de</strong> columnas tipo CSPRI v3.0.<br />
Tab<strong>la</strong> 4 Instanciación <strong>de</strong> una evaluación <strong>de</strong> re<strong>la</strong>ción <strong>de</strong> columnas tipo CSPRI v3.<br />
var Objetoinicializador:Re<strong>la</strong>cionColumnas = new Re<strong>la</strong>cionColumnas("re<strong>la</strong>cion_columnas", "rc1", 2,<br />
Objetoinicializador);
III.V. Utilización <strong>de</strong>l objeto XML <strong>de</strong> F<strong>la</strong>sh para <strong>la</strong> carga <strong>de</strong>s<strong>de</strong> los archivos XML<br />
asociados al compon<strong>en</strong>te CSPRI v3.0<br />
XML (Ext<strong>en</strong>sible Markup Language) es una manera <strong>de</strong> <strong>de</strong>finir datos usando etiquetas<br />
que son simi<strong>la</strong>res a <strong>la</strong>s etiquetas HTML, pero estas etiquetas no están pre<strong>de</strong>finidas<br />
como <strong>en</strong> el caso <strong>de</strong> HTML. Se pued<strong>en</strong> crear etiquetas propias (o utilizar algún estándar<br />
<strong>de</strong> aplicación XML como <strong>en</strong> caso <strong>de</strong> SCORM) <strong>la</strong>s cuales <strong>de</strong>fin<strong>en</strong> mucho mejor <strong>la</strong><br />
estructura <strong>de</strong> datos propios como: m<strong>en</strong>u_xml.xml, conceptos.xml y navegacion.xml. El<br />
m<strong>en</strong>u_xml <strong>de</strong>fine <strong>la</strong> estructura <strong>de</strong>l m<strong>en</strong>ú <strong>de</strong> opciones, conceptos.xml estructura el<br />
cont<strong>en</strong>ido y navegacion.xml estructura <strong>la</strong> secu<strong>en</strong>cia <strong>de</strong> navegación <strong>de</strong>l compon<strong>en</strong>te<br />
CSPRI v3 como se ve <strong>en</strong> <strong>la</strong> Fig.1, con esto se logra separar <strong>la</strong> parte <strong>de</strong> navegación <strong>de</strong>l<br />
cont<strong>en</strong>ido, a<strong>de</strong>más <strong>de</strong> posibilitar <strong>la</strong> secu<strong>en</strong>ciación dinámica <strong>de</strong> los materiales con vistas<br />
a su reutilización por medio <strong>de</strong>l Sistema Manejador <strong>de</strong> Apr<strong>en</strong>dizaje(por su sig<strong>la</strong>s <strong>en</strong><br />
ingles, LMS). Permitiéndonos seguir <strong>la</strong> estructura correcta XML (etiquetas anidadas<br />
una d<strong>en</strong>tro <strong>de</strong> otras, todas <strong>la</strong>s <strong>en</strong>tradas t<strong>en</strong>i<strong>en</strong>do etiquetas <strong>de</strong> apertura y cerrado),<br />
d<strong>en</strong>ominándose a este tipo <strong>de</strong> docum<strong>en</strong>tos XML “bi<strong>en</strong> conformados”. Macromedia<br />
F<strong>la</strong>sh pue<strong>de</strong> leer fi<strong>la</strong>s que son escritas usando estas etiquetas. F<strong>la</strong>sh no usa DTDs<br />
(Docum<strong>en</strong>t Type Definition), los cuales son usados por otras aplicaciones <strong>de</strong> lectura<br />
XML para los l<strong>la</strong>mados docum<strong>en</strong>tos XML “válidos” [7].<br />
MATERIAL CSPRIV 3.0<br />
MATERIAL<br />
WAV<br />
MATERIAL<br />
DOCUMENTO<br />
XML<br />
MATERIAL<br />
JPEG<br />
MATERIAL<br />
PÁGINA<br />
WEB<br />
MATERIAL<br />
GIF<br />
MATERIAL<br />
FRAGMENTO<br />
HTML<br />
MATERIAL<br />
JAVASCRIPT<br />
MATERIAL<br />
OBJETO<br />
FLASH<br />
RETROALIMENTACIÓN<br />
A LO S M A T E R IA L E S<br />
RETROALIMENTACIÓN<br />
A L O S M A T E R IA L E S<br />
MÓDULO<br />
BAM DE<br />
RETROALIMENTACIÓN<br />
MÓDULO DE<br />
CÓDIGO<br />
ACTIONSCRIPT<br />
DEL OBJETO<br />
FLASH<br />
MATERIALES<br />
EN EL WEB<br />
MATERIAL CSPRI<br />
ETIQUETADO EN XML<br />
MATERIAL<br />
CSPRI<br />
ARCHIVOS<br />
EXTERNOSCARGADOS<br />
DINÁMICAMENTE<br />
QUE UTILIZA EL CSPRI<br />
V 3.0<br />
IMAGEN<br />
JPG<br />
ARCHIVOS EXTERNOS<br />
XMLCARGADOS<br />
DINÁMICAMENTE<br />
QUE UTILIZA EL CSPRI<br />
V 3.0<br />
MENU_XML.<br />
XML<br />
METADATOS<br />
MATERIAL<br />
MEDIA<br />
CRUDO<br />
CONTENIDO<br />
EMPAQUETADO<br />
SONIDO<br />
MP3<br />
CONCEPTOS.<br />
XML<br />
NAVEGACION<br />
.X M L<br />
Fig. 1 Esquema g<strong>en</strong>eral <strong>de</strong> los CSPR(I) versión 3.<br />
Los DTDs están si<strong>en</strong>do sustituidos por XML Schema, el mayor inconv<strong>en</strong>i<strong>en</strong>te <strong>de</strong> los<br />
DTD sobre los XML Schema es el no po<strong>de</strong>r contro<strong>la</strong>r el tipo <strong>de</strong> información que<br />
conti<strong>en</strong>e un elem<strong>en</strong>to o atributo <strong>en</strong> particu<strong>la</strong>r.
III.VI. Pasos para leer cont<strong>en</strong>ido <strong>de</strong> un archive XML d<strong>en</strong>tro <strong>de</strong> un objeto XML <strong>de</strong><br />
F<strong>la</strong>sh<br />
La lectura d<strong>en</strong>tro <strong>de</strong> datos XML requiere <strong>de</strong> varios pasos, como <strong>en</strong> nuestro caso se<br />
requiere <strong>la</strong> lectura <strong>de</strong> tres archivos: m<strong>en</strong>u_xml.xml, conceptos.xml y navegacion.xml.<br />
Se ejemplificara esto solo con el archivo m<strong>en</strong>u_xml.xml, los pasos son:<br />
1. Definir <strong>la</strong> función que ejecutara cuando los datos hayan sido cargados<br />
(startM<strong>en</strong>u).<br />
2. Crear un nuevo objeto XML (m<strong>en</strong>u_xml)<br />
3. Establecer ignoreWhite a verda<strong>de</strong>ro, así F<strong>la</strong>sh no procesara retornos <strong>de</strong> carro<br />
y otros espacios <strong>en</strong> b<strong>la</strong>nco d<strong>en</strong>tro <strong>de</strong> <strong>la</strong> fi<strong>la</strong> XML como nodos separados<br />
(m<strong>en</strong>u_xml.ignoreWhite = true).<br />
4. Mostrar a F<strong>la</strong>sh cual función será usada cuando los datos han sido cargados<br />
(m<strong>en</strong>u_xml.onLoad = startM<strong>en</strong>u).<br />
5. Cargar los datos (m<strong>en</strong>u_xml.load("m<strong>en</strong>u.xml")).<br />
Tab<strong>la</strong>5Códigoparaleere<strong>la</strong>rchivoXMLm<strong>en</strong>u_xml.xml<strong>de</strong>unCSPRIv3.0<br />
function startM<strong>en</strong>u() {<br />
rootNo<strong>de</strong> = m<strong>en</strong>u_xml.firstChild;<br />
firstOption = rootNo<strong>de</strong>.firstChild;<br />
curr<strong>en</strong>tOption = firstOption;<br />
showM<strong>en</strong>u();<br />
}<br />
m<strong>en</strong>u_xml = new XML();<br />
m<strong>en</strong>u_xml.ignoreWhite = true;<br />
m<strong>en</strong>u_xml.onLoad = startM<strong>en</strong>u;<br />
m<strong>en</strong>u_xml.load("m<strong>en</strong>u.xml");<br />
III.VII. Empaquetado <strong>de</strong>l código <strong>de</strong> <strong>la</strong> c<strong>la</strong>se y <strong>la</strong> librería <strong>de</strong> símbolos<br />
Cuando se ti<strong>en</strong>e una subc<strong>la</strong>se MC <strong>en</strong> AS v 1.0 se pued<strong>en</strong> agregar características<br />
particu<strong>la</strong>res por medio <strong>de</strong> <strong>la</strong> función constructora. Sin embargo, si buscamos compartir<br />
nuestra subc<strong>la</strong>se con algún otro <strong>de</strong>sarrol<strong>la</strong>dor. T<strong>en</strong>dríamos que explicarle varias cosas<br />
para que pudiera utilizar<strong>la</strong>. Sin embargo para simplificar su compartición se utilizan<br />
#initclip y #<strong>en</strong>dinitclip válido también <strong>en</strong> AS ve 2.0, que <strong>de</strong>b<strong>en</strong> <strong>de</strong> aparecer únicam<strong>en</strong>te<br />
<strong>en</strong> el frame 1 <strong>de</strong> <strong>la</strong> línea <strong>de</strong> tiempo <strong>de</strong>l MC. El código d<strong>en</strong>tro <strong>de</strong>l bloque es ejecutado<br />
una ves, y únicam<strong>en</strong>te una ves por símbolo <strong>de</strong> MC, justo antes <strong>de</strong> que <strong>la</strong> primera<br />
instancia <strong>de</strong>l símbolo sea creada. Al <strong>de</strong>finir nuestra c<strong>la</strong>se d<strong>en</strong>tro <strong>de</strong>l bloque, se<br />
garantiza que el constructor <strong>de</strong> <strong>la</strong> c<strong>la</strong>se este disponible antes <strong>de</strong> que <strong>la</strong> primera instancia<br />
<strong>de</strong>l símbolo aparezca. Por lo cual nuestra subc<strong>la</strong>se <strong>de</strong>bería <strong>de</strong> t<strong>en</strong>er <strong>la</strong> forma g<strong>en</strong>eral<br />
quesemuestra<strong>en</strong><strong>la</strong>Tab<strong>la</strong>6.
Tab<strong>la</strong> 6 Empaquetado <strong>de</strong> nuestra subc<strong>la</strong>se tipo CSPRI v3.0<br />
#initclip<br />
// = = = = = = = = = = = = = =<br />
// Función Constructora<br />
// = = = = = = = = = = = = = =<br />
// = = = = = = = = = = = = = =<br />
// Dec<strong>la</strong>ración <strong>de</strong> <strong>la</strong> superc<strong>la</strong>se<br />
// = = = = = = = = = = = = = =<br />
// = = = = = = = = = = = = = =<br />
// Implem<strong>en</strong>tación <strong>de</strong> los métodos<br />
// = = = = = = = = = = = = = =<br />
#<strong>en</strong>dinitclip<br />
III.VIII. Programa principal <strong>de</strong> un CSPRI v3.<br />
La l<strong>la</strong>mada principal para un CSPRI v3. se ha tratado <strong>de</strong> asemejar al main() <strong>de</strong> un<br />
programa <strong>de</strong> C / C++, para <strong>en</strong>t<strong>en</strong><strong>de</strong>r <strong>de</strong> manera más c<strong>la</strong>ra su funcionami<strong>en</strong>to, como se<br />
muestra<strong>en</strong><strong>la</strong>Tab<strong>la</strong>7.<br />
Tab<strong>la</strong> 7 Código <strong>de</strong>l programa principal main() <strong>de</strong> un CSPRI v3.0<br />
//==============================<br />
// CARGA DE CLASES<br />
// //==============================<br />
#inclu<strong>de</strong> "cspriv3_exam<strong>en</strong>.as"<br />
#inclu<strong>de</strong> "cspriv3_exam<strong>en</strong>_GUI.as"<br />
#inclu<strong>de</strong> "cspriv3_exam<strong>en</strong>_pregunta.as"<br />
//==============================<br />
// main()<br />
//==============================<br />
main();<br />
functionmain(){<br />
…. ;}<br />
IV. Pres<strong>en</strong>tan los resultados experim<strong>en</strong>tales <strong>de</strong> CSPRI v3 con el<br />
Meta-Etiquetador v1<br />
La Fig. 2 muestra el meta-etiquetador que es una aplicación hecha <strong>en</strong> Visual Basic .Net<br />
. Básicam<strong>en</strong>te el ME v1 cu<strong>en</strong>ta con funciones básicas tipo explorador <strong>de</strong> archivos <strong>de</strong><br />
Windows. A<strong>de</strong>más <strong>de</strong> permitir modificar los archivos <strong>de</strong> m<strong>en</strong>ú, cont<strong>en</strong>ido y navegación<br />
XML <strong>de</strong>l compon<strong>en</strong>te CSPRI v3, permiti<strong>en</strong>do configurarlo <strong>de</strong> acuerdo a <strong>la</strong>s<br />
necesida<strong>de</strong>s <strong>de</strong>l usuarios. La parte <strong>de</strong> prueba <strong>de</strong> este compon<strong>en</strong>te es básicam<strong>en</strong>te<br />
ActiveX d<strong>en</strong>ominado Shockwave F<strong>la</strong>sh, que permite manipu<strong>la</strong>r animaciones hechas <strong>en</strong><br />
F<strong>la</strong>sh, con su consecu<strong>en</strong>te personalización. La Fig. 3 muestra el compon<strong>en</strong>te<br />
personalizado mediante los archivos XML <strong>de</strong> m<strong>en</strong>ú, cont<strong>en</strong>ido y navegación. Sobre<br />
todo se ha tratado <strong>de</strong> busca flexibilizar al máximo <strong>la</strong> construcción <strong>de</strong> los materiales.
Fig. 2. Meta-etiquetador con CSPR(I)’ v3.<br />
Fig. 3. CSPR(I) v3 personalizado.<br />
V. Conclusiones y trabajo futuro<br />
La utilización <strong>de</strong> compon<strong>en</strong>tes <strong>de</strong> software permit<strong>en</strong> simplificar <strong>de</strong> manera importante<br />
el <strong>de</strong>sarrollo <strong>de</strong> materiales multimedia educativos para educación a distancia <strong>en</strong> línea.<br />
A<strong>de</strong>más <strong>de</strong> permitir uniformizar los materiales <strong>en</strong> cuanto a pres<strong>en</strong>tación e interfaz<br />
hacia el usuario. Por el mom<strong>en</strong>to se ti<strong>en</strong>e un módulo <strong>de</strong> navegación fijo, pero parte <strong>de</strong>l<br />
trabajo futuro se basa <strong>en</strong> varios puntos fundam<strong>en</strong>tales. Primero convertir todos<br />
nuestros compon<strong>en</strong>tes al paradigma OOP con F<strong>la</strong>sh MX 2004 <strong>en</strong> conjunción con AS v<br />
2.0 para po<strong>de</strong>r reutilizarlos mejor, segundo insertar un API que ofresca servicios <strong>de</strong>s<strong>de</strong><br />
los materiales hacia el servidor, a<strong>de</strong>más <strong>de</strong> permita tomar métricas <strong>de</strong> los alumnos y se<br />
vean reflejados <strong>en</strong> una secu<strong>en</strong>ciación dinámica <strong>de</strong> los materiales, tercero agregarle
funcionalida<strong>de</strong>s adicionales al ME para que pueda estructurar los materiales <strong>de</strong> manera<br />
jerárquica y construir <strong>la</strong>s páginas Web <strong>de</strong> cada uno <strong>de</strong> los compon<strong>en</strong>tes para integrarlos<br />
a los materiales <strong>de</strong>l <strong>de</strong>sarrol<strong>la</strong>dor <strong>de</strong> material didáctico, por último construir más<br />
CSPR(I) v3 para po<strong>de</strong>r estructurar mejores cursos, a<strong>de</strong>más <strong>de</strong> utilizar otras técnicas <strong>de</strong><br />
<strong>en</strong>señanza.<br />
Reconocimi<strong>en</strong>tos: Agra<strong>de</strong>cemos al IPN y al CIC por el apoyo económico prestado<br />
para el <strong>de</strong>sarrollo <strong>de</strong> esta investigación.<br />
Refer<strong>en</strong>cias<br />
[1] Sheremetov, L. & Peredo, R., “Arquitectura <strong>de</strong> compon<strong>en</strong>tes <strong>de</strong> software programables<br />
reutilizables intelig<strong>en</strong>tes para materiales multimedia <strong>en</strong> EVA”, In Proc. of the Int.<br />
Confer<strong>en</strong>ce CIC´01, D.F, México, 12-16 <strong>de</strong> Noviembre, 2001.<br />
[2] Rubén Peredo Val<strong>de</strong>rrama, Oscar Fabe<strong>la</strong> Cano, Edgar Jonathan Larios Tapia, Cutberto<br />
García Tamayo, Enrique Ramos Ordúñez,, “CSPR(I) versión 2.0 para materiales<br />
multimedia <strong>en</strong> educación a distancia”, In Proc. of the Int. Confer<strong>en</strong>ce ANIEI´02,<br />
Guada<strong>la</strong>jara, Jalisco, México, 23 - 25 <strong>de</strong> Octubre, 2002.<br />
[3] http://web.mit.edu/oki/<br />
[4] http://www.adlnet.org<br />
[5] http://www.imsproject.org/<br />
[6] Colin Moock. “ActionScript for F<strong>la</strong>sh MX: The Definitive Gui<strong>de</strong>”. 2nd ed, USA. O'Reilly.<br />
2002.<br />
[7] Dov Jacobson & Jesse Jacobson. “F<strong>la</strong>sh and XML: A Developer's Gui<strong>de</strong>”. USA. Addison<br />
Wesley. 2001.
Diseño e imp<strong>la</strong>ntación <strong>de</strong> una interfaz interoperable para un<br />
patrimonio <strong>de</strong> recursos educativos basado <strong>en</strong> una red <strong>de</strong><br />
acervos abiertos y distribuidos <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje<br />
Víctor Germán Sánchez Arias 1 , Salvador López 2 , Rafael Morales 3 , Fredy Castañeda 4<br />
1 Laboratorio Nacional <strong>de</strong> Informática Avanzada A.C. (LANIA)<br />
victor@<strong>la</strong>nia.mx<br />
2 Fac. <strong>de</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> UNAM<br />
slm@ci<strong>en</strong>cias.unam.mx<br />
3 Instituto <strong>de</strong> Investigaciones Eléctricas (IIE)<br />
rmorales@inf.ed.ac.uk<br />
4 Maestría <strong>en</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong> - LANIA<br />
fcs001@xico.<strong>la</strong>nia.edu.mx<br />
Resum<strong>en</strong>. En su s<strong>en</strong>tido más amplio <strong>la</strong> educación es una actividad social <strong>en</strong> <strong>la</strong> que<br />
participan difer<strong>en</strong>tes instituciones educativas y diversos tipos <strong>de</strong> participantes<br />
(estudiantes, profesores, tutores, administradores, etc.), y <strong>de</strong>s<strong>de</strong> esta perspectiva<br />
consi<strong>de</strong>ramos que todo el conocimi<strong>en</strong>to g<strong>en</strong>erado por esta comunidad <strong>de</strong>be ser<br />
compartido y estar al alcance <strong>de</strong> todos. Todo este conocimi<strong>en</strong>to lo d<strong>en</strong>ominamos<br />
patrimonio educativo <strong>de</strong> una comunidad. Este trabajo se fundam<strong>en</strong>ta <strong>en</strong> un mo<strong>de</strong>lo <strong>de</strong><br />
e-educación, e-campus [2], que se basa <strong>en</strong> <strong>la</strong> construcción <strong>de</strong> un patrimonio <strong>de</strong><br />
recursos educativos <strong>de</strong> uso común, compartidos y organizados <strong>en</strong> repositorios abiertos<br />
y distribuidos <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje a través <strong>de</strong> una red <strong>de</strong> instituciones y<br />
comunida<strong>de</strong>s educativas que g<strong>en</strong>eran dichos objetos <strong>de</strong> uso común. Este trabajo es una<br />
continuación <strong>de</strong> un primer diseño g<strong>en</strong>eral <strong>de</strong>l patrimonio [2] y <strong>en</strong> este artículo se<br />
pres<strong>en</strong>ta una primera imp<strong>la</strong>ntación <strong>de</strong> <strong>la</strong> interfaz interoperable para ese patrimonio <strong>de</strong><br />
objetos.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve: educación basada <strong>en</strong> tecnologías <strong>de</strong> <strong>la</strong> información, estándares para<br />
<strong>en</strong>señanza, e-educación, objetos <strong>de</strong> apr<strong>en</strong>dizaje.<br />
1. Introducción.<br />
En este trabajo pres<strong>en</strong>tamos los elem<strong>en</strong>tos <strong>de</strong> diseño <strong>de</strong> un patrimonio <strong>de</strong> recursos<br />
educativos basado <strong>en</strong> una red <strong>de</strong> repositorios distribuidos <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje. En el<br />
inciso 2, pres<strong>en</strong>tamos nuestro trabajo previo sobre el mo<strong>de</strong>lo <strong>de</strong> e-educación basado <strong>en</strong><br />
diversos niveles <strong>de</strong> re<strong>de</strong>s [2]. En el inciso 3, se pres<strong>en</strong>ta un diseño mas <strong>de</strong>tal<strong>la</strong>do <strong>de</strong> <strong>la</strong><br />
arquitectura <strong>de</strong>l patrimonio basado <strong>en</strong> una red distribuida <strong>de</strong> repositorios [2] En el 4 se<br />
pres<strong>en</strong>ta <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong> un primer prototipo. En el 5 se pres<strong>en</strong>ta <strong>la</strong>s principales<br />
conclusiones.<br />
El mo<strong>de</strong>lo <strong>de</strong> e-educación basado <strong>en</strong> re<strong>de</strong>s fue un proyecto realizado por LANIA y<br />
financiado por <strong>la</strong> UNESCO [1,2]. El primer prototipo <strong>de</strong>l patrimonio, proyecto REDOBA<br />
[3] fue <strong>de</strong>sarrol<strong>la</strong>do conjuntam<strong>en</strong>te con <strong>la</strong> Dirección G<strong>en</strong>eral <strong>de</strong> Servicios <strong>de</strong> Cómputo<br />
Académico (DGSCA) <strong>de</strong> <strong>la</strong> UNAM, Universidad <strong>de</strong> Guada<strong>la</strong>jara (U<strong>de</strong>G), el Instituto <strong>de</strong><br />
Investigaciones Eléctricas (IIE) y el Laboratorio Nacional <strong>de</strong> Informática Avanzada<br />
(LANIA), el diseño e imp<strong>la</strong>ntación <strong>de</strong> <strong>la</strong> red <strong>de</strong> repositorios fue realizada por <strong>la</strong>s dos<br />
últimas instituciones y con <strong>la</strong> participación <strong>de</strong> <strong>la</strong> Faculta <strong>de</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> UNAM. El<br />
proyecto REDOBA fue financiado por <strong>la</strong> Corporación <strong>de</strong> Universida<strong>de</strong>s para el Desarrollo<br />
<strong>de</strong> Internet 2 <strong>en</strong> México (CUDI).
2. Mo<strong>de</strong>lo <strong>de</strong> e-educación basada <strong>en</strong> re<strong>de</strong>s.<br />
El mo<strong>de</strong>lo <strong>de</strong> e-educación sobre el cual se basó el mo<strong>de</strong>lo <strong>de</strong> e-campus [1,2], se fundam<strong>en</strong>ta<br />
<strong>en</strong> aplicaciones basadas <strong>en</strong> re<strong>de</strong>s y <strong>la</strong> tecnología Web a través <strong>de</strong> cuatro niveles <strong>de</strong> red.<br />
1. Red <strong>de</strong> Servicios básicos <strong>de</strong> Internet-WEB. Es el nivel más básico <strong>de</strong> <strong>la</strong> red y se<br />
conforma por todos los servicios <strong>de</strong> interconexión y <strong>de</strong> acceso a recursos <strong>de</strong> cómputo a<br />
través <strong>de</strong> una interfaz web (navegador) estándar.<br />
2. Red <strong>de</strong> conocimi<strong>en</strong>to. Esta red está conformada por el conjunto <strong>de</strong> repositorios<br />
distribuidos <strong>de</strong> recursos educativos organizados <strong>en</strong> unida<strong>de</strong>s básicas <strong>de</strong> conocimi<strong>en</strong>to<br />
d<strong>en</strong>ominadas objetos <strong>de</strong> apr<strong>en</strong>dizaje.<br />
3. Red <strong>de</strong> apr<strong>en</strong>dizaje. Esta red conforma <strong>la</strong>s comunida<strong>de</strong>s <strong>de</strong> apr<strong>en</strong>dizaje conformadas a<br />
su vez por tres tipos <strong>de</strong> usuarios: P: g<strong>en</strong>erador <strong>de</strong> conocimi<strong>en</strong>to, E: estudiante que adquiere<br />
conocimi<strong>en</strong>to y A: el que administra conocimi<strong>en</strong>to, estudiantes y g<strong>en</strong>eradores <strong>de</strong><br />
conocimi<strong>en</strong>to (estas <strong>de</strong>finiciones <strong>de</strong> funciones son sólo conceptuales pues una <strong>en</strong>tidad<br />
podría tanto g<strong>en</strong>erar, adquirir, como administrar conocimi<strong>en</strong>to).<br />
4. Red <strong>de</strong> apoyo basado <strong>en</strong> ag<strong>en</strong>tes. Esta red esta conformada por un conjunto <strong>de</strong> g<strong>en</strong>tes<br />
(compon<strong>en</strong>tes computacionales basados <strong>en</strong> conocimi<strong>en</strong>to y con capacidad <strong>de</strong> cooperar <strong>en</strong>tre<br />
ellos) para apoyar a los difer<strong>en</strong>tes usuarios <strong>de</strong> <strong>la</strong> red <strong>en</strong> los procesos <strong>de</strong> g<strong>en</strong>eración,<br />
adquisición, búsqueda y administración <strong>de</strong> conocimi<strong>en</strong>to.<br />
Fig. 1 Mo<strong>de</strong>lo <strong>de</strong> e-educación basada <strong>en</strong> re<strong>de</strong>s<br />
3. Diseño <strong>de</strong> <strong>la</strong> interfaz <strong>de</strong> interoperación <strong>de</strong>l patrimonio.<br />
El patrimonio como fue <strong>de</strong>finido <strong>en</strong> [2], éste estaría conformado por un conjunto <strong>de</strong><br />
repositorios <strong>de</strong> materiales educativos digitalizados distribuidos geográficam<strong>en</strong>te y<br />
almac<strong>en</strong>ados <strong>en</strong> los <strong>sitio</strong>s locales <strong>de</strong> una comunidad específica <strong>de</strong> instituciones. El<br />
patrimonio sería el acervo común <strong>de</strong> <strong>la</strong> comunidad y cada c<strong>en</strong>tro produciría sus propios<br />
materiales y estos serían compartidos por <strong>la</strong> comunidad.<br />
3.1 Premisas básicas consi<strong>de</strong>radas para <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong>l patrimonio.<br />
A partir <strong>de</strong> <strong>la</strong>s consi<strong>de</strong>raciones anteriores se <strong>de</strong>finieron <strong>la</strong>s sigui<strong>en</strong>tes premisas básicas <strong>de</strong><br />
diseño para <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong>l patrimonio:<br />
• Con capacidad <strong>de</strong> integrar material educativo digitalizado ya exist<strong>en</strong>te<br />
• Con capacidad <strong>de</strong> integrar sistemas <strong>de</strong> e-learnig ya exist<strong>en</strong>tes <strong>en</strong> particu<strong>la</strong>r <strong>de</strong>l tipo<br />
abierto (“op<strong>en</strong> source”)<br />
• Uso y operación in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te <strong>de</strong> <strong>la</strong>s tecnologías <strong>de</strong> los soportes que lo implem<strong>en</strong>t<strong>en</strong><br />
• Acceso simplificado y estándar para implem<strong>en</strong>tar cualquier tipo <strong>de</strong> funcionalidad.
3.2 Red <strong>de</strong> acervos abiertos y distribuidos y su interfaz <strong>de</strong> interoperación<br />
La interfaz interoperable es el elem<strong>en</strong>to fundam<strong>en</strong>tal que nos permitirá conformar <strong>la</strong> red <strong>de</strong><br />
repositorios heterogéneos distribuidos y abiertos. De esta manera cada acervo se estructuró<br />
a través <strong>de</strong> dos compon<strong>en</strong>tes:<br />
• La interfaz interoperable <strong>de</strong> objetos<br />
• Manejador local <strong>de</strong> objetos<br />
La interfaz interoperable <strong>de</strong>berá estar ori<strong>en</strong>tada al manejo <strong>de</strong> objetos y ser utilizada por<br />
cualquier aplicación (por ejemplo para <strong>la</strong> g<strong>en</strong>eración, seguimi<strong>en</strong>to y administración <strong>de</strong><br />
cursos) in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>tem<strong>en</strong>te <strong>de</strong> <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong> <strong>la</strong>s bases <strong>de</strong> objetos y permitir <strong>la</strong><br />
interconexión con los otros acervos <strong>de</strong> <strong>la</strong> red. Las funciones básicas que <strong>de</strong>bería ofrece esta<br />
interfaz son:<br />
• Agregar objetos a un repositorio local<br />
• Obt<strong>en</strong>er objetos (objetos específicos o búsquedas bajo cualquier criterio) <strong>de</strong> un<br />
repositorio o <strong>de</strong> todo el patrimonio.<br />
El manejador <strong>de</strong> objetos será accesible a través <strong>de</strong> una interfaz estándar y <strong>la</strong> imp<strong>la</strong>ntación<br />
se realizará <strong>de</strong> acuerdo a los manejadores <strong>de</strong> bases <strong>de</strong> datos específicos que se utilic<strong>en</strong> <strong>en</strong> <strong>la</strong><br />
imp<strong>la</strong>ntación. De esta manera se podrán integrar diversos tipos <strong>de</strong> manejadores <strong>de</strong> bases <strong>de</strong><br />
datos a través <strong>de</strong> interfaces <strong>de</strong> acceso a objetos estándares. En <strong>la</strong> figura sigui<strong>en</strong>te se muestra<br />
un red <strong>de</strong> acervos con sus dos compon<strong>en</strong>tes.<br />
Fig. 2 arquitectura <strong>de</strong> <strong>la</strong> red interoperable <strong>de</strong> repositorios<br />
3.3 La interfaz <strong>de</strong> interoperabilidad para <strong>la</strong> interconexión <strong>de</strong> los acervos distribuidos<br />
DRI-IMS<br />
La pieza c<strong>la</strong>ve <strong>de</strong> nuestra arquitectura <strong>de</strong>l patrimonio es <strong>la</strong> interoperabilidad <strong>en</strong>tre sistemas<br />
manejadores <strong>de</strong> bases <strong>de</strong> datos heterogéneos. Para que esto se posible fue necesario <strong>la</strong><br />
utilización <strong>de</strong> estándares ori<strong>en</strong>tadas a objetos <strong>de</strong> apr<strong>en</strong>dizaje in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>tes <strong>de</strong> <strong>la</strong><br />
imp<strong>la</strong>ntación. Con este propósito nosotros empleamos <strong>la</strong> especificación IMS <strong>de</strong><br />
Interoperación <strong>de</strong> Repositorios Digitales que proporciona recom<strong>en</strong>daciones para <strong>la</strong><br />
interoperación <strong>de</strong> <strong>la</strong>s funciones más comunes con el repositorio [9] que a continuación se<br />
pres<strong>en</strong>ta.
Fig. 3 La interfaz <strong>de</strong> interoperabilidad DRI-IMS<br />
El núcleo <strong>de</strong> interacciones <strong>de</strong>finidas <strong>en</strong> este mo<strong>de</strong>lo es el sigui<strong>en</strong>te:<br />
• Buscar/Exponer. El usuario especifica los atributos que servirán para discriminar sobre<br />
los meta-datos <strong>de</strong> los objetos <strong>de</strong> apr<strong>en</strong>dizaje. La respuesta es un conjunto <strong>de</strong> meta-datos.<br />
• Colectar/Exponer. Activación periódica <strong>de</strong>l mecanismo <strong>de</strong> búsqueda.<br />
• Enviar/Almac<strong>en</strong>ar. Mecanismo para colocar objetos <strong>en</strong> el repositorio<br />
• Solicitar/Entregar. Permite que un usuario <strong>de</strong> los recursos, que ya ha localizado algún<br />
meta-dato <strong>de</strong> su interés, solicite acceso al objeto <strong>de</strong> apr<strong>en</strong>dizaje. La <strong>en</strong>trega es <strong>la</strong> respuesta<br />
<strong>de</strong>l repositorio que proporciona acceso al recurso.<br />
• (Alertar/Exponer). Interacción que aún no está completam<strong>en</strong>te <strong>de</strong>finida.<br />
7.2.2 Diseño <strong>de</strong> <strong>la</strong> arquitectura para el patrimonio basado <strong>en</strong> el estándar DRI IMS<br />
Las funciones <strong>de</strong> acceso a <strong>la</strong> interfaz y al manejador <strong>de</strong> <strong>la</strong> base <strong>de</strong> objetos son contro<strong>la</strong>das<br />
por un compon<strong>en</strong>te d<strong>en</strong>ominado el intermediario.<br />
El intermediario resolverá <strong>la</strong> peticiones <strong>de</strong> sus usuarios (cualquier tipo <strong>de</strong> aplicación basada<br />
<strong>en</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje) a través <strong>de</strong> <strong>la</strong>s sigui<strong>en</strong>tes funciones básicas <strong>de</strong> acceso: someter,<br />
buscar, colectar y solicitar.<br />
Esta operaciones podrán ser realizadas al manejador local <strong>de</strong> objetos u otros distantes a<br />
través <strong>de</strong> <strong>la</strong>s sigui<strong>en</strong>tes funciones <strong>de</strong> acceso a los manejadores <strong>de</strong> objetos: almac<strong>en</strong>ar,<br />
exponer y <strong>en</strong>tregar.<br />
Todas estas funciones <strong>de</strong> interoperación usan el estándar por SOAP para una interconexión<br />
in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te <strong>de</strong> <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong> los manejadores. En <strong>la</strong> sigui<strong>en</strong>te figura se muestra el<br />
intermediario y <strong>la</strong>s interacciones <strong>en</strong>tre una aplicación (para el acceso al patrimonio basada<br />
<strong>en</strong> Web), <strong>la</strong> interfaz <strong>de</strong> interoperación y el manejador <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje.
Fig. 4 Arquitectura para el patrimonio basado <strong>en</strong> el estándar DRI IMS<br />
En esta versión <strong>de</strong> nuestra arquitectura solo estamos contemp<strong>la</strong>ndo dos tipos <strong>de</strong> repositorios<br />
<strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje los basados <strong>en</strong> archivos XML y <strong>en</strong> SQL.<br />
4. Imp<strong>la</strong>ntación <strong>de</strong> <strong>la</strong> interfaz <strong>de</strong> interoperabilidad y <strong>de</strong>l manejador <strong>de</strong><br />
objetos<br />
4.1 Versión actual <strong>de</strong>l sistema<br />
En términos <strong>de</strong> arquitectura el bloque principal <strong>de</strong>l repositorio se pue<strong>de</strong> esquematizar como<br />
lo ilustra <strong>la</strong> sigui<strong>en</strong>te figura:<br />
Fig. Imp<strong>la</strong>ntación <strong>de</strong> <strong>la</strong> interfaz interoperable<br />
El cli<strong>en</strong>te acce<strong>de</strong> a los servicios <strong>de</strong>l repositorio, que a su vez se <strong>en</strong>carga <strong>de</strong> realizar <strong>la</strong>s<br />
operaciones con los objetos <strong>de</strong> apr<strong>en</strong>dizaje. La comunicación <strong>en</strong>tre el cli<strong>en</strong>te y el servidor<br />
se implem<strong>en</strong>ta mediante un intercambio <strong>de</strong> m<strong>en</strong>sajes SOAP, que <strong>en</strong> realidad ofrec<strong>en</strong> un<br />
servicio <strong>de</strong> comunicación tipo RPC, <strong>de</strong> tal suerte que el cli<strong>en</strong>te realiza una petición y espera<br />
a que el servidor realice <strong>la</strong> tarea y <strong>en</strong>tregue <strong>la</strong> respuesta.<br />
El acceso a los objetos <strong>de</strong> apr<strong>en</strong>dizaje actualm<strong>en</strong>te se realiza <strong>en</strong> <strong>la</strong> misma computadora <strong>en</strong> <strong>la</strong><br />
que se <strong>en</strong>cu<strong>en</strong>tran los servicios. En el caso más g<strong>en</strong>eral este servicio se ubicará <strong>en</strong> otra<br />
computadora, ofreci<strong>en</strong>do un mejor nivel <strong>de</strong> distribución <strong>de</strong> <strong>la</strong>s tareas.<br />
Para el usuario es transpar<strong>en</strong>te <strong>la</strong> ubicación real <strong>de</strong> los objetos <strong>de</strong> apr<strong>en</strong>dizaje, pued<strong>en</strong> estar<br />
<strong>en</strong> el repositorio local o pued<strong>en</strong> ser parte <strong>de</strong> otros repositorios. En términos gráficos el<br />
sistema se vería <strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te forma:
Los servicios que se ofrec<strong>en</strong> actualm<strong>en</strong>te son:<br />
1. Agregar objetos al repositorio.<br />
Originalm<strong>en</strong>te se había consi<strong>de</strong>rado que los objetos <strong>de</strong> apr<strong>en</strong>dizaje sólo se podrían agregar<br />
<strong>de</strong> una forma: como paquetes que incluy<strong>en</strong> <strong>la</strong> <strong>de</strong>scripción <strong>de</strong>l objeto y el cont<strong>en</strong>ido. En base<br />
a <strong>la</strong>s experi<strong>en</strong>cias con los materiales <strong>de</strong> que se dispon<strong>en</strong>, se incluyó <strong>la</strong> posibilidad <strong>de</strong><br />
agregar so<strong>la</strong>m<strong>en</strong>te los metadatos o so<strong>la</strong>m<strong>en</strong>te el cont<strong>en</strong>ido.<br />
2. Buscar objetos con alguna característica especial.<br />
La búsqueda se realiza <strong>en</strong> base a una sintaxis especial, <strong>la</strong> <strong>de</strong>l l<strong>en</strong>guaje <strong>de</strong> consulta XQuery.<br />
Esta sintaxis no es fácil <strong>de</strong> manejar para <strong>la</strong> mayoría <strong>de</strong> <strong>la</strong> g<strong>en</strong>te, por lo que <strong>la</strong> interfaz <strong>de</strong><br />
acceso al sistema ofrece <strong>la</strong> posibilidad <strong>de</strong> buscar sobre los principales campos <strong>de</strong> los<br />
metadatos.<br />
3. Extraer objetos <strong>de</strong>l repositorio.<br />
Actualm<strong>en</strong>te, <strong>la</strong> función <strong>de</strong> extraer objetos <strong>en</strong>trega el paquete completo que incluye tanto a<br />
los metadatos como al cont<strong>en</strong>ido mismo.<br />
4.2 Tareas futuras<br />
Existe mucho trabajo que realizar para que el repositorio funcione mejor. Algunas cosas son<br />
nuevas funciones que se <strong>de</strong>b<strong>en</strong> agregar al repositorio y otras son mejoras a <strong>la</strong>s ya exist<strong>en</strong>tes.<br />
Por ejemplo:<br />
1.Agregar un mecanismo <strong>de</strong> id<strong>en</strong>tificación <strong>de</strong> usuarios. Se necesita saber para cada usuario<br />
cuál es el conjunto <strong>de</strong> operaciones que le es permitido realizar con los objetos <strong>de</strong><br />
apr<strong>en</strong>dizaje que se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong> el repositorio.<br />
2.Mejorar el mecanismo <strong>de</strong> comunicación <strong>en</strong>tre repositorios. Si bi<strong>en</strong> existe un intercambio<br />
básico <strong>de</strong> objetos, se ha visto <strong>la</strong> necesidad <strong>de</strong> <strong>de</strong>finir un protocolo más robusto que<br />
garantice mejores niveles <strong>de</strong> funcionami<strong>en</strong>to; actualm<strong>en</strong>te se está utilizando un mecanismo<br />
<strong>de</strong> comunicación tipo RPC, lo que obliga a que los repositorios trabaj<strong>en</strong> <strong>en</strong> sincronía,<br />
cuando es muy posible que lo mejor sea que cada uno trabaje a su propio ritmo, lo que<br />
obligaría a usar un mecanismo <strong>de</strong> comunicación asíncrona.<br />
4.3 P<strong>la</strong>taforma <strong>de</strong> <strong>de</strong>sarrollo<br />
El prototipo <strong>de</strong> repositorio distribuido <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje, fue <strong>de</strong>sarrol<strong>la</strong>ndo con base<br />
<strong>en</strong> estándares, especificaciones, mo<strong>de</strong>los y recom<strong>en</strong>daciones internacionales, como es el<br />
caso <strong>de</strong>l estándar LOM <strong>de</strong>l IEEE [5] sobre el cont<strong>en</strong>ido y estructura <strong>de</strong> los metadatos <strong>de</strong> los<br />
objetos <strong>de</strong> apr<strong>en</strong>dizaje, <strong>la</strong> especificación <strong>de</strong> IMS [4], SCORM [6], <strong>de</strong> una repres<strong>en</strong>tación <strong>de</strong><br />
los metadatos <strong>en</strong> el l<strong>en</strong>guaje XML [9] <strong>la</strong>s recom<strong>en</strong>daciones <strong>de</strong>l W3C [10] para <strong>la</strong><br />
imp<strong>la</strong>ntación <strong>de</strong> servicios web con base <strong>en</strong> tecnologías abiertas tales como SOAP, WSDL y<br />
XQuery. El prototipo fue <strong>de</strong>sarrol<strong>la</strong>do sobre una p<strong>la</strong>taforma <strong>de</strong> software libre, que incluye<br />
el sistema operativo Linux, el manejador <strong>de</strong> base <strong>de</strong> datos MySQL, Apache Tomcat como<br />
el manejador <strong>de</strong> compon<strong>en</strong>tes <strong>de</strong> Java, <strong>la</strong> biblioteca Axis, también <strong>de</strong> Apache, para <strong>la</strong><br />
imp<strong>la</strong>ntación <strong>de</strong>l protocolo SOAP y <strong>la</strong> biblioteca XQuark Bridge para el acceso a base <strong>de</strong><br />
datos utilizando XML y XQuery. A<strong>de</strong>más, para el <strong>de</strong>sarrollo <strong>de</strong>l proyecto se utilizaron una<br />
gran cantidad <strong>de</strong> herrami<strong>en</strong>tas <strong>de</strong> software libre, a<strong>de</strong>más <strong>de</strong> software propietario.<br />
5. Conclusiones.<br />
El uso software libre y estándares tuvo un costo: imp<strong>la</strong>ntaciones más <strong>la</strong>rgas y m<strong>en</strong>os<br />
estables, <strong>de</strong>bido al uso <strong>de</strong> tecnologías <strong>en</strong> <strong>de</strong>sarrollo (como SOAP, WSDL y XQuery) y <strong>de</strong><br />
herrami<strong>en</strong>tas y p<strong>la</strong>taformas que, aunque <strong>en</strong> muchos aspectos son excel<strong>en</strong>tes, g<strong>en</strong>eralm<strong>en</strong>te
incluy<strong>en</strong> m<strong>en</strong>os funcionalida<strong>de</strong>s que algunas <strong>de</strong> sus contrapartes comerciales, más costosas<br />
y propietarias. Los b<strong>en</strong>eficios, sin embargo, más que justifican este costo.<br />
Cabe <strong>en</strong>fatizar, sin embargo que el sistema <strong>de</strong>sarrol<strong>la</strong>do <strong>en</strong> este proyecto es un primer<br />
prototipo, que <strong>de</strong>muestra <strong>la</strong>s posibilida<strong>de</strong>s <strong>de</strong> un repositorio distribuido <strong>de</strong> objetos <strong>de</strong><br />
apr<strong>en</strong>dizaje, pero que ti<strong>en</strong>e limitaciones importantes <strong>en</strong> cuanto a robustez, efici<strong>en</strong>cia,<br />
flexibilidad, capacidad y facilidad <strong>de</strong> insta<strong>la</strong>ción. Lo que se está <strong>en</strong>tregando es una base<br />
excel<strong>en</strong>te para trabajo futuro, con algunas <strong>de</strong>cisiones importantes ya tomadas y evaluadas,<br />
para trabajar juntos <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> un patrimonio <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje distribuido<br />
<strong>en</strong> <strong>la</strong> red CUDI que sea confiable, veloz, funcional y <strong>de</strong> fácil acceso.<br />
Otros repositorios<br />
En <strong>la</strong> actualidad exist<strong>en</strong> diversos iniciativas <strong>de</strong> repositorios como el <strong>de</strong>l<br />
“Op<strong>en</strong>CourseWare2” <strong>de</strong>l MIT (http://ocw.mit.edu/) que almac<strong>en</strong>a cursos completos que no<br />
están <strong>de</strong>finidos como objetos, pero exist<strong>en</strong> otros que si se basan <strong>en</strong> <strong>la</strong> tecnología <strong>de</strong> objetos<br />
tales como MERLOT (http://www.merlot.org/), CAREO - Campus Alberta Repository of<br />
Educational Objects (http://www.careo.org/) o el LOR-VCILT University of Mauritius<br />
(http://vcampus.uom.ac.mu/lor/), sin embargo éstos son repositorios c<strong>en</strong>tralizados.<br />
En cuanto a iniciativas <strong>de</strong> repositorios distribuidos, hay muy pocos y <strong>en</strong> g<strong>en</strong>eral están <strong>en</strong><br />
fase <strong>de</strong> <strong>de</strong>sarrollo como por ejemplo, ELENA/Edutel<strong>la</strong> Proyecto Europeo<br />
(http://edutel<strong>la</strong>.jxta.org/) o el eduSource Canada Université Athabasca,Netera Alliance,<br />
New Media Innovation C<strong>en</strong>tre, TéléEducation NB , Télé-Université , Université <strong>de</strong><br />
Waterloo (http://edusource.ca). El primero utiliza el estándar RDF para <strong>la</strong> <strong>de</strong>finición <strong>de</strong><br />
objetos y el segundo utiliza los estandares IMS para <strong>la</strong> <strong>de</strong>finición <strong>de</strong> sus objetos y IRD-IMS<br />
para <strong>la</strong> intreroperabilidad <strong>en</strong>tre repositorios. En este s<strong>en</strong>tido REDOBA, propuesta <strong>de</strong> cuatro<br />
instituciones (UNAM, U<strong>de</strong>G, IIE y LANIA), se apoya <strong>en</strong> los mismos estándares que el <strong>de</strong><br />
eduSource pero sin contar con los mismos recursos financieros, este último proyecto cu<strong>en</strong>ta<br />
para <strong>la</strong> fase <strong>de</strong> construcción <strong>de</strong> <strong>la</strong> red <strong>de</strong> repositorios con un financiami<strong>en</strong>to <strong>de</strong> $ 8M <strong>de</strong><br />
dó<strong>la</strong>res durante 18 meses con <strong>la</strong> participación <strong>de</strong> seis universida<strong>de</strong>s.<br />
Refer<strong>en</strong>cias.<br />
[1] Víctor G. Sánchez. Proyecto e-campus. Pres<strong>en</strong>tado a <strong>la</strong> UNESCO reunión <strong>de</strong>l Colegio<br />
Internacional <strong>de</strong> <strong>la</strong> AFNIC, París 3 <strong>de</strong> Junio <strong>de</strong>l 2002<br />
http://www.<strong>la</strong>nia.mx/~victor/pres<strong>en</strong>taciones/unesco_2002_e-campus.ppt<br />
[2] Víctor G. Sánchez. " Diseño <strong>de</strong> un patrimonio <strong>de</strong> recursos educativos basado <strong>en</strong> una red<br />
<strong>de</strong> acervos abiertos y distribuidos <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje" Memorias Taller Objetos <strong>de</strong><br />
Apr<strong>en</strong>dizaje, Fourth Mexican Internatonal Confer<strong>en</strong>ce on Computer Sci<strong>en</strong>ce ENC03.<br />
T<strong>la</strong>xca<strong>la</strong> Mex. 8-12 Sep, 2003<br />
[3] Víctor G. Sánchez. Pres<strong>en</strong>tación <strong>de</strong>l Proyecto e-campus al CUDI, Ciudad Juárez Chihuahua<br />
México 18 octubre 2002 http://www.<strong>la</strong>nia.mx/~victor/pres<strong>en</strong>taciones/cudi_2002_campu.ppt<br />
http://www.<strong>la</strong>nia.mx/~victor/pub_rec.html<br />
[4] IMS Instructional Managam<strong>en</strong>t System Global Learning Consortium Inc.<br />
(http://www.imsproject.org/)<br />
[5] IEEE LTSC Learning Technology Standards Committee (http://ltsc.ieee.org)<br />
[6] ISO/IEC JTC1/SC36 – Information Technology for Learning, Education, and Training<br />
(http://jtc1sc36.org)<br />
[7]ADL-SCORM Advanced Distributed Learning – The Sharable Cont<strong>en</strong>t Object Refer<strong>en</strong>ce Mo<strong>de</strong>l<br />
(http://www.adlnet.org)<br />
[8]IMS: “IMS Digital Repositories Interoperability - Core Functions Information Mo<strong>de</strong>l Version 1.0<br />
Final Specification” http://www.imsglobal.org/digitalrepositories/driv1p0/imsdri_infov1p0.html, 13<br />
January 2003.<br />
[9] Sitio Web XML: http://www.w3.xml.org<br />
[10] Sitio Web Servicios Web: http://www.webservices.org
De LOM a XML y SQL, o cómo almac<strong>en</strong>ar metadatos<br />
<strong>en</strong> un repositorio <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje<br />
Rafael Morales 1 y Salvador López M<strong>en</strong>doza 2<br />
1 School of Informatics, Northumbria University,<br />
Pandon Building, Camd<strong>en</strong> St, Newcastle upon Tyne, NE2 1XE, G.B.<br />
rmorales@unn.ac.uk<br />
2 Facultad <strong>de</strong> Ci<strong>en</strong>cias, Universidad Nacional Autónoma <strong>de</strong> México<br />
Ciudad Universitaria, D.F., México.<br />
slm@fci<strong>en</strong>cias.unam.mx<br />
Resum<strong>en</strong>. En este artículo se <strong>de</strong>scribe el diseño e implem<strong>en</strong>tación <strong>de</strong>l almac<strong>en</strong>ami<strong>en</strong>to<br />
<strong>de</strong> metadatos conformes con el estándar IEEE LOM <strong>en</strong> REDOBA, un<br />
prototipo <strong>de</strong> repositorio distribuido <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje. Se analizan diversas<br />
opciones <strong>de</strong> diseño disponibles, indicando <strong>la</strong>s v<strong>en</strong>tajas y <strong>de</strong>sv<strong>en</strong>tajas que cada<br />
una <strong>de</strong> el<strong>la</strong>s ofrece.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve: Objeto <strong>de</strong> apr<strong>en</strong>dizaje, metadatos, XML, mo<strong>de</strong>lo re<strong>la</strong>cional.<br />
1. Introducción<br />
Uno <strong>de</strong> los aspectos más importantes a consi<strong>de</strong>rar <strong>en</strong> el diseño <strong>de</strong> un repositorio <strong>de</strong> objetos<br />
<strong>de</strong> apr<strong>en</strong>dizaje, como es el caso <strong>de</strong> REDOBA [4], es el almac<strong>en</strong>ami<strong>en</strong>to y acceso a<br />
los metadatos <strong>de</strong> los objetos, dado que el acceso a los metadatos es indisp<strong>en</strong>sable para<br />
buscar, localizar y seleccionar objetos <strong>de</strong> apr<strong>en</strong>dizaje <strong>en</strong> el repositorio. En algunos repositorios,<br />
como MERLOT [3], únicam<strong>en</strong>te se almac<strong>en</strong>an los metadatos y <strong>la</strong>s refer<strong>en</strong>cias<br />
a los objetos correspondi<strong>en</strong>tes.<br />
Para que un objeto (mediático, informativo o <strong>de</strong> apr<strong>en</strong>dizaje, unidad <strong>de</strong> apr<strong>en</strong>dizaje<br />
o red <strong>de</strong> conocimi<strong>en</strong>to) pueda ser cont<strong>en</strong>ido <strong>en</strong> REDOBA es necesario que el cont<strong>en</strong>ido<br />
y formato <strong>de</strong> sus metadatos estén <strong>de</strong>sarrol<strong>la</strong>dos conforme con <strong>la</strong>s especificaciones <strong>de</strong><br />
IEEE [2] e IMS [1] – conocidas <strong>de</strong> manera g<strong>en</strong>eral como el mo<strong>de</strong>lo LOM para metadatos<br />
(por Learning Object Metadata). Esto significa, <strong>en</strong> particu<strong>la</strong>r, que los metadatos<br />
<strong>de</strong>b<strong>en</strong> estar codificados <strong>en</strong> XML [7] <strong>de</strong> acuerdo con el esquema <strong>de</strong>finido por IMS.<br />
Exist<strong>en</strong> varias maneras <strong>de</strong> almac<strong>en</strong>ar información <strong>de</strong>scrita originalm<strong>en</strong>te <strong>en</strong> XML,<br />
<strong>en</strong>tre <strong>la</strong>s que cabe resaltar tres:<br />
1. Almac<strong>en</strong>ar<strong>la</strong> <strong>en</strong> archivos XML, utilizando el sistema <strong>de</strong> archivos <strong>de</strong>l sistema operativo.<br />
2. Convertir <strong>la</strong> estructura y el cont<strong>en</strong>ido <strong>de</strong>l archivo XML <strong>en</strong> tab<strong>la</strong>s, re<strong>la</strong>ciones y registros<br />
<strong>de</strong> una base <strong>de</strong> datos re<strong>la</strong>cional.<br />
3. Almac<strong>en</strong>ar <strong>la</strong> información <strong>en</strong> una base <strong>de</strong> datos especialm<strong>en</strong>te diseñada para cont<strong>en</strong>er<br />
información originalm<strong>en</strong>te <strong>en</strong> XML.
Cada una <strong>de</strong> estas opciones ti<strong>en</strong>e v<strong>en</strong>tajas y <strong>de</strong>sv<strong>en</strong>tajas. La primera opción es fácil<br />
<strong>de</strong> implem<strong>en</strong>tar y no requiere <strong>de</strong> software adicional para el almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> <strong>la</strong> información,<br />
pero ti<strong>en</strong>e <strong>la</strong>s <strong>de</strong>sv<strong>en</strong>tajas <strong>de</strong> hacer más difícil <strong>la</strong> búsqueda <strong>de</strong> información<br />
específica y ser l<strong>en</strong>ta <strong>en</strong> su ejecución. La segunda opción, <strong>en</strong> cambio, permite el almac<strong>en</strong>ami<strong>en</strong>to<br />
y acceso rápido a <strong>la</strong> información, por estar basada <strong>en</strong> <strong>la</strong> tecnología madura<br />
<strong>de</strong> <strong>la</strong>s bases <strong>de</strong> datos re<strong>la</strong>cionales; sin embargo, para su implem<strong>en</strong>tación es necesario<br />
<strong>de</strong>finir mecanismos <strong>de</strong> conversión <strong>en</strong>tre los archivos XML y su repres<strong>en</strong>tación <strong>en</strong> <strong>la</strong><br />
base <strong>de</strong> datos, mismos que <strong>de</strong>b<strong>en</strong> ser ejecutados cada vez que se <strong>de</strong>sea almac<strong>en</strong>ar o<br />
extraer información <strong>de</strong>l repositorio. La tercera opción combina <strong>la</strong>s v<strong>en</strong>tajas <strong>de</strong> <strong>la</strong>s dos<br />
opciones anteriores, facilidad <strong>de</strong> implem<strong>en</strong>tación y velocidad <strong>de</strong> ejecución, pero los sistemas<br />
manejadores <strong>de</strong> bases <strong>de</strong> datos ori<strong>en</strong>tadas a XML son aún escasos y <strong>de</strong> creación<br />
reci<strong>en</strong>te.<br />
Para <strong>la</strong> implem<strong>en</strong>tación <strong>de</strong> REDOBA se han tomado <strong>la</strong>s dos primeras opciones <strong>de</strong><br />
almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> los metadatos; esto es, <strong>en</strong> su formato original, como archivos XML,<br />
y <strong>en</strong> una base <strong>de</strong> datos re<strong>la</strong>cional. En <strong>la</strong>s secciones sigui<strong>en</strong>tes se <strong>de</strong>scrib<strong>en</strong> el diseño e<br />
implem<strong>en</strong>tación <strong>de</strong> ambas opciones.<br />
Por conv<strong>en</strong>ción, <strong>de</strong> aquí <strong>en</strong> a<strong>de</strong><strong>la</strong>nte utilizaremos el término g<strong>en</strong>eral metadato(s)<br />
para hacer refer<strong>en</strong>cia al caso particu<strong>la</strong>r <strong>de</strong> metadatos tipo LOM codificados <strong>en</strong> XML <strong>de</strong><br />
acuerdo al esquema <strong>de</strong> IMS, excepto cuando explícitam<strong>en</strong>te se exprese lo contrario.<br />
2. Almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> metadatos como archivos XML<br />
El mo<strong>de</strong>lo para repositorios distribuidos <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje [6] establece que los<br />
metadatos correspondi<strong>en</strong>tes a los objetos <strong>de</strong> apr<strong>en</strong>dizaje <strong>de</strong>b<strong>en</strong> <strong>de</strong> almac<strong>en</strong>arse d<strong>en</strong>tro<br />
<strong>de</strong> una base <strong>de</strong> datos, <strong>de</strong> tal forma que se facilit<strong>en</strong> los procesos <strong>de</strong> búsqueda, recuperación<br />
y almac<strong>en</strong>ami<strong>en</strong>to. Este mo<strong>de</strong>lo no especifica una base <strong>de</strong> datos <strong>en</strong> particu<strong>la</strong>r, <strong>en</strong><br />
lo que sí es específico es <strong>en</strong> que se <strong>de</strong>be utilizar el l<strong>en</strong>guaje <strong>de</strong> consulta XQUERY para<br />
manipu<strong>la</strong>r los metadatos [5].<br />
Durante el <strong>de</strong>sarrollo <strong>de</strong> REDOBA se consi<strong>de</strong>ró <strong>la</strong> utilización <strong>de</strong> una base <strong>de</strong> datos<br />
re<strong>la</strong>cional, a <strong>la</strong> que se acce<strong>de</strong>ría a través <strong>de</strong>l l<strong>en</strong>guaje <strong>de</strong> consulta XQUERY; mediante<br />
<strong>la</strong> utilización <strong>de</strong> XQuark. Sin embargo, dados los problemas que se pres<strong>en</strong>taron con<br />
<strong>la</strong> utilización <strong>de</strong> XQuark, se <strong>de</strong>cidió implem<strong>en</strong>tar una versión <strong>de</strong>l repositorio mediante<br />
el almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> <strong>la</strong> información <strong>en</strong> archivos XML con <strong>la</strong> finalidad <strong>de</strong> t<strong>en</strong>er una<br />
versión funcional <strong>de</strong>l prototipo <strong>de</strong>l repositorio distribuido <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje.<br />
Esta <strong>de</strong>cisión se tomó consi<strong>de</strong>rando que actualm<strong>en</strong>te no se cu<strong>en</strong>ta con una gran cantidad<br />
<strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje, por lo que <strong>la</strong>s operaciones con archivos no repres<strong>en</strong>tan un<br />
problema <strong>en</strong> <strong>la</strong> efici<strong>en</strong>cia.<br />
En esta versión <strong>de</strong>l repositorio se <strong>de</strong>cidió organizar <strong>la</strong> información <strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te<br />
manera:<br />
Un directorio <strong>de</strong> acceso g<strong>en</strong>eral y cuya ubicación fuera accesible por todos.<br />
Dado que el prototipo ha sido <strong>de</strong>sarrol<strong>la</strong>do <strong>en</strong> el sistema operativo Linux, se <strong>de</strong>cidió<br />
colocar el repositorio <strong>en</strong> el directorio /var/redoba. Al utilizarlo <strong>en</strong> un sistema<br />
operativo Windows este directorio ha cambiado a \var\redoba.<br />
Un directorio (MetaData) para almac<strong>en</strong>ar los metadatos.
A cada metadato le correspon<strong>de</strong> un archivo <strong>en</strong> XML que conti<strong>en</strong>e toda <strong>la</strong> información<br />
<strong>de</strong> dicho metadato.<br />
Un directorio (Cont<strong>en</strong>t) para almac<strong>en</strong>ar los objetos <strong>de</strong> apr<strong>en</strong>dizaje.<br />
Cada uno <strong>de</strong> los objetos se almac<strong>en</strong>a mediante un paquete ZIP, que conti<strong>en</strong>e tanto<br />
el archivo con los metadatos como los elem<strong>en</strong>tos <strong>de</strong> que consta; estos pued<strong>en</strong> ser<br />
objetos mediáticos, informativos o <strong>de</strong> apr<strong>en</strong>dizaje, así como re<strong>de</strong>s <strong>de</strong> conocimi<strong>en</strong>to<br />
o unida<strong>de</strong>s <strong>de</strong> apr<strong>en</strong>dizaje.<br />
Esta versión <strong>de</strong>l repositorio no utiliza el l<strong>en</strong>guaje <strong>de</strong> consulta XQUERY para especificar<br />
<strong>la</strong>s operaciones sobre el repositorio, só<strong>la</strong>m<strong>en</strong>te se realizan búsquedas sobre<br />
los principales atributos <strong>de</strong> los metadatos; <strong>en</strong> particu<strong>la</strong>r se realizan búsquedas sobre<br />
título, <strong>de</strong>scripción y pa<strong>la</strong>bras reservadas. Como ya se ha m<strong>en</strong>cionado, <strong>la</strong> <strong>de</strong>scripción<br />
<strong>de</strong> los metadatos se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> archivos escritos <strong>en</strong> XML, por lo que se cu<strong>en</strong>ta con<br />
una <strong>de</strong>scripción <strong>de</strong> los metadatos <strong>en</strong> texto, esto facilita <strong>la</strong> <strong>la</strong>bor <strong>de</strong> búsqueda, pues <strong>la</strong>s<br />
operaciones se reduc<strong>en</strong> a localizar patrones específicos d<strong>en</strong>tro <strong>de</strong> un texto.<br />
3. Almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> metadatos <strong>en</strong> una base <strong>de</strong> datos re<strong>la</strong>cional<br />
En principio, el proceso <strong>de</strong> diseño e implem<strong>en</strong>tación <strong>de</strong>l almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> metadatos<br />
<strong>en</strong> una base <strong>de</strong> datos re<strong>la</strong>cional se divi<strong>de</strong> <strong>en</strong> dos etapas:<br />
1. Diseño <strong>de</strong>l mo<strong>de</strong>lo re<strong>la</strong>cional <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos, con base <strong>en</strong> el esquema <strong>de</strong> los<br />
metadatos y <strong>en</strong> requisitos y recom<strong>en</strong>daciones adicionales cont<strong>en</strong>idos <strong>en</strong> LOM.<br />
2. Especificación operacional <strong>de</strong> <strong>la</strong> correspond<strong>en</strong>cia, o mapeo, <strong>en</strong>tre los difer<strong>en</strong>tes<br />
elem<strong>en</strong>tos y atributos cont<strong>en</strong>idos <strong>en</strong> los metadatos y <strong>la</strong>s correspondi<strong>en</strong>tes tab<strong>la</strong>s y<br />
atributos <strong>en</strong> <strong>la</strong> base <strong>de</strong> datos re<strong>la</strong>cional.<br />
Un aspecto <strong>de</strong>l problema que es importante m<strong>en</strong>cionar aquí es que el esquema para <strong>la</strong><br />
codificación <strong>de</strong> los metadatos <strong>en</strong> XML, tal como ha sido <strong>de</strong>finido por IMS, es re<strong>la</strong>tivam<strong>en</strong>te<br />
<strong>la</strong>xo. Esto es, muchas <strong>de</strong> <strong>la</strong>s restricciones sobre los metadatos especificadas <strong>en</strong><br />
LOM, tales como <strong>la</strong>s longitu<strong>de</strong>s <strong>de</strong> títulos y <strong>de</strong>finiciones, <strong>la</strong> notación para repres<strong>en</strong>tar<br />
difer<strong>en</strong>tes l<strong>en</strong>guajes (naturales o artificiales) y el formato <strong>de</strong> fechas y tiempos, no exist<strong>en</strong><br />
<strong>en</strong> el esquema. Esto afecta, como se verá más a<strong>de</strong><strong>la</strong>nte, tanto el diseño <strong>de</strong> <strong>de</strong>talle<br />
<strong>de</strong>l mo<strong>de</strong>lo re<strong>la</strong>cional como su mapeo con el esquema <strong>de</strong> los metadatos.<br />
3.1. Diseño <strong>de</strong>l mo<strong>de</strong>lo re<strong>la</strong>cional<br />
La repres<strong>en</strong>tación <strong>de</strong> los metadatos <strong>en</strong> XML está <strong>de</strong>finida como parte <strong>de</strong> <strong>la</strong> especificación<br />
<strong>de</strong> IMS e imp<strong>la</strong>ntada como un esquema XML, por lo que el diseño <strong>de</strong>l mo<strong>de</strong>lo<br />
re<strong>la</strong>cional para <strong>la</strong> base <strong>de</strong> datos <strong>de</strong>be permitir <strong>la</strong> repres<strong>en</strong>tación completa y fi<strong>de</strong>digna<br />
<strong>de</strong> los metadatos así repres<strong>en</strong>tados. Una manera fácil y rápida, incluso automática,<br />
<strong>de</strong> diseñar el mo<strong>de</strong>lo re<strong>la</strong>cional consiste <strong>en</strong> <strong>de</strong>finir una tab<strong>la</strong> para cada uno <strong>de</strong> los tipos<br />
complejos (complexType)<strong>de</strong>finidos <strong>en</strong> el esquema XML, incluy<strong>en</strong>do l<strong>la</strong>ves foráneas<br />
para repres<strong>en</strong>tar <strong>la</strong> composición <strong>de</strong> tipos y, por consigui<strong>en</strong>te, <strong>la</strong> re<strong>la</strong>ción <strong>de</strong> inclusión <strong>en</strong>tre<br />
los elem<strong>en</strong>tos <strong>de</strong> cada tipo <strong>en</strong> cada instancia <strong>de</strong>l esquema. Sin embargo, esta manera<br />
<strong>de</strong> diseñar el mo<strong>de</strong>lo re<strong>la</strong>cional ti<strong>en</strong>e el inconv<strong>en</strong>i<strong>en</strong>te <strong>de</strong> no consi<strong>de</strong>rar ni información
adicional, como <strong>la</strong> re<strong>la</strong>tiva a <strong>la</strong> semántica <strong>de</strong> los metadatos e incluso restricciones sintácticas<br />
expresadas <strong>en</strong> LOM y no <strong>en</strong> el esquema XML, ni aspectos <strong>de</strong> efici<strong>en</strong>cia <strong>de</strong><br />
almac<strong>en</strong>ami<strong>en</strong>to y acceso <strong>en</strong> <strong>la</strong> base <strong>de</strong> datos. Por ejemplo, <strong>la</strong> gran mayoría <strong>de</strong> los metadatos<br />
están etiquetados como <strong>la</strong>ngstring – un tipo complejo para repres<strong>en</strong>tar texto<br />
<strong>en</strong> un l<strong>en</strong>guaje particu<strong>la</strong>r, natural o artificial – lo que significa que <strong>la</strong> mayoría <strong>de</strong> los<br />
datos y los accesos a <strong>la</strong> base <strong>de</strong> datos estarían conc<strong>en</strong>trados <strong>en</strong> <strong>la</strong> tab<strong>la</strong> asociada al tipo<br />
<strong>la</strong>ngstringType, con un efecto negativo <strong>en</strong> el r<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos. Otro<br />
problema <strong>de</strong> esta manera <strong>de</strong> diseñar el mo<strong>de</strong>lo re<strong>la</strong>cional ti<strong>en</strong>e que ver también con el<br />
tipo <strong>la</strong>ngstringType, que es aplicado para repres<strong>en</strong>tar cad<strong>en</strong>as con longitu<strong>de</strong>s que varían<br />
<strong>de</strong>s<strong>de</strong> uno hasta dos mil caracteres (mínimo máximo recom<strong>en</strong>dado), <strong>de</strong>p<strong>en</strong>di<strong>en</strong>do<br />
<strong>de</strong> su significado y, por consigui<strong>en</strong>te, <strong>de</strong> su ubicación <strong>en</strong> <strong>la</strong> estructura <strong>de</strong> los metadatos.<br />
A manera <strong>de</strong> ejemplo, los subelem<strong>en</strong>tos título, <strong>de</strong>scripción y nivel <strong>de</strong> agregación <strong>de</strong>l<br />
elem<strong>en</strong>to g<strong>en</strong>eral <strong>en</strong> LOM se repres<strong>en</strong>tan <strong>en</strong> XML usando <strong>la</strong>ngstring,como<strong>en</strong><br />
<br />
<br />
<br />
Draft Standard for Learning Object Metadata<br />
...<br />
...<br />
<br />
<br />
Metadata is information about an object...<br />
<br />
<br />
<br />
<br />
LOMv1.0<br />
<br />
<br />
2<br />
<br />
<br />
<br />
Sin embargo, mi<strong>en</strong>tras que <strong>la</strong> longitud <strong>en</strong> caracteres <strong>de</strong>l valor <strong>de</strong>l nivel <strong>de</strong> agregación<br />
no es más que uno (<strong>en</strong> el vocabu<strong>la</strong>rio <strong>de</strong>finido <strong>en</strong> LOM), el título ti<strong>en</strong>e g<strong>en</strong>eralm<strong>en</strong>te<br />
una longitud <strong>de</strong> varias <strong>de</strong>c<strong>en</strong>as <strong>de</strong> caracteres, <strong>en</strong> tanto que <strong>la</strong> <strong>de</strong>scripción pue<strong>de</strong> t<strong>en</strong>er<br />
varios ci<strong>en</strong>tos o incluso miles <strong>de</strong> caracteres. Ubicar todos estos elem<strong>en</strong>tos <strong>en</strong> el mismo<br />
atributo <strong>de</strong> <strong>la</strong> misma tab<strong>la</strong> choca con su significado y pue<strong>de</strong> ser inefici<strong>en</strong>te, o incluso<br />
inaceptable, <strong>en</strong> algunos manejadores <strong>de</strong> bases <strong>de</strong> datos re<strong>la</strong>cionales.<br />
Otra manera <strong>de</strong> diseñar el mo<strong>de</strong>lo re<strong>la</strong>cional consiste <strong>en</strong> poner más at<strong>en</strong>ción a los<br />
elem<strong>en</strong>tos que conforman los metadatos que a los tipos <strong>de</strong> datos <strong>en</strong> el esquema. Esto<br />
es, realizar el diseño con base <strong>en</strong> <strong>la</strong> semántica y <strong>la</strong> organización <strong>de</strong> los metadatos, así<br />
como <strong>en</strong> <strong>la</strong>s necesida<strong>de</strong>s prácticas <strong>de</strong> almac<strong>en</strong>ami<strong>en</strong>to y acceso a <strong>la</strong> base <strong>de</strong> datos. La<br />
difer<strong>en</strong>cia <strong>en</strong>tre los resultados obt<strong>en</strong>idos aplicando ambos métodos <strong>de</strong> diseño se pue<strong>de</strong><br />
apreciar comparando <strong>la</strong>s figuras 1 y 2. Las tres tab<strong>la</strong>s gran<strong>de</strong>s – tanto <strong>en</strong> atributos como<br />
<strong>en</strong> número <strong>de</strong> registros source, – value y <strong>la</strong>ngstr ing <strong>de</strong>l diseño por tipos <strong>de</strong> datos figura (<br />
1) son combinadas y repartidas <strong>en</strong> tab<strong>la</strong>s más pequeñas, como aggregationlevel y str uc-
ture, <strong>en</strong> el nuevo diseño. Este nuevo diseño refleja mejor <strong>la</strong> semántica y organización<br />
<strong>de</strong> los metadatos, al mismo tiempo que hace un mejor ba<strong>la</strong>nce <strong>de</strong> los datos <strong>en</strong> <strong>la</strong>s tab<strong>la</strong>s<br />
y <strong>de</strong>l acceso a éstas <strong>en</strong> <strong>la</strong> base <strong>de</strong> datos. A cambio <strong>de</strong> estas v<strong>en</strong>tajas, este diseño ti<strong>en</strong>e<br />
que ser realizado manualm<strong>en</strong>te y requiere más tiempo que el diseño por tipos <strong>de</strong> datos.<br />
Fig. 1. Parte <strong>de</strong>l mo<strong>de</strong>lo re<strong>la</strong>cional diseñado con base <strong>en</strong> los tipos <strong>de</strong> datos cont<strong>en</strong>idos<br />
<strong>en</strong> el esquema <strong>de</strong> los metadatos. Todos los atributos con terminación _id son l<strong>la</strong>ves foráneas,<br />
aunque so<strong>la</strong>m<strong>en</strong>te los utilizados por <strong>la</strong>s re<strong>la</strong>ciones visibles son marcados como<br />
tales.<br />
3.2. Diseño <strong>de</strong>l mapeo<br />
Para implem<strong>en</strong>tar el almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> metadatos <strong>en</strong> una base <strong>de</strong> datos re<strong>la</strong>cional <strong>en</strong><br />
REDOBA se utilizan dos herrami<strong>en</strong>tas: <strong>la</strong> biblioteca BRIDGE <strong>de</strong> XQuark para <strong>la</strong> conversión<br />
<strong>en</strong>tre archivos XML y bases <strong>de</strong> datos re<strong>la</strong>cionales y el manejador <strong>de</strong> base <strong>de</strong> datos
Fig. 2. Parte <strong>de</strong>l mo<strong>de</strong>lo re<strong>la</strong>cional diseñado con base <strong>en</strong> <strong>la</strong> semántica y organización <strong>de</strong><br />
los metadatos.<br />
re<strong>la</strong>cionales MYSQL. La correspond<strong>en</strong>cia o mapeo <strong>en</strong>tre los metadatos y los atributos<br />
<strong>en</strong> <strong>la</strong>s tab<strong>la</strong>s <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos <strong>de</strong> REDOBA se <strong>de</strong>c<strong>la</strong>ra <strong>en</strong> BRIDGE utilizando un<br />
l<strong>en</strong>guaje XML, con mapping como raíz y los sigui<strong>en</strong>tes subelem<strong>en</strong>tos:<br />
elem<strong>en</strong>t Repres<strong>en</strong>ta un elem<strong>en</strong>to <strong>de</strong> los metadatos que se <strong>de</strong>sea asociar con una tab<strong>la</strong><br />
o atributo <strong>de</strong> una tab<strong>la</strong> <strong>en</strong> <strong>la</strong> base <strong>de</strong> datos.<br />
map Introduce una tab<strong>la</strong> <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos <strong>en</strong> correspond<strong>en</strong>cia con un tipo <strong>de</strong> datos<br />
<strong>en</strong> el esquema XML (si aparece directam<strong>en</strong>te bajo mapping) oconunelem<strong>en</strong>too<br />
atributo <strong>de</strong> los metadatos.<br />
atribute Repres<strong>en</strong>ta un atributo <strong>de</strong> un elem<strong>en</strong>to <strong>de</strong> los metadatos que se <strong>de</strong>sea asociar<br />
con una tab<strong>la</strong> o atributo <strong>de</strong> una tab<strong>la</strong> <strong>en</strong> <strong>la</strong> base <strong>de</strong> datos.<br />
g<strong>en</strong>erator Es un elem<strong>en</strong>to versátil, necesario para incluir información <strong>en</strong> <strong>la</strong> base <strong>de</strong><br />
datos adicional a <strong>la</strong> cont<strong>en</strong>ida explícitam<strong>en</strong>te <strong>en</strong> los elem<strong>en</strong>tos y atributos <strong>de</strong> los<br />
metadatos, tales como información que necesita ser calcu<strong>la</strong>da (mediante <strong>la</strong> ejecución<br />
<strong>de</strong> c<strong>la</strong>ses <strong>de</strong> Java cargadas bajo <strong>de</strong>manda) y re<strong>la</strong>ciones <strong>en</strong>tre tab<strong>la</strong>s (mediante<br />
l<strong>la</strong>ves primarias y foráneas).<br />
Estos elem<strong>en</strong>tos pued<strong>en</strong> ser combinados <strong>de</strong> diversas maneras, según <strong>la</strong>s necesida<strong>de</strong>s<br />
impuestas por el esquema <strong>de</strong> los metadatos y por el mo<strong>de</strong>lo <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos. Por<br />
ejemplo, un fragm<strong>en</strong>to <strong>de</strong>l mapeo <strong>de</strong>l elem<strong>en</strong>to g<strong>en</strong>eral es<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
...<br />
<br />
<br />
...<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
...<br />
<br />
Como se pue<strong>de</strong> observar <strong>en</strong> este fragm<strong>en</strong>to, <strong>en</strong> vez <strong>de</strong> mapear cada aparición <strong>de</strong>l elem<strong>en</strong>to<br />
keyword a <strong>la</strong> tab<strong>la</strong> correspondi<strong>en</strong>te, se mapea el tipo keywordType. Este mapeo<br />
es invocado d<strong>en</strong>tro <strong>de</strong>l elem<strong>en</strong>to g<strong>en</strong>eral para mapear su subelem<strong>en</strong>to keyword. En<br />
cambio, cada elem<strong>en</strong>to <strong>la</strong>ngstring es mapeado explícitam<strong>en</strong>te y <strong>de</strong> manera in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>tem<strong>en</strong>te,<br />
aunque todos estos mapeos sigu<strong>en</strong> un mismo patrón, si<strong>en</strong>do <strong>la</strong> difer<strong>en</strong>cia<br />
<strong>en</strong>tre ellos los nombres <strong>de</strong> los atributos (y <strong>la</strong>s tab<strong>la</strong>s) a los que son mapeados. La difer<strong>en</strong>cia<br />
<strong>en</strong>tre los mapeos <strong>de</strong> keyword y <strong>la</strong>ngstring indica que el diseño final <strong>de</strong>l mo<strong>de</strong>l<br />
re<strong>la</strong>cional se realizó tomando <strong>en</strong> cu<strong>en</strong>ta <strong>la</strong>s dos opciones <strong>de</strong> diseño <strong>de</strong>scritas <strong>en</strong> <strong>la</strong> sección<br />
3.1. Nótese también que se utiliza un objeto <strong>de</strong> <strong>la</strong> c<strong>la</strong>se MyKeyG<strong>en</strong> para g<strong>en</strong>erar<br />
<strong>la</strong>s l<strong>la</strong>ves primarias <strong>de</strong> todas <strong>la</strong>s tab<strong>la</strong>s, mediante un g<strong>en</strong>erator, y otro g<strong>en</strong>erator se<br />
utiliza para crear l<strong>la</strong>ves foráneas y así establecer <strong>la</strong>s re<strong>la</strong>ciones <strong>en</strong>tre <strong>la</strong>s tab<strong>la</strong>s.<br />
4. Discusión g<strong>en</strong>eral<br />
El almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> los metadatos <strong>en</strong> archivos XML ti<strong>en</strong>e <strong>la</strong> v<strong>en</strong>taja <strong>de</strong> que no requiere<br />
<strong>de</strong> un manejador <strong>de</strong> bases <strong>de</strong> datos, lo que permite su utilización <strong>en</strong> equipos con<br />
pocos recursos, tanto <strong>de</strong> procesami<strong>en</strong>to como <strong>de</strong> almac<strong>en</strong>ami<strong>en</strong>to. Sin embargo para<br />
su utilización con gran<strong>de</strong>s cantida<strong>de</strong>s <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje (y sus metadatos) esta<br />
forma <strong>de</strong> funcionami<strong>en</strong>to no es <strong>la</strong> a<strong>de</strong>cuada, pues fácilm<strong>en</strong>te se pued<strong>en</strong> pres<strong>en</strong>tar<br />
problemas <strong>de</strong> inconsist<strong>en</strong>cia <strong>en</strong> <strong>la</strong> información, o problemas para id<strong>en</strong>tificar <strong>de</strong> manera<br />
única los datos. Por otra parte, <strong>en</strong> esta versión exist<strong>en</strong> limitaciones <strong>en</strong> cuanto a <strong>la</strong>s ope-
aciones que se pued<strong>en</strong> realizar sobre los metadatos, sobre todo <strong>en</strong> cuanto a <strong>la</strong>s búsqedas<br />
que se pued<strong>en</strong> realizar, están limitadas al título, <strong>la</strong> <strong>de</strong>scripción o <strong>la</strong>s pa<strong>la</strong>bras c<strong>la</strong>ve.<br />
En cuanto al almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> los metadatos <strong>en</strong> una base <strong>de</strong> datos re<strong>la</strong>cional, si<br />
bi<strong>en</strong> el primer paso consistió <strong>en</strong> <strong>de</strong>finir el mo<strong>de</strong>lo re<strong>la</strong>cional, éste tuvo que ser revisado<br />
continuam<strong>en</strong>te para acomodar a <strong>la</strong>s restricciones impuestas explícitam<strong>en</strong>te por <strong>la</strong>s<br />
construcciones disponibles <strong>en</strong> BRIDGE para <strong>de</strong>c<strong>la</strong>rar el mapeo <strong>en</strong>tre el esquema <strong>de</strong> los<br />
metadatos y el mo<strong>de</strong>lo re<strong>la</strong>cional 3 . De manera g<strong>en</strong>eral, se pue<strong>de</strong> ver el diseño <strong>de</strong>l almac<strong>en</strong>ami<strong>en</strong>to<br />
<strong>en</strong> <strong>la</strong> base <strong>de</strong> datos como una instancia <strong>de</strong> tres esquemas – <strong>de</strong> los metadatos,<br />
<strong>de</strong> <strong>la</strong> base <strong>de</strong> datos y <strong>de</strong>l mapeo – y el proceso <strong>de</strong> diseño como <strong>la</strong> búsqueda <strong>de</strong> un punto<br />
<strong>de</strong> equilibrio <strong>en</strong>tre estos esquemas que produjera el resultado <strong>de</strong>seado 4 .<br />
En <strong>la</strong> práctica, se ha utilizado una combinación <strong>de</strong> software comercial, gratuito<br />
y libre para implem<strong>en</strong>tar el almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> metadatos <strong>en</strong> REDOBA. Del <strong>la</strong>do <strong>de</strong>l<br />
software libre cabe m<strong>en</strong>cionar que el diseño <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos fue realizado con<br />
DB DESIGNER 4 <strong>de</strong> fabFORCE, <strong>en</strong> tanto que el mapeo <strong>en</strong>tre el esquema <strong>de</strong> los metadatos<br />
y <strong>la</strong> base <strong>de</strong> datos se ha llevado a cabo con BRIDGE <strong>de</strong> XQuark ejecutándose<br />
sobre <strong>la</strong> máquina virtual <strong>de</strong> JAVA distribuida gratuitam<strong>en</strong>te por Sun Microsystems.<br />
5. Conclusiones<br />
En este artículo se han pres<strong>en</strong>tado aspectos <strong>de</strong>l diseño <strong>de</strong>l almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> metadatos<br />
tipo LOM <strong>en</strong> REDOBA, un prototipo <strong>de</strong> repositorio distribuido <strong>de</strong> objetos <strong>de</strong> apr<strong>en</strong>dizaje.<br />
En particu<strong>la</strong>r, se discutieron aspectos re<strong>la</strong>cionados con el almac<strong>en</strong>ami<strong>en</strong>to como archivos<br />
XML, prácticam<strong>en</strong>te tal como son recibidos por REDOBA, y con el almac<strong>en</strong>ami<strong>en</strong>to<br />
<strong>en</strong> una base <strong>de</strong> datos re<strong>la</strong>cional mediante un mapeo <strong>de</strong>l esquema <strong>de</strong> los metadatos al esquema<br />
<strong>de</strong> <strong>la</strong> base <strong>de</strong> datos. Aunque este mapeo pue<strong>de</strong> ser realizado automáticam<strong>en</strong>te, se<br />
recomi<strong>en</strong>da hacerlo manualm<strong>en</strong>te, tomando <strong>en</strong> cu<strong>en</strong>ta <strong>la</strong> organización <strong>de</strong> los metadatos,<br />
su semántica y <strong>la</strong>s restricciones y recom<strong>en</strong>daciones <strong>de</strong>scritas <strong>de</strong> manera textual <strong>en</strong> <strong>la</strong>s<br />
especificaciones <strong>de</strong> LOM y su repres<strong>en</strong>tación <strong>en</strong> XML, así como aspectos <strong>de</strong> efici<strong>en</strong>cia<br />
<strong>de</strong> almac<strong>en</strong>ami<strong>en</strong>to y acceso <strong>en</strong> <strong>la</strong> base <strong>de</strong> datos.<br />
6. Agra<strong>de</strong>cimi<strong>en</strong>tos<br />
Agra<strong>de</strong>cemos a los <strong>de</strong>sarrol<strong>la</strong>dores y patrocinadores <strong>de</strong>l gran número <strong>de</strong> herrami<strong>en</strong>tas<br />
<strong>de</strong> software libre y gratuito que se han utilizado para el <strong>de</strong>sarrollo <strong>de</strong>l trabajo que aquí<br />
se <strong>de</strong>scribe. En particu<strong>la</strong>r, nuestro agra<strong>de</strong>cimi<strong>en</strong>to va para el grupo XQuark por hacer<br />
disponible <strong>de</strong> manera libre BRIDGE.<br />
El primer autor realizó parte <strong>de</strong> este trabajo como investigador <strong>en</strong> el Instituto <strong>de</strong> Investigaciones<br />
Eléctricas y con apoyo parcial <strong>de</strong> CONACyT y <strong>la</strong> Corporación Universitaria<br />
para el Desarrollo <strong>de</strong> Internet (CUDI), <strong>en</strong> el marco <strong>de</strong>l proyecto CONACyT-CUDI<br />
correspondi<strong>en</strong>te.<br />
3 También fue necesario acomodar a <strong>la</strong>s restricciones impuestas por bugs <strong>de</strong>scubiertos <strong>en</strong> <strong>la</strong><br />
implem<strong>en</strong>tación actual <strong>de</strong> BRIDGE.<br />
4 La fase <strong>de</strong> implem<strong>en</strong>tación <strong>de</strong> este proceso se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> un estado avanzado <strong>de</strong> <strong>de</strong>sarrollo<br />
y se espera esté terminada para <strong>la</strong> fecha <strong>de</strong> realización <strong>de</strong>l taller.
Refer<strong>en</strong>cias<br />
1. IMS Global Learning Consortium: IMS Learning Resource Meta-Data Information<br />
Mo<strong>de</strong>l, Version 1.2.1 Final Specification (2001)<br />
2. Institute of Electrical and Electronics Engineers: IEEE 1484.12.1 Draft Standard for<br />
Learning Object Metadata (2002)<br />
3. Multimedia educational resource for learning and online teaching (2002). URL<br />
http://www.merlot.org<br />
4. Morales R., López M<strong>en</strong>doza S.: REDOBA: Un repositorio distribuido <strong>de</strong> objetos <strong>de</strong><br />
apr<strong>en</strong>dizaje (2004). Segundo Taller sobre Tecnología <strong>de</strong> Objetos <strong>de</strong> Apr<strong>en</strong>dizaje<br />
5. Riley K., McKell M.: IMS Digital Repositories Interoperability - Core Functions<br />
Best Practice Gui<strong>de</strong>. Final specification, IMS Global Learning Consortium<br />
(2003). URL http://www.imsglobal.org/digitalrepositories/driv1p0/<br />
imsdri_bestv1p0.html<br />
6. Riley K., McKell M.: IMS Digital Repositories Interoperability - Core Functions<br />
Information Mo<strong>de</strong>l. Final Specification Version 1.0, IMS Global Learning Consortium,<br />
Inc. (2003). URL http://www.imsglobal.org/digitalrepositories/<br />
driv1p0/imsdri_infov1p0.html<br />
7. World Wi<strong>de</strong> Web Consortium: Ext<strong>en</strong>sible Markup Language (XML) 1.0, 2nd edition<br />
(2000). URL http://www.w3c.org/TR/2000/REC-xml-20001006. W3C Recomm<strong>en</strong>dation
Ing<strong>en</strong>iería <strong>de</strong> software<br />
María <strong>de</strong> los Ángeles Ar<strong>en</strong>as Valdés<br />
María Kar<strong>en</strong> Cortés Verdín<br />
Juan Manuel Fernán<strong>de</strong>z Peña<br />
Jaime Muñoz Arteaga<br />
María <strong>de</strong> los Ángeles Sumano López<br />
(Editores)
Introducción<br />
El Taller <strong>de</strong> Ing<strong>en</strong>iería <strong>de</strong> Software ti<strong>en</strong>e ya varias ediciones, si<strong>en</strong>do <strong>la</strong> primera <strong>de</strong><br />
el<strong>la</strong>s <strong>en</strong> 1997 <strong>en</strong> <strong>la</strong> ciudad <strong>de</strong> Querétaro y <strong>la</strong> última el año pasado <strong>en</strong> <strong>la</strong> ciudad <strong>de</strong><br />
T<strong>la</strong>xca<strong>la</strong>. Todas han t<strong>en</strong>ido el d<strong>en</strong>ominador común <strong>de</strong> buscar el acercami<strong>en</strong>to <strong>en</strong>tre <strong>la</strong><br />
comunidad que se <strong>de</strong>dica a <strong>la</strong> Ing<strong>en</strong>iería <strong>de</strong> Software, ya sea <strong>en</strong> <strong>en</strong>señanza, investigación<br />
o aplicación.<br />
En esta ocasión se trató <strong>de</strong> averiguar cuáles son <strong>la</strong>s prácticas <strong>de</strong> <strong>la</strong> Ing<strong>en</strong>iería <strong>de</strong><br />
Software aplicadas <strong>en</strong> <strong>la</strong>s empresas. Al parecer nuestras empresas están muy ocupadas<br />
y no hubo <strong>la</strong> respuesta esperada. Sin embargo, sí se tuvo una muy bu<strong>en</strong>a respuesta<br />
<strong>de</strong> <strong>la</strong> aca<strong>de</strong>mia que se preocupa por infundir mejores prácticas <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong>l<br />
software.<br />
Un grupo <strong>de</strong> trabajos correspon<strong>de</strong> a experi<strong>en</strong>cias <strong>en</strong> empresas, ya sea directam<strong>en</strong>te<br />
o a través <strong>de</strong> proyectos que re<strong>la</strong>cionan doc<strong>en</strong>cia con práctica profesional. Otros se<br />
ori<strong>en</strong>tan a propuestas <strong>de</strong> mejora <strong>en</strong> <strong>la</strong> propia doc<strong>en</strong>cia, para a<strong>de</strong>cuarse a <strong>la</strong>s necesida<strong>de</strong>s<br />
<strong>de</strong> una industria <strong>de</strong> software <strong>en</strong> <strong>de</strong>sarrollo.<br />
En el transcurso <strong>de</strong>l taller se pres<strong>en</strong>taron <strong>la</strong>s conclusiones <strong>de</strong> <strong>la</strong> edición pasada, se<br />
invitó a <strong>la</strong> Dra. H. Oktaba para <strong>la</strong> pr<strong>en</strong>egación <strong>de</strong> Moprosoft, hubo <strong>la</strong> pres<strong>en</strong>tación <strong>de</strong><br />
<strong>la</strong>s pon<strong>en</strong>cias y mesas redondas para el análisis <strong>de</strong> los resultados obt<strong>en</strong>idos y <strong>de</strong> nuevas<br />
estrategias a seguir.
Comité Ci<strong>en</strong>tífico<br />
Copresid<strong>en</strong>tes:<br />
María <strong>de</strong> los Ángeles Ar<strong>en</strong>as Valdés, Universidad Veracruzana<br />
María Kar<strong>en</strong> Cortés Verdín, Universidad Veracruzana<br />
Juan Manuel Fernán<strong>de</strong>z Peña, Universidad Veracruzana<br />
Jaime Muñoz Arteaga, Universidad Autónoma <strong>de</strong> Aguascali<strong>en</strong>tes<br />
María <strong>de</strong> los Ángeles Sumano López, Universidad Veracruzana<br />
Juan Manuel Fernán<strong>de</strong>z Peña<br />
Guadalupe Ibargü<strong>en</strong>goitia González, Facultad <strong>de</strong> Ci<strong>en</strong>cias, UNAM<br />
Hanna Oktaba, Facultad <strong>de</strong> Ci<strong>en</strong>cias, UNAM<br />
Héctor Pérez González, Universidad Autónoma <strong>de</strong> san Luis Potosí
Comité Ci<strong>en</strong>tífico<br />
Copresid<strong>en</strong>tes:<br />
María <strong>de</strong> los Ángeles Ar<strong>en</strong>as Valdés, Universidad Veracruzana<br />
María Kar<strong>en</strong> Cortés Verdín, Universidad Veracruzana<br />
Juan Manuel Fernán<strong>de</strong>z Peña, Universidad Veracruzana<br />
Jaime Muñoz Arteaga, Universidad Autónoma <strong>de</strong> Aguascali<strong>en</strong>tes<br />
María <strong>de</strong> los Ángeles Sumano López, Universidad Veracruzana<br />
Juan Manuel Fernán<strong>de</strong>z Peña<br />
Guadalupe Ibargü<strong>en</strong>goitia González, Facultad <strong>de</strong> Ci<strong>en</strong>cias, UNAM<br />
Hanna Oktaba, Facultad <strong>de</strong> Ci<strong>en</strong>cias, UNAM<br />
Héctor Pérez González, Universidad Autónoma <strong>de</strong> san Luis Potosí
Comité Ci<strong>en</strong>tífico<br />
Copresid<strong>en</strong>tes:<br />
María <strong>de</strong> los Ángeles Ar<strong>en</strong>as Valdés, Universidad Veracruzana<br />
María Kar<strong>en</strong> Cortés Verdín, Universidad Veracruzana<br />
Juan Manuel Fernán<strong>de</strong>z Peña, Universidad Veracruzana<br />
Jaime Muñoz Arteaga, Universidad Autónoma <strong>de</strong> Aguascali<strong>en</strong>tes<br />
María <strong>de</strong> los Ángeles Sumano López, Universidad Veracruzana<br />
Juan Manuel Fernán<strong>de</strong>z Peña<br />
Guadalupe Ibargü<strong>en</strong>goitia González, Facultad <strong>de</strong> Ci<strong>en</strong>cias, UNAM<br />
Hanna Oktaba, Facultad <strong>de</strong> Ci<strong>en</strong>cias, UNAM<br />
Héctor Pérez González, Universidad Autónoma <strong>de</strong> san Luis Potosí
Comité Ci<strong>en</strong>tífico<br />
Copresid<strong>en</strong>tes:<br />
María <strong>de</strong> los Ángeles Ar<strong>en</strong>as Valdés, Universidad Veracruzana<br />
María Kar<strong>en</strong> Cortés Verdín, Universidad Veracruzana<br />
Juan Manuel Fernán<strong>de</strong>z Peña, Universidad Veracruzana<br />
Jaime Muñoz Arteaga, Universidad Autónoma <strong>de</strong> Aguascali<strong>en</strong>tes<br />
María <strong>de</strong> los Ángeles Sumano López, Universidad Veracruzana<br />
Juan Manuel Fernán<strong>de</strong>z Peña<br />
Guadalupe Ibargü<strong>en</strong>goitia González, Facultad <strong>de</strong> Ci<strong>en</strong>cias, UNAM<br />
Hanna Oktaba, Facultad <strong>de</strong> Ci<strong>en</strong>cias, UNAM<br />
Héctor Pérez González, Universidad Autónoma <strong>de</strong> san Luis Potosí
Comité Ci<strong>en</strong>tífico<br />
Copresid<strong>en</strong>tes:<br />
María <strong>de</strong> los Ángeles Ar<strong>en</strong>as Valdés, Universidad Veracruzana<br />
María Kar<strong>en</strong> Cortés Verdín, Universidad Veracruzana<br />
Juan Manuel Fernán<strong>de</strong>z Peña, Universidad Veracruzana<br />
Jaime Muñoz Arteaga, Universidad Autónoma <strong>de</strong> Aguascali<strong>en</strong>tes<br />
María <strong>de</strong> los Ángeles Sumano López, Universidad Veracruzana<br />
Juan Manuel Fernán<strong>de</strong>z Peña<br />
Guadalupe Ibargü<strong>en</strong>goitia González, Facultad <strong>de</strong> Ci<strong>en</strong>cias, UNAM<br />
Hanna Oktaba, Facultad <strong>de</strong> Ci<strong>en</strong>cias, UNAM<br />
Héctor Pérez González, Universidad Autónoma <strong>de</strong> san Luis Potosí
Comité Ci<strong>en</strong>tífico<br />
Copresid<strong>en</strong>tes:<br />
María <strong>de</strong> los Ángeles Ar<strong>en</strong>as Valdés, Universidad Veracruzana<br />
María Kar<strong>en</strong> Cortés Verdín, Universidad Veracruzana<br />
Juan Manuel Fernán<strong>de</strong>z Peña, Universidad Veracruzana<br />
Jaime Muñoz Arteaga, Universidad Autónoma <strong>de</strong> Aguascali<strong>en</strong>tes<br />
María <strong>de</strong> los Ángeles Sumano López, Universidad Veracruzana<br />
Juan Manuel Fernán<strong>de</strong>z Peña<br />
Guadalupe Ibargü<strong>en</strong>goitia González, Facultad <strong>de</strong> Ci<strong>en</strong>cias, UNAM<br />
Hanna Oktaba, Facultad <strong>de</strong> Ci<strong>en</strong>cias, UNAM<br />
Héctor Pérez González, Universidad Autónoma <strong>de</strong> san Luis Potosí
Propuesta <strong>de</strong> una línea curricu<strong>la</strong>r <strong>de</strong> Ing<strong>en</strong>iería <strong>de</strong><br />
Software <strong>en</strong> <strong>la</strong> Lic<strong>en</strong>ciatura <strong>en</strong> Sistemas<br />
Computacionales.<br />
Francisco Alvarez R., Juan Cardona S. y Alfredo Weitz<strong>en</strong>feld R.<br />
Av. Universidad No. 940, Universidad Autónoma <strong>de</strong> Aguascali<strong>en</strong>tes,<br />
fjalvar@correo.uaa.mx, pedrok26@hotmail.com<br />
Rio Hondo No. , Instituto Tecnológico Autónomo <strong>de</strong> México,<br />
Alfredo@itam.mx<br />
Resum<strong>en</strong>.<br />
El pres<strong>en</strong>te trabajo muestra una propuesta <strong>de</strong> prácticas <strong>de</strong> software insertadas<br />
<strong>en</strong> <strong>la</strong>s materias <strong>de</strong>l currículo <strong>de</strong> <strong>la</strong> Ing<strong>en</strong>iería <strong>en</strong> Sistemas Computacionales,<br />
para ayudar <strong>en</strong> <strong>la</strong> conformación <strong>de</strong> una línea curricu<strong>la</strong>r <strong>en</strong> ing<strong>en</strong>iería <strong>de</strong><br />
software con el objetivo <strong>de</strong> ayudar al <strong>de</strong>sarrollo <strong>de</strong> una industria nacional.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve.<br />
Ing<strong>en</strong>iería <strong>de</strong> software, Industria <strong>de</strong> software, Línea curricu<strong>la</strong>r, Estrategias didácticas.<br />
Introducción.<br />
Uno <strong>de</strong> los principales problemas a los que nos <strong>en</strong>fr<strong>en</strong>tamos al mom<strong>en</strong>to <strong>de</strong> diseñar o<br />
revisar mo<strong>de</strong>los curricu<strong>la</strong>res <strong>de</strong> lic<strong>en</strong>ciaturas es <strong>la</strong> pertin<strong>en</strong>cia con el mercado <strong>la</strong>boral,<br />
<strong>la</strong>s t<strong>en</strong>d<strong>en</strong>cias <strong>en</strong> <strong>la</strong>s áreas <strong>de</strong> conocimi<strong>en</strong>to concerni<strong>en</strong>tes, y los mo<strong>de</strong>los curricu<strong>la</strong>res<br />
que emanan <strong>de</strong> <strong>la</strong>s propias instituciones educativas.<br />
El mo<strong>de</strong>lo curricu<strong>la</strong>r <strong>de</strong> <strong>la</strong> ANIEI (Asociación Nacional <strong>de</strong> Instituciones y Escue<strong>la</strong>s <strong>de</strong><br />
Informática) <strong>de</strong>fine un profesional <strong>de</strong> <strong>la</strong> computación <strong>en</strong> cuatro perfiles, que van <strong>de</strong>s<strong>de</strong><br />
el capaz <strong>de</strong> p<strong>la</strong>near, organizar, integrar y contro<strong>la</strong>r servicios y sistemas <strong>de</strong> información<br />
<strong>de</strong> diversas organizaciones, hasta el <strong>de</strong>dicado al estudio y <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s ci<strong>en</strong>cias <strong>de</strong><br />
<strong>la</strong> computación, con capacidad <strong>de</strong> g<strong>en</strong>erar elem<strong>en</strong>tos para <strong>la</strong> concepción y creación <strong>de</strong><br />
nuevos sistemas <strong>en</strong> <strong>en</strong>tornos computacionales [1].<br />
D<strong>en</strong>tro <strong>de</strong> estos perfiles profesionales se incluye una línea curricu<strong>la</strong>r <strong>en</strong>focada a <strong>la</strong><br />
“Programación y <strong>la</strong> Ing<strong>en</strong>iería <strong>de</strong> Software” que pret<strong>en</strong><strong>de</strong> formar al profesional <strong>de</strong> <strong>la</strong><br />
computación <strong>en</strong> los difer<strong>en</strong>tes paradigmas <strong>de</strong> programación y l<strong>en</strong>guajes, algorítmica e<br />
industria <strong>de</strong> software [2], sin embargo su alcance, instrum<strong>en</strong>tación y operación <strong>en</strong> un<br />
currículum real no resulta ser tan c<strong>la</strong>ro, a<strong>de</strong>más <strong>de</strong> que no se apega completam<strong>en</strong>te al<br />
P<strong>la</strong>n Nacional <strong>de</strong> <strong>la</strong> Industria <strong>de</strong> Software.
El “programa para el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> industria <strong>de</strong> software” indica como visión lograr<br />
una industria competitiva internacionalm<strong>en</strong>te, y asegurar su crecimi<strong>en</strong>to <strong>en</strong> el <strong>la</strong>rgo<br />
p<strong>la</strong>zo. Se espera situar a México como lí<strong>de</strong>r <strong>de</strong> esta industria <strong>en</strong> Latinoamérica para el<br />
año 2010 y convertirlo <strong>en</strong> lí<strong>de</strong>r <strong>de</strong>sarrol<strong>la</strong>dor <strong>de</strong> soluciones <strong>de</strong> TI (Tecnologías <strong>de</strong><br />
Información) <strong>de</strong> alta calidad y uso <strong>de</strong> software <strong>en</strong> el ámbito m<strong>en</strong>cionado [8]. Una <strong>de</strong> <strong>la</strong>s<br />
estrategias p<strong>la</strong>nteadas <strong>en</strong> este p<strong>la</strong>n es <strong>la</strong> formación <strong>de</strong> recursos humanos competitivos,<br />
que marca líneas <strong>de</strong> acción concretas, tales cómo: a. <strong>la</strong> a<strong>de</strong>cuación y mejorami<strong>en</strong>to<br />
dinámico y pertin<strong>en</strong>te <strong>de</strong> los p<strong>la</strong>nes y programas <strong>de</strong> estudio, b. el impulso a sistemas,<br />
métodos, procesos e instrum<strong>en</strong>tos que mejor<strong>en</strong> <strong>la</strong> <strong>en</strong>señanza <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> software,<br />
<strong>en</strong>fatizando <strong>en</strong> <strong>la</strong> innovación, c. el fortalecimi<strong>en</strong>to <strong>de</strong> mecanismos, instancias e<br />
instrum<strong>en</strong>tos que elev<strong>en</strong> <strong>la</strong> efectividad y <strong>la</strong> efici<strong>en</strong>cia <strong>de</strong> <strong>la</strong> vincu<strong>la</strong>ción <strong>en</strong>tre<br />
apr<strong>en</strong>dizaje y <strong>de</strong>sarrollo <strong>de</strong> software, etc. sin embargo se pres<strong>en</strong>ta nuevam<strong>en</strong>te el<br />
problema <strong>de</strong> instrum<strong>en</strong>tación <strong>de</strong> estas acciones <strong>en</strong> los programas educativos que están<br />
operando actualm<strong>en</strong>te <strong>en</strong> todo el país.<br />
Este trabajo pret<strong>en</strong><strong>de</strong> mostrar una instrum<strong>en</strong>tación <strong>de</strong> <strong>la</strong>s prácticas actuales<br />
recom<strong>en</strong>dadas para <strong>de</strong>sarrol<strong>la</strong>r una industria <strong>de</strong> software <strong>en</strong> un programa educativo:<br />
Ing<strong>en</strong>iería <strong>en</strong> Sistemas Computacionales (I.S.C.) <strong>de</strong> <strong>la</strong> Universidad Autónoma <strong>de</strong><br />
Aguascali<strong>en</strong>tes, el cuál ti<strong>en</strong>e una duración <strong>de</strong> 10 semestres y está c<strong>la</strong>sificado como<br />
perfil “C” (profesional <strong>de</strong>dicado al estudio y <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong><br />
computación, que g<strong>en</strong>era elem<strong>en</strong>tos para <strong>la</strong> concepción y creación <strong>de</strong> ambi<strong>en</strong>tes,<br />
facilida<strong>de</strong>s y aplicaciones innovadoras <strong>de</strong> <strong>la</strong> computación d<strong>en</strong>tro <strong>de</strong> <strong>en</strong>tornos diversos<br />
<strong>de</strong> <strong>de</strong>mandas por satisfacer) según los lineami<strong>en</strong>tos <strong>de</strong> <strong>la</strong> ANIEI [1].<br />
Propuesta <strong>de</strong> línea curricu<strong>la</strong>r para el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> industria <strong>de</strong><br />
software.<br />
Se propone una serie <strong>de</strong> prácticas para <strong>la</strong> industria <strong>de</strong> software que el alumno <strong>de</strong>berá<br />
cubrir a través <strong>de</strong> <strong>la</strong>s distintas materias <strong>de</strong> programación y áreas afines, con el objetivo<br />
<strong>de</strong> formar <strong>la</strong>s compet<strong>en</strong>cias necesarias <strong>en</strong> <strong>la</strong> profesionalización <strong>en</strong> ing<strong>en</strong>iería <strong>de</strong><br />
software.<br />
Algunas <strong>de</strong> <strong>la</strong>s prácticas recom<strong>en</strong>dadas por académicos <strong>de</strong> <strong>la</strong>s áreas citadas [6][3]<br />
m<strong>en</strong>cionan prácticas iniciales (Elem<strong>en</strong>tos <strong>de</strong> análisis <strong>de</strong> problemas, Diseño <strong>de</strong> solución,<br />
Revisión <strong>de</strong> diseño y código, Pruebas unitarias y <strong>de</strong> integración, Medición <strong>de</strong> tiempos,<br />
tamaños y <strong>de</strong>fectos, Estándares <strong>de</strong> codificación, etc.), intermedias (Análisis y diseño<br />
ori<strong>en</strong>tado a objetos, Patrones <strong>de</strong> diseño <strong>de</strong> software, Diseño <strong>de</strong> interfaces <strong>de</strong> usuarios,<br />
PSP, Pruebas avanzadas, Administración <strong>de</strong> configuración <strong>de</strong> software) y avanzadas<br />
(Desarrollo <strong>en</strong> equipo con procesos <strong>de</strong>finidos, Mo<strong>de</strong>los <strong>de</strong> procesos <strong>de</strong> software y<br />
empresas <strong>de</strong> software), para el nivel <strong>de</strong> lic<strong>en</strong>ciatura.
De lo anterior <strong>la</strong>s prácticas propuestas se c<strong>la</strong>sifican <strong>en</strong> tres niveles los cuáles agrupan<br />
<strong>de</strong>s<strong>de</strong> los aspectos básicos para <strong>la</strong> Ing<strong>en</strong>iería <strong>de</strong> Software hasta mo<strong>de</strong>los <strong>de</strong> madurez <strong>de</strong><br />
procesos <strong>de</strong> conocimi<strong>en</strong>to difundido, cómo es CMM [7].<br />
Prácticas Básicas.<br />
B1. Análisis <strong>de</strong> problemas. La práctica es abordada a través <strong>de</strong> <strong>la</strong><br />
obt<strong>en</strong>ción <strong>de</strong> requisitos g<strong>en</strong>erales <strong>de</strong> proyecto: <strong>de</strong>limitación <strong>de</strong><br />
objetivos y <strong>de</strong>l problema, <strong>de</strong>terminación <strong>de</strong> causas <strong>de</strong>l problema, etc.<br />
B2. Diseño <strong>de</strong> solución a problemas y <strong>de</strong> Interfaces <strong>de</strong> usuario. Esta<br />
práctica es cubierta por técnicas para el diseño <strong>de</strong> interfaces <strong>de</strong><br />
usuario, algoritmos y arquitectura básica <strong>de</strong>l sistema.<br />
B3. Revisión <strong>de</strong> diseño y código (personal y <strong>en</strong>tre colegas). Se aplican<br />
técnicas y formatos que permitan al alumno verificar su diseño y<br />
código, así como el <strong>de</strong> sus compañeros.<br />
B4. Técnicas <strong>de</strong> pruebas unitarias y <strong>de</strong> integración <strong>de</strong> sistemas.<br />
B5. Métricas básicas (incluye Function Points). Se comi<strong>en</strong>zan a aplicar<br />
métricas para <strong>la</strong> estimación <strong>de</strong> tamaño y esfuerzo, a través <strong>de</strong><br />
predicción sobre código <strong>de</strong>sarrol<strong>la</strong>do, productividad, errores y puntos<br />
<strong>de</strong> función.<br />
B6. Estándares <strong>de</strong> codificación. Conforme el estándar utilizado <strong>en</strong> el área<br />
<strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> sistemas <strong>de</strong> <strong>la</strong> UAA, con el fin <strong>de</strong> que los alumnos<br />
apr<strong>en</strong>dan a codificar y docum<strong>en</strong>tar <strong>de</strong> manera uniforme.<br />
Prácticas Intermedias.<br />
M1. Personal Software Process (PSP) [4]. Se <strong>en</strong>seña <strong>la</strong>s técnica completa<br />
<strong>de</strong>l proceso <strong>de</strong> software personal y su aplicación <strong>en</strong> un proyecto<br />
durante el curso.<br />
M2. Team Software Process (TSP) [5]. Se <strong>en</strong>seña <strong>la</strong>s técnica completa <strong>de</strong>l<br />
proceso <strong>de</strong> software <strong>en</strong> equipo y su aplicación <strong>en</strong> un proyecto durante<br />
el curso.<br />
M3. Métodos <strong>de</strong> análisis y diseño ori<strong>en</strong>tado a objetos basado <strong>en</strong> UML<br />
(Unified Mo<strong>de</strong>ling Language).<br />
M4. Patrones <strong>de</strong> diseño <strong>de</strong> software.<br />
M5. Tecnología JAVA avanzada.<br />
M6. Técnicas <strong>de</strong> pruebas avanzadas.<br />
M7. Administración <strong>de</strong> Configuración <strong>de</strong> Software. Se pi<strong>de</strong> a alumno dar<br />
el seguimi<strong>en</strong>to <strong>de</strong> <strong>la</strong> administración <strong>de</strong> <strong>la</strong> configuración <strong>de</strong>l software a<br />
través <strong>de</strong> formatos estandarizados durante el <strong>de</strong>sarrollo <strong>de</strong>l proyecto<br />
final <strong>de</strong>l curso.<br />
Prácticas Integradoras.<br />
I1. Desarrollo <strong>en</strong> equipo sigui<strong>en</strong>do un proceso <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>finido<br />
para un cli<strong>en</strong>te real.<br />
I2. Mo<strong>de</strong>los <strong>de</strong> procesos <strong>de</strong> software.<br />
I3. Calidad y madurez <strong>de</strong> procesos <strong>de</strong> software.
La forma <strong>de</strong> instrum<strong>en</strong>tación <strong>en</strong> el programa es mediante los cursos <strong>de</strong>finidos <strong>en</strong> el<br />
programa educativo (ISC), es <strong>de</strong>cir <strong>la</strong>s prácticas y técnicas indicadas se integran cómo<br />
activida<strong>de</strong>s regu<strong>la</strong>res y obligatorias para los cursos: Lógica <strong>de</strong> programación,<br />
Programación I, II y III, Estructura <strong>de</strong> Datos, L<strong>en</strong>guaje <strong>de</strong> Bases <strong>de</strong> Datos, Análisis y<br />
Diseño <strong>de</strong> Sistemas, Metodologías <strong>de</strong> Desarrollo e Ing<strong>en</strong>iería <strong>de</strong> Software.<br />
Práctica<br />
Materias por semestre.<br />
1 2 3 4 5 6 7 8 9<br />
B1. Lógica <strong>de</strong><br />
programación.<br />
B2 Lógica <strong>de</strong><br />
programación.<br />
B3. Programación<br />
I.<br />
B4. Programación<br />
II.<br />
B5. Programación<br />
II.<br />
B6. Programación<br />
I.<br />
M1.<br />
Inicial<br />
Programación<br />
III.<br />
M1.<br />
Completo<br />
Metodologías<br />
<strong>de</strong> <strong>de</strong>sarrollo.<br />
M2.<br />
Inicial.<br />
L<strong>en</strong>guaje<br />
<strong>de</strong> B.D.<br />
M2.<br />
Completo<br />
Metodologías<br />
<strong>de</strong> <strong>de</strong>sarrollo.<br />
M3. Análisis<br />
y<br />
Diseño<br />
Estructura<br />
<strong>de</strong> Datos.<br />
M4. Programación<br />
III.<br />
M5. Programación<br />
III.<br />
M6. L<strong>en</strong>guaje<br />
<strong>de</strong> BD.<br />
M7. L<strong>en</strong>guaje<br />
<strong>de</strong> BD.<br />
I1. Metodologías<br />
<strong>de</strong> Desarrollo<br />
I2. Ing. <strong>de</strong><br />
Software<br />
I3. Ing. <strong>de</strong><br />
Software.<br />
B1, B2,<br />
B3, B4,<br />
B5, B6,<br />
M4 y M5.<br />
Estructura<br />
<strong>de</strong> Datos.<br />
Tab<strong>la</strong> 1. Instrum<strong>en</strong>tación <strong>de</strong> prácticas <strong>de</strong> software <strong>en</strong> <strong>la</strong> línea curricu<strong>la</strong>r.<br />
Lo cursos m<strong>en</strong>cionados forman parte <strong>de</strong> una línea curricu<strong>la</strong>r <strong>en</strong> programación y<br />
<strong>de</strong>sarrollo <strong>de</strong> software, con objetivos establecidos <strong>en</strong> el p<strong>la</strong>n <strong>de</strong> estudios <strong>de</strong> ISC que<br />
indican <strong>la</strong>s directrices sobre los cont<strong>en</strong>idos, por ejemplo, el curso <strong>de</strong> “Análisis y Diseño<br />
<strong>de</strong> Sistemas”, indica que conti<strong>en</strong>e todos los elem<strong>en</strong>tos teórico-práctico básicos para<br />
que puedan analizarse y solucionarse problemas <strong>de</strong> carácter organizacional utilizando<br />
metodologías actuales [9]. Se pret<strong>en</strong><strong>de</strong> <strong>en</strong>tonces <strong>de</strong> forma adicional a los cont<strong>en</strong>idos<br />
formales <strong>de</strong>scritos incorporar <strong>la</strong>s prácticas listadas anteriorm<strong>en</strong>te.
En el mismo ejemplo m<strong>en</strong>cionado, se incorporarían métodos <strong>de</strong> análisis y diseño<br />
ori<strong>en</strong>tado a objetos basado <strong>en</strong> UML (Unified Mo<strong>de</strong>ling Language), a<strong>de</strong>más <strong>de</strong> <strong>la</strong>s<br />
prácticas apr<strong>en</strong>didas anteriores (Análisis <strong>de</strong> problemas, Diseño <strong>de</strong> solución <strong>de</strong><br />
problemas y <strong>de</strong> Interfaces <strong>de</strong> usuario, Revisión <strong>de</strong> diseño y código, Técnicas <strong>de</strong><br />
pruebas unitarios y <strong>de</strong> integración <strong>de</strong> sistemas, Métricas básicas y Estándares <strong>de</strong><br />
codificación), es <strong>de</strong>cir <strong>la</strong>s prácticas <strong>de</strong>finidas para un primer curso <strong>de</strong>berán seguir<br />
constantes junto con <strong>la</strong>s prácticas <strong>de</strong>l segundo curso y así sucesivam<strong>en</strong>te, como se<br />
muestra <strong>en</strong> <strong>la</strong> Tab<strong>la</strong> 1.<br />
Adicionalm<strong>en</strong>te se p<strong>la</strong>ntearon <strong>en</strong> esta Ing<strong>en</strong>iería prácticas profesionales que se<br />
<strong>de</strong>sarrol<strong>la</strong>n a partir <strong>de</strong>l nov<strong>en</strong>o semestre, se pret<strong>en</strong><strong>de</strong> integrar todas <strong>la</strong>s prácticas<br />
indicadas <strong>en</strong> <strong>la</strong> Tab<strong>la</strong> 1, <strong>en</strong> un proyecto real con empresas <strong>de</strong>sarrol<strong>la</strong>doras <strong>de</strong> software.<br />
Resultados y Discusión.<br />
Hasta el mom<strong>en</strong>to se han <strong>de</strong>sarrol<strong>la</strong>do varias acciones con el fin <strong>de</strong> instrum<strong>en</strong>tar <strong>la</strong><br />
línea curricu<strong>la</strong>r propuesta, <strong>la</strong>s cuáles van <strong>de</strong>s<strong>de</strong> <strong>la</strong> capacitación para los profesores que<br />
dan cursos <strong>de</strong> <strong>la</strong>s difer<strong>en</strong>tes programaciones m<strong>en</strong>cionadas con <strong>la</strong>s prácticas básicas,<br />
hasta <strong>la</strong>s modificaciones <strong>de</strong> programas <strong>de</strong> cursos avanzados <strong>en</strong> temáticas pertin<strong>en</strong>tes <strong>en</strong><br />
<strong>la</strong> industria <strong>de</strong> software (PSP, TSP y CMM).<br />
Por otro <strong>la</strong>do se han com<strong>en</strong>zado a <strong>de</strong>sarrol<strong>la</strong>r proyectos <strong>de</strong> software con casos reales<br />
(todos d<strong>en</strong>tro <strong>de</strong>l Estado <strong>de</strong> Aguascali<strong>en</strong>tes) que incluso son utilizados <strong>en</strong> <strong>la</strong>s<br />
organizaciones y con los profesionistas para los que fueron creados; algunos <strong>de</strong> estos<br />
sistemas son: control médico, control esco<strong>la</strong>r para primarias y secundarias,<br />
administración <strong>de</strong> proyectos <strong>de</strong> investigación, administración <strong>de</strong> v<strong>en</strong>tas multinivel, etc.<br />
La experi<strong>en</strong>cia <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> estos proyectos y sus correspondi<strong>en</strong>tes evaluaciones<br />
con los usuarios y cli<strong>en</strong>tes, ha permitido que el alumno experim<strong>en</strong>te un compromiso<br />
formal, así cómo una p<strong>la</strong>neación y seguimi<strong>en</strong>to <strong>de</strong>l proyecto con un nivel <strong>de</strong> rigor al<br />
m<strong>en</strong>os básico.<br />
Un aspecto que se ha observado es el <strong>en</strong>t<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong> los alumnos hacía <strong>la</strong><br />
integración <strong>de</strong> un proceso <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> software y <strong>la</strong> importancia <strong>de</strong> éste <strong>en</strong> el logro<br />
<strong>de</strong> los objetivos <strong>de</strong> los proyectos p<strong>la</strong>nteados <strong>en</strong> los cursos.<br />
Conclusiones.<br />
Uno <strong>de</strong> los principales problemas que se han com<strong>en</strong>zado a resolver es <strong>la</strong> integración <strong>de</strong><br />
<strong>la</strong>s prácticas <strong>de</strong> ing<strong>en</strong>iería <strong>de</strong> software <strong>de</strong>s<strong>de</strong> el inicio <strong>de</strong> <strong>la</strong> carrera, a través <strong>de</strong> los<br />
cursos <strong>de</strong> <strong>la</strong> línea curricu<strong>la</strong>r <strong>de</strong> programación e ing<strong>en</strong>iería <strong>de</strong> software: Lógica <strong>de</strong><br />
programación, Programación I, II y III, Estructura <strong>de</strong> Datos, L<strong>en</strong>guaje <strong>de</strong> Bases <strong>de</strong>
Datos, Análisis y Diseño <strong>de</strong> Sistemas, Metodologías <strong>de</strong> Desarrollo e Ing<strong>en</strong>iería <strong>de</strong><br />
Software, sin embargo es necesario reafirmar <strong>la</strong> actualización <strong>de</strong> <strong>la</strong>s prácticas con el fin<br />
<strong>de</strong> adoptar nuevas propuestas y <strong>de</strong>sarrollo tecnológico que b<strong>en</strong>efici<strong>en</strong> a <strong>la</strong> industria <strong>de</strong><br />
software.<br />
Refer<strong>en</strong>cias.<br />
[1] ANIEI, Perfiles Profesionales: Lic. <strong>en</strong> Informática, Lic. <strong>en</strong> Sistemas Computacionales, Lic.<br />
<strong>en</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong> y Ing. <strong>en</strong> <strong>Computación</strong>, Asociación Nacional <strong>de</strong> Institucionales<br />
<strong>de</strong> Educación <strong>en</strong> Informática, 2002.<br />
[2] CENEVAL, Guía <strong>de</strong> Exam<strong>en</strong> para el egreso <strong>de</strong> <strong>la</strong> Lic<strong>en</strong>ciatura <strong>en</strong> Informática-<strong>Computación</strong><br />
(EGEL Info-Comp), C<strong>en</strong>tro Nacional <strong>de</strong> Evaluación para <strong>la</strong> Educación Superior A.C., Tercera<br />
Edición, 2003.<br />
[3] Fernán<strong>de</strong>z, L. y Montes <strong>de</strong> Oca, C. “Marco conceptual para <strong>la</strong> formación <strong>de</strong> recursos<br />
humanos <strong>en</strong> Ing<strong>en</strong>iería <strong>de</strong> Software”, <strong>Avances</strong> <strong>en</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong>, IV Congreso<br />
Internacional <strong>de</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong>, ENC’03. México, 2003.<br />
[4] Humphrey, W. Introduction to the Personal Software Process. Pearson Education. USA.<br />
1997.<br />
[5] Humphrey, W. The Team Software Process (TSP).Software Engineering Institute, 2000.<br />
[6] Oktaba, H. “Ing<strong>en</strong>iería <strong>de</strong> Software: trayecto personal <strong>de</strong>s<strong>de</strong> <strong>la</strong> programación a <strong>la</strong> producción<br />
<strong>de</strong> software”, <strong>Avances</strong> <strong>en</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong>, IV Congreso Internacional <strong>de</strong> Ci<strong>en</strong>cias <strong>de</strong><br />
<strong>la</strong> <strong>Computación</strong>, ENC’03. México, 2003.<br />
[7] Paulk, M. et al., The Capability Maturity Mo<strong>de</strong>l: Gui<strong>de</strong>lines for Impoving the Software<br />
Process, Software Engineering Institute, Carnigie Mellon University, Addison-Wesley. 1994.<br />
[8] Secretaría <strong>de</strong> Economía, Programa para el Desarrollo <strong>de</strong> <strong>la</strong> Industria <strong>de</strong> Software, 2002.<br />
[9] Universidad Autónoma <strong>de</strong> Aguascali<strong>en</strong>tes, Revisión Curricu<strong>la</strong>r <strong>de</strong> <strong>la</strong> carrera <strong>de</strong> Ing<strong>en</strong>iería<br />
<strong>en</strong> Sistemas Computacionales P<strong>la</strong>n 2001, Dirección G<strong>en</strong>eral <strong>de</strong> Doc<strong>en</strong>cia <strong>de</strong> Pregrado, 2001.
Hacia una Especificación <strong>de</strong>l Marco Conceptual para <strong>la</strong><br />
Formación <strong>de</strong> Recursos Humanos <strong>en</strong> Ing<strong>en</strong>iería <strong>de</strong><br />
Software<br />
Gerardo Padil<strong>la</strong>, Carlos Montes <strong>de</strong> Oca<br />
{gpadil<strong>la</strong>, moca}@cimat.mx<br />
C<strong>en</strong>tro <strong>de</strong> Investigación <strong>en</strong> Matemáticas A.C.<br />
CIMAT<br />
Calle Jalisco S/N. Col. Mineral <strong>de</strong> Val<strong>en</strong>ciana,<br />
Guanajuato, Gto., 36240<br />
Luis Felipe Fernán<strong>de</strong>z M<br />
lfernand@uacj.mx<br />
Universidad Autónoma <strong>de</strong> Ciudad Juárez,<br />
UACJ<br />
Instituto <strong>de</strong> Ing<strong>en</strong>iería y Tecnología<br />
Av. <strong>de</strong>l Charro 610 nte. Cd. Juárez, Chih.<br />
Resum<strong>en</strong>: El Marco Conceptual para <strong>la</strong> Formación <strong>de</strong> Recursos Humanos <strong>en</strong><br />
Ing<strong>en</strong>iería <strong>de</strong> Software (MCFIS) es una herrami<strong>en</strong>ta usada como mo<strong>de</strong>lo <strong>de</strong><br />
refer<strong>en</strong>cia y guía <strong>en</strong> <strong>la</strong> creación y evaluación <strong>de</strong> programas <strong>de</strong> formación <strong>en</strong><br />
ing<strong>en</strong>iería <strong>de</strong> software. Uno <strong>de</strong> <strong>la</strong>s metas <strong>de</strong>l MCFIS es <strong>la</strong> <strong>de</strong>finición un mo<strong>de</strong>lo<br />
<strong>de</strong> refer<strong>en</strong>cia estándar. Sin embargo, <strong>la</strong> <strong>de</strong>scripción actual <strong>de</strong>l MCFIS no permite<br />
realizar un análisis sistemático <strong>de</strong> <strong>la</strong> misma, no incluye criterios <strong>de</strong> interpretación<br />
<strong>de</strong>l mo<strong>de</strong>lo ni permite una difusión y evolución simi<strong>la</strong>r a <strong>la</strong> que ti<strong>en</strong><strong>en</strong> los<br />
estándares <strong>de</strong> <strong>la</strong> industria. Este trabajo pres<strong>en</strong>ta una estrategia para llevar <strong>la</strong><br />
<strong>de</strong>scripción <strong>de</strong>l MCFIS al nivel <strong>de</strong> una especificación <strong>de</strong>l tipo industrial y resolver<br />
los problemas antes m<strong>en</strong>cionados. Dicha especificación se basa <strong>en</strong> <strong>la</strong> estructura<br />
<strong>de</strong> un perfil <strong>de</strong>l L<strong>en</strong>guaje Unificado <strong>de</strong> Mo<strong>de</strong><strong>la</strong>do (UML) que se exti<strong>en</strong><strong>de</strong> para<br />
manejar múltiples vistas <strong>de</strong>l MCFIS. D<strong>en</strong>ominamos a esta <strong>de</strong>scripción como <strong>la</strong><br />
Especificación MCFIS Versión 1.0 (E-MCFIS 1.0).<br />
Abstract: The Conceptual Framework for Education of Human Resources in<br />
Software Engineering (MCFIS) is used as a refer<strong>en</strong>ce mo<strong>de</strong>l to create and<br />
evaluate software <strong>en</strong>gineering aca<strong>de</strong>mic programs. One of the MCFIS goals is the<br />
<strong>de</strong>finition of a standard refer<strong>en</strong>ce mo<strong>de</strong>l. Nevertheless, the curr<strong>en</strong>t MCFIS<br />
repres<strong>en</strong>tation does not allow the analysis of the mo<strong>de</strong>l itself, it does not inclu<strong>de</strong><br />
interpretation criteria for the mo<strong>de</strong>l and it does not provi<strong>de</strong> a way to share and<br />
evolve the mo<strong>de</strong>l, as the industrial standards do. This paper <strong>de</strong>scribes an strategy<br />
to evolve the MCFIS repres<strong>en</strong>tation to the level of an industrial specification. The<br />
proposed strategy uses a structure based on the Unified Mo<strong>de</strong>ling Language<br />
profiles (UML). This structure is ext<strong>en</strong><strong>de</strong>d to handle multiple views of MCFIS.<br />
We call this specification Specification MCFIS Version 1.0 (E-MCFIS 1.0).<br />
Pa<strong>la</strong>bras C<strong>la</strong>ve: Educación, Ing<strong>en</strong>iería <strong>de</strong> Software, MCFIS, Especificación<br />
1. Introducción.<br />
El Marco Conceptual para <strong>la</strong> Formación <strong>de</strong> Recursos Humanos <strong>en</strong> Ing<strong>en</strong>iería <strong>de</strong><br />
Software (MCFIS) [1] forma parte <strong>de</strong> los esfuerzos <strong>de</strong> instituciones académicas y <strong>de</strong><br />
investigación para apoyar <strong>la</strong>s estrategias <strong>de</strong>scritas <strong>en</strong> el Programa para el Desarrollo <strong>de</strong><br />
<strong>la</strong> Industria <strong>de</strong> Software [2]. Este programa ti<strong>en</strong>e una serie <strong>de</strong> estrategias; una <strong>de</strong> el<strong>la</strong>s,
está íntimam<strong>en</strong>te ligada a <strong>la</strong>s instituciones <strong>de</strong> educación e investigación: “Educación y<br />
formación <strong>de</strong> personal compet<strong>en</strong>te <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> software, <strong>en</strong> cantidad y calidad<br />
conv<strong>en</strong>i<strong>en</strong>tes”. Parti<strong>en</strong>do <strong>de</strong> lo anterior, se g<strong>en</strong>eró el MCFIS [1].<br />
El MCFIS es un mo<strong>de</strong>lo <strong>de</strong> refer<strong>en</strong>cia para <strong>la</strong> creación y análisis <strong>de</strong> programas para<br />
<strong>la</strong> formación <strong>de</strong> recursos humanos <strong>en</strong> el área <strong>de</strong> Ing<strong>en</strong>iería <strong>de</strong> Software. El MCFIS se<br />
repres<strong>en</strong>tó mediante diagramas <strong>de</strong> c<strong>la</strong>ses usando el L<strong>en</strong>guaje Unificado <strong>de</strong> Mo<strong>de</strong><strong>la</strong>do<br />
(UML por sus sig<strong>la</strong>s <strong>en</strong> inglés) [3]. La <strong>de</strong>scripción <strong>de</strong>l MCFIS se estructura con<br />
conceptos que ti<strong>en</strong><strong>en</strong> un papel prepon<strong>de</strong>rante <strong>en</strong> <strong>la</strong> formación <strong>de</strong> recursos humanos. El<br />
marco conceptual ti<strong>en</strong>e <strong>la</strong> virtud <strong>de</strong> no imponer i<strong>de</strong>as preconcebidas <strong>de</strong> cada concepto y<br />
<strong>de</strong>ja abierta <strong>la</strong> posibilidad <strong>de</strong> que a cada uno <strong>de</strong> ellos se le puedan asociar<br />
características propias. Esto significa que cada institución pue<strong>de</strong> matizar el tipo <strong>de</strong><br />
formación que ofrece <strong>de</strong> acuerdo a sus intereses y pertin<strong>en</strong>cia. Por ejemplo, el MCFIS<br />
ha sido exitosam<strong>en</strong>te usado para <strong>la</strong> p<strong>la</strong>neación y análisis <strong>de</strong> un programa <strong>de</strong> postgrado<br />
<strong>en</strong> Ing<strong>en</strong>iería <strong>de</strong> Software <strong>en</strong> el C<strong>en</strong>tro <strong>de</strong> Investigaciones <strong>de</strong> Matemáticas.<br />
La <strong>de</strong>scripción <strong>de</strong>l MCFIS propuesta <strong>en</strong> [1] establece cierto tipo <strong>de</strong> estructura para el<br />
marco conceptual que <strong>de</strong>scribe. Sin embargo, el MCFIS carece <strong>de</strong> una estructura<br />
formal que permita: i) realizar un análisis sistemático <strong>de</strong>l mo<strong>de</strong>lo mismo, ii) incluir<br />
criterios <strong>de</strong> interpretación <strong>de</strong>l mo<strong>de</strong>lo y iii) permitir una difusión y evolución simi<strong>la</strong>r a<br />
<strong>la</strong> que ti<strong>en</strong><strong>en</strong> los estándares <strong>de</strong> <strong>la</strong> industria. Este artículo pres<strong>en</strong>ta una estrategia para<br />
resolver dichos problemas. La estrategia se basa <strong>en</strong> <strong>la</strong> creación <strong>de</strong> una especificación<br />
para el MCFIS, d<strong>en</strong>ominada E-MCFIS 1.0. La estructura, cont<strong>en</strong>ido e información <strong>de</strong><br />
dicha especificación permitirá analizar el mo<strong>de</strong>lo <strong>de</strong> refer<strong>en</strong>cia, <strong>de</strong>scribir criterios <strong>de</strong><br />
interpretación, establecer mecanismos para <strong>la</strong> evolución y mant<strong>en</strong>imi<strong>en</strong>to <strong>de</strong>l mo<strong>de</strong>lo, y<br />
facilitar <strong>la</strong> difusión y el proceso <strong>de</strong> su estandarización. La organización <strong>de</strong> esta<br />
especificación se basa <strong>en</strong> <strong>la</strong> estructura <strong>de</strong> los perfiles <strong>de</strong> UML e incorpora el uso <strong>de</strong><br />
vistas <strong>de</strong> interés. Esta vistas usan un <strong>en</strong>foque simi<strong>la</strong>r al utilizado <strong>en</strong> los métodos <strong>de</strong><br />
evaluación <strong>de</strong> arquitecturas <strong>de</strong> software [4].<br />
Este artículo se estructura <strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te manera: <strong>en</strong> <strong>la</strong> sección 2 se <strong>de</strong>scrib<strong>en</strong><br />
brevem<strong>en</strong>te los perfiles <strong>de</strong> UML. En <strong>la</strong> sección 3 se pres<strong>en</strong>ta <strong>la</strong> estructura y<br />
características más importantes <strong>de</strong> <strong>la</strong> especificación E-MCFIS 1.0. Finalm<strong>en</strong>te, se<br />
pres<strong>en</strong>tan <strong>la</strong>s conclusiones y trabajo futuro re<strong>la</strong>cionado con <strong>la</strong> versiones futuras <strong>de</strong>l E-<br />
MCFIS.<br />
2. Perfiles <strong>de</strong> UML.<br />
UML permite <strong>la</strong> construcción <strong>de</strong> mo<strong>de</strong>los usando distintos tipos <strong>de</strong> diagramas que<br />
repres<strong>en</strong>tan distintas aspectos <strong>de</strong>l sistema (e.g., estructura, comportami<strong>en</strong>to, <strong>de</strong>spliegue,<br />
ejecución). Una <strong>de</strong> <strong>la</strong>s características más importantes <strong>de</strong> UML es su capacidad <strong>de</strong><br />
ext<strong>en</strong><strong>de</strong>rse para dominios particu<strong>la</strong>res, esto es, UML permite <strong>de</strong>finir un subconjunto<br />
personalizado <strong>de</strong> elem<strong>en</strong>tos <strong>de</strong> mo<strong>de</strong><strong>la</strong>do con un significado particu<strong>la</strong>r para dominios<br />
específicos. A dichas ext<strong>en</strong>siones se les d<strong>en</strong>omina perfiles <strong>de</strong> UML. Se pued<strong>en</strong><br />
<strong>en</strong>contrar ejemplos <strong>de</strong> perfiles <strong>en</strong> dominios tales como <strong>la</strong> prueba <strong>de</strong> software, sistemas<br />
<strong>en</strong> tiempo real, y CORBA <strong>en</strong>tre otros. Un perfil <strong>de</strong>fine básicam<strong>en</strong>te lo sigui<strong>en</strong>te:
• Un núcleo básico <strong>de</strong> conceptos usado para el dominio <strong>en</strong> particu<strong>la</strong>r. Estos<br />
conceptos <strong>de</strong>fin<strong>en</strong> el l<strong>en</strong>guaje para ese dominio.<br />
• Una jerarquía <strong>de</strong> conceptos basada <strong>en</strong> her<strong>en</strong>cias, agrupaciones y niveles <strong>de</strong><br />
abstracción. Dicha jerarquía organiza los conceptos <strong>de</strong> manera que permitan<br />
<strong>la</strong> reutilización, <strong>la</strong> compr<strong>en</strong>sión y <strong>la</strong> creación <strong>de</strong> mo<strong>de</strong>los.<br />
• Un conjunto <strong>de</strong> reg<strong>la</strong>s <strong>de</strong> construcción y restricciones re<strong>la</strong>cionadas con el<br />
dominio específico. Dichas reg<strong>la</strong>s permit<strong>en</strong> <strong>la</strong> creación <strong>de</strong> mo<strong>de</strong>los bi<strong>en</strong><br />
formados para el dominio. Las restricciones <strong>de</strong> los elem<strong>en</strong>tos <strong>de</strong> mo<strong>de</strong><strong>la</strong>do se<br />
especifican g<strong>en</strong>eralm<strong>en</strong>te usando el l<strong>en</strong>guaje <strong>de</strong> restricciones <strong>de</strong> objetos (OCL<br />
por sus sig<strong>la</strong>s <strong>en</strong> inglés) [3].<br />
• En algunos casos, se incluye una semántica para el análisis <strong>de</strong> los mo<strong>de</strong>los,<br />
que permite el análisis y manipu<strong>la</strong>ción <strong>de</strong> los mo<strong>de</strong>los bajo un esquema<br />
formal.<br />
3. E-MCFIS 1.0.<br />
El E-MCFIS 1.0 repres<strong>en</strong>ta <strong>la</strong> <strong>de</strong>scripción <strong>de</strong>l MCFIS con un formato <strong>de</strong><br />
especificación. La organización <strong>de</strong> <strong>la</strong> especificación se basa <strong>en</strong> <strong>la</strong> estructura modificada<br />
<strong>de</strong> un perfil <strong>de</strong> UML. Dicha modificación agrupa ciertos elem<strong>en</strong>tos e incorpora el uso<br />
<strong>de</strong> vistas <strong>de</strong> interés, que han sido utilizadas <strong>en</strong> los métodos <strong>de</strong> evaluación <strong>de</strong><br />
arquitecturas <strong>de</strong> software [4]. Las vistas permit<strong>en</strong> ais<strong>la</strong>r los elem<strong>en</strong>tos re<strong>la</strong>cionados con<br />
un interés <strong>en</strong> particu<strong>la</strong>r. Por ejemplo, <strong>la</strong> vista <strong>de</strong> P<strong>la</strong>nta Académica, ti<strong>en</strong>e como c<strong>en</strong>tro<br />
<strong>de</strong>l análisis los aspectos <strong>de</strong> interés re<strong>la</strong>cionados con <strong>la</strong> p<strong>la</strong>nta académica <strong>de</strong> <strong>la</strong><br />
institución.<br />
3.1 Estructura básica <strong>de</strong>l MCFIS<br />
El MCFIS es un marco conceptual cont<strong>en</strong>i<strong>en</strong>do 21 conceptos y 40 re<strong>la</strong>ciones <strong>en</strong>tre<br />
dichos conceptos. El MCFIS está repres<strong>en</strong>tado por 5 diagramas <strong>de</strong> c<strong>la</strong>ses <strong>de</strong> UML.<br />
Cada diagrama se ori<strong>en</strong>ta bajo un concepto c<strong>en</strong>tral (i.e., Ing<strong>en</strong>iería <strong>de</strong> Software, P<strong>la</strong>nta<br />
Académica, Cuerpo <strong>de</strong> Conocimi<strong>en</strong>tos, Certificaciones y Egresados). Dicha<br />
organización <strong>de</strong> diagramas pue<strong>de</strong> ser interpretada como un conjunto <strong>de</strong> vistas <strong>de</strong>l<br />
mo<strong>de</strong>lo total.<br />
El tipo <strong>de</strong> re<strong>la</strong>ciones que <strong>de</strong>fine el MCFIS correspon<strong>de</strong> a cláusu<strong>la</strong>s que <strong>de</strong>fin<strong>en</strong><br />
interacciones <strong>en</strong>tre los conceptos <strong>de</strong>finidos. Por ejemplo, <strong>la</strong> Figura 1 pres<strong>en</strong>ta un<br />
fragm<strong>en</strong>to <strong>de</strong> un diagrama <strong>de</strong>l MCFIS don<strong>de</strong> una <strong>de</strong> <strong>la</strong>s cláusu<strong>la</strong>s pres<strong>en</strong>tadas <strong>en</strong> este<br />
diagrama establece que <strong>la</strong> Ing. <strong>de</strong> Software es soportada <strong>en</strong> Mo<strong>de</strong>los <strong>de</strong> Enseñanza.<br />
Dicha cláusu<strong>la</strong> asocia dos <strong>en</strong>tida<strong>de</strong>s conceptuales, <strong>la</strong> <strong>de</strong> Ing. <strong>de</strong> Software y <strong>la</strong> <strong>de</strong><br />
Mo<strong>de</strong>los <strong>de</strong> Enseñanza.
-soportada_<strong>en</strong><br />
Mo<strong>de</strong>los <strong>de</strong> Enseñanza<br />
Ing. <strong>de</strong> Software<br />
1..* 1<br />
Infraestructura<br />
-soportada_por<br />
1<br />
1<br />
1-soportada_por_una<br />
1<br />
P<strong>la</strong>nta académica<br />
Figura 1. Mo<strong>de</strong>lo parcial <strong>de</strong>l MCFIS.<br />
3.2 Estructura conceptual <strong>de</strong>l E-MCFIS<br />
Des<strong>de</strong> el punto <strong>de</strong> vista conceptual, el MCFIS <strong>de</strong>fine un mo<strong>de</strong>lo compuesto <strong>de</strong><br />
conceptos y re<strong>la</strong>ciones. Las vistas vi<strong>en</strong><strong>en</strong> a repres<strong>en</strong>tar secciones parciales <strong>de</strong> dicho<br />
mo<strong>de</strong>lo. Sin embargo, el MCFIS no prescribe ninguna estructura para organizar y<br />
<strong>de</strong>scribir estos elem<strong>en</strong>tos.<br />
Esta situación limita y complica activida<strong>de</strong>s <strong>de</strong> mant<strong>en</strong>imi<strong>en</strong>to y evolución <strong>de</strong>l<br />
mo<strong>de</strong>lo mismo. Es por esto, que se propone una estructura conceptual basada <strong>en</strong> el uso<br />
<strong>de</strong> un metamo<strong>de</strong>lo <strong>de</strong>l MCFIS (como se maneja <strong>en</strong> <strong>la</strong> <strong>de</strong>finición <strong>de</strong>l l<strong>en</strong>guaje UML).<br />
Parti<strong>en</strong>do <strong>de</strong> esto, se propone <strong>la</strong> estructura conceptual pres<strong>en</strong>tada <strong>en</strong> <strong>la</strong> Figura 2. Un<br />
núcleo que conti<strong>en</strong>e conceptos (metac<strong>la</strong>ses) que se usan para <strong>de</strong>finir el MCFIS. Dichos<br />
conceptos se agrupan <strong>en</strong> los paquetes Entida<strong>de</strong>s, Vistas y Re<strong>la</strong>ciones (repres<strong>en</strong>tados<br />
por el símbolo <strong>de</strong> una carpeta). Las flechas <strong>en</strong>tre <strong>la</strong>s carpetas d<strong>en</strong>otan <strong>la</strong>s re<strong>la</strong>ciones <strong>de</strong><br />
<strong>de</strong>p<strong>en</strong>d<strong>en</strong>cia <strong>en</strong>tre los paquetes; por ejemplo, MCFIS <strong>de</strong>p<strong>en</strong><strong>de</strong> <strong>de</strong> los elem<strong>en</strong>tos <strong>de</strong><br />
mo<strong>de</strong><strong>la</strong>do cont<strong>en</strong>idos <strong>en</strong> los paquetes Conceptos, Vistas y Re<strong>la</strong>ciones. La Figura 2<br />
muestra ejemplos <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses conceptuales (o metac<strong>la</strong>ses) <strong>de</strong> cada uno <strong>de</strong> los<br />
paquetes.<br />
Conceptos<br />
Re<strong>la</strong>ciones<br />
><br />
Persona<br />
><br />
Empresa<br />
><br />
Egresado<br />
><br />
Institución<br />
><br />
P<strong>la</strong>nta Académica<br />
><br />
soportada_<strong>en</strong><br />
><br />
ingresa<br />
><br />
otorga_acreditacion<br />
><br />
obti<strong>en</strong>e_un<br />
Vistas<br />
Conceptos<br />
Re<strong>la</strong>ciones<br />
Vistas<br />
><br />
Ing<strong>en</strong>iería <strong>de</strong><br />
Software<br />
><br />
Grados<br />
MCFIS<br />
><br />
Certificaciones<br />
><br />
P<strong>la</strong>nta Académica<br />
Figura 2. Estructura conceptual parcial <strong>de</strong>l MCFIS.
3.3 Estructura <strong>de</strong> <strong>la</strong> especificación E-MCFIS 1.0<br />
Parti<strong>en</strong>do <strong>de</strong> <strong>la</strong> estructura conceptual pres<strong>en</strong>tada <strong>en</strong> <strong>la</strong> sección anterior, se propone que<br />
<strong>la</strong> estructura <strong>de</strong> <strong>la</strong> especificación E-MCFIS 1.0 cont<strong>en</strong>ga los sigui<strong>en</strong>tes elem<strong>en</strong>tos.<br />
• Estrategia<br />
• Estructura <strong>de</strong> los paquetes<br />
• Núcleo <strong>de</strong> conceptos básicos y re<strong>la</strong>ciones<br />
• Reg<strong>la</strong>s <strong>de</strong> construcción<br />
• Criterios <strong>de</strong> interpretación<br />
• Vistas <strong>de</strong> los mo<strong>de</strong>los<br />
• Ext<strong>en</strong>sibilidad y evolución <strong>de</strong>l mo<strong>de</strong>lo<br />
En <strong>la</strong> sección Estrategia se pres<strong>en</strong>ta los motivos y <strong>en</strong>foque seguido para <strong>la</strong><br />
estructuración <strong>de</strong> <strong>la</strong> especificación, incluy<strong>en</strong>do <strong>la</strong> estructura conceptual ya m<strong>en</strong>cionada.<br />
La sección Estructura <strong>de</strong> paquetes pres<strong>en</strong>ta una <strong>de</strong>scripción <strong>de</strong> los paquetes que<br />
conti<strong>en</strong><strong>en</strong> los elem<strong>en</strong>tos <strong>de</strong> mo<strong>de</strong><strong>la</strong>do <strong>de</strong> E-MCFIS. El Núcleo <strong>de</strong> conceptos básicos y<br />
re<strong>la</strong>ciones pres<strong>en</strong>ta una <strong>de</strong>scripción <strong>de</strong>tal<strong>la</strong>da <strong>de</strong> los elem<strong>en</strong>tos <strong>de</strong> mo<strong>de</strong><strong>la</strong>do que<br />
incluy<strong>en</strong> conceptos y re<strong>la</strong>ciones <strong>en</strong>tre los mismos. Estas dos ultimas secciones<br />
correspond<strong>en</strong> a los elem<strong>en</strong>tos “núcleo básico <strong>de</strong> conceptos” y “jerarquía <strong>de</strong> conceptos”<br />
<strong>de</strong> un perfil <strong>de</strong> UML. En <strong>la</strong> sección Reg<strong>la</strong>s <strong>de</strong> construcción se pres<strong>en</strong>tan aquel<strong>la</strong>s<br />
restricciones re<strong>la</strong>cionadas con <strong>la</strong> construcción <strong>de</strong> mo<strong>de</strong>los usando los conceptos y<br />
re<strong>la</strong>ciones. Esta sección correspon<strong>de</strong> <strong>en</strong> gran manera al elem<strong>en</strong>to “conjunto <strong>de</strong> reg<strong>la</strong>s<br />
<strong>de</strong> construcción y restricciones” <strong>de</strong> un perfil <strong>de</strong> UML. La sección Criterios <strong>de</strong><br />
interpretación conti<strong>en</strong>e <strong>de</strong>scripciones para precisar <strong>la</strong>s interpretaciones <strong>de</strong> los mo<strong>de</strong>los<br />
mostrados. Esto equivale <strong>en</strong> cierto modo al elem<strong>en</strong>to “semántica” <strong>de</strong>l perfil <strong>de</strong> UML.<br />
En <strong>la</strong> sección Vistas <strong>de</strong> los mo<strong>de</strong>los se pres<strong>en</strong>tan <strong>la</strong>s vistas <strong>de</strong>l mo<strong>de</strong>lo MCFIS, como<br />
se <strong>de</strong>scribe <strong>en</strong> <strong>la</strong> subsección 3.4. Finalm<strong>en</strong>te, se m<strong>en</strong>ciona <strong>en</strong> <strong>la</strong> sección Ext<strong>en</strong>sibilidad<br />
<strong>la</strong> estrategia y reg<strong>la</strong>s a seguir si se <strong>de</strong>sea ext<strong>en</strong><strong>de</strong>r o modificar el mo<strong>de</strong>lo MCFIS.<br />
3.4 Vistas <strong>de</strong> interés<br />
Las vistas <strong>de</strong> interés permit<strong>en</strong> ver bajo un <strong>en</strong>foque particu<strong>la</strong>r los conceptos <strong>de</strong>l mo<strong>de</strong>lo<br />
y <strong>la</strong>s re<strong>la</strong>ciones que exist<strong>en</strong>. La <strong>de</strong>scripción inicial <strong>de</strong>l MCFIS[1] conti<strong>en</strong>e cinco vistas<br />
<strong>de</strong>finidas hasta el mom<strong>en</strong>to: i) Vista c<strong>en</strong>trada <strong>en</strong> Ing<strong>en</strong>iería <strong>de</strong> Software, ii) vista<br />
c<strong>en</strong>trada <strong>en</strong> <strong>la</strong> P<strong>la</strong>nta Académica, iii) vista c<strong>en</strong>trada <strong>en</strong> los Grados, iv) vista c<strong>en</strong>trada <strong>en</strong><br />
<strong>la</strong>s Certificaciones y v) vista c<strong>en</strong>trada <strong>en</strong> <strong>la</strong> Institución.<br />
La información <strong>de</strong> cada vista d<strong>en</strong>tro <strong>de</strong>l E-MCFIS incluye:<br />
• Propósito <strong>de</strong> <strong>la</strong> vista<br />
• Conceptos que aparec<strong>en</strong> <strong>en</strong> <strong>la</strong> vista<br />
• Re<strong>la</strong>ciones que aparec<strong>en</strong> <strong>en</strong> <strong>la</strong> vista<br />
• Esc<strong>en</strong>arios g<strong>en</strong>éricos <strong>de</strong> <strong>la</strong> vista<br />
• Reg<strong>la</strong>s semánticas <strong>de</strong> <strong>la</strong> vista<br />
Los últimos dos puntos <strong>de</strong> <strong>la</strong> información cont<strong>en</strong>ida <strong>en</strong> <strong>la</strong> vista especifican mayor<br />
información <strong>de</strong>l mo<strong>de</strong>lo <strong>en</strong> particu<strong>la</strong>r. Por ejemplo, se pued<strong>en</strong> <strong>de</strong>finir esc<strong>en</strong>arios<br />
concretos para situaciones particu<strong>la</strong>res <strong>de</strong> <strong>la</strong> vista. Las reg<strong>la</strong>s semánticas <strong>de</strong> <strong>la</strong> vista se<br />
refier<strong>en</strong> a restricciones que <strong>de</strong>b<strong>en</strong> <strong>de</strong> cumplirse <strong>en</strong> <strong>la</strong> vista. Por ejemplo, si el mo<strong>de</strong>lo
g<strong>en</strong>eral especifica cierta cardinalidad <strong>en</strong>tre dos conceptos <strong>en</strong>tonces <strong>la</strong> vista pue<strong>de</strong><br />
refinar una cardinalidad más específica para dichos conceptos.<br />
3.5 Ext<strong>en</strong>sibilidad y mejora <strong>de</strong>l mo<strong>de</strong>lo<br />
La estrategia para permitir <strong>la</strong> ext<strong>en</strong>sibilidad <strong>de</strong>l mo<strong>de</strong>lo se fundam<strong>en</strong>ta <strong>en</strong> <strong>la</strong> estructura<br />
conceptual pres<strong>en</strong>tada <strong>en</strong> <strong>la</strong> subsección 3.2. La capacidad <strong>de</strong> ext<strong>en</strong>sión <strong>de</strong>l mo<strong>de</strong>lo se<br />
logra mediante <strong>la</strong> creación <strong>de</strong> un núcleo y ext<strong>en</strong><strong>de</strong>r el mo<strong>de</strong>lo a partir <strong>de</strong> éste. Así<br />
mismo, se <strong>de</strong>b<strong>en</strong> <strong>de</strong> incluir algunas reg<strong>la</strong>s adicionales para garantizar <strong>la</strong> consist<strong>en</strong>cia <strong>de</strong><br />
los mo<strong>de</strong>los creados como instancia <strong>de</strong> E-MCFIS 1.0.<br />
4. Conclusiones y Trabajo Futuro.<br />
Este trabajo ha pres<strong>en</strong>tado una estrategia para proveer al MFCIS <strong>de</strong> una estructura y<br />
organización que permita realizar un análisis sistemático <strong>de</strong>l mo<strong>de</strong>lo mismo, incluir<br />
criterios <strong>de</strong> interpretación <strong>de</strong>l mo<strong>de</strong>lo y permitir una difusión y evolución simi<strong>la</strong>r a <strong>la</strong><br />
que ti<strong>en</strong><strong>en</strong> los estándares <strong>de</strong> <strong>la</strong> industria. Dicha estructura sigue el esquema básico<br />
usado <strong>en</strong> los perfiles <strong>de</strong> UML. Así mismo, se introduce el uso <strong>de</strong> vistas <strong>de</strong> los mo<strong>de</strong>los<br />
que mejora <strong>la</strong> interpretación y análisis <strong>de</strong>l mo<strong>de</strong>lo mismo.<br />
Exist<strong>en</strong> dos líneas <strong>de</strong> trabajo futuro. La primera, es g<strong>en</strong>erar <strong>la</strong> especificación E-<br />
MCFIS 1.0 <strong>en</strong> <strong>la</strong> que se vislumbra una serie <strong>de</strong> refinami<strong>en</strong>to <strong>en</strong> los conceptos, vistas y<br />
re<strong>la</strong>ciones establecidas anteriorm<strong>en</strong>te. Dichos cambios provi<strong>en</strong><strong>en</strong> <strong>de</strong>l análisis <strong>de</strong>l<br />
mo<strong>de</strong>lo basándose <strong>en</strong> el uso <strong>de</strong> <strong>la</strong>s vistas propuestas. La segunda, es aplicar el E-<br />
MCFIS a esfuerzos que se han estado haci<strong>en</strong>do por parte <strong>de</strong> <strong>la</strong> comunidad <strong>de</strong><br />
investigación. Por ejemplo, E-MCFIS 1.0 incluirá los resultados <strong>de</strong>l grupo <strong>de</strong> trabajo<br />
GT/MCFIS <strong>en</strong> <strong>la</strong> reunión celebrada el 31 <strong>de</strong> octubre <strong>de</strong> 2003, <strong>en</strong> el CIMAT, <strong>en</strong> <strong>la</strong><br />
ciudad <strong>de</strong> Guanajuato, Gto.<br />
Refer<strong>en</strong>cias<br />
[1] L. F. Fernán<strong>de</strong>z, C. Montes <strong>de</strong> Oca, “Marco Conceptual para <strong>la</strong> Formación <strong>de</strong> Recursos<br />
Humanos <strong>en</strong> Ing<strong>en</strong>iería <strong>de</strong> Software”, 4º Congreso Internacional <strong>de</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong><br />
<strong>Computación</strong> (ENC 2003): <strong>Avances</strong> <strong>en</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong>, CIC-IPN y SMCC,<br />
Sep. 8-12, T<strong>la</strong>xca<strong>la</strong>, México, 2003, pp. 351-356.<br />
[2] Secretaría <strong>de</strong> Economía, Programa para el Desarrollo <strong>de</strong> <strong>la</strong> Industria <strong>de</strong>l Software, versión<br />
Junio 2002. Disponible <strong>en</strong> http://www.economia.gob.mx/?P=1128.<br />
[3] OMG Unified Mo<strong>de</strong>ling Language Specification Version 1.5, Object Managem<strong>en</strong>t Group,<br />
2003, Disponible <strong>en</strong> http://www.omg.org .<br />
[4] P. Clem<strong>en</strong>ts, R. Kazman, and M. Klein, Evaluating Software Architectures: Methods and<br />
Case Studies, Addison-Wesley, SEI Series in Software Engineering, 2002, pp. 368.
Evaluación <strong>de</strong> <strong>la</strong> utilización <strong>de</strong> Rational Rose con el<br />
Proceso Unificado <strong>de</strong> Desarrollo <strong>de</strong> Software<br />
Ángeles Ar<strong>en</strong>as Valdés, Juan Manuel Fernán<strong>de</strong>z Peña, Ángeles Sumano López<br />
Especialización <strong>en</strong> Ing<strong>en</strong>iería <strong>de</strong> Software, Universidad Veracruzana, Av. Xa<strong>la</strong>pa S/N,<br />
Col. Obrero Campesino, C.P. 91020, Xa<strong>la</strong>pa, Veracruz, México.<br />
{aar<strong>en</strong>as,jfernan<strong>de</strong>z,asumano@uv.mx}<br />
Abstract<br />
The Unified Software Developm<strong>en</strong>t Process involves multiple artifacts' <strong>de</strong>finition and handle,<br />
that must be managed because they suffer many transformations along the fundam<strong>en</strong>tal flows. It<br />
is conv<strong>en</strong>i<strong>en</strong>t the use of a CASE tool, like Rational Rose. The pres<strong>en</strong>t work shows how Rational<br />
Rose and Unified Software Developm<strong>en</strong>t Process work together in the <strong>de</strong>velopm<strong>en</strong>t of software<br />
systems in Xa<strong>la</strong>pa and Veracruz harbor zone, insi<strong>de</strong> of Veracruzana University's Software<br />
Engineering Specialty, also shows some compatibility problems betwe<strong>en</strong> them and their<br />
solutions, and a Rational Rose user's evaluation.<br />
Resum<strong>en</strong><br />
El Proceso Unificado <strong>de</strong> Desarrollo <strong>de</strong> Software involucra <strong>la</strong> <strong>de</strong>finición y manejo <strong>de</strong> múltiples<br />
artefactos, mismos que <strong>de</strong>b<strong>en</strong> administrarse <strong>de</strong>bido a <strong>la</strong> transformación que sufr<strong>en</strong> <strong>de</strong>s<strong>de</strong> un flujo<br />
fundam<strong>en</strong>tal a otro. Para ello, convi<strong>en</strong>e utilizar una herrami<strong>en</strong>ta CASE, tal como Rational Rose.<br />
El pres<strong>en</strong>te trabajo muestra <strong>la</strong> forma como se están utilizando juntos, Rational Rose y el Proceso<br />
Unificado <strong>de</strong> Desarrollo <strong>de</strong> Software, <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> sistemas <strong>de</strong> software <strong>de</strong> <strong>la</strong> zona Xa<strong>la</strong>pa<br />
y puerto <strong>de</strong> Veracruz, d<strong>en</strong>tro <strong>de</strong> <strong>la</strong> Especialización <strong>en</strong> Ing<strong>en</strong>iería <strong>de</strong> Software <strong>de</strong> <strong>la</strong> Universidad<br />
Veracruzana, los problemas <strong>de</strong> compatibilidad que pres<strong>en</strong>ta esta utilización, como se han<br />
superado algunos <strong>de</strong> estos problemas y <strong>la</strong> evaluación que se hizo a los usuarios <strong>de</strong> Rational Rose.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve: CASE, PUDS, Rational Rose, mo<strong>de</strong>los<br />
Introducción<br />
En <strong>la</strong> Especialización <strong>de</strong> Ing<strong>en</strong>iería <strong>de</strong> Software <strong>de</strong> <strong>la</strong> Universidad Veracruzana, <strong>de</strong>s<strong>de</strong><br />
2001, se utiliza el Proceso Unificado <strong>de</strong> Desarrollo <strong>de</strong> Software (PUDS), para el<br />
<strong>de</strong>sarrollo <strong>de</strong>l proyecto que cada alumno <strong>de</strong>be e<strong>la</strong>borar durante sus estudios y, como<br />
herrami<strong>en</strong>ta para automatizar <strong>la</strong>s activida<strong>de</strong>s <strong>de</strong>l proceso, se hace uso <strong>de</strong> Rational Rose.<br />
La combinación <strong>de</strong> estos dos elem<strong>en</strong>tos ha permitido g<strong>en</strong>erar proyectos <strong>de</strong> una manera<br />
ord<strong>en</strong>ada. Sin embargo, esta conjunción ha pres<strong>en</strong>tado algunos problemas <strong>de</strong><br />
compr<strong>en</strong>sión y adaptación. Algunos <strong>de</strong> ellos han logrado superarse y otros no.<br />
PUDS involucra una serie <strong>de</strong> fases, d<strong>en</strong>tro <strong>de</strong> cada una <strong>de</strong> el<strong>la</strong>s se trabaja <strong>en</strong> todos<br />
los flujos <strong>de</strong> trabajo fundam<strong>en</strong>tales, los cuales utilizan diversos artefactos y diagramas<br />
que permit<strong>en</strong> ir mo<strong>de</strong><strong>la</strong>ndo un producto <strong>de</strong> software hasta llegar a su implem<strong>en</strong>tación.
Para facilitar este proceso exist<strong>en</strong> diversas herrami<strong>en</strong>tas CASE, como Rational Rose 1<br />
que apoya a diversas metodologías basadas <strong>en</strong> UML (L<strong>en</strong>guaje Unificado <strong>de</strong><br />
Mo<strong>de</strong><strong>la</strong>do), <strong>en</strong>tre el<strong>la</strong>s al PUDS.<br />
El pres<strong>en</strong>te trabajo está ori<strong>en</strong>tado a compartir <strong>la</strong>s experi<strong>en</strong>cias logradas <strong>en</strong> el uso<br />
<strong>de</strong> Rose como herrami<strong>en</strong>ta <strong>de</strong> mo<strong>de</strong><strong>la</strong>do, bajo <strong>la</strong> metodología PUDS. Se divi<strong>de</strong> como<br />
sigue: <strong>la</strong> herrami<strong>en</strong>ta Rational Rose, una breve explicación <strong>de</strong> los flujos fundam<strong>en</strong>tales<br />
<strong>en</strong> PUDS, <strong>la</strong> forma <strong>de</strong> trabajo conjunto, y <strong>la</strong> evaluación que se hizo con usuarios <strong>de</strong><br />
Rose.<br />
1. Rational Rose.<br />
Rational Rose es un software po<strong>de</strong>roso que provee un conjunto <strong>de</strong> herrami<strong>en</strong>tas<br />
visuales para un <strong>de</strong>sarrollo robusto <strong>de</strong> soluciones efici<strong>en</strong>tes para necesida<strong>de</strong>s reales <strong>de</strong><br />
negocios cli<strong>en</strong>te/servidor, empresas distribuidas y sistemas <strong>de</strong> tiempo real [3]. Esta<br />
herrami<strong>en</strong>ta da soporte a <strong>la</strong>s metodologías que utilizan UML para crear sus mo<strong>de</strong>los.<br />
Rose organiza sus mo<strong>de</strong>los <strong>en</strong> cuatro vistas y se explican a continuación.<br />
1. Vista <strong>de</strong> Casos <strong>de</strong> Uso, <strong>en</strong> <strong>la</strong> cual se incluy<strong>en</strong> los actores, Casos <strong>de</strong> Uso y diagrama<br />
<strong>de</strong> Caso <strong>de</strong> Uso <strong>de</strong>l sistema.<br />
2. Vista <strong>de</strong> compon<strong>en</strong>tes, que conti<strong>en</strong>e información <strong>de</strong> <strong>la</strong>s librerías, archivos<br />
ejecutables y otros compon<strong>en</strong>tes.<br />
3. Vista <strong>de</strong> Despliegue, que muestra <strong>la</strong> arquitectura física <strong>de</strong>l sistema, <strong>en</strong> ésta se<br />
incluy<strong>en</strong>: Procesadores, dispositivos (terminales, impresoras), d<strong>en</strong>tro <strong>de</strong>l diagrama<br />
<strong>de</strong> <strong>de</strong>spliegue don<strong>de</strong> se especifican <strong>la</strong>s configuraciones físicas <strong>de</strong> red<br />
4. Vista lógica, <strong>en</strong> <strong>la</strong> que se implem<strong>en</strong>ta el comportami<strong>en</strong>to <strong>de</strong> los Casos <strong>de</strong> Uso,<br />
incluye diagramas <strong>de</strong> c<strong>la</strong>ses, diagramas <strong>de</strong> estados, diagramas <strong>de</strong> interacción<br />
(secu<strong>en</strong>cia y co<strong>la</strong>boración) y paquetes.<br />
2. Proceso Unificado <strong>de</strong> Desarrollo <strong>de</strong> Software<br />
Este proceso utiliza el L<strong>en</strong>guaje Unificado <strong>de</strong> Mo<strong>de</strong><strong>la</strong>do (UML); está dirigido por<br />
Casos <strong>de</strong> Uso, c<strong>en</strong>trado <strong>en</strong> <strong>la</strong> arquitectura, iterativo e increm<strong>en</strong>tal [2].<br />
PUDS pres<strong>en</strong>ta un marco <strong>de</strong> trabajo g<strong>en</strong>érico para diversos tipos <strong>de</strong> sistemas <strong>de</strong><br />
software. El <strong>de</strong>sarrollo <strong>de</strong>l producto, consta <strong>de</strong> cuatro fases: inicio, e<strong>la</strong>boración,<br />
construcción y transición. A su vez, cada una <strong>de</strong> <strong>la</strong>s fases está formada por iteraciones<br />
y <strong>en</strong> cada iteración se realizan flujos <strong>de</strong> trabajo fundam<strong>en</strong>tales; cada uno <strong>de</strong> ellos va<br />
transformando los Casos <strong>de</strong> Uso, es <strong>de</strong>cir los requerimi<strong>en</strong>tos <strong>de</strong>l usuario, a gran<strong>de</strong>s<br />
rasgos <strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te manera:<br />
1. Requerimi<strong>en</strong>tos. Se obti<strong>en</strong>e el mo<strong>de</strong>lo <strong>de</strong> Casos <strong>de</strong> Uso compuesto por actores<br />
y Casos <strong>de</strong> Uso. A partir <strong>de</strong> ellos se va ligando todo el sistema.<br />
2. Análisis. Se realizan los Casos <strong>de</strong> Uso <strong>de</strong> análisis agrupándolos <strong>en</strong> difer<strong>en</strong>tes<br />
Paquetes <strong>de</strong> Análisis (PA).<br />
1 Al referirnos a Rational Rose o simplem<strong>en</strong>te Rose no se incluye <strong>la</strong> suite completa,<br />
únicam<strong>en</strong>te <strong>la</strong> herrami<strong>en</strong>ta c<strong>en</strong>tral.
3. Diseño. Compuesto por dos mo<strong>de</strong>los: Diseño y Despliegue. Empieza<br />
estableci<strong>en</strong>do <strong>la</strong> arquitectura mediante el trazado <strong>de</strong> los PA a Subsistemas <strong>de</strong><br />
Diseño y conforme al mo<strong>de</strong>lo <strong>de</strong> <strong>de</strong>spliegue. Se hace <strong>la</strong> realización <strong>de</strong> Casos<br />
<strong>de</strong> Uso <strong>de</strong> diseño y se sitúan los diversos artefactos <strong>en</strong> los Subsistemas <strong>de</strong><br />
Diseño correspondi<strong>en</strong>tes.<br />
4. Implem<strong>en</strong>tación. Se mapean los Subsistemas <strong>de</strong> Diseño a Subsistemas <strong>de</strong><br />
Implem<strong>en</strong>tación <strong>de</strong> manera biunívoca. Se trazan <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong> diseño a<br />
compon<strong>en</strong>tes. Se realiza el p<strong>la</strong>n <strong>de</strong> construcciones.<br />
5. Prueba. Se refinan los casos <strong>de</strong> prueba por cada Caso <strong>de</strong> Uso, se realizan <strong>la</strong>s<br />
pruebas <strong>de</strong> integración <strong>de</strong> los Caso <strong>de</strong> Uso.<br />
Diseño<br />
ROSE<br />
PUDS<br />
Requerimi<strong>en</strong>tos<br />
Análisis<br />
Implem<strong>en</strong>tación<br />
Vista <strong>de</strong> Casos <strong>de</strong> Uso Vista Lógica Vista <strong>de</strong><br />
Despliegue<br />
- Mo<strong>de</strong>lo <strong>de</strong> Casos <strong>de</strong><br />
Uso<br />
- Mo<strong>de</strong>lo <strong>de</strong> Análisis<br />
(Paquetes <strong>de</strong> Análisis,<br />
Realización <strong>de</strong> Casos<br />
<strong>de</strong> Uso: diagramas <strong>de</strong><br />
c<strong>la</strong>se y <strong>de</strong> co<strong>la</strong>boración<br />
y flujo <strong>de</strong> sucesos y<br />
restricciones)<br />
- Mo<strong>de</strong>lo <strong>de</strong> Diseño<br />
(Subsistemas <strong>de</strong><br />
Diseño, Realización <strong>de</strong><br />
Casos <strong>de</strong> Uso:<br />
diagramas <strong>de</strong> c<strong>la</strong>ses y<br />
<strong>de</strong> secu<strong>en</strong>cia, flujo <strong>de</strong><br />
sucesos y restricciones)<br />
- Mo<strong>de</strong>lo<br />
<strong>de</strong><br />
Despliegue<br />
Vista <strong>de</strong><br />
Compon<strong>en</strong>tes<br />
- Mo<strong>de</strong>lo <strong>de</strong><br />
Implem<strong>en</strong>tación<br />
(Arquitectura <strong>de</strong><br />
implem<strong>en</strong>tación,<br />
diagrama <strong>de</strong> cada<br />
Subsistema <strong>de</strong><br />
Implem<strong>en</strong>tación)<br />
Prueba X X X X<br />
Tab<strong>la</strong> 1. Re<strong>la</strong>ción <strong>de</strong> flujos <strong>de</strong> PUDS con Vistas <strong>de</strong> Rational Rose<br />
3. Utilización conjunta <strong>de</strong> PUDS y Rational Rose<br />
En <strong>la</strong> Especialización <strong>en</strong> Ing<strong>en</strong>iería <strong>de</strong> Software, los alumnos realizan, con el CASE<br />
Rational Rose, <strong>la</strong> mayor parte <strong>de</strong> los mo<strong>de</strong>los que establece el PUDS <strong>en</strong> sus difer<strong>en</strong>tes<br />
flujos fundam<strong>en</strong>tales, a saber: requerimi<strong>en</strong>tos, análisis, diseño, imp<strong>la</strong>ntación y pruebas.<br />
La re<strong>la</strong>ción <strong>de</strong> los flujos fundam<strong>en</strong>tales y <strong>la</strong>s vistas <strong>de</strong> Rose se hace como lo muestra <strong>la</strong><br />
Tab<strong>la</strong> 1, <strong>de</strong>be notarse que el flujo <strong>de</strong> pruebas no ti<strong>en</strong>e ningún artefacto incluido, pues<br />
Rose no brinda ningún apoyo.
A<strong>de</strong>más, los mo<strong>de</strong>los <strong>de</strong> análisis y Casos <strong>de</strong> Uso se ingresan <strong>en</strong> un archivo mdl<br />
difer<strong>en</strong>te al <strong>de</strong> diseño e implem<strong>en</strong>tación, tal <strong>de</strong>cisión se <strong>de</strong>be a dos razones:<br />
1) Des<strong>de</strong> el punto <strong>de</strong> vista estético y <strong>de</strong> c<strong>la</strong>ridad. Dado que Rose va id<strong>en</strong>tificando<br />
cada artefacto con <strong>la</strong> vista don<strong>de</strong> fue creada, <strong>la</strong> lectura <strong>de</strong> los docum<strong>en</strong>tos se<br />
obscurece (por ejemplo, cambia los estereotipos <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ses).<br />
2) La re<strong>la</strong>ción con PUDS. Los Paquetes <strong>de</strong> Análisis (PA) no serán, obligatoriam<strong>en</strong>te,<br />
los Subsistemas <strong>de</strong> Diseño y, <strong>en</strong>tre otros problemas, los nombres naturales puestos<br />
<strong>en</strong> los PA limitarían <strong>la</strong> nom<strong>en</strong>c<strong>la</strong>tura para los Subsistemas <strong>de</strong> Diseño. A<strong>de</strong>más, los<br />
Subsistemas <strong>de</strong> Diseño se correspond<strong>en</strong> uno a uno con los Subsistemas <strong>de</strong><br />
Implem<strong>en</strong>tación .<br />
3.1 Mo<strong>de</strong><strong>la</strong>ndo con Rational Rose los productos <strong>de</strong> PUDS<br />
En g<strong>en</strong>eral se trabaja <strong>de</strong> manera Top-down, pero al revisar los productos o hitos <strong>de</strong> <strong>la</strong>s<br />
distintas iteraciones se recurre al mo<strong>de</strong><strong>la</strong>do Bottom-up. Una vez ingresando a Rose, <strong>la</strong><br />
realización <strong>de</strong> cada mo<strong>de</strong>lo es como sigue:<br />
1) Para los mo<strong>de</strong>los <strong>de</strong> Casos <strong>de</strong> Uso y <strong>de</strong> Análisis, <strong>en</strong> Rose se <strong>de</strong>be proce<strong>de</strong>r <strong>de</strong><br />
manera algo distinta, como sigue:<br />
a) En el diagrama principal (main) <strong>de</strong> <strong>la</strong> Vista <strong>de</strong> Casos <strong>de</strong> Uso se incluy<strong>en</strong> los<br />
paquetes <strong>de</strong> análisis.<br />
b) A cada paquete <strong>de</strong> análisis se le da clic <strong>de</strong>recho y se crea un diagrama <strong>de</strong><br />
Casos <strong>de</strong> Uso, d<strong>en</strong>tro <strong>de</strong>l cual se hace el mo<strong>de</strong>lo <strong>de</strong> Casos <strong>de</strong> Uso <strong>de</strong> cada<br />
paquete.<br />
c) A cada Caso <strong>de</strong> Uso se le asocian los diagramas <strong>de</strong> c<strong>la</strong>ses <strong>de</strong> análisis<br />
(estereotipos) y los <strong>de</strong> co<strong>la</strong>boración (pudi<strong>en</strong>do ser con clic <strong>de</strong>recho). Cada<br />
diagrama lleva asociados sus restricciones y flujos <strong>de</strong> sucesos respectivam<strong>en</strong>te<br />
<strong>en</strong> el recuadro inferior izquierdo (<strong>de</strong> com<strong>en</strong>tarios).<br />
2) Para los mo<strong>de</strong>los <strong>de</strong> diseño se realizan, <strong>en</strong> ord<strong>en</strong>, <strong>la</strong>s sigui<strong>en</strong>tes activida<strong>de</strong>s:<br />
a) D<strong>en</strong>tro <strong>de</strong> <strong>la</strong> Vista <strong>de</strong> Despliegue, se coloca el mo<strong>de</strong>lo <strong>de</strong> <strong>de</strong>spliegue don<strong>de</strong><br />
hay que colocar los nodos que conformarán <strong>la</strong> red, <strong>en</strong> que correrá el sistema a<br />
<strong>de</strong>sarrol<strong>la</strong>r, indicando el recurso <strong>de</strong> cómputo que repres<strong>en</strong>ta: procesador<br />
(cubos sombreados) o dispositivo (cubo sin sombreado), se establec<strong>en</strong> <strong>la</strong>s<br />
re<strong>la</strong>ciones <strong>en</strong>tre ellos, es <strong>de</strong>cir el medio <strong>de</strong> comunicación, como Internet o<br />
Intranet <strong>en</strong>tre procesadores y, para <strong>la</strong> conexión procesador y dispositivo, por<br />
ejemplo: lpt1: o bus. A cada procesador se le asignan los procesos que <strong>en</strong> él<br />
correrán. Este último paso permite que el <strong>de</strong>sarrol<strong>la</strong>dor se percate <strong>de</strong> <strong>la</strong><br />
necesidad <strong>de</strong> dividir el sistema <strong>en</strong> Subsistemas <strong>de</strong> Diseño y ya no,<br />
necesariam<strong>en</strong>te, <strong>en</strong> PA, pero sirv<strong>en</strong> <strong>de</strong> punto <strong>de</strong> partida.<br />
b) Una vez id<strong>en</strong>tificados los difer<strong>en</strong>tes procesos, <strong>en</strong> <strong>la</strong> Vista Lógica, se<br />
id<strong>en</strong>tifican los distintos Subsistemas <strong>de</strong> Diseño acomodándolos <strong>en</strong> <strong>la</strong> capa que<br />
les correspon<strong>de</strong> (específica o g<strong>en</strong>eral <strong>de</strong> <strong>la</strong> aplicación, midleware o <strong>de</strong>l<br />
sistema).<br />
c) A cada Caso <strong>de</strong> Uso <strong>de</strong> diseño se le asignan varios diagramas y<br />
construyéndose <strong>en</strong> <strong>la</strong> raíz <strong>de</strong> <strong>la</strong> Vista Lógica:<br />
i) El diagrama <strong>de</strong> c<strong>la</strong>ses y/o Subsistemas <strong>de</strong> Diseño que intervi<strong>en</strong><strong>en</strong> <strong>en</strong> el<br />
Caso <strong>de</strong> Uso, cuidando que los estereotipos coincidan con alguno <strong>de</strong>l
l<strong>en</strong>guaje a utilizar y que prov<strong>en</strong>gan o equivalgan a una c<strong>la</strong>se <strong>de</strong>l mo<strong>de</strong>lo<br />
<strong>de</strong> análisis.<br />
ii) Los diagramas <strong>de</strong> secu<strong>en</strong>cia asociados a cada Caso <strong>de</strong> Uso <strong>de</strong> diseño se<br />
construy<strong>en</strong> al mismo nivel <strong>de</strong>l diagrama <strong>de</strong> Subsistemas <strong>de</strong> Diseño y <strong>de</strong><br />
c<strong>la</strong>ses.<br />
d) Por último, se asocia a cada Subsistemas <strong>de</strong> Diseño un diagrama <strong>de</strong> c<strong>la</strong>ses<br />
arrastrando todos los artefactos que estarán <strong>en</strong> él, que no precisam<strong>en</strong>te forman<br />
una unidad lógica, aunque sí física.<br />
3) Utilizando <strong>la</strong> Vista <strong>de</strong> Compon<strong>en</strong>tes, para el mo<strong>de</strong>lo <strong>de</strong> implem<strong>en</strong>tación, se crean:<br />
a) Arquitectura <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> implem<strong>en</strong>tación (equival<strong>en</strong>te a <strong>la</strong> <strong>de</strong> diseño), que<br />
incluye los compon<strong>en</strong>tes que conforman cada Subsistema <strong>de</strong> Implem<strong>en</strong>tación<br />
indicando su estereotipo: exe, dll o bd (exclusivam<strong>en</strong>te) y se establec<strong>en</strong> <strong>la</strong>s<br />
re<strong>la</strong>ciones <strong>de</strong> <strong>de</strong>p<strong>en</strong>d<strong>en</strong>cia <strong>en</strong>tre ellos<br />
b) Para cada Subsistema <strong>de</strong> Implem<strong>en</strong>tación se hace su diagrama <strong>de</strong><br />
compon<strong>en</strong>tes <strong>de</strong>l l<strong>en</strong>guaje escogido y que conti<strong>en</strong><strong>en</strong> una o más c<strong>la</strong>ses <strong>de</strong><br />
diseño.<br />
4. Evaluación<br />
Tanto PUDS como Rational Rose han unificado difer<strong>en</strong>tes notaciones y técnicas y a<br />
pesar <strong>de</strong> que pert<strong>en</strong>ec<strong>en</strong> a <strong>la</strong> misma empresa, Rational Software Corporation, exist<strong>en</strong><br />
algunas complicaciones para <strong>de</strong>sarrol<strong>la</strong>r un proyecto combinándo<strong>la</strong>s. Una <strong>de</strong> <strong>la</strong>s<br />
razones más importantes es que el CASE <strong>de</strong> Rational Rose pret<strong>en</strong><strong>de</strong> dar soporte a todas<br />
<strong>la</strong>s metodologías basadas <strong>en</strong> UML y no <strong>en</strong> especial a PUDS. A continuación, se<br />
muestran dos partes <strong>de</strong> <strong>la</strong> evaluación, una <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> usabilidad y <strong>la</strong> <strong>de</strong><br />
problemas <strong>de</strong> mo<strong>de</strong><strong>la</strong>do más evid<strong>en</strong>tes.<br />
4.1 Encuesta a usuarios<br />
Por el <strong>la</strong>do <strong>de</strong> usabilidad, una <strong>en</strong>cuesta exploratoria basada <strong>en</strong> <strong>la</strong> que propone [4] y<br />
aplicada a doce alumnos <strong>de</strong> <strong>la</strong> Especialización <strong>en</strong> Ing<strong>en</strong>iería <strong>de</strong> Software, mostró que<br />
Rose es bastante aceptable <strong>en</strong> cuanto a facilidad <strong>de</strong> apr<strong>en</strong>dizaje, capacidad <strong>de</strong> obt<strong>en</strong>er<br />
los productos <strong>de</strong>seados <strong>de</strong> PUDS y mejorar <strong>la</strong> productividad. Sin embargo, ap<strong>en</strong>as<br />
logró calificaciones <strong>en</strong>tre 2 y 2.4, cuando <strong>la</strong> esca<strong>la</strong> iba <strong>de</strong> 1 a 5, don<strong>de</strong> 1 era <strong>la</strong> mejor<br />
calificación. Aunque con pocos datos, <strong>la</strong> evaluación <strong>de</strong> qui<strong>en</strong>es usan otras<br />
herrami<strong>en</strong>tas, como MS-Visio, dieron resultados semejantes.<br />
4.2 Resum<strong>en</strong> <strong>de</strong> problemas<br />
En resum<strong>en</strong>, los problemas más molestos que se han t<strong>en</strong>ido con Rose son los<br />
sigui<strong>en</strong>tes:<br />
a) Falta total <strong>de</strong> soporte al flujo <strong>de</strong> Pruebas, que obliga a usar otras herrami<strong>en</strong>tas<br />
más g<strong>en</strong>erales.
) D<strong>en</strong>tro <strong>de</strong>l flujo <strong>de</strong> implem<strong>en</strong>tación no incluye soporte para un artefacto muy<br />
importante: el p<strong>la</strong>n <strong>de</strong> integraciones; a<strong>de</strong>más su soporte para <strong>la</strong> g<strong>en</strong>eración <strong>de</strong><br />
código no es muy cómodo y se limita a <strong>la</strong> parte estática <strong>de</strong> los mo<strong>de</strong>los; <strong>en</strong><br />
nuestro caso, a<strong>de</strong>más, no sirve para <strong>la</strong> mayoría <strong>de</strong> los proyectos que emplean<br />
Delphi y ha t<strong>en</strong>ido poco uso cuando se <strong>de</strong>sarrol<strong>la</strong> <strong>en</strong> Visual Basic.<br />
c) En diagramas <strong>de</strong> secu<strong>en</strong>cia aún fal<strong>la</strong> el manejo gráfico <strong>de</strong>l alcance <strong>de</strong> <strong>la</strong> vida<br />
<strong>de</strong> los métodos (rectángulos verticales sobre <strong>la</strong> línea <strong>de</strong> vida), lo cual g<strong>en</strong>era<br />
diagramas confusos, fragm<strong>en</strong>tados.<br />
d) Si se requiere hacer un cambio <strong>en</strong> los diagramas <strong>de</strong> co<strong>la</strong>boración, es necesario<br />
borrar todos los m<strong>en</strong>sajes anteriores y posteriores.<br />
e) Se requiere emplear dos archivos <strong>de</strong> proyecto: el <strong>de</strong> análisis y el <strong>de</strong> diseño, ya<br />
que si se trabajan juntos, todos los elem<strong>en</strong>tos serían confusos.<br />
Conclusiones<br />
Durante tres años (g<strong>en</strong>eraciones) se ha utilizado el Proceso Unificado <strong>de</strong> Desarrollo <strong>de</strong><br />
Software para el <strong>de</strong>sarrollo <strong>de</strong> aplicaciones diversas. Para e<strong>la</strong>borar <strong>la</strong> docum<strong>en</strong>tación<br />
correspondi<strong>en</strong>te se ha empleado Rational Rose. Sin embargo, se ha observado que<br />
muchas veces los alumnos se confund<strong>en</strong>, ya que no existe una equival<strong>en</strong>cia biunívoca<br />
<strong>en</strong>tre PUDS y Rational Rose, esta última trata <strong>de</strong> dar soporte a diversas metodologías<br />
que ti<strong>en</strong><strong>en</strong> como base UML, por lo tanto no pres<strong>en</strong>ta los flujos <strong>de</strong> trabajo<br />
fundam<strong>en</strong>tales que se sigu<strong>en</strong> <strong>en</strong> PUDS, sino que pres<strong>en</strong>ta difer<strong>en</strong>tes vistas d<strong>en</strong>tro <strong>de</strong> <strong>la</strong>s<br />
cuales <strong>de</strong>be colocar los artefactos <strong>de</strong> los difer<strong>en</strong>tes flujos <strong>de</strong> trabajo.<br />
No obstante, a pesar <strong>de</strong> todas <strong>la</strong>s <strong>de</strong>sv<strong>en</strong>tajas que surg<strong>en</strong> <strong>en</strong> <strong>la</strong> utilización <strong>de</strong><br />
Rational Rose con PUDS, también exist<strong>en</strong> algunas v<strong>en</strong>tajas como es <strong>la</strong> consist<strong>en</strong>cia<br />
<strong>en</strong>tre los mo<strong>de</strong>los, ya que si se realiza un cambio <strong>en</strong> algún elem<strong>en</strong>to, este cambio se ve<br />
reflejado <strong>en</strong> todos los mo<strong>de</strong>los don<strong>de</strong> aparece. Otro aspecto favorable es el amplio<br />
espectro <strong>de</strong> mo<strong>de</strong>los que permite realizar, superando a otros mo<strong>de</strong><strong>la</strong>dores como como<br />
MS-Visio y Mo<strong>de</strong>l Maker.<br />
Aunque lo más conv<strong>en</strong>i<strong>en</strong>te sería utilizar un CASE que permita seguir <strong>de</strong> manera<br />
equival<strong>en</strong>te cada uno <strong>de</strong> los flujos <strong>de</strong> trabajo fundam<strong>en</strong>tales que propone PUDS, los<br />
autores estamos conci<strong>en</strong>tes <strong>de</strong> que el cambio y evolución <strong>de</strong> <strong>la</strong>s metodologías harían<br />
que una herrami<strong>en</strong>ta <strong>de</strong> esta naturaleza se volviera obsoleta <strong>en</strong> corto tiempo.<br />
Refer<strong>en</strong>cias<br />
[1] Boggs W<strong>en</strong>dy, Boggs Michael, “UML with Rational Rose 2002”, Sybex, 2003.<br />
[2]. Jacobson Ivar, Booch Grady, Rumbaugh, “El Proceso Unificado <strong>de</strong> Desarrollo <strong>de</strong><br />
Software”, Addison Wesley, 2000.<br />
[3] Quatrani Terry, “Visual Mo<strong>de</strong>ling whth Rational Rose 2002 and UML”, Addison<br />
Wesley, 2003.<br />
[4] B<strong>en</strong> Shnei<strong>de</strong>rman, “Designing the user interface”, Tercera edición, Addison Wesley<br />
Longman, 1998.
El Desarrollo <strong>de</strong> <strong>la</strong> Industria <strong>de</strong> Software <strong>en</strong><br />
Aguascali<strong>en</strong>tes: Diagnostico y Oportunida<strong>de</strong>s<br />
Tirso Velázquez Navarro, Héctor Sánchez Herrera y Jaime Muñoz Arteaga<br />
Depto. <strong>de</strong> Sistemas <strong>de</strong> Información <strong>de</strong> <strong>la</strong> Universidad Autónoma <strong>de</strong> Aguascali<strong>en</strong>tes<br />
Av. Universidad # 940, fraccionami<strong>en</strong>to bosques, Aguascali<strong>en</strong>tes, México<br />
Tirso.Ve<strong>la</strong>zquez@inegi.gob.mx, hsanchez@aguascali<strong>en</strong>tes.gob.mx y<br />
jmunozar@correo.uaa.mx<br />
Abstract: The use of technology is becoming indisp<strong>en</strong>sable in our daily activities.<br />
For example the governm<strong>en</strong>t, the <strong>en</strong>terprises and the schools could satisfy the<br />
cli<strong>en</strong>t requirem<strong>en</strong>ts if their services are offered throughout a web based<br />
information system. Th<strong>en</strong> it is important to analyze what factors of the technology<br />
could facilitate the daily activities of cli<strong>en</strong>ts. This paper analyzes the conditions of<br />
Aguascali<strong>en</strong>tes's software industry in or<strong>de</strong>r to propose a set of recomm<strong>en</strong>dations<br />
for increase the production of software at local level.<br />
Resum<strong>en</strong>: Actualm<strong>en</strong>te es imposible imaginarse <strong>la</strong> vida cotidiana <strong>de</strong> <strong>la</strong> sociedad<br />
sin el involucrami<strong>en</strong>to <strong>de</strong> <strong>la</strong>s tecnologías. La economía <strong>de</strong> los países, los<br />
gobiernos, los individuos. etc. <strong>de</strong>p<strong>en</strong>d<strong>en</strong> <strong>en</strong> gran medida <strong>de</strong> <strong>la</strong> tecnología, por esto<br />
es, importante analizar los difer<strong>en</strong>tes aspectos que influy<strong>en</strong> <strong>en</strong> el <strong>de</strong>sarrollo<br />
tecnológico <strong>de</strong> los países. El pres<strong>en</strong>te docum<strong>en</strong>to pres<strong>en</strong>ta un análisis <strong>de</strong> <strong>la</strong>s<br />
características particu<strong>la</strong>res <strong>de</strong>l estado <strong>de</strong> Aguascali<strong>en</strong>tes y ofrece un conjunto <strong>de</strong><br />
recom<strong>en</strong>daciones para increm<strong>en</strong>tar su <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> industria <strong>de</strong> software.<br />
1. Introducción.<br />
El rol <strong>de</strong> <strong>la</strong> Información y <strong>la</strong>s Tecnologías <strong>de</strong> Comunicación (TIC) <strong>en</strong> el crecimi<strong>en</strong>to <strong>de</strong><br />
<strong>la</strong> economía y los cambios sociales han recibido una consi<strong>de</strong>rable at<strong>en</strong>ción <strong>en</strong> los años<br />
reci<strong>en</strong>tes, particu<strong>la</strong>rm<strong>en</strong>te <strong>en</strong> el <strong>de</strong>bate <strong>de</strong> <strong>la</strong> “nueva economía”. La producción,<br />
difusión y uso <strong>de</strong> <strong>la</strong>s TIC varían consi<strong>de</strong>rablem<strong>en</strong>te <strong>en</strong>tre y d<strong>en</strong>tro <strong>de</strong> los países, aunque<br />
estas continúan con su propagación y su importancia económica ha crecido <strong>de</strong>s<strong>de</strong> los<br />
años 90’s. Indicadores confiables y compr<strong>en</strong>sibles son necesarios para conducir los<br />
<strong>de</strong>sarrollos <strong>en</strong> <strong>la</strong>s nuevas tecnologías <strong>de</strong> información y <strong>en</strong>t<strong>en</strong><strong>de</strong>r sus impactos <strong>en</strong><br />
nuestras economías y socieda<strong>de</strong>s [1].<br />
La contribución <strong>de</strong> <strong>la</strong> economía <strong>de</strong> <strong>la</strong> información sobre todo al crecimi<strong>en</strong>to económico<br />
esta re<strong>la</strong>cionado a <strong>la</strong> cantidad <strong>de</strong> los recursos <strong>de</strong>stinados a <strong>la</strong>s nuevas tecnologías <strong>de</strong><br />
información, o sea <strong>en</strong> términos <strong>de</strong> consumo, infraestructura ó esfuerzos <strong>de</strong> innovación<br />
[1]. La difer<strong>en</strong>cia <strong>en</strong>tre los que ti<strong>en</strong><strong>en</strong> acceso a <strong>la</strong> información y los que no <strong>la</strong> ti<strong>en</strong><strong>en</strong> ha<br />
sido bautizada con el nombre <strong>de</strong> “Brecha Digital: <strong>la</strong> brecha <strong>en</strong>tre individuos, familias,<br />
negocios y áreas geográficas <strong>de</strong> difer<strong>en</strong>tes niveles socioeconómicos <strong>en</strong> re<strong>la</strong>ción a <strong>la</strong><br />
oportunida<strong>de</strong>s <strong>de</strong> acceso a <strong>la</strong>s tecnologías <strong>de</strong> <strong>la</strong> información y <strong>la</strong> comunicación” [2].
Milton Mueller [3] afirma que <strong>la</strong> re<strong>la</strong>ción positiva que existe <strong>en</strong>tre crecimi<strong>en</strong>to<br />
económico e infraestructura <strong>en</strong> telecomunicaciones no repres<strong>en</strong>ta una justificación<br />
sólida para implem<strong>en</strong>tar una política que promueva el acceso a los servicios. Los países<br />
más ricos ti<strong>en</strong><strong>en</strong> los mayores niveles <strong>de</strong> p<strong>en</strong>etración <strong>en</strong> telecomunicaciones porque <strong>la</strong><br />
riqueza g<strong>en</strong>era mayor inversión <strong>en</strong> infraestructura, y no al revés.<br />
En este s<strong>en</strong>tido, <strong>en</strong> el pres<strong>en</strong>te artículo se hace un análisis <strong>de</strong> <strong>la</strong>s características<br />
particu<strong>la</strong>res <strong>de</strong>l estado <strong>de</strong> Aguascali<strong>en</strong>tes con el propósito <strong>de</strong> po<strong>de</strong>r <strong>de</strong>finir cual es el<br />
pot<strong>en</strong>cial <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> industria <strong>de</strong> software como parte <strong>de</strong> los <strong>de</strong>sarrollos<br />
tecnológicos.<br />
2. Aguascali<strong>en</strong>tes y el <strong>en</strong>torno nacional.<br />
En lo que respecta a <strong>la</strong> “Economía Digital <strong>en</strong> México” se han realizado difer<strong>en</strong>tes<br />
investigaciones <strong>de</strong> <strong>la</strong>s que se pued<strong>en</strong> resaltar que el sector informático participa con<br />
3.5% <strong>de</strong>l total <strong>de</strong> <strong>la</strong> economía nacional. A su interior, el sector <strong>de</strong> mayor crecimi<strong>en</strong>to<br />
fue el <strong>de</strong> <strong>la</strong>s telecomunicaciones, con un increm<strong>en</strong>to <strong>de</strong>l 28.4% durante el año pasado,<br />
seguido <strong>de</strong>l equipo y periféricos para procesami<strong>en</strong>to informático que lo hizo <strong>en</strong> 22.9%.<br />
El sector Servicios Profesionales <strong>en</strong> Informática creció 4.9% durante el año pasado a<br />
tasa anual y <strong>en</strong> términos reales. El <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> industria manufacturera informática<br />
se <strong>en</strong>cu<strong>en</strong>tra ampliam<strong>en</strong>te conc<strong>en</strong>trada regionalm<strong>en</strong>te <strong>en</strong> los estados <strong>de</strong> <strong>la</strong> frontera<br />
norte y el occid<strong>en</strong>te <strong>de</strong>l país (Baja California, Chihuahua, Nuevo León, Sonora,<br />
Tamaulipas y Jalisco), <strong>de</strong> tal forma que estas 6 <strong>en</strong>tida<strong>de</strong>s <strong>en</strong> conjunto absorb<strong>en</strong> el 69%<br />
<strong>de</strong> los establecimi<strong>en</strong>tos y el 94% <strong>de</strong>l personal ocupado [4]. El parque insta<strong>la</strong>do <strong>de</strong><br />
computadoras personales (PC´s) <strong>en</strong> México muestra un crecimi<strong>en</strong>to constante. Se<br />
estima <strong>de</strong> manera preliminar que exist<strong>en</strong> 82 equipos por cada mil habitantes,<br />
notablem<strong>en</strong>te inferiores a <strong>la</strong> que observan nuestros principales socios comerciales<br />
como son Estados Unidos y Canadá con 658 y 487 computadoras por cada mil<br />
habitantes, <strong>en</strong> cada uno <strong>de</strong> ellos [4].<br />
Con re<strong>la</strong>ción al aspecto telemático <strong>en</strong> México, a nivel nacional <strong>la</strong> d<strong>en</strong>sidad telefónica<br />
es <strong>de</strong> 11.2%. Existi<strong>en</strong>do cinco gran<strong>de</strong>s grupos: el primero conformado por 5 <strong>en</strong>tida<strong>de</strong>s<br />
cuya d<strong>en</strong>sidad telefónica es superior a 15% (Baja California, Baja California Sur,<br />
Distrito Fe<strong>de</strong>ral, Jalisco y Nuevo León); un segundo grupo <strong>de</strong> 11 estados con índices<br />
<strong>en</strong>tre 10 y 15% (Aguascali<strong>en</strong>tes, Colima, Coahui<strong>la</strong>, Chihuahua, Estado <strong>de</strong> México,<br />
Morelos, Querétaro, Quintana Roo, Sinaloa, Sonora y Tamaulipas); el tercer grupo <strong>de</strong> 6<br />
<strong>en</strong>tida<strong>de</strong>s con índices <strong>en</strong>tre el 8 y 9% (Durango, Guanajuato, Michoacán, Nayarit,<br />
Pueb<strong>la</strong> y Yucatán); el cuarto grupo integrado por 7 estados, con índices <strong>en</strong>tre 6 y 7%<br />
(Campeche, Guerrero, Hidalgo, San Luis Potosí, T<strong>la</strong>xca<strong>la</strong>, Veracruz, Zacatecas); y el<br />
último grupo conformado por 3 <strong>en</strong>tida<strong>de</strong>s con una d<strong>en</strong>sidad telefónica m<strong>en</strong>or al 6%<br />
(Chiapas, Oaxaca y Tabasco). De acuerdo con los últimos datos reportados por el<br />
INEGI, Aguascali<strong>en</strong>tes <strong>en</strong> el 2003 ocupó el lugar 14 <strong>en</strong>tre los 32 estados <strong>de</strong>l país con<br />
una d<strong>en</strong>sidad telefónica <strong>de</strong>l 15.8% [6].<br />
En <strong>la</strong>s vivi<strong>en</strong>das mexicanas so<strong>la</strong>m<strong>en</strong>te el 9.3% cu<strong>en</strong>ta al m<strong>en</strong>os con una computadora.<br />
Este último dato es altam<strong>en</strong>te indicativo <strong>de</strong> <strong>la</strong> exist<strong>en</strong>cia <strong>de</strong> <strong>la</strong> d<strong>en</strong>ominada “Brecha
Digital”, acceso <strong>de</strong>sigual que ti<strong>en</strong><strong>en</strong> <strong>la</strong>s personas a <strong>la</strong>s Tecnologías <strong>de</strong> <strong>la</strong> Información,<br />
situación que está causando importantes disparida<strong>de</strong>s <strong>en</strong>tre <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s más<br />
<strong>de</strong>sarrol<strong>la</strong>das y <strong>la</strong>s que pres<strong>en</strong>tan mayores rezagos. Mi<strong>en</strong>tras <strong>en</strong> el Distrito Fe<strong>de</strong>ral<br />
21.6% <strong>de</strong> <strong>la</strong>s vivi<strong>en</strong>das pose<strong>en</strong> computadora, <strong>en</strong> el extremo opuesto siete <strong>en</strong>tida<strong>de</strong>s<br />
pres<strong>en</strong>tan porc<strong>en</strong>tajes inferiores a 5 por ci<strong>en</strong>to [4].<br />
Entidad<br />
Índice<br />
<strong>de</strong><br />
Capital<br />
Humano<br />
Índice <strong>de</strong><br />
Apr<strong>en</strong>dizaje<br />
e<br />
Innovación<br />
Índice <strong>de</strong><br />
Empresarialidad<br />
Índice <strong>de</strong><br />
Entorno<br />
Favorable<br />
Índice <strong>de</strong><br />
Inf. para <strong>la</strong><br />
Economía<br />
Digital<br />
Valor<br />
<strong>de</strong>l<br />
Mercado<br />
Índice<br />
<strong>de</strong><br />
Capacida<strong>de</strong>s<br />
Locales<br />
Nacional<br />
5.00 4.20 4.45 5.02 4.69 5.0 4.73<br />
Aguascali<strong>en</strong>tes<br />
7.16 3.44 2.56 7.41 3.07 2.90 4.42<br />
Fig.1 Índices <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> Industria <strong>de</strong> Software Nacionales vs. Estado <strong>de</strong> Aguascali<strong>en</strong>tes<br />
De acuerdo a <strong>la</strong> tab<strong>la</strong> anterior y al “Estudio <strong>de</strong> <strong>la</strong>s Entida<strong>de</strong>s con Programa <strong>de</strong><br />
Desarrollo <strong>de</strong> <strong>la</strong> Industria <strong>de</strong> Software” [5], el estado <strong>de</strong> Aguascali<strong>en</strong>tes cu<strong>en</strong>ta con un<br />
índice <strong>de</strong> capital humano por arriba <strong>de</strong>l nacional gracias al grado <strong>de</strong> esco<strong>la</strong>ridad<br />
promedio <strong>de</strong> 7.9 años, superior al promedio nacional <strong>de</strong> 7.6. Otra <strong>de</strong> <strong>la</strong>s fortalezas <strong>de</strong>l<br />
estado radica <strong>en</strong> que cu<strong>en</strong>ta con un índice <strong>de</strong> <strong>en</strong>torno favorable superior al nacional.<br />
Las fortalezas <strong>de</strong>l estado no logran superar a sus <strong>de</strong>bilida<strong>de</strong>s ello resulta <strong>en</strong> un índice<br />
<strong>de</strong> capacida<strong>de</strong>s locales (4.42) m<strong>en</strong>or al nacional (4.73). Con el fin <strong>de</strong> mitigar esta<br />
problemática se fundo el Cluster <strong>de</strong> Tecnologías <strong>de</strong> Información <strong>en</strong> Aguascali<strong>en</strong>tes el<br />
cual ti<strong>en</strong>e como principal misión fom<strong>en</strong>tar el <strong>de</strong>sarrollo, transfer<strong>en</strong>cia y protección <strong>de</strong><br />
<strong>la</strong>s tecnologías <strong>de</strong> <strong>la</strong> información, buscando <strong>la</strong> apertura <strong>de</strong> mercados g<strong>en</strong>erando<br />
recursos propios. [9].<br />
Hace 2 décadas se empezó a <strong>de</strong>sarrol<strong>la</strong>r <strong>la</strong> industria <strong>de</strong>l software, <strong>la</strong> cual inició como<br />
parte interna <strong>de</strong> los procesos <strong>de</strong> producción (“embed<strong>de</strong>d software”) <strong>en</strong> <strong>la</strong> industria<br />
automotriz o <strong>en</strong> <strong>la</strong> electrónica (Xerox y Texas Instrum<strong>en</strong>ts), lo que origino el<br />
establecimi<strong>en</strong>to <strong>de</strong> pequeños negocios locales <strong>de</strong> software. En esta perspectiva, los<br />
negocios <strong>de</strong> software empezaron a multiplicarse y ello condujo a que el gobierno <strong>de</strong><br />
Aguascali<strong>en</strong>tes <strong>en</strong> el año 2000 <strong>de</strong>cidiera <strong>de</strong>sarrol<strong>la</strong>r un cluster <strong>de</strong> alta tecnología<br />
creándose una Asociación Civil que agrupa a <strong>la</strong>s empresas <strong>de</strong>l cluster <strong>de</strong>l Software el<br />
cual se ha d<strong>en</strong>ominado “Innovatia”, constituido hoy día por 34 empresas, con v<strong>en</strong>tas<br />
alre<strong>de</strong>dor <strong>de</strong> 4.3 millones <strong>de</strong> dó<strong>la</strong>res, a lo anterior se suma el hecho <strong>de</strong> que el gobierno<br />
<strong>de</strong>cidiera crear una institución <strong>de</strong> apoyo tecnológico para apoyar el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s<br />
tecnologías <strong>de</strong> <strong>la</strong> información <strong>en</strong> coordinación con el Consejo <strong>de</strong> Ci<strong>en</strong>cia y Tecnología<br />
<strong>de</strong>l Estado <strong>de</strong> Aguascali<strong>en</strong>tes (CONCYTEA), contraparte local <strong>de</strong>l Consejo Nacional<br />
<strong>de</strong> Ci<strong>en</strong>cia y Tecnología (CONACYT), al cual se le d<strong>en</strong>ominó CEDITI (C<strong>en</strong>tro <strong>de</strong><br />
Desarrollo <strong>de</strong> Tecnologías <strong>de</strong> <strong>la</strong> Información).
3. Diagnostico <strong>de</strong> los núcleos <strong>de</strong> Aguascali<strong>en</strong>tes<br />
El resultado <strong>de</strong>l estudio <strong>de</strong>l cluster <strong>de</strong> tecnologías <strong>de</strong> información <strong>en</strong> Aguascali<strong>en</strong>tes [5]<br />
se muestra <strong>en</strong> <strong>la</strong> figura 2. En esta figura se hace énfasis <strong>en</strong> <strong>la</strong> <strong>la</strong>s fortalezas y<br />
<strong>de</strong>bilida<strong>de</strong>s que se ti<strong>en</strong><strong>en</strong> tanto <strong>en</strong> el ámbito nacional como el estatal, estas se <strong>de</strong>fin<strong>en</strong><br />
por medio <strong>de</strong> <strong>la</strong>s seis variables sigui<strong>en</strong>tes: núcleos <strong>de</strong> capital humano, apr<strong>en</strong>dizaje e<br />
innovación, empresarialidad, <strong>en</strong>torno favorable, infraestructura para <strong>la</strong> economía<br />
digital y valor <strong>de</strong> mercado. Las variables son repres<strong>en</strong>tadas por medio <strong>de</strong> una grafica <strong>de</strong><br />
tres ejes <strong>en</strong> <strong>la</strong> que c<strong>la</strong>ram<strong>en</strong>te se pue<strong>de</strong> observar el comportami<strong>en</strong>to <strong>de</strong> México <strong>en</strong> su<br />
conjunto (color rojo) y el correspondi<strong>en</strong>te al estado <strong>de</strong> Aguascali<strong>en</strong>tes (color azul).<br />
Fig. 2 Fortalezas y <strong>de</strong>bilida<strong>de</strong>s <strong>de</strong>l estado <strong>de</strong> Aguascali<strong>en</strong>tes <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> software.<br />
La figura 2 muestra que <strong>en</strong> el estado <strong>de</strong> Aguascali<strong>en</strong>tes el 8.17% <strong>de</strong> <strong>la</strong> pob<strong>la</strong>ción ti<strong>en</strong>e<br />
instrucción superior y solo el 0.53% ti<strong>en</strong>e maestría o doctorado (índice <strong>de</strong> capital<br />
humano) . La normalización <strong>de</strong> <strong>la</strong>s variables educativas da como resultado un índice <strong>de</strong><br />
capital humano <strong>de</strong> 7.16, mi<strong>en</strong>tras que el índice a nivel nacional es <strong>de</strong> 5, es <strong>de</strong>cir, los<br />
esfuerzos <strong>en</strong> capital humano <strong>en</strong> Aguascali<strong>en</strong>tes han sido mayores que <strong>la</strong> media<br />
nacional. De <strong>la</strong>s 88 instituciones <strong>de</strong> educación superior <strong>de</strong> todo el país que <strong>en</strong> 2002<br />
contaban con postgrados <strong>en</strong> Informática, sólo 2 se ubican <strong>en</strong> Aguascali<strong>en</strong>tes, lo cual<br />
impacta directam<strong>en</strong>te <strong>en</strong> <strong>la</strong> formación <strong>de</strong> capital humano [7].<br />
En cuanto al índice <strong>de</strong> Apr<strong>en</strong>dizaje e Innovación, se pue<strong>de</strong> com<strong>en</strong>tar que los 7,668<br />
investigadores que hay <strong>en</strong> el país, 36 <strong>de</strong> ellos se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong> Aguascali<strong>en</strong>tes; también<br />
2 <strong>de</strong> los 161 c<strong>en</strong>tros <strong>de</strong> investigación que exist<strong>en</strong> <strong>en</strong> el país se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong> este<br />
estado; a<strong>de</strong>más, <strong>de</strong> los 5,771 registros <strong>de</strong> <strong>de</strong>rechos <strong>de</strong> autor <strong>en</strong> programas <strong>de</strong> computo,<br />
108 fueron hechos <strong>en</strong> Aguascali<strong>en</strong>tes, y <strong>de</strong> <strong>la</strong>s 13,791 becas otorgadas por el<br />
CONACYT <strong>en</strong> el 2000, 63 se otorgaron <strong>en</strong> esta <strong>en</strong>tidad. La normalización <strong>de</strong> estos<br />
indicadores permite obt<strong>en</strong>er un índice <strong>de</strong> apr<strong>en</strong>dizaje e innovación <strong>de</strong> 3.44, si<strong>en</strong>do que<br />
el índice a nivel nacional es <strong>de</strong> 4.20, es <strong>de</strong>cir, los esfuerzos <strong>en</strong> apr<strong>en</strong>dizaje e Innovación<br />
no han sido sufici<strong>en</strong>tes.<br />
En lo que concierne al índice <strong>de</strong> empresarialidad, los 2’726,366 establecimi<strong>en</strong>tos no<br />
agríco<strong>la</strong>s que exist<strong>en</strong> <strong>en</strong> el país solo el 1% <strong>de</strong> ellos se ubican <strong>en</strong> esta <strong>en</strong>tidad; y <strong>de</strong> <strong>la</strong>s<br />
539 empresas que lograron <strong>la</strong> certificación ISO-9000 <strong>en</strong> el año 2000, solo 9 <strong>de</strong> el<strong>la</strong>s se<br />
ubican <strong>en</strong> Aguascali<strong>en</strong>tes. En este s<strong>en</strong>tido, al normalizar estas variables, se obti<strong>en</strong>e un<br />
índice <strong>de</strong> empresarialidad <strong>de</strong> 2.56 el cual esta por <strong>de</strong>bajo <strong>de</strong>l índice <strong>de</strong> empresarialidad<br />
a nivel nacional el cual es <strong>de</strong> 4.45.<br />
La variable <strong>de</strong> <strong>en</strong>torno favorable para el <strong>de</strong>sarrollo <strong>de</strong> una economía digital, <strong>en</strong> el<br />
estado <strong>de</strong> Aguascali<strong>en</strong>tes exist<strong>en</strong> 123.8 líneas telefónicas por cada mil habitantes,<br />
a<strong>de</strong>más, el 6.39% <strong>de</strong> los hogares <strong>en</strong> Aguascali<strong>en</strong>tes cu<strong>en</strong>tan con PC e Internet si<strong>en</strong>do
que a nivel nacional el promedio es <strong>de</strong> 6.16%. En cuanto a <strong>la</strong> gestión <strong>de</strong> trámites<br />
empresariales, <strong>en</strong> Aguascali<strong>en</strong>tes se necesitan solo 30 días para abrir un negocio solo<br />
superado por el estado <strong>de</strong> Sinaloa <strong>en</strong> don<strong>de</strong> solo se requier<strong>en</strong> <strong>de</strong> 29 días para abrir un<br />
negocio. En este s<strong>en</strong>tido, el índice <strong>de</strong> <strong>en</strong>torno favorable es <strong>de</strong> 8.27, mi<strong>en</strong>tras que el<br />
índice a nivel nacional es <strong>de</strong> 4.98.<br />
Finalm<strong>en</strong>te <strong>en</strong> cuanto a <strong>la</strong> Infraestructura para <strong>la</strong> Economía Digital, solo el 1.12% <strong>de</strong>l<br />
total <strong>de</strong> alumnos matricu<strong>la</strong>dos <strong>en</strong> <strong>la</strong>s carreras <strong>de</strong> computación y sistemas se <strong>en</strong>cu<strong>en</strong>tran<br />
<strong>en</strong> Aguascali<strong>en</strong>tes, solo 7 <strong>de</strong> <strong>la</strong>s 531 escue<strong>la</strong>s <strong>de</strong> nivel superior se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong> esta<br />
<strong>en</strong>tidad; por otro <strong>la</strong>do, <strong>de</strong>l total <strong>de</strong> activos fijos <strong>en</strong> <strong>la</strong> industria <strong>de</strong> <strong>la</strong>s tecnologías <strong>de</strong> <strong>la</strong><br />
información solo el 0.31% se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> este estado; y <strong>de</strong> <strong>la</strong>s 2,095 empresas <strong>en</strong> <strong>la</strong><br />
Industria <strong>de</strong> <strong>la</strong>s Tecnologías <strong>de</strong> <strong>la</strong> Información solo 29 <strong>de</strong> el<strong>la</strong>s se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong><br />
Aguascali<strong>en</strong>tes. En este s<strong>en</strong>tido, al normalizar estas variables se obti<strong>en</strong>e el Índice <strong>de</strong><br />
Infraestructura para <strong>la</strong> economía digital con valor <strong>de</strong> 3.07, mi<strong>en</strong>tras que el Índice a<br />
nivel nacional es <strong>de</strong> 4.69. El mercado <strong>de</strong> TI <strong>en</strong> el estado <strong>de</strong> Aguascali<strong>en</strong>tes es uno <strong>de</strong><br />
los mercados más pequeños <strong>de</strong>l país su valor fue <strong>en</strong> el 2001 <strong>de</strong> 11.6 millones <strong>de</strong> dó<strong>la</strong>res<br />
que repres<strong>en</strong>ta el .48% <strong>de</strong>l valor <strong>de</strong>l mercado nacional <strong>de</strong> TI. A partir <strong>de</strong> esto, se ti<strong>en</strong>e<br />
que el índice <strong>de</strong> valor <strong>de</strong> mercado es <strong>de</strong> 2.90, muy por <strong>de</strong>bajo <strong>de</strong>l promedio nacional<br />
que es <strong>de</strong> 5<br />
4. Oportunida<strong>de</strong>s para el Estado <strong>de</strong> Aguascali<strong>en</strong>tes<br />
Con el fin <strong>de</strong> hacer fr<strong>en</strong>te a <strong>la</strong>s <strong>de</strong>bilida<strong>de</strong>s (mostrada <strong>en</strong> <strong>la</strong> figura 2) <strong>en</strong> cuanto al<br />
<strong>de</strong>sarrollo <strong>de</strong> software que pres<strong>en</strong>ta el estado <strong>de</strong> Aguascali<strong>en</strong>tes propone aquí ciertas<br />
recom<strong>en</strong>daciones para mejorar a un mediano p<strong>la</strong>zo los índices <strong>de</strong> “Apr<strong>en</strong>dizaje e<br />
Innovación”, “Empresarialidad” y a un <strong>la</strong>rgo p<strong>la</strong>zo <strong>la</strong> mejora <strong>de</strong> los índices <strong>de</strong> <strong>la</strong><br />
“Infraestructura para <strong>la</strong> Economía Digital” y “Valor <strong>de</strong>l mercado. Las recom<strong>en</strong>daciones<br />
que se propon<strong>en</strong> son <strong>la</strong>s sigui<strong>en</strong>tes:<br />
• Fortalecer y promover <strong>la</strong> capacitación especializada <strong>de</strong> los Profesionales<br />
Informáticos ya <strong>en</strong> ejercicio y <strong>de</strong> los que están <strong>en</strong> formación <strong>en</strong> herrami<strong>en</strong>tas<br />
informáticas <strong>de</strong> vanguardia sobre todo <strong>de</strong> aquellos <strong>de</strong> gran <strong>de</strong>manda <strong>en</strong> el mercado<br />
mundial, <strong>en</strong> el uso y aprovechami<strong>en</strong>to <strong>de</strong> <strong>la</strong>s herrami<strong>en</strong>tas Case, y muy<br />
especialm<strong>en</strong>te <strong>en</strong> el Capability -Maturity Mo<strong>de</strong>l (CMM) con objeto <strong>de</strong> ir<br />
g<strong>en</strong>erando una cultura <strong>de</strong> calidad <strong>en</strong> el trabajo y <strong>de</strong> mejora continua <strong>de</strong>l proceso <strong>de</strong><br />
<strong>de</strong>sarrollo <strong>de</strong>l software.<br />
• Proponer a <strong>la</strong>s instancias <strong>de</strong> promoción tecnológica (CONACYT, CONCYTEA,<br />
IEA, SEP <strong>en</strong>tre otros), el otorgami<strong>en</strong>to <strong>de</strong> becas y premios, que inc<strong>en</strong>tiv<strong>en</strong> a <strong>la</strong>s<br />
instituciones educativas a <strong>la</strong> implem<strong>en</strong>tación <strong>de</strong> estas materias como parte<br />
fundam<strong>en</strong>tal <strong>de</strong> sus programas <strong>de</strong> estudios profesionales informáticos.<br />
• Por su parte <strong>la</strong>s principales instituciones <strong>de</strong> educación superior <strong>de</strong> <strong>la</strong> región (v. gr.<br />
Universidad Autónoma <strong>de</strong> Aguascali<strong>en</strong>tes (UAA), Universidad Bonaterra,<br />
Universidad Cuauhtémoc, Universidad Tecnológica (UNITEC), Instituto<br />
Tecnológico <strong>de</strong> Estudios Superiores <strong>de</strong> Monterrey Campus Aguascali<strong>en</strong>tes,<br />
Instituto Tecnológico <strong>de</strong> Aguascali<strong>en</strong>tes) pued<strong>en</strong> consolidar su vinculo con el<br />
medio industrial local a fin <strong>de</strong> po<strong>de</strong>r respon<strong>de</strong>r a <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> <strong>la</strong> <strong>de</strong>manda <strong>de</strong>
<strong>la</strong> sociedad y <strong>de</strong> esta manera g<strong>en</strong>erar una cad<strong>en</strong>a <strong>de</strong> valores con <strong>la</strong> que se t<strong>en</strong>ga una<br />
pres<strong>en</strong>cia competitiva <strong>en</strong> los mercados local, nacional e internacional.<br />
Las medidas anteriores a mediano y <strong>la</strong>rgo p<strong>la</strong>zo (<strong>de</strong> 2 a 6 años) proporcionarían <strong>la</strong> base<br />
necesaria y <strong>la</strong> posibilidad <strong>de</strong> po<strong>de</strong>r promover el <strong>de</strong>sarrollo <strong>de</strong> una “Industria <strong>de</strong><br />
Software” exitosa para el estado ya que <strong>en</strong> este tipo <strong>de</strong> actividad, el Capital Humano y<br />
<strong>la</strong>s capacida<strong>de</strong>s <strong>de</strong> éste es lo más importante, a<strong>de</strong>más <strong>de</strong> que el <strong>en</strong>torno local y <strong>la</strong><br />
cercanía con el mercado mundial más gran<strong>de</strong> son factores favorables adicionales para<br />
su establecimi<strong>en</strong>to. Nuestra propuesta apoyaría el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> industria <strong>de</strong> software<br />
<strong>en</strong> Aguascali<strong>en</strong>tes para competir por <strong>la</strong> maqui<strong>la</strong> <strong>de</strong> proyectos <strong>de</strong> empresas<br />
internacionales muy particu<strong>la</strong>rm<strong>en</strong>te <strong>de</strong> los Estados Unidos <strong>de</strong> Norteamérica,<br />
ofreci<strong>en</strong>do servicios <strong>de</strong> calidad comprobable a través <strong>de</strong> <strong>la</strong> certificación <strong>de</strong> capacida<strong>de</strong>s<br />
y utilización <strong>de</strong> procedimi<strong>en</strong>tos <strong>de</strong> control <strong>de</strong> calidad <strong>de</strong>l producto.<br />
5. Conclusiones<br />
El pres<strong>en</strong>te trabajo hac<strong>en</strong> ver que el estado <strong>de</strong> Aguascali<strong>en</strong>tes cu<strong>en</strong>ta con un fuerte<br />
pot<strong>en</strong>cial para el <strong>de</strong>sarrollo <strong>de</strong> software <strong>en</strong> particu<strong>la</strong>r cu<strong>en</strong>ta con un <strong>en</strong>torno favorable<br />
(con un índice <strong>de</strong> 8.27 sobre un 4.98 <strong>en</strong> el país) y con un importante capital humano<br />
(con un índice <strong>de</strong> 7.16 sobre un 5 <strong>en</strong> el país). Sin duda, es necesario resaltar también <strong>la</strong><br />
necesidad <strong>de</strong> mejorar <strong>en</strong> los aspectos <strong>de</strong> empresarialidad, infraestructura para <strong>la</strong><br />
economía digital y <strong>en</strong> el apr<strong>en</strong>dizaje e innovación <strong>en</strong> los que el estado <strong>de</strong><br />
Aguascali<strong>en</strong>tes ti<strong>en</strong>e índices por <strong>de</strong>bajo <strong>de</strong> los pres<strong>en</strong>tados <strong>en</strong> el país. Una <strong>de</strong> <strong>la</strong>s<br />
posibilida<strong>de</strong>s para solv<strong>en</strong>tar <strong>la</strong>s anteriores <strong>de</strong>bilida<strong>de</strong>s es el apoyo <strong>de</strong>l estado para el<br />
<strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s tecnologías <strong>de</strong> <strong>la</strong> información mediante el C<strong>en</strong>tro <strong>de</strong> Desarrollo <strong>de</strong><br />
Tecnologías <strong>de</strong> <strong>la</strong> Información (CEDITI) [5]. Este aspecto <strong>de</strong> gran relevancia <strong>de</strong>berá<br />
ser vincu<strong>la</strong>do con al aspecto empresarialidad y los ofrecimi<strong>en</strong>tos <strong>de</strong> los tipos <strong>de</strong><br />
conocimi<strong>en</strong>tos por parte <strong>de</strong> <strong>la</strong> aca<strong>de</strong>mia, a fin <strong>de</strong> que pueda ser impulsado el <strong>de</strong>sarrollo<br />
<strong>de</strong> <strong>la</strong> industria <strong>de</strong>l software con características <strong>de</strong> gran calidad<br />
Refer<strong>en</strong>cias<br />
[1] OECD: Organization for Economic Co-Operation and Developm<strong>en</strong>t, Measuring the<br />
Information Economy 2002-2003 pp. 3-94, http://www.oecd.org<br />
[2] Revista “Política Digital” Innovación Gubernam<strong>en</strong>tal, ISSN 1665-1669 Número 16 Abril /<br />
Mayo 2004; pp. IX – XI <strong>de</strong>l Suplem<strong>en</strong>to Especial Rayón. Editor responsable y Director<br />
G<strong>en</strong>eral Andrés Hofmann (andres@politicadigital.info)<br />
[3] Muller, Milton L., Universal Service: Competition, Interconnection and Monopoly in the<br />
Making of the American Telephone System 1997.<br />
[4] Boletín Informativo Aguascali<strong>en</strong>tes, Ags., 6 <strong>de</strong> Marzo <strong>de</strong> 2001, número 028/2001, pp. 2-5.<br />
[5] AMITI, Entida<strong>de</strong>s con Programa <strong>de</strong> Desarrollo <strong>de</strong> <strong>la</strong> Industria <strong>de</strong> Software, pp. 8-9. 2003<br />
http://www.amiti.org.mx<br />
[6] INEGI,”D<strong>en</strong>sidad <strong>de</strong> líneas telefónicas fijas <strong>en</strong> servicio por <strong>en</strong>tidad fe<strong>de</strong>rativa, 1998-2003”,
[7] INEGI,”Escue<strong>la</strong>s con Postgrado <strong>en</strong> Tecnología <strong>de</strong> Información y Comunicaciones por<br />
Entidad Fe<strong>de</strong>rativa 1997/1998-2001/2002”, www.inegi.gob.mx.<br />
[8] Naciones Unidas-Consejo Económico y Social, Informe <strong>de</strong> síntesis sobre los grupos <strong>de</strong> <strong>la</strong><br />
Comisión <strong>de</strong> Ci<strong>en</strong>cia y Tecnología para el Desarrollo, Ginebra Suiza Mayo <strong>de</strong>l 2003.<br />
[9] Gobierno <strong>de</strong>l Estado <strong>de</strong> Aguascali<strong>en</strong>tes, Secretaría <strong>de</strong> Desarrollo Económico,<br />
“Agrupami<strong>en</strong>tos Industriales” , http://www.aguascali<strong>en</strong>tes.gob.mx/se<strong>de</strong>c
Mejora <strong>de</strong> Calidad <strong>de</strong>l Software Desarrol<strong>la</strong>do por<br />
Publisoft <strong>de</strong> Aguascali<strong>en</strong>tes <strong>en</strong> base al CMM<br />
José Guillermo Torres Tovar, Maribel Romo Contreras y Jaime Muñoz Arteaga<br />
Dpto. <strong>de</strong> Sistemas <strong>de</strong> Información <strong>de</strong> <strong>la</strong> Universidad Autónoma <strong>de</strong> Aguascali<strong>en</strong>tes<br />
Av. Universidad # 940, Fraccionami<strong>en</strong>to Bosques<br />
C.P. 20100, Aguascali<strong>en</strong>tes, México<br />
joseguillermotorres@hotmail.com, romo_maribel@hotmail.com,<br />
jmunozar@correo.uaa.mx<br />
Resum<strong>en</strong>. El pres<strong>en</strong>te artículo pret<strong>en</strong><strong>de</strong> analizar el nivel <strong>de</strong> madurez que se<br />
ti<strong>en</strong>e <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> software <strong>en</strong> <strong>la</strong> empresa Publisoft <strong>de</strong> Aguascali<strong>en</strong>tes,<br />
esta empresa pres<strong>en</strong>ta un problema <strong>en</strong> <strong>la</strong> administración <strong>de</strong> recursos materiales<br />
y humanos durante el ciclo <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> sistemas. En el estudio que se<br />
pres<strong>en</strong>ta se propone el uso <strong>de</strong> CMM como herrami<strong>en</strong>ta para analizar el nivel <strong>de</strong><br />
madurez, consi<strong>de</strong>rando particu<strong>la</strong>rm<strong>en</strong>te a <strong>la</strong> empresa Publisoft para <strong>de</strong>terminar<br />
<strong>en</strong> que nivel <strong>de</strong> madurez se sitúa y así po<strong>de</strong>r proponer una serie <strong>de</strong> activida<strong>de</strong>s<br />
que lleve a esta organización a una mejora continua para que <strong>de</strong>sempeñe sus<br />
activida<strong>de</strong>s <strong>de</strong> una manera más correcta y ord<strong>en</strong>ada. Es <strong>de</strong> interés <strong>de</strong> <strong>la</strong> empresa<br />
id<strong>en</strong>tificarse y compararse con un mo<strong>de</strong>lo internacional sobre el <strong>de</strong>sarrollo <strong>de</strong><br />
software, lo cual permitirá id<strong>en</strong>tificar <strong>la</strong>s principales activida<strong>de</strong>s funcionales<br />
para obt<strong>en</strong>er <strong>la</strong> mejora continua y <strong>la</strong> calidad <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> software.<br />
Abstract. The pres<strong>en</strong>t paper tries to analyze the maturity level that the<br />
<strong>de</strong>velopm<strong>en</strong>t of software has in the company Publisoft of Aguascali<strong>en</strong>tes. This<br />
company has a problem in managem<strong>en</strong>t of material and human resources during<br />
the system <strong>de</strong>velopm<strong>en</strong>t cycle. In the study that appears sets out the use of CMM<br />
like a tool to analyze the maturity level, consi<strong>de</strong>ring particu<strong>la</strong>rly to the Publisoft<br />
company to <strong>de</strong>termine what the maturity level is and propose a series of<br />
activities that takes this organization to a continuous improvem<strong>en</strong>t to do the<br />
activities in the correct way and form. The company tries to id<strong>en</strong>tify itselfs and<br />
to compare itselfs with an international mo<strong>de</strong>l on the <strong>de</strong>velopm<strong>en</strong>t of software,<br />
which will allow to id<strong>en</strong>tify the main functional activities to obtain the<br />
continuous improvem<strong>en</strong>t and quality in the <strong>de</strong>velopm<strong>en</strong>t of software.<br />
1 Introducción<br />
En los últimos años <strong>la</strong> industria mundial <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> software se ha preocupado<br />
por mejorar sus capacida<strong>de</strong>s <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> software <strong>de</strong> calidad. El Mo<strong>de</strong>lo <strong>de</strong><br />
Capacidad <strong>de</strong> Madurez (CMM) [1] es un mo<strong>de</strong>lo reconocido para <strong>la</strong> calidad <strong>de</strong>l<br />
<strong>de</strong>sarrollo <strong>de</strong> Software. Las empresas hac<strong>en</strong> esfuerzos para imp<strong>la</strong>ntar estos mo<strong>de</strong>los y<br />
lograr <strong>la</strong> certificación o evaluación <strong>en</strong> alguno <strong>de</strong> ellos con el objetivo <strong>de</strong> obt<strong>en</strong>er<br />
v<strong>en</strong>tajas competitivas.
D<strong>en</strong>tro <strong>de</strong> los últimos cinco años <strong>la</strong>s gran<strong>de</strong>s corporaciones internacionales como<br />
Motoro<strong>la</strong>, IBM y Volkswag<strong>en</strong> han introducido estas i<strong>de</strong>as <strong>en</strong> México y <strong>la</strong>s han<br />
implem<strong>en</strong>tado <strong>en</strong> sus filiales <strong>en</strong> nuestro país. Esta situación ha <strong>de</strong>spertado <strong>la</strong> inquietud<br />
y el interés <strong>de</strong> otras empresas mexicanas por mejorar sus propios procesos <strong>de</strong><br />
<strong>de</strong>sarrollo y no quedarse fuera <strong>de</strong>l mercado.<br />
En <strong>la</strong> pres<strong>en</strong>te investigación se analiza <strong>la</strong> empresa Publisoft <strong>de</strong> Aguascali<strong>en</strong>tes, esta<br />
empresa se <strong>de</strong>dica al <strong>de</strong>sarrollo <strong>de</strong> software <strong>de</strong> escritorio, así como al diseño <strong>de</strong><br />
páginas web, portales, etc. Actualm<strong>en</strong>te cu<strong>en</strong>ta con una metodología <strong>de</strong><br />
administración <strong>de</strong> recursos humanos y materiales, sin embargo, esta empresa muestra<br />
<strong>de</strong>fici<strong>en</strong>cias <strong>en</strong> <strong>la</strong> coordinación <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> proyectos. Se <strong>de</strong>terminó que <strong>la</strong><br />
metodología a seguir sea CMM, ya que ésta le permitirá conocer su nivel <strong>de</strong> calidad<br />
<strong>de</strong> software.<br />
D<strong>en</strong>tro <strong>de</strong> <strong>la</strong> metodología <strong>de</strong> CMM po<strong>de</strong>mos <strong>en</strong>contrar 5 niveles, <strong>de</strong> los cuales <strong>la</strong><br />
tarea <strong>de</strong> esta investigación es id<strong>en</strong>tificar a través <strong>de</strong> una serie <strong>de</strong> puntos que se <strong>de</strong>b<strong>en</strong><br />
cumplir <strong>en</strong> cada uno <strong>de</strong> ellos, si alcanza a cubrir el nivel 2, que es nivel que <strong>en</strong> este<br />
mom<strong>en</strong>to quiere alcanzar <strong>la</strong> empresa; lo cual servirá como base <strong>de</strong> comparación<br />
cuando se lleve a cabo el estudio, los niveles son: Caos(1er nivel), Repetible(2do<br />
nivel), Definido(3er nivel), Medible(4º nivel), Mejora continua(5º nivel). [2]<br />
2 Problemática<br />
En México a pesar <strong>de</strong> que muy pocas empresas <strong>de</strong> software están certificadas con<br />
alguna norma reconocida <strong>de</strong> Ing<strong>en</strong>iería <strong>de</strong> Software, se está dando a conocer el interés<br />
que está surgi<strong>en</strong>do año con año por lograr t<strong>en</strong>er un reconocimi<strong>en</strong>to <strong>de</strong> <strong>la</strong> calidad con<br />
que llevan acabo sus activida<strong>de</strong>s, así como <strong>de</strong>l uso <strong>de</strong> herrami<strong>en</strong>tas que apoyan a <strong>la</strong><br />
administración <strong>de</strong> recursos. [5]<br />
A<strong>de</strong>más México es consi<strong>de</strong>rado a nivel mundial como un posible competidor fuerte<br />
d<strong>en</strong>tro <strong>de</strong> <strong>la</strong> industria <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> software [4], por todas <strong>la</strong>s características que<br />
ro<strong>de</strong>an al país (ubicación privilegiada, costos competitivos, cultura empresarial<br />
simi<strong>la</strong>r a <strong>la</strong> <strong>de</strong> EUA) [6]. Es por este interés que se realizó un estudio d<strong>en</strong>tro <strong>de</strong> está<br />
empresa, para <strong>la</strong> búsqueda <strong>de</strong> posibles elem<strong>en</strong>tos que estén <strong>de</strong>t<strong>en</strong>i<strong>en</strong>do el pl<strong>en</strong>o<br />
<strong>de</strong>sarrollo <strong>de</strong> productos con calidad y con pl<strong>en</strong>a adaptación a <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong>l<br />
cli<strong>en</strong>te.<br />
Los problemas con los que actualm<strong>en</strong>te se <strong>en</strong>fr<strong>en</strong>ta <strong>la</strong> empresa son <strong>en</strong> primer lugar<br />
que al no llevar una metodología global para el <strong>de</strong>sarrollo <strong>de</strong> sistemas, se pued<strong>en</strong> ir<br />
pres<strong>en</strong>tando algunos sucesos inesperados para lo cual no se esta preparado, como por<br />
ejemplo, que durante el <strong>de</strong>sarrollo <strong>de</strong>l software el tiempo que se t<strong>en</strong>ía contemp<strong>la</strong>do<br />
para el termino <strong>de</strong>l mismo va si<strong>en</strong>do diferido, ya que es muy común que el cli<strong>en</strong>te<br />
solicite cambios d<strong>en</strong>tro <strong>de</strong> los requerimi<strong>en</strong>tos <strong>de</strong>l sistema, lo cual <strong>de</strong>sestabiliza al<br />
equipo <strong>en</strong>cargado <strong>de</strong> ese proyecto.<br />
En segundo lugar, es que al aum<strong>en</strong>tar el número <strong>de</strong> recursos utilizados <strong>en</strong> el<br />
<strong>de</strong>sarrollo <strong>de</strong>l mismo, aum<strong>en</strong>ta su costo, el cual no siempre pue<strong>de</strong> ser cargado al<br />
cli<strong>en</strong>te que esta solicitando esos cambios, por lo que <strong>la</strong> empresa pier<strong>de</strong> parte <strong>de</strong> sus<br />
utilida<strong>de</strong>s, repercuti<strong>en</strong>do completam<strong>en</strong>te <strong>en</strong> sus activida<strong>de</strong>s internas.
3 Caso <strong>de</strong> Estudio<br />
En el pres<strong>en</strong>te caso <strong>de</strong> estudio se investigó <strong>de</strong> manera externa a <strong>la</strong> empresa Publisoft<br />
<strong>de</strong> Aguascali<strong>en</strong>tes, ya que es <strong>de</strong> su interés conocer su nivel <strong>de</strong> calidad <strong>de</strong> software,<br />
utilizando <strong>la</strong> metodología <strong>de</strong> CMM se <strong>de</strong>terminarán los puntos importantes que se<br />
<strong>de</strong>b<strong>en</strong> <strong>de</strong> cumplir d<strong>en</strong>tro <strong>de</strong> <strong>la</strong>s áreas c<strong>la</strong>ves <strong>de</strong> procesos (KPA’s) <strong>de</strong>l Nivel 2<br />
(asegurami<strong>en</strong>tos <strong>de</strong> calidad, admón.. <strong>de</strong> subcontratistas, admón.. <strong>de</strong> <strong>la</strong> configuración,<br />
seguimi<strong>en</strong>to al proyecto, p<strong>la</strong>neación <strong>de</strong>l proyecto, administración <strong>de</strong> requerimi<strong>en</strong>tos)<br />
para <strong>de</strong>terminar si se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> que nivel 2 <strong>de</strong> CMM y así id<strong>en</strong>tificar que acciones<br />
<strong>de</strong>b<strong>en</strong> <strong>de</strong> corregirse y/o mejorarse para llevar acabo una organización correcta y<br />
ord<strong>en</strong>ada <strong>de</strong> sus activida<strong>de</strong>s y procesos que se llevan hasta el mom<strong>en</strong>to.<br />
Se hizo una revisión <strong>de</strong> todas <strong>la</strong>s herrami<strong>en</strong>tas que se utilizan para llevar acabo <strong>la</strong><br />
administración <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> sistemas, d<strong>en</strong>tro <strong>de</strong> los cuales <strong>la</strong> compañía cu<strong>en</strong>ta con<br />
un sistema computacional <strong>en</strong> <strong>la</strong> que se almac<strong>en</strong>a toda <strong>la</strong> información <strong>de</strong>l software,<br />
como por ejemplo: datos <strong>de</strong>l sistema (nombre, fecha <strong>de</strong> inicio, nombre <strong>de</strong>l cli<strong>en</strong>te,<br />
costo) y datos <strong>de</strong> recursos humanos (nombre, puesto, activida<strong>de</strong>s, proyectos <strong>en</strong> los<br />
que participo, perfil y habilida<strong>de</strong>s).<br />
Para pres<strong>en</strong>tar los resultados <strong>de</strong> <strong>la</strong> experim<strong>en</strong>tación que se llevó acabo mediante <strong>la</strong><br />
revisión <strong>de</strong> <strong>la</strong>s herrami<strong>en</strong>tas antes m<strong>en</strong>cionadas, se irán pres<strong>en</strong>tando <strong>la</strong>s áreas c<strong>la</strong>ves<br />
<strong>de</strong> procesos (KPA’s) <strong>de</strong>l Nivel 2 que se estarán estudiando, así como <strong>la</strong> id<strong>en</strong>tificación<br />
<strong>de</strong>l cubrimi<strong>en</strong>to <strong>de</strong> <strong>la</strong>s mismas.<br />
Los resultados son los sigui<strong>en</strong>tes:<br />
Con lo que respecta al nivel 1 (Inicial) <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> CMM, se sabe que no se<br />
requiere llevar un proceso <strong>de</strong>finido, por lo que todas <strong>la</strong>s empresas que inician con su<br />
evaluación toman esta posición, sin t<strong>en</strong>er que cumplir ningún objetivo o métrica; por<br />
lo que <strong>la</strong> empresa Publisoft inicialm<strong>en</strong>te toma este nivel.<br />
Con lo que respecta al nivel 2 (Repetido) <strong>de</strong>l mo<strong>de</strong>lo CMM, <strong>la</strong>s áreas c<strong>la</strong>ves <strong>de</strong><br />
proceso (KPA’s) a cubrir son <strong>la</strong>s sigui<strong>en</strong>tes:<br />
En <strong>la</strong> primera área c<strong>la</strong>ve <strong>de</strong> proceso que es <strong>la</strong> Administración <strong>de</strong> Requerimi<strong>en</strong>tos<br />
(RM), se <strong>de</strong>terminó que no se cumple completam<strong>en</strong>te con el mismo, <strong>de</strong>bido a que al<br />
establecer un <strong>en</strong>t<strong>en</strong>dimi<strong>en</strong>to común con el cli<strong>en</strong>te sólo queda estipu<strong>la</strong>do los<br />
requerimi<strong>en</strong>tos iniciales <strong>de</strong>l proyecto <strong>de</strong> software, sin contro<strong>la</strong>r el aum<strong>en</strong>to o<br />
disminución <strong>de</strong> los mismos durante el <strong>de</strong>sarrollo <strong>de</strong>l proyecto, lo que nos conlleva a<br />
t<strong>en</strong>er dificulta<strong>de</strong>s <strong>de</strong> mant<strong>en</strong>er los p<strong>la</strong>nes, productos y activida<strong>de</strong>s integrados <strong>en</strong><br />
dichos requerimi<strong>en</strong>tos.<br />
Con lo que respecta a <strong>la</strong> segunda área c<strong>la</strong>ve <strong>de</strong> proceso d<strong>en</strong>ominada P<strong>la</strong>neación <strong>de</strong>l<br />
Proyecto (SPP), el cual cubre el establecimi<strong>en</strong>to <strong>de</strong> p<strong>la</strong>nes y <strong>la</strong> administración <strong>de</strong>l<br />
proyecto, <strong>la</strong> empresa lo lleva acabo a través <strong>de</strong> un software propio, el cual <strong>de</strong>termina<br />
tiempos, costos, asignación <strong>de</strong> recursos humanos y materiales, así como el estatus y<br />
avance <strong>de</strong>l proyecto, lo que nos permite id<strong>en</strong>tificar que <strong>la</strong> empresa cumple<br />
completam<strong>en</strong>te con este punto.<br />
De acuerdo a <strong>la</strong> tercera área c<strong>la</strong>ve <strong>de</strong> proceso conocida como Seguimi<strong>en</strong>to al<br />
Proyecto (SPTO), <strong>la</strong> cual ti<strong>en</strong>e como propósito el garantizar <strong>la</strong> visibilidad a<strong>de</strong>cuada<br />
<strong>de</strong>l progreso real <strong>de</strong>l proyecto. Para efectuar el seguimi<strong>en</strong>to <strong>de</strong> los resultados y <strong>la</strong><br />
ejecución <strong>de</strong>l proyecto <strong>la</strong> empresa ya cu<strong>en</strong>ta con una metodología <strong>de</strong> trabajo propia
que consta <strong>de</strong> <strong>la</strong>s sigui<strong>en</strong>tes fases: Fase 1.- Acopio <strong>de</strong> información, fase 2.- Propuesta<br />
<strong>de</strong> diseño, fase 3.- Desarrollo <strong>de</strong> prototipo, fase 4.- Pruebas <strong>de</strong> aprobación y<br />
<strong>la</strong>nzami<strong>en</strong>to.<br />
A<strong>de</strong>más <strong>de</strong> que el software que maneja <strong>la</strong> empresa abarca el control tanto <strong>de</strong> los<br />
costos, así como <strong>de</strong> los tiempos <strong>en</strong> los que se va <strong>de</strong>sarrol<strong>la</strong>ndo el proyecto <strong>de</strong> software<br />
(Gráfica <strong>de</strong> Gant). También nos permite visualizar que recursos se están utilizando<br />
actualm<strong>en</strong>te y cuando se van a liberar, lo que nos ayuda a <strong>de</strong>terminar si se podrá<br />
contar con los recursos necesarios para el <strong>de</strong>sarrollo <strong>de</strong> un nuevo software.<br />
Por todas estas herrami<strong>en</strong>tas que utiliza <strong>la</strong> empresa se <strong>de</strong>terminó que cumple con<br />
esta área, ya que si lleva acabo un seguimi<strong>en</strong>to a<strong>de</strong>cuado <strong>de</strong> sus proyectos.<br />
Con lo que respecta a <strong>la</strong> cuarta área c<strong>la</strong>ve <strong>de</strong> proceso l<strong>la</strong>mada Administración <strong>de</strong><br />
Subcontratistas (SSM), esta no se lleva acabo, ya que no se subcontrata a ningún<br />
ag<strong>en</strong>te externo, ya que cuando surge <strong>la</strong> necesidad <strong>de</strong> iniciar un nuevo proyecto se<br />
evalúa si <strong>la</strong> empresa cu<strong>en</strong>ta con los conocimi<strong>en</strong>tos técnicos y capacidad <strong>de</strong> <strong>de</strong>sarrollo.<br />
La quinta área c<strong>la</strong>ve <strong>de</strong> proceso conocida como Asegurami<strong>en</strong>to <strong>de</strong> <strong>la</strong> Calidad <strong>de</strong><br />
Software (SQA), <strong>la</strong> empresa para medir su calidad lleva acabo varios tipos <strong>de</strong><br />
pruebas: alfa (son pruebas que se realizan al producto final antes <strong>de</strong> salir al mercado,<br />
es <strong>de</strong>cir, d<strong>en</strong>tro <strong>de</strong> <strong>la</strong> misma empresa y <strong>en</strong> un ambi<strong>en</strong>te contro<strong>la</strong>do) y beta (son<br />
pruebas que se realizan a un producto final ya d<strong>en</strong>tro <strong>de</strong>l mercado, pero <strong>de</strong>jando <strong>en</strong><br />
c<strong>la</strong>ro que es una prueba y que pue<strong>de</strong> cont<strong>en</strong>er algún error), <strong>la</strong>s cuales se llevan acabo<br />
antes <strong>de</strong>l <strong>la</strong>nzami<strong>en</strong>to final, lo que le permite disminuir el riesgo <strong>de</strong> una ma<strong>la</strong><br />
funcionalidad d<strong>en</strong>tro <strong>de</strong>l mercado, lo cual inyecta calidad a nuestros productos.<br />
Sin embargo, no se lleva acabo una a<strong>de</strong>cuada difusión a <strong>la</strong>s personas y grupos<br />
involucrados sobre <strong>la</strong>s activida<strong>de</strong>s y resultados <strong>de</strong> asegurami<strong>en</strong>to <strong>de</strong> <strong>la</strong> calidad, por lo<br />
que esta área es cubierta parcialm<strong>en</strong>te.<br />
Por último <strong>la</strong> sexta área c<strong>la</strong>ve <strong>de</strong> proceso l<strong>la</strong>mada Administración <strong>de</strong> <strong>la</strong><br />
Configuración (SCM), su propósito es establecer y mant<strong>en</strong>er <strong>la</strong> integridad <strong>de</strong> los<br />
productos <strong>de</strong> software g<strong>en</strong>erados a los <strong>la</strong>rgo <strong>de</strong>l ciclo <strong>de</strong> vida <strong>de</strong>l proyecto. De este<br />
punto se <strong>de</strong>tectó que no llego a cumplirse por completo, ya que actualm<strong>en</strong>te no se<br />
cu<strong>en</strong>ta con una metodología <strong>de</strong> trabajo bi<strong>en</strong> <strong>de</strong>finida para el software (web y<br />
aplicaciones <strong>de</strong> escritorio) que principalm<strong>en</strong>te se <strong>de</strong>sarrol<strong>la</strong> <strong>en</strong> <strong>la</strong> empresa. Es <strong>de</strong>cir,<br />
por una parte si se conoce y se usa metodologías para <strong>de</strong>sarrol<strong>la</strong>r software, y se ti<strong>en</strong>e<br />
un sistema que ayuda a <strong>la</strong> gestión <strong>de</strong> proyectos, pero no se ti<strong>en</strong>e una metodología<br />
global que permita una completa integración <strong>en</strong>tre ambas partes. Esto conlleva a que<br />
no hay un control absoluto sobre los requerimi<strong>en</strong>tos y <strong>la</strong> carga <strong>de</strong> trabajo sobre cada<br />
uno <strong>de</strong> los proyectos que <strong>la</strong> empresa va <strong>de</strong>sarrol<strong>la</strong>ndo, y <strong>de</strong>safortunadam<strong>en</strong>te <strong>la</strong>s<br />
necesida<strong>de</strong>s <strong>de</strong>l cli<strong>en</strong>te aum<strong>en</strong>tan a medida que el proyecto avanza, lo que repres<strong>en</strong>ta<br />
el principal problema <strong>de</strong> <strong>la</strong> empresa.<br />
4 Estrategias Para Lograr el Nivel 2 <strong>de</strong>l CMM<br />
La posible solución <strong>de</strong>spués <strong>de</strong>l análisis <strong>de</strong>l nivel 2 <strong>de</strong> <strong>la</strong> metodología <strong>de</strong> CMM, que<br />
es el nivel no alcanzado por <strong>la</strong> empresa, se <strong>de</strong>terminó que es muy difícil medir el<br />
grado <strong>en</strong> que pue<strong>de</strong> crecer un proyecto o el aum<strong>en</strong>to <strong>de</strong> <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong>l cli<strong>en</strong>te
durante el <strong>de</strong>sarrollo <strong>de</strong>l software, por lo que creemos que <strong>la</strong> mejor solución es<br />
<strong>de</strong>terminar límites <strong>en</strong> cuanto a los cambios que se le pued<strong>en</strong> hacer al producto. Para lo<br />
cual se seguirían los sigui<strong>en</strong>tes pasos:<br />
Al hacer contrato <strong>de</strong> inicio <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> software, <strong>de</strong>terminar todos los<br />
elem<strong>en</strong>tos que va y no va a cubrir, es <strong>de</strong>cir, redactar c<strong>la</strong>ram<strong>en</strong>te los elem<strong>en</strong>tos <strong>en</strong> los<br />
que va a constar el software.<br />
El contrato también <strong>de</strong>be cont<strong>en</strong>er ya sea el número <strong>de</strong> especificaciones que se<br />
pued<strong>en</strong> cambiar o un cierto porc<strong>en</strong>taje <strong>de</strong> cambio, esto <strong>de</strong>p<strong>en</strong>di<strong>en</strong>do <strong>de</strong> lo que mejor<br />
se adapte a <strong>la</strong> cantidad y tipo <strong>de</strong> especificaciones <strong>de</strong> cada software.<br />
Se <strong>de</strong>be <strong>de</strong>terminar el tiempo y el número <strong>de</strong> recursos tomando <strong>en</strong> cu<strong>en</strong>ta no sólo<br />
<strong>la</strong>s especificaciones que se hicieron <strong>en</strong> el contrato, sino también a lo que se <strong>de</strong>terminó<br />
como monto <strong>de</strong> posible cambio. En caso <strong>de</strong> superar éste se seguirá el sigui<strong>en</strong>te paso:<br />
Se da por terminado el contrato con lo que ya estaba especificado y se abre otro<br />
contrato regresando al paso número uno.<br />
Con lo que respecta a los <strong>de</strong>más niveles <strong>de</strong> esta metodología no se tomarán <strong>en</strong><br />
cu<strong>en</strong>ta para este caso, ya que <strong>la</strong> inquietud <strong>de</strong> <strong>la</strong> empresa, al m<strong>en</strong>os <strong>en</strong> este mom<strong>en</strong>to,<br />
es alcanzar el nivel 2 <strong>de</strong> CMM.<br />
Fig. 1. Mo<strong>de</strong>lo para <strong>la</strong> mejora <strong>de</strong> calidad <strong>de</strong> software.
Para <strong>la</strong> aplicación <strong>de</strong> <strong>la</strong>s estrategias seña<strong>la</strong>das anteriorm<strong>en</strong>te se propone el sigui<strong>en</strong>te<br />
diagrama conceptual (figura 1) que muestra el proceso administrativo que cumple <strong>la</strong><br />
empresa Publisoft para llevar acabo el <strong>de</strong>sarrollo <strong>de</strong> sus productos <strong>de</strong> software <strong>en</strong><br />
unión con los procesos que se le anexaran para el cumplimi<strong>en</strong>to <strong>de</strong> los requisitos <strong>de</strong>l<br />
nivel 2 <strong>de</strong> CMM; todas aquel<strong>la</strong>s activida<strong>de</strong>s que no están subrayadas son <strong>la</strong>s que<br />
fueron tomadas <strong>de</strong> cada una <strong>de</strong> <strong>la</strong>s fases <strong>de</strong> <strong>la</strong> metodología <strong>de</strong> trabajo <strong>de</strong> Publisoft<br />
(obsérvese <strong>en</strong> el caso <strong>de</strong> estudio), y <strong>la</strong>s activida<strong>de</strong>s que están subrayadas son <strong>la</strong>s que<br />
esta investigación sugiere para alcanzar y completar el nivel 2 <strong>de</strong> CMM, <strong>la</strong>s cuales se<br />
observan <strong>en</strong> <strong>la</strong> Fig.1 y se explican a continuación:<br />
D<strong>en</strong>tro <strong>de</strong> <strong>la</strong> fase <strong>de</strong> Recepción <strong>de</strong> información, <strong>la</strong>s activida<strong>de</strong>s son <strong>la</strong>s sigui<strong>en</strong>tes:<br />
(1) Determinación <strong>de</strong>l porc<strong>en</strong>taje <strong>de</strong> cambio que soportará el proyecto: antes <strong>de</strong><br />
firmar el contrato se <strong>de</strong>be estipu<strong>la</strong>r el porc<strong>en</strong>taje <strong>de</strong> cambio que pue<strong>de</strong> llegar a<br />
modificarse el sistema; esto ayuda a <strong>la</strong> empresa a resolver el problema respecto a que<br />
el cli<strong>en</strong>te no sobrepase un número consi<strong>de</strong>rado <strong>de</strong> cambios sobre su respectivo<br />
software.<br />
(2) Realización <strong>de</strong> contrato: quedando <strong>de</strong>terminadas cada una <strong>de</strong> <strong>la</strong>s estipu<strong>la</strong>ciones,<br />
así como otros factores (tiempo, costo y porc<strong>en</strong>taje <strong>de</strong> cambio), se realiza el cierre <strong>de</strong><br />
contrato; esto <strong>de</strong>ja estipu<strong>la</strong>do por escrito toda <strong>la</strong> información requerida por el sistema,<br />
a<strong>de</strong>más <strong>de</strong> un dato muy importante como lo es el grado <strong>de</strong> cambio, lo que nos evitará<br />
posibles problemas con el cli<strong>en</strong>te.<br />
D<strong>en</strong>tro <strong>de</strong> <strong>la</strong> fase <strong>de</strong> diseño:<br />
(3) Reestructuración <strong>de</strong>l diseño original: d<strong>en</strong>tro <strong>de</strong> esta actividad se realizarán todos<br />
los posibles cambios d<strong>en</strong>tro <strong>de</strong>l diseño, es <strong>de</strong>cir, cambios (tamaño, colores, formas,<br />
tipografías, etc.) sobre pantal<strong>la</strong>s. Esta actividad se <strong>de</strong>be hacer d<strong>en</strong>tro <strong>de</strong> esta fase, ya<br />
que esto nos resolverá que se haga un cambio hasta el mom<strong>en</strong>to <strong>de</strong> hacer <strong>la</strong>s pruebas<br />
finales, lo que nos haría retroce<strong>de</strong>r <strong>de</strong>masiado <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong>l sistema hasta <strong>la</strong><br />
fase <strong>de</strong> diseño, causando gran pérdida <strong>de</strong> tiempo y <strong>de</strong>sgaste <strong>de</strong> recursos.<br />
(4) Diseño terminado y aprobado: se proce<strong>de</strong>rá a <strong>la</strong> realización <strong>de</strong> un docum<strong>en</strong>to<br />
para <strong>la</strong> aprobación que será firmando por ambas partes.<br />
D<strong>en</strong>tro <strong>de</strong> <strong>la</strong> Fase <strong>de</strong> Pruebas <strong>de</strong> aprobación y <strong>la</strong>nzami<strong>en</strong>to:<br />
(5) Determinación <strong>de</strong> posibles cambios <strong>de</strong>l sistema (sólo si se requiere): al<br />
mom<strong>en</strong>to <strong>de</strong> hacer <strong>la</strong>s pruebas directam<strong>en</strong>te con el cli<strong>en</strong>te, se <strong>de</strong>terminarán <strong>la</strong>s<br />
posibles modificaciones al sistema, <strong>de</strong>terminando si el grado <strong>de</strong> cambio lo alcanza a<br />
cubrir o no.<br />
(6) Determinación <strong>de</strong> un nuevo contrato: <strong>en</strong> caso <strong>de</strong> que <strong>la</strong>s modificaciones<br />
sobrepas<strong>en</strong> el porc<strong>en</strong>taje que se había <strong>de</strong>terminado, se <strong>de</strong>cidirá si se hace un nuevo<br />
contrato para cubrir <strong>la</strong> parte <strong>de</strong> <strong>la</strong>s modificaciones que no fueron cubiertas por el<br />
anterior.<br />
Este diagrama se propone para empresas que se <strong>de</strong>diqu<strong>en</strong> al <strong>de</strong>sarrollo <strong>de</strong> software<br />
ya que es muy posible que sigui<strong>en</strong>do <strong>la</strong>s activida<strong>de</strong>s propuestas <strong>en</strong> el diagrama<br />
consigan obt<strong>en</strong>er el nivel 2 <strong>de</strong> CMM.
5 Conclusiones<br />
En este trabajo se <strong>de</strong>tecto que <strong>la</strong> empresa Publisoft <strong>de</strong> Aguascali<strong>en</strong>tes pue<strong>de</strong> alcanzar<br />
el nivel 2 (repetible) <strong>de</strong>l esquema <strong>de</strong> CMM, <strong>de</strong>bido a que <strong>la</strong> actividad no alcanzada <strong>de</strong><br />
seguir los estándares <strong>de</strong>l proyecto y contro<strong>la</strong>r los requerimi<strong>en</strong>tos y productos <strong>de</strong><br />
trabajo, sólo es cuestión <strong>de</strong> una mejor administración <strong>de</strong> los recursos humanos y <strong>de</strong><br />
una mejor p<strong>la</strong>neación <strong>de</strong> tiempo, tomando <strong>en</strong> cu<strong>en</strong>ta posibles alteraciones que pue<strong>de</strong><br />
sufrir el sistema. Del problema <strong>en</strong> <strong>la</strong> administración <strong>de</strong> recursos materiales y<br />
humanos, se pue<strong>de</strong> <strong>de</strong>terminar con un alto nivel <strong>de</strong> confianza, que <strong>la</strong> empresa logrará<br />
una metodología global que integre tanto al área <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> software (software<br />
<strong>de</strong> escritorio y páginas web), así como los recursos necesarios y <strong>la</strong> forma <strong>de</strong> trabajar<br />
con los cli<strong>en</strong>tes. Lo que busca <strong>la</strong> organización es una perfecta armonía para po<strong>de</strong>r<br />
solucionar los problemas <strong>de</strong> sus cli<strong>en</strong>tes a través <strong>de</strong> un software <strong>de</strong> calidad y una<br />
correcta administración <strong>de</strong> sus áreas funcionales, quedando esta solución p<strong>en</strong>di<strong>en</strong>te <strong>de</strong><br />
llevarse acabo d<strong>en</strong>tro <strong>de</strong> <strong>la</strong> empresa.<br />
Para po<strong>de</strong>r observar los resultados <strong>de</strong> <strong>la</strong> obt<strong>en</strong>ción <strong>de</strong>l nivel 2 <strong>de</strong> CMM, se realizará<br />
un futuro estudio, cubri<strong>en</strong>do todos los puntos positivos y negativos que obtuvo <strong>la</strong><br />
empresa <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> sus sistemas al imp<strong>la</strong>ntar <strong>la</strong>s estrategias propuestas.<br />
Refer<strong>en</strong>cias<br />
1. Kim Caputo, CMM Implem<strong>en</strong>tation Gui<strong>de</strong>, Addison Wesley (1997).<br />
2. The Capability Maturity Mo<strong>de</strong>l, Guidlines for Improving the Software Process, SEI Series in<br />
Software Engineering, Addison Wesley (1995).<br />
3. Capability Maturity Mo<strong>de</strong>l Integration CMMI, V1.1, Software Engineering Institute,<br />
Carnegie Mellon, (2002), www.sei.cmu.edu, (2004).<br />
4. H. Oktaba. y G. Ibargü<strong>en</strong>goitia González, Software processes Mo<strong>de</strong>led with Objects: Static<br />
View, <strong>Computación</strong> y Sistemas, Iberoamerican Journal of Computer Sci<strong>en</strong>ce, CIC-IPN,<br />
México, 1, 4, p.228-238 ,(1998).<br />
5. Michael Cimet, Administración y Desarrollo <strong>de</strong> Aplicaciones, Experi<strong>en</strong>cia y Lecciones<br />
Apr<strong>en</strong>didas <strong>en</strong> EDS <strong>de</strong> México, (2001)<br />
6. Desarrollo <strong>de</strong> software, una oportunidad para México, amiti.org.mx, (2004).
terecervantes@prodigy.net.mx y jmunozar@correo.uaa.mx
terecervantes@prodigy.net.mx y jmunozar@correo.uaa.mx
terecervantes@prodigy.net.mx y jmunozar@correo.uaa.mx
terecervantes@prodigy.net.mx y jmunozar@correo.uaa.mx
terecervantes@prodigy.net.mx y jmunozar@correo.uaa.mx
terecervantes@prodigy.net.mx y jmunozar@correo.uaa.mx
terecervantes@prodigy.net.mx y jmunozar@correo.uaa.mx
terecervantes@prodigy.net.mx y jmunozar@correo.uaa.mx
Las Revisiones Técnicas Formales <strong>de</strong> los requerimi<strong>en</strong>tos y<br />
el análisis utilizando Áncora y el Proceso Unificado <strong>de</strong><br />
Desarrollo <strong>de</strong> Software<br />
Juan Manuel Fernán<strong>de</strong>z Peña 1 , María <strong>de</strong> Lour<strong>de</strong>s Hernán<strong>de</strong>z Rodríguez 2 , María <strong>de</strong> los<br />
Ángeles Sumano López 1<br />
1 Especialización <strong>en</strong> Ing<strong>en</strong>iería <strong>de</strong> Software, Universidad Veracruzana, Av. Xa<strong>la</strong>pa s/n,<br />
2 LANIA, Av. Rebsam<strong>en</strong> # 80, Xa<strong>la</strong>pa, Veracruz<br />
{jfernand@uv.mx, mhernand@<strong>la</strong>nia.mx, asumano@uv.mx}<br />
Resum<strong>en</strong><br />
El Proceso Unificado <strong>de</strong> Desarrollo <strong>de</strong> Software involucra una serie <strong>de</strong> hitos <strong>en</strong> cada iteración y<br />
cada fase, mismos que <strong>de</strong>b<strong>en</strong> ser valorados antes <strong>de</strong> continuar con <strong>la</strong>s sigui<strong>en</strong>tes iteraciones y <strong>la</strong>s<br />
difer<strong>en</strong>tes fases. Por su parte Áncora ti<strong>en</strong>e varias etapas <strong>en</strong> <strong>la</strong>s que se crean difer<strong>en</strong>tes hitos. La<br />
forma <strong>de</strong> evaluar el cont<strong>en</strong>ido <strong>de</strong> estos hitos es mediante el análisis <strong>de</strong> difer<strong>en</strong>tes artefactos<br />
involucrados. El cómo, cuándo y qué revisar es el tema <strong>de</strong> este escrito. Las Revisiones <strong>de</strong><br />
Avance y Revisiones Técnicas Formales se propon<strong>en</strong> como el punto <strong>de</strong> arranque para <strong>la</strong><br />
evaluación; <strong>en</strong> el<strong>la</strong>s se han incluido los parámetros <strong>de</strong> calidad que <strong>de</strong>b<strong>en</strong> alcanzarse, los<br />
artefactos involucrados y su forma <strong>de</strong> verificación. Todo este trabajo ha sido aplicado a varios<br />
sistemas <strong>de</strong> <strong>la</strong>s empresas, públicas y privadas, a <strong>la</strong>s que pert<strong>en</strong>ec<strong>en</strong> los alumnos que llevan el<br />
posgrado <strong>de</strong> Especialización <strong>en</strong> Ing<strong>en</strong>iería <strong>de</strong> Software <strong>de</strong> <strong>la</strong> Universidad Veracruzana.<br />
Abstract<br />
The Unified Software Developm<strong>en</strong>t Process involves several milestones by iteration and by<br />
phase; they must be assessed before to proceed with the next. On the other hand, Áncora has<br />
several stages with several milestones. To assess the cont<strong>en</strong>t of each milestone, all re<strong>la</strong>ted<br />
artifacts must be analyzed. How, wh<strong>en</strong> and what analyze is the matter of this work. Progress<br />
Reviews and Formal Technical Reviews are proposed as starting point for assessm<strong>en</strong>t; in them<br />
are inclu<strong>de</strong>d quality parameters to reach, artifacts involved and verification procedure. The<br />
whole work has be<strong>en</strong> applied to several systems from governm<strong>en</strong>t and private <strong>en</strong>terprises, where<br />
Software Engineering Specialty's stud<strong>en</strong>ts work.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve: Áncora, PUDS, RTF, calidad, artefacto,<br />
Introducción<br />
Durante años se han sugerido una serie <strong>de</strong> pautas para <strong>la</strong> Revisión Técnica Formal<br />
(RTF) <strong>de</strong> avances d<strong>en</strong>tro <strong>de</strong> los Sistemas <strong>de</strong> Software (SS), pero son pocas <strong>la</strong>s veces<br />
que se especifica qué revisar, cómo y sobre todo cuáles parámetros <strong>de</strong> calidad se están<br />
asociando. A<strong>de</strong>más, una RTF requiere un tiempo y un esfuerzo consi<strong>de</strong>rables, el<br />
llevar<strong>la</strong> a cabo da <strong>la</strong> impresión <strong>de</strong> que atrasa el trabajo <strong>de</strong> <strong>de</strong>sarrollo, lo cual provoca<br />
que se vaya posponi<strong>en</strong>do in<strong>de</strong>finidam<strong>en</strong>te. En este trabajo, se pres<strong>en</strong>tan dos tipos <strong>de</strong><br />
revisiones: <strong>la</strong>s <strong>de</strong> avance y <strong>la</strong>s técnicas formales. Para mejor <strong>en</strong>t<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong> este<br />
trabajo, se divi<strong>de</strong> <strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te manera: elem<strong>en</strong>tos metodológicos utilizados,<br />
propuesta y puesta <strong>en</strong> marcha <strong>de</strong> <strong>la</strong>s revisiones y resultados obt<strong>en</strong>idos.
1. Elem<strong>en</strong>tos metodológicos empleados<br />
Para llegar a establecer <strong>la</strong>s propuestas aquí hechas se ha t<strong>en</strong>ido que hacer una revisión<br />
<strong>de</strong> varios elem<strong>en</strong>tos metodológicos y <strong>de</strong> los artefactos involucrados <strong>en</strong> ellos. Aquí se<br />
pres<strong>en</strong>tan los más relevantes.<br />
1.1 Revisión Técnica Formal<br />
Una RTF es "una actividad <strong>de</strong> <strong>la</strong> garantía <strong>de</strong> calidad <strong>de</strong>l software llevada a cabo por los<br />
ing<strong>en</strong>ieros <strong>de</strong>l software" [2]. Lo que se busca <strong>en</strong> una RTF varía según sus metas y los<br />
difer<strong>en</strong>tes autores. En el caso <strong>de</strong> <strong>la</strong>s revisiones <strong>de</strong> calidad "se refiere más a <strong>la</strong><br />
validación <strong>de</strong> <strong>la</strong> interacción <strong>en</strong>tre compon<strong>en</strong>tes y <strong>de</strong> conformidad con los<br />
requerimi<strong>en</strong>tos <strong>de</strong>l usuario" [3].<br />
1.2 Ciclo <strong>de</strong> vida <strong>de</strong> PUDS<br />
PUDS [1] ti<strong>en</strong>e un mo<strong>de</strong>lo <strong>de</strong> <strong>de</strong>sarrollo especial <strong>de</strong> dos dim<strong>en</strong>siones. Una dim<strong>en</strong>sión<br />
es <strong>la</strong> <strong>de</strong>l tiempo, sobre el eje X, <strong>en</strong> don<strong>de</strong> se notan <strong>la</strong>s fases y <strong>la</strong>s iteraciones. En el eje<br />
Y se ti<strong>en</strong><strong>en</strong> los flujos <strong>de</strong> trabajo que se consi<strong>de</strong>ran <strong>en</strong> otros mo<strong>de</strong>los <strong>de</strong> <strong>de</strong>sarrollo y que<br />
<strong>en</strong> PUDS <strong>de</strong>b<strong>en</strong> aplicarse para cada fase <strong>en</strong> grado mayor o m<strong>en</strong>or como lo marcan los<br />
avances <strong>en</strong> cada fase (ver Tab<strong>la</strong> 1), lo cual permite obt<strong>en</strong>er un producto <strong>en</strong> el que se<br />
revisan los avances por iteración y por fase, causando un mayor número <strong>de</strong> revisiones<br />
respecto a otros ciclos <strong>de</strong> vida.<br />
1.3 Artefactos <strong>de</strong> Áncora y PUDS<br />
Se han id<strong>en</strong>tificado 29 artefactos involucrados <strong>en</strong> los flujos <strong>de</strong> requerimi<strong>en</strong>tos y análisis<br />
<strong>de</strong> Áncora y PUDS. A continuación se explican los más relevantes, que son evaluados<br />
<strong>en</strong> <strong>la</strong>s RTF, indicando su conexión con otros, ya sea <strong>de</strong>l mismo flujo o <strong>de</strong> otros.<br />
Artefactos <strong>de</strong> requerimi<strong>en</strong>tos, Explicación y Conexiones<br />
1. Lista <strong>de</strong> los principales problemas. Resum<strong>en</strong> <strong>de</strong> los principales problemas<br />
separándolos <strong>en</strong> dos grupos: los que se pued<strong>en</strong> resolver utilizando computadora y<br />
los que no.<br />
2. Guión <strong>de</strong> <strong>la</strong> Propuesta computacional. Breve introducción <strong>de</strong>l cont<strong>en</strong>ido <strong>de</strong>l<br />
docum<strong>en</strong>to y los guiones y diálogos propuestos. Cada pista será un paquete <strong>de</strong><br />
análisis, cada esc<strong>en</strong>a un Caso <strong>de</strong> Uso y cada papel un Actor.<br />
3. Diálogos <strong>de</strong> <strong>la</strong> propuesta computacional. Lista <strong>de</strong> acciones, expresadas <strong>en</strong> quintetas,<br />
ac<strong>la</strong>rando alguna(s) quinteta(s) <strong>de</strong>l guión <strong>de</strong> <strong>la</strong> propuesta computacional.<br />
4. Prototipo Rápido. Manual Preliminar <strong>de</strong> operación <strong>de</strong>l nuevo sistema.<br />
5. Mo<strong>de</strong>lo E-R o Mo<strong>de</strong>lo Semántico. Mo<strong>de</strong>lo <strong>de</strong> Datos escogido, <strong>de</strong>p<strong>en</strong><strong>de</strong>rá <strong>de</strong>l SMBD<br />
que se pi<strong>en</strong>se usar. Id<strong>en</strong>tificadores <strong>de</strong> Puntos <strong>de</strong> Función<br />
6. Bitácora <strong>de</strong> <strong>de</strong>sarrollo. P<strong>la</strong>n <strong>de</strong> prueba y tiempo <strong>de</strong>sarrollo <strong>de</strong> cada funcionalidad.<br />
Base para el P<strong>la</strong>n <strong>de</strong> Construcciones <strong>en</strong> implem<strong>en</strong>tación.<br />
7. Tab<strong>la</strong> <strong>de</strong> Puntos <strong>de</strong> función sin ajustar. Resum<strong>en</strong> <strong>de</strong> los id<strong>en</strong>tificadores <strong>de</strong>l método <strong>de</strong><br />
Puntos <strong>de</strong> Función. Puntos para cada Caso <strong>de</strong> Uso
8. Tab<strong>la</strong> <strong>de</strong> modificadores. Con 14 modificadores <strong>de</strong>l método <strong>de</strong> Puntos <strong>de</strong> Función y su<br />
grado <strong>de</strong> influ<strong>en</strong>cia <strong>en</strong> el sistema. Se transformarán <strong>en</strong> requerimi<strong>en</strong>tos no<br />
funcionales <strong>de</strong> cada Caso <strong>de</strong> Uso.<br />
9. Mo<strong>de</strong>lo <strong>de</strong> casos <strong>de</strong> uso. Conti<strong>en</strong>e actores, casos <strong>de</strong> uso y sus re<strong>la</strong>ciones.<br />
10. Caso <strong>de</strong> Uso. Una <strong>de</strong>scripción <strong>de</strong> un conjunto <strong>de</strong> secu<strong>en</strong>cias <strong>de</strong> acciones,<br />
incluy<strong>en</strong>do variaciones, que un sistema lleva a cabo y que conduce a un resultado<br />
observable <strong>de</strong> interés para un actor <strong>de</strong>terminado.<br />
11. Actor. Conjunto coher<strong>en</strong>te <strong>de</strong> roles que <strong>de</strong>sempeñan los usuarios <strong>de</strong> casos <strong>de</strong> uso.<br />
Iniciador <strong>de</strong> los diagramas <strong>de</strong> co<strong>la</strong>boración y <strong>de</strong> secu<strong>en</strong>cia<br />
Artefactos <strong>de</strong> Análisis<br />
1. Mo<strong>de</strong>lo <strong>de</strong> análisis. Es una jerarquía <strong>de</strong> paquetes <strong>de</strong> análisis<br />
2. C<strong>la</strong>se <strong>de</strong> análisis. Tres Estereotipos: boundary, control, <strong>en</strong>tity<br />
3. Realización <strong>de</strong> casos <strong>de</strong> uso <strong>de</strong>l análisis. Co<strong>la</strong>boración d<strong>en</strong>tro <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> análisis<br />
que <strong>de</strong>scribe cómo se lleva a cabo un caso <strong>de</strong> uso utilizando c<strong>la</strong>ses <strong>de</strong> análisis.<br />
Compuesto por: Diagramas <strong>de</strong> c<strong>la</strong>ses <strong>de</strong> análisis, Diagramas <strong>de</strong> interacción<br />
(co<strong>la</strong>boración), Flujos <strong>de</strong> sucesos - análisis, Requisitos especiales.<br />
4. Descripción <strong>de</strong> <strong>la</strong> arquitectura. Conti<strong>en</strong>e <strong>la</strong> Vista <strong>de</strong> <strong>la</strong> Arquitectura <strong>de</strong>l Mo<strong>de</strong>lo <strong>de</strong><br />
Análisis. Abarca: C<strong>la</strong>ses, Paquetes, Realizaciones <strong>de</strong> casos <strong>de</strong> uso<br />
2. Revisiones <strong>de</strong> Software <strong>en</strong> <strong>la</strong> EIS<br />
El uso <strong>de</strong>l ciclo <strong>de</strong> vida marcado por PUDS marca, naturalm<strong>en</strong>te, dos tipos <strong>de</strong> revisión<br />
<strong>la</strong> <strong>de</strong> <strong>la</strong> iteración o Revisión <strong>de</strong> <strong>Avances</strong>, marcada por Casos <strong>de</strong> Uso, y <strong>la</strong> <strong>de</strong> fase o<br />
Revisión Técnica Formal. Lo que PUDS <strong>de</strong>ja abierto es ¿qué se <strong>de</strong>be revisar y <strong>en</strong> qué<br />
profundidad? Por lo anterior, <strong>en</strong> este trabajo se muestra <strong>la</strong> adaptación <strong>de</strong> estas<br />
revisiones <strong>en</strong> cursos <strong>de</strong> un programa <strong>de</strong> posgrado <strong>en</strong> el que a lo <strong>la</strong>rgo <strong>de</strong> un año y con<br />
sistemas <strong>de</strong> 100 a 300 puntos <strong>de</strong> función se ha logrado obt<strong>en</strong>er.<br />
2.1 Revisiones <strong>de</strong> <strong>Avances</strong> (RA)<br />
Éstas se llevan a cabo cada dos meses y se espera que llev<strong>en</strong> un cierto porc<strong>en</strong>taje <strong>de</strong><br />
avance sobre los difer<strong>en</strong>tes flujos fundam<strong>en</strong>tales (ver Tab<strong>la</strong> 1). En cada RA se exploran<br />
difer<strong>en</strong>tes artefactos según <strong>la</strong> fase <strong>en</strong> que se <strong>en</strong>cu<strong>en</strong>tre SS. En <strong>la</strong> Tab<strong>la</strong>s 2 se muestran<br />
los artefactos revisados <strong>en</strong> dos RA, una transcurridos seis meses, <strong>en</strong> <strong>la</strong> que se <strong>de</strong>be<br />
llevar un 25% <strong>de</strong> avance y, <strong>la</strong> segunda don<strong>de</strong> se <strong>de</strong>be llevar un 50% <strong>de</strong> avance,<br />
<strong>de</strong>spués <strong>de</strong> ocho. La esca<strong>la</strong> <strong>de</strong> calificación es <strong>de</strong> 1 = Bi<strong>en</strong>, 0.5 = Regu<strong>la</strong>r y 0 = Mal.<br />
Fase Requerimi<strong>en</strong>totación<br />
Análisis Diseño Implem<strong>en</strong>-<br />
Prueba<br />
Inicio 40% 20% 10% 10% 10%<br />
E<strong>la</strong>boración 100% 80% 50% 50% 50%<br />
Construcción 100% 80% 80% 80%<br />
Terminación 100% 100% 100%<br />
Tab<strong>la</strong> 1. Porc<strong>en</strong>taje <strong>de</strong> avances <strong>en</strong> cada flujo fundam<strong>en</strong>tal .
<strong>Avances</strong> <strong>de</strong>spués <strong>de</strong> 6 meses<br />
<strong>Avances</strong> <strong>de</strong>spués <strong>de</strong> 8 meses<br />
Distribución por Caso <strong>de</strong> Uso <strong>de</strong> Puntos Tab<strong>la</strong> <strong>de</strong> Casos <strong>de</strong> Uso y Puntos <strong>de</strong><br />
<strong>de</strong> Función <strong>de</strong>l Sistema<br />
Función<br />
Mo<strong>de</strong>lo <strong>de</strong> Casos <strong>de</strong> Uso<br />
Mo<strong>de</strong>lo <strong>de</strong> capas <strong>de</strong>l diseño corregido.<br />
Diagramas <strong>de</strong> Co<strong>la</strong>boración y flujos <strong>de</strong> Tab<strong>la</strong> <strong>de</strong> tiempos <strong>de</strong>dicados a cada flujo<br />
sucesos<br />
fundam<strong>en</strong>tal.<br />
Restricciones para cada Caso <strong>de</strong> Uso Diagrama <strong>de</strong> Secu<strong>en</strong>cia exitoso <strong>de</strong>, al<br />
m<strong>en</strong>os, un nuevo Caso <strong>de</strong> Uso<br />
Mo<strong>de</strong>lo <strong>de</strong> capas <strong>de</strong>l diseño Diagramas <strong>de</strong> compon<strong>en</strong>tes <strong>de</strong> los<br />
subsistemas.<br />
Diagramas <strong>de</strong> Secu<strong>en</strong>cia exitosos Casos <strong>de</strong> Prueba <strong>de</strong>l Caso <strong>de</strong> Uso<br />
pres<strong>en</strong>tado<br />
Ejecución <strong>de</strong>l 25% Casos <strong>de</strong> Uso Insta<strong>la</strong>dor automático<br />
Corrida <strong>de</strong>l 50% <strong>de</strong> su sistema<br />
Tab<strong>la</strong> 2. Elem<strong>en</strong>tos para Revisión <strong>de</strong> <strong>Avances</strong><br />
2.2 RTF <strong>en</strong> <strong>la</strong> EIS<br />
Para realizar <strong>la</strong>s RTF al concluirse cada flujo fundam<strong>en</strong>tal, se <strong>de</strong>sarrol<strong>la</strong>ron guías que<br />
permitan verificar los artefactos más relevantes <strong>de</strong> manera integrada. Esta revisión <strong>de</strong>be<br />
respon<strong>de</strong>r a una serie <strong>de</strong> atributos <strong>de</strong> calidad que <strong>de</strong>b<strong>en</strong> observarse <strong>en</strong> los artefactos<br />
individuales (c<strong>la</strong>ridad, conformidad a reg<strong>la</strong>s) y al <strong>en</strong>cad<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> algunos <strong>de</strong> ellos<br />
(corrección, completez, trazabilidad). Del análisis <strong>de</strong> artefactos y parámetros <strong>de</strong><br />
calidad, se realizaron los formatos para <strong>la</strong>s RTF <strong>de</strong> requerimi<strong>en</strong>tos y <strong>la</strong> <strong>de</strong> análisis. Por<br />
falta <strong>de</strong> espacio, se muestran aquí sólo algunas <strong>de</strong> <strong>la</strong>s Tab<strong>la</strong>s (3 y 4) aplicadas tanto a <strong>la</strong><br />
captura <strong>de</strong> requerimi<strong>en</strong>tos como al análisis <strong>en</strong> <strong>la</strong>s que cada r<strong>en</strong>glón se califica <strong>en</strong> <strong>la</strong><br />
esca<strong>la</strong> sigui<strong>en</strong>te: 5: todas(os); 4: casi todos(as); 3: aproximadam<strong>en</strong>te <strong>la</strong> mitad; 2: casi<br />
ninguno(a); 1: ninguno(a).<br />
A<strong>de</strong>más <strong>de</strong> los aspectos revisados con <strong>la</strong>s tab<strong>la</strong>s, se le pi<strong>de</strong> al grupo <strong>de</strong> revisores<br />
que anote los tres aspectos más relevantes id<strong>en</strong>tificados, ord<strong>en</strong>ándolos según <strong>la</strong><br />
urg<strong>en</strong>cia con que <strong>de</strong>b<strong>en</strong> ser at<strong>en</strong>didos.<br />
Atributo<br />
observado<br />
correcto<br />
completo<br />
correcto<br />
completo<br />
completo<br />
consist<strong>en</strong>te<br />
Concepto<br />
¿Cada caso <strong>de</strong> uso correspon<strong>de</strong> a una esc<strong>en</strong>a <strong>de</strong>l guión <strong>de</strong> <strong>la</strong> propuesta<br />
computacional?<br />
¿Cada esc<strong>en</strong>a <strong>de</strong>l guión <strong>de</strong> <strong>la</strong> propuesta computacional correspon<strong>de</strong> a un CU?<br />
¿Cada actor correspon<strong>de</strong> a un papel?<br />
¿Cada papel correspon<strong>de</strong> a un actor?<br />
¿Cada requerimi<strong>en</strong>to expresado <strong>en</strong> el guión y <strong>en</strong> tab<strong>la</strong> <strong>de</strong> modificadores <strong>de</strong> puntos<br />
<strong>de</strong> función, está asociado al m<strong>en</strong>os con un caso <strong>de</strong> uso?<br />
¿Los requerimi<strong>en</strong>tos no ti<strong>en</strong><strong>en</strong> conflictos <strong>en</strong>tre sí?<br />
Tab<strong>la</strong> 3. RTF <strong>de</strong> requerimi<strong>en</strong>tos empleando: Mo<strong>de</strong>lo <strong>de</strong> casos <strong>de</strong> uso, guión y<br />
diálogos <strong>de</strong> propuesta computacional y modificadores <strong>de</strong> puntos <strong>de</strong> función
Atributo<br />
Concepto<br />
observado<br />
Conforme Cada caso <strong>de</strong> uso ti<strong>en</strong>e un diagrama <strong>de</strong> c<strong>la</strong>ses <strong>de</strong> análisis<br />
Conforme Cada caso <strong>de</strong> uso ti<strong>en</strong>e un diagrama <strong>de</strong> co<strong>la</strong>boración<br />
Conforme Cada diagrama <strong>de</strong> co<strong>la</strong>boración ti<strong>en</strong>e un flujo <strong>de</strong> sucesos asociado<br />
Completo Cada <strong>en</strong>tidad y re<strong>la</strong>ción m a n <strong>en</strong> el mo<strong>de</strong>lo E-R existe como c<strong>la</strong>se <strong>en</strong><br />
algún diagrama <strong>de</strong> c<strong>la</strong>ses<br />
Conforme Cada c<strong>la</strong>se <strong>en</strong> los diagramas <strong>de</strong> c<strong>la</strong>ses ti<strong>en</strong>e asignado un estereotipo<br />
(boundary, control o <strong>en</strong>tidad)<br />
Completo Para cada c<strong>la</strong>se <strong>en</strong> los diagramas <strong>de</strong> c<strong>la</strong>se existe al m<strong>en</strong>os un objeto <strong>en</strong> los<br />
diagramas <strong>de</strong> co<strong>la</strong>boración<br />
Conforme En los diagramas <strong>de</strong> co<strong>la</strong>boración existe al m<strong>en</strong>os una co<strong>la</strong>boración<br />
etiquetada para cada objeto<br />
Conforme En los diagramas <strong>de</strong> co<strong>la</strong>boración todas <strong>la</strong>s co<strong>la</strong>boraciones son iniciadas<br />
por actor, boundary o control<br />
Conforme En cada diagrama <strong>de</strong> co<strong>la</strong>boración el actor sólo se comunica con c<strong>la</strong>ses<br />
boundary, nunca con control o <strong>en</strong>tidad<br />
Conforme La etiqueta <strong>de</strong> cada co<strong>la</strong>boración expresa un propósito preciso<br />
Completo Para cada diagrama <strong>de</strong> co<strong>la</strong>boración existe un flujo <strong>de</strong> sucesos<br />
Conforme Cada flujo <strong>de</strong> sucesos ac<strong>la</strong>ra el s<strong>en</strong>tido <strong>de</strong> <strong>la</strong>s co<strong>la</strong>boraciones asociadas<br />
Trazable Cada flujo <strong>de</strong> sucesos <strong>de</strong> análisis equivale al flujo <strong>de</strong> sucesos <strong>de</strong>l caso <strong>de</strong><br />
uso <strong>en</strong> el mo<strong>de</strong>lo <strong>de</strong> casos <strong>de</strong> uso<br />
Tab<strong>la</strong> 4. RTF <strong>en</strong> el Análisis empleando realización <strong>de</strong> casos <strong>de</strong> uso y Mo<strong>de</strong>lo<br />
Entidad Re<strong>la</strong>ción (o Mo<strong>de</strong>lo semántico)<br />
3. Resultados<br />
Después <strong>de</strong> haber aplicado realizado <strong>la</strong>s Revisiones <strong>de</strong> Avance (RA) y Revisiones<br />
Técnicas Formales (RTF), se ti<strong>en</strong>e lo sigui<strong>en</strong>te:<br />
a) Las RA permit<strong>en</strong> cuantificar <strong>de</strong> manera más objetiva el grado <strong>de</strong> avance <strong>de</strong> un<br />
proyecto. Sin embargo, se observa que muchas veces los <strong>de</strong>sarrol<strong>la</strong>dores se<br />
apresuran a cumplir avances <strong>de</strong> código sacrificando lo <strong>de</strong>más, <strong>en</strong> especial lo<br />
re<strong>la</strong>tivo a pruebas.<br />
b) Las guías <strong>de</strong> RTF ofrec<strong>en</strong> una herrami<strong>en</strong>ta que:<br />
• Id<strong>en</strong>tifica aspectos que <strong>de</strong>b<strong>en</strong> cuidarse al <strong>de</strong>sarrol<strong>la</strong>r los mo<strong>de</strong>los, asociados<br />
con atributos <strong>de</strong> calidad como corrección, conformidad y trazabilidad. Sin <strong>la</strong><br />
guía, muchos aspectos ti<strong>en</strong>d<strong>en</strong> a olvidarse.<br />
• Permite una autoevaluación y control <strong>de</strong>l proyecto.<br />
• Permite que otras personas (jefe, colegas) revis<strong>en</strong> proyectos aj<strong>en</strong>os <strong>de</strong> manera<br />
coher<strong>en</strong>te, con criterios semejantes.<br />
• Saca a <strong>la</strong> luz aspectos que <strong>de</strong>b<strong>en</strong> mejorarse <strong>en</strong> los mo<strong>de</strong>los y <strong>en</strong> <strong>la</strong>s prácticas<br />
<strong>de</strong> trabajo<br />
c) En <strong>la</strong> aplicación <strong>de</strong> <strong>la</strong>s RTF se observó que:
• Los evaluadores requier<strong>en</strong> más s<strong>en</strong>tido crítico: algunos suavizan calificación;<br />
pocos aportan suger<strong>en</strong>cias.<br />
• Algunas preguntas resultaron obscuras, por su redacción o esca<strong>la</strong> inversa; ya<br />
se modificaron.<br />
• Algunos evaluadores agregaron aspectos no consi<strong>de</strong>rados, como <strong>la</strong> redacción.<br />
• La esca<strong>la</strong> empleada parece a<strong>de</strong>cuada, se usaron todos los valores y no se<br />
reportaron confusiones.<br />
• Los valores bajos <strong>de</strong> <strong>la</strong> esca<strong>la</strong>, cuando se repit<strong>en</strong> <strong>en</strong> varios casos y persist<strong>en</strong> <strong>en</strong><br />
distintos flujos, id<strong>en</strong>tifican puntos débiles g<strong>en</strong>éricos <strong>de</strong> <strong>la</strong> metodología y <strong>de</strong><br />
los cursos; un ejemplo es el <strong>de</strong> los requerimi<strong>en</strong>tos no funcionales, mal<br />
especificados y sin seguimi<strong>en</strong>to.<br />
• Entre <strong>de</strong>sarrol<strong>la</strong>dores con experi<strong>en</strong>cia <strong>en</strong> <strong>de</strong>p<strong>en</strong>d<strong>en</strong>cias <strong>de</strong> gobierno aparec<strong>en</strong><br />
dos errores frecu<strong>en</strong>tes: insist<strong>en</strong>cia <strong>de</strong> incluir un papel o actor “jefe” puram<strong>en</strong>te<br />
<strong>de</strong>corativo y el confundir mo<strong>de</strong>lo <strong>de</strong> casos <strong>de</strong> uso con jerarquía <strong>de</strong> m<strong>en</strong>ús.<br />
Conclusiones<br />
Las RA y RTF pres<strong>en</strong>tadas han permitido avanzar hacia un proceso <strong>de</strong> revisión <strong>de</strong> hitos<br />
maduro y ligado a parámetros <strong>de</strong> calidad preestablecidos, si<strong>en</strong>do un apoyo valioso,<br />
tanto para <strong>de</strong>sarrol<strong>la</strong>dores como para responsables <strong>de</strong> proyecto.<br />
Cuando un <strong>de</strong>sarrol<strong>la</strong>dor juega también el papel <strong>de</strong> revisor, le es más fácil<br />
id<strong>en</strong>tificar sus <strong>de</strong>fici<strong>en</strong>cias viéndo<strong>la</strong>s <strong>en</strong> trabajo aj<strong>en</strong>o, lo que redunda <strong>en</strong> una mejora <strong>de</strong><br />
su propio trabajo. También aprecia y apr<strong>en</strong><strong>de</strong> <strong>de</strong> <strong>la</strong>s aportaciones <strong>de</strong> otros<br />
<strong>de</strong>sarrol<strong>la</strong>dores.<br />
Aún falta refinar <strong>la</strong>s herrami<strong>en</strong>tas, buscando un equilibrio <strong>en</strong>tre <strong>de</strong>talle y<br />
simplicidad. Deb<strong>en</strong> ampliarse para cubrir artefactos que aún permanec<strong>en</strong> <strong>de</strong>sligados y<br />
cubrir los flujos <strong>de</strong> trabajo restantes. Más a<strong>de</strong><strong>la</strong>nte hará falta comparar los resultados<br />
finales para analizar el impacto dura<strong>de</strong>ro <strong>de</strong> <strong>la</strong>s RTF. Por el <strong>la</strong>do humano hace falta<br />
<strong>de</strong>sarrol<strong>la</strong>r más el s<strong>en</strong>tido crítico <strong>de</strong> los <strong>de</strong>sarrol<strong>la</strong>dores.<br />
Refer<strong>en</strong>cias<br />
[1] I. Jacobson, G. Booch,, J. Rumbaugh, El Proceso Unificado <strong>de</strong> Desarrollo <strong>de</strong> Software,<br />
Addison Wesley, 2000.<br />
[2] R. Pressman, Ing<strong>en</strong>iería <strong>de</strong> Software. Un <strong>en</strong>foque Práctico, Quinta edición, McGraw-Hill,<br />
2002<br />
[3] I. Sommerville, Software Engineering, Quinta edición, Adison-Wesley, 1996<br />
[4] M. A. Sumano, Método para el análisis <strong>de</strong> requerimi<strong>en</strong>tos <strong>de</strong> software con <strong>en</strong>foque<br />
conjunto psicológico, social y lingüístico conduc<strong>en</strong>te al reuso, Tesis doctoral. CIC, IPN.<br />
México, 2002
Aplicando ext<strong>en</strong>siones <strong>de</strong> UML para <strong>de</strong>sarrollo <strong>de</strong><br />
aplicaciones Web<br />
Alejandro Botello Castillo,<br />
Sandra Dinora Orantes Jiménez<br />
Laboratorio <strong>de</strong> Sistemas <strong>de</strong> Información<br />
C<strong>en</strong>tro <strong>de</strong> Investigación <strong>en</strong> <strong>Computación</strong><br />
e-mail: {botello, dinora}@cic.ipn.mx<br />
Av. Juan <strong>de</strong> Dios Bátiz s/n, esq. Miguel Othón <strong>de</strong> M<strong>en</strong>dizábal, Col. Nueva Industrial<br />
Vallejo, 07738, México, D.F.<br />
Abstract: The Unified Mo<strong>de</strong>ling Language (UML) had provi<strong>de</strong>d a consist<strong>en</strong>t and<br />
<strong>de</strong>tailed foundation in the p<strong>la</strong>nning of phases involved to build software<br />
applications. Nevertheless, an actual tr<strong>en</strong>d is forward Web applications, and<br />
specifically, in Web Services, which take and apply compon<strong>en</strong>t based<br />
<strong>en</strong>vironm<strong>en</strong>ts concepts. In this work, we show experi<strong>en</strong>ces in the use of UML<br />
ext<strong>en</strong>sions applied to Web Services, tak<strong>en</strong> as case of study the JDeveloper 10g<br />
software <strong>de</strong>velopm<strong>en</strong>t tool, from Oracle Corporation.<br />
Resum<strong>en</strong>: El L<strong>en</strong>guaje Unificado <strong>de</strong> Mo<strong>de</strong><strong>la</strong>do UML (Unified Mo<strong>de</strong>ling<br />
Language) ha proporcionado una base consist<strong>en</strong>te y <strong>de</strong>tal<strong>la</strong>da <strong>en</strong> <strong>la</strong> p<strong>la</strong>neación <strong>de</strong><br />
<strong>la</strong>s fases involucradas para <strong>la</strong> construcción <strong>de</strong> aplicaciones <strong>de</strong> software. No<br />
obstante, una t<strong>en</strong>d<strong>en</strong>cia actual es hacia <strong>la</strong>s aplicaciones Web, y <strong>en</strong> específico, <strong>en</strong><br />
los Servicios Web, los cuales toman y aplican los conceptos <strong>de</strong> ambi<strong>en</strong>tes basados<br />
<strong>en</strong> compon<strong>en</strong>tes. En este trabajo se muestran <strong>la</strong>s experi<strong>en</strong>cias <strong>en</strong> el uso <strong>de</strong><br />
ext<strong>en</strong>siones UML aplicado a los Servicios Web, tomando como caso <strong>de</strong> estudio <strong>la</strong><br />
herrami<strong>en</strong>ta <strong>de</strong> <strong>de</strong>sarrollo JDeveloper 10g, <strong>de</strong> Oracle Corporation[1]<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve: Servicios Web, UML, mo<strong>de</strong><strong>la</strong>do.<br />
1. Introducción<br />
No es posible negar que Internet se ha convertido <strong>en</strong> <strong>la</strong> tecnología más promin<strong>en</strong>te con<br />
lo que respecta al intercambio <strong>de</strong> información <strong>en</strong>tre usuarios. Las empresas están<br />
apoyándose <strong>en</strong> el Web para <strong>de</strong>sarrol<strong>la</strong>r aplicaciones <strong>de</strong> negocios (e-business), <strong>de</strong><br />
búsqueda <strong>de</strong> información, y <strong>de</strong> <strong>en</strong>tret<strong>en</strong>imi<strong>en</strong>to. Una <strong>de</strong> <strong>la</strong>s principales razones <strong>de</strong> uso<br />
<strong>de</strong> Internet es que un usuario no necesita altos recursos <strong>de</strong> cómputo para ejecutar dichas<br />
aplicaciones; sólo basta que t<strong>en</strong>ga un software navegador para Web (que inclusive se<br />
<strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> versiones para dispositivos móviles) y <strong>la</strong> dirección URL (Unified<br />
Resource Locator, Localizador <strong>de</strong> Recursos Unificado) <strong>de</strong> interés para que pueda<br />
com<strong>en</strong>zar a interactuar <strong>de</strong> manera remota.
La rápida evolución <strong>de</strong> <strong>la</strong> Web impulsa al <strong>de</strong>sarrollo <strong>de</strong> nuevas tecnologías, nuevos<br />
estándares, y por consigui<strong>en</strong>te, <strong>de</strong> nuevas herrami<strong>en</strong>tas <strong>de</strong> <strong>de</strong>sarrollo, ya que <strong>la</strong>s casas<br />
fabricantes <strong>de</strong> software no <strong>de</strong>sean per<strong>de</strong>r mercado <strong>de</strong> v<strong>en</strong>ta <strong>de</strong> sus productos[2].<br />
Por otra parte, <strong>la</strong>s metodologías para el <strong>de</strong>sarrollo <strong>de</strong> software también han<br />
evolucionado, tratando <strong>de</strong> seguir a corto paso a <strong>la</strong>s t<strong>en</strong>d<strong>en</strong>cias que emerg<strong>en</strong><br />
continuam<strong>en</strong>te. Roger Pressman[3] discutió si valía <strong>la</strong> p<strong>en</strong>a emplear un proceso <strong>de</strong><br />
Ing<strong>en</strong>iería <strong>en</strong> <strong>la</strong>s aplicaciones basadas <strong>en</strong> Internet, o bi<strong>en</strong>, qué características t<strong>en</strong>ían<br />
éstas que justificaran no utilizarlo. “Aplicar un proceso <strong>de</strong> ing<strong>en</strong>iería nunca es una ma<strong>la</strong><br />
i<strong>de</strong>a, pero éste <strong>de</strong>bería adaptarse a los requerimi<strong>en</strong>tos <strong>de</strong> cambio continuo y rapi<strong>de</strong>z<br />
siempre pres<strong>en</strong>tes, <strong>en</strong> el proceso <strong>de</strong> <strong>de</strong>sarrollo Web”.<br />
Un mo<strong>de</strong>lo <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> aplicaciones que ha sido aceptado ampliam<strong>en</strong>te es el<br />
L<strong>en</strong>guaje Unificado <strong>de</strong> Mo<strong>de</strong><strong>la</strong>do (Unified Mo<strong>de</strong>ling Langauge, UML), por su<br />
capacidad <strong>de</strong> expresar <strong>de</strong> manera concisa <strong>la</strong>s etapas a seguir <strong>en</strong> <strong>la</strong> construcción <strong>de</strong><br />
sistemas <strong>de</strong> software. No obstante <strong>la</strong> popu<strong>la</strong>ridad <strong>de</strong> UML, no se han contemp<strong>la</strong>do <strong>la</strong><br />
inclusión <strong>de</strong> características para el <strong>de</strong>sarrollo <strong>en</strong> Web, tanto así que ha surgido una<br />
nueva rama <strong>de</strong> <strong>la</strong> ing<strong>en</strong>iería <strong>de</strong> software d<strong>en</strong>ominada 'Ing<strong>en</strong>iería Web'[4], <strong>en</strong> <strong>la</strong> cual se<br />
tratan <strong>de</strong> cubrir los aspectos importantes <strong>de</strong> <strong>la</strong>s aplicaciones <strong>en</strong>focadas a <strong>la</strong> Web.<br />
A continuación se pres<strong>en</strong>ta un ejemplo práctico <strong>en</strong> el que se aplicaron ext<strong>en</strong>siones<br />
<strong>en</strong>focadas a <strong>la</strong> creación <strong>de</strong> Servicios Web[5] usando UML.<br />
2. Análisis<br />
En el marco <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> una aplicación integradora <strong>de</strong> esquemas <strong>de</strong> bases <strong>de</strong> datos<br />
re<strong>la</strong>cionales, se ha <strong>de</strong>sarrol<strong>la</strong>do un servicio Web el cual establece una conexión a una<br />
fu<strong>en</strong>te <strong>de</strong> datos, extrae sus metadatos (esto es, <strong>la</strong> <strong>de</strong>finición y restricciones <strong>en</strong> <strong>la</strong><br />
estructura <strong>de</strong> tab<strong>la</strong>s y columnas <strong>de</strong> una base <strong>de</strong> datos) y los transforma a un docum<strong>en</strong>to<br />
sigui<strong>en</strong>do <strong>la</strong> especificación <strong>de</strong> XML Schema[6,7], con lo cual pue<strong>de</strong> ser procesado por<br />
otro modulo integrador.<br />
La herrami<strong>en</strong>ta <strong>de</strong> <strong>de</strong>sarrollo JDeveloper, <strong>en</strong> su versión d<strong>en</strong>ominada 10g (<strong>la</strong> más<br />
reci<strong>en</strong>te), ha incorporado muchas características para el <strong>de</strong>sarrollo <strong>en</strong> Web, <strong>en</strong> especial<br />
<strong>en</strong>focado a los servicios Web. En <strong>la</strong> parte <strong>de</strong> UML, se han incorporados los diagramas<br />
<strong>de</strong> casos <strong>de</strong> uso, <strong>de</strong> activida<strong>de</strong>s, y <strong>de</strong> c<strong>la</strong>ses.<br />
El caso <strong>de</strong> uso g<strong>en</strong>eral <strong>de</strong>l compon<strong>en</strong>te es simple, y se muestra <strong>en</strong> <strong>la</strong> Figura 1. Un<br />
modulo, proceso o usuario que requiere obt<strong>en</strong>er el esquema <strong>de</strong> una fu<strong>en</strong>te <strong>de</strong> datos,<br />
hace una solicitud al servicio Web para que bases <strong>de</strong> datos están <strong>de</strong>finidas actualm<strong>en</strong>te.<br />
Una vez que ha elegido alguna, solicita <strong>la</strong> g<strong>en</strong>eración <strong>de</strong>l docum<strong>en</strong>to XML Schema<br />
correspondi<strong>en</strong>te a esa fu<strong>en</strong>te <strong>de</strong> datos.
Fig.1 Diagrama <strong>de</strong> casos <strong>de</strong> uso para el módulo <strong>de</strong> extracción <strong>de</strong> esquemas.<br />
El diagrama <strong>de</strong> activida<strong>de</strong>s muestra <strong>la</strong> interacción <strong>en</strong>tre el cli<strong>en</strong>te y <strong>la</strong> invocación <strong>de</strong>l<br />
servicio Web (Figura 2). Como se pue<strong>de</strong> observar, <strong>la</strong> interacción es también simple, ya<br />
que lo único que necesita el cli<strong>en</strong>te es l<strong>la</strong>mar a los procesos que obti<strong>en</strong><strong>en</strong> los nombres<br />
<strong>de</strong> <strong>la</strong>s fu<strong>en</strong>tes <strong>de</strong> datos y que g<strong>en</strong>eran el esquema correspondi<strong>en</strong>te.<br />
Fig.2 Diagrama <strong>de</strong> activida<strong>de</strong>s para el módulo <strong>de</strong> extracción <strong>de</strong> esquemas.
3. Implem<strong>en</strong>tación<br />
La extracción <strong>de</strong> los metadatos <strong>de</strong> una fu<strong>en</strong>te <strong>de</strong> datos se realiza mediante <strong>la</strong> invocación<br />
<strong>de</strong> <strong>la</strong> c<strong>la</strong>se (escrita <strong>en</strong> el l<strong>en</strong>guaje <strong>de</strong> programación Java) MD2Schema, <strong>la</strong> cual se<br />
muestra <strong>en</strong> su diagrama <strong>de</strong> c<strong>la</strong>ses <strong>en</strong> <strong>la</strong> Figura 3.<br />
Fig. 3 Diagrama <strong>de</strong> c<strong>la</strong>ses para el módulo <strong>de</strong> extracción <strong>de</strong> esquemas.<br />
Se observa <strong>de</strong> <strong>la</strong> figura anterior que <strong>la</strong> c<strong>la</strong>se MDSchema consta <strong>de</strong> varios métodos, <strong>de</strong><br />
los cuales makeXMLSchema y makeDBSchema son los que realizan <strong>la</strong> g<strong>en</strong>eración <strong>de</strong><br />
esquemas, mi<strong>en</strong>tras que getDatasources, setDatasource, updateDatasource y<br />
removeDatasource se usan para <strong>la</strong> configuración <strong>de</strong> <strong>la</strong>s fu<strong>en</strong>tes <strong>de</strong> datos. Para g<strong>en</strong>erar<br />
el servicio Web es necesario indicarle a <strong>la</strong> herrami<strong>en</strong>ta que estos métodos conformarán<br />
sus operaciones; aquí es <strong>en</strong> don<strong>de</strong> se usan <strong>la</strong>s ext<strong>en</strong>siones UML <strong>de</strong> Servicios Web,<br />
añadi<strong>en</strong>do al diagrama una interfaz, que conti<strong>en</strong>e sólo los métodos necesarios <strong>de</strong>l<br />
servicio, y que automáticam<strong>en</strong>te g<strong>en</strong>era el código Java <strong>de</strong> dicha interfaz, así como el<br />
docum<strong>en</strong>to WSDL[8] (Web Services Description Language, L<strong>en</strong>guaje <strong>de</strong> Descripción<br />
<strong>de</strong> Servicios Web), como se muestra <strong>en</strong> <strong>la</strong>s Figuras 4 y 5.
Fig. 4. Diagrama <strong>de</strong> c<strong>la</strong>ses para el módulo <strong>de</strong> extracción <strong>de</strong> esquemas, mostrando <strong>la</strong> ext<strong>en</strong>sión<br />
para Servicios web.<br />
Fig. 5. Docum<strong>en</strong>to WSDL g<strong>en</strong>erado <strong>de</strong> <strong>la</strong> <strong>de</strong>finición <strong>de</strong>l servicio web.
Para <strong>la</strong> invocación <strong>de</strong>l servicio web g<strong>en</strong>erado se <strong>de</strong>be escribir <strong>la</strong> dirección don<strong>de</strong> se<br />
<strong>en</strong>cu<strong>en</strong>tre publicado <strong>en</strong> el navegador web. El resultado <strong>de</strong> <strong>la</strong> g<strong>en</strong>eración <strong>de</strong> un<br />
docum<strong>en</strong>to XML Schema para una base <strong>de</strong> datos <strong>de</strong> prueba se muestra <strong>en</strong> <strong>la</strong> Figura 6.<br />
Fig. 6. Docum<strong>en</strong>to XML Schema obt<strong>en</strong>ido <strong>de</strong> <strong>la</strong> solicitud al servicio Web.<br />
Este docum<strong>en</strong>to es procesado posteriorm<strong>en</strong>te por un módulo que permite <strong>la</strong> integración<br />
<strong>de</strong> esquemas para base <strong>de</strong> datos, <strong>en</strong> una aplicación completa. La obt<strong>en</strong>ción <strong>de</strong> este<br />
docum<strong>en</strong>to ha sido <strong>de</strong> manera remota, a través <strong>de</strong> Internet, y sin requerir <strong>de</strong><br />
insta<strong>la</strong>ciones <strong>de</strong> software intermedio o adicional <strong>en</strong> <strong>la</strong> máquina cli<strong>en</strong>te.<br />
4. Conclusiones.<br />
Las herrami<strong>en</strong>tas <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> software van incorporando cada vez mayores<br />
características <strong>de</strong> nuevas tecnologías. Esta evolución ha dado pie a que los<br />
<strong>de</strong>sarrol<strong>la</strong>dores no t<strong>en</strong>gan que <strong>de</strong>p<strong>en</strong><strong>de</strong>r <strong>de</strong> otras herrami<strong>en</strong>tas externas para realizar sus<br />
<strong>la</strong>bores, a<strong>de</strong>más que <strong>la</strong>s empresas estén incorporando estándares mundiales a sus<br />
productos, con lo que se obti<strong>en</strong>e reusabilidad <strong>de</strong> código y una mejor calidad <strong>en</strong> <strong>la</strong>s<br />
etapas <strong>de</strong> <strong>de</strong>sarrollo. Se espera que <strong>la</strong>s nuevas t<strong>en</strong>d<strong>en</strong>cias, como los Servicios Web, se<br />
utilic<strong>en</strong> aún más <strong>en</strong> <strong>la</strong> construcción <strong>de</strong> software para <strong>la</strong> Web. Al mom<strong>en</strong>to <strong>de</strong> escribir<br />
este trabajo, se han evaluado tres herrami<strong>en</strong>tas para <strong>la</strong> g<strong>en</strong>eración <strong>de</strong> Servicios Web,<br />
si<strong>en</strong>do el JDeveloper 10g <strong>la</strong> única don<strong>de</strong> es posible ext<strong>en</strong><strong>de</strong>r <strong>la</strong>s capacida<strong>de</strong>s <strong>de</strong>l UML<br />
para los Servicios Web.
Refer<strong>en</strong>cias<br />
[1] Oracle Corporation, http://www.oracle.com/<br />
[2] Fournier, R. Methodology for Cli<strong>en</strong>t/Server and Web Application Developm<strong>en</strong>t. Yourdon<br />
Press, 1999.<br />
[3] R. Pressman, “Can Internet-Based Applications Be Engineered?” IEEE Software,<br />
September/October 1998, pag 104 – 110.<br />
[4] S. Murugesan, Y. Deshpan<strong>de</strong> , S. Hans<strong>en</strong>, A. Ginige. “Web Engineering : A New Discipline<br />
for Developm<strong>en</strong>t of Web-Based Systems.”, Lecture Notes in Computer Sci<strong>en</strong>ce 2016 Springer<br />
2001, pag 3 – 13.<br />
[5] W3C Web Services, http://www.w3.org/2002/ws/<br />
[6] XML Schema Part 1: Structures, http://www.w3.org/TR/xmlschema-1/<br />
[7] XML Schema Part 2: Datatypes, http://www.w3.org/TR/xmlschema-2/<br />
[8] Web Services Description Language 1.1 Specification, http://www.w3.org/TR/2001/NOTEwsdl-20010315<br />
[9] Pressman, R. “Software Engineering: A Practitioner´sApproach. 5th ed.” McGraw-Hill 2000.<br />
[10] Conall<strong>en</strong>, J, Building Web Applications with UML, Addison-Wesley, 1999.
Elem<strong>en</strong>tos <strong>de</strong>l Proceso Unificado <strong>de</strong> Desarrollo <strong>de</strong> Software<br />
aplicados al <strong>de</strong>sarrollo <strong>de</strong>l Sistema Integral <strong>de</strong> Gestión <strong>de</strong><br />
Calidad y <strong>de</strong> Comercio Electrónico <strong>de</strong>l Café-Veracruz<br />
(SIGC3).<br />
María <strong>de</strong> Lour<strong>de</strong>s Hernán<strong>de</strong>z Rodríguez, Beatriz Gutiérrez Almaraz, Julio César<br />
Agui<strong>la</strong>r Cabrera<br />
Calle Rebsám<strong>en</strong> Num.80 Col. C<strong>en</strong>tro, CP 91000, Xa<strong>la</strong>pa, Veracruz, México.<br />
{mhernand@<strong>la</strong>nia.mx, bgutierr@<strong>la</strong>nia.mx, jagui<strong>la</strong>r@<strong>la</strong>nia.mx}<br />
Abstract<br />
SIGC3 (Sistema Integral <strong>de</strong> Gestión <strong>de</strong> <strong>la</strong> Calidad y Comercio <strong>de</strong>l Café-Veracruz) is an<br />
integrated system of applications: a manager for the processes of quality verification and<br />
certification, an e-business and commerce p<strong>la</strong>tform and applications for e-productivity and<br />
support and access control.<br />
This article pres<strong>en</strong>ts the application of some elem<strong>en</strong>ts of Unified Software Developm<strong>en</strong>t Process<br />
to the SIGC3 project, the results obtained and the perspectives.<br />
Resum<strong>en</strong><br />
El Sistema Integral <strong>de</strong> Gestión <strong>de</strong> Calidad y Comercio Electrónico <strong>de</strong>l Café-Veracruz (SIGC3),<br />
consiste <strong>en</strong> un sistema integrador <strong>de</strong> aplicaciones: <strong>de</strong> administración <strong>de</strong> procesos <strong>en</strong> <strong>la</strong><br />
verificación y certificación <strong>de</strong> calidad, <strong>de</strong> comercio y negocios electrónicos (e-bussiness), <strong>de</strong><br />
aplicaciones <strong>de</strong> e-productividad (e-productivity) y <strong>de</strong> infraestructura y sistemas <strong>de</strong> acceso.<br />
En este articulo se pres<strong>en</strong>ta <strong>la</strong> aplicación <strong>de</strong> algunos elem<strong>en</strong>tos <strong>de</strong>l Proceso Unificado <strong>de</strong><br />
Desarrollo <strong>de</strong> Software al SIGC3, los resultados obt<strong>en</strong>idos y <strong>la</strong>s perspectivas.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve: SIGC3, PUDS, UML, mo<strong>de</strong>los.<br />
1. Introducción<br />
SIGC3 esta conformado por nueve módulos cada uno <strong>de</strong> los cuales ti<strong>en</strong>e objetivos<br />
específicos que a su vez se suman a los objetivos g<strong>en</strong>erales y que <strong>en</strong> conjunto abarcan<br />
a todos los participantes <strong>de</strong> <strong>la</strong> cad<strong>en</strong>a <strong>de</strong>l valor <strong>de</strong>l café (sector cafetalero). SIGC3<br />
ganó <strong>en</strong> 2003 un concurso d<strong>en</strong>ominado ICT4BUS, <strong>de</strong>l Banco Interamericano <strong>de</strong><br />
Desarrollo (BID) y <strong>de</strong>l fondo multi<strong>la</strong>teral <strong>de</strong> inversiones (FOMIN), para <strong>la</strong> innovación<br />
<strong>en</strong> Tecnologías <strong>de</strong> <strong>la</strong> Información para pequeñas y medianas empresas. El proyecto fue
p<strong>la</strong>nteado para construirse <strong>en</strong> un periodo <strong>de</strong> 24 meses, financiado parcialm<strong>en</strong>te por el<br />
BID.<br />
Para su <strong>de</strong>sarrollo se conjuntó un equipo altam<strong>en</strong>te calificado <strong>en</strong> <strong>la</strong> programación <strong>de</strong><br />
sistemas web, a qui<strong>en</strong> se p<strong>la</strong>nteó el reto <strong>de</strong> g<strong>en</strong>erar un producto <strong>de</strong> calidad <strong>en</strong> un<br />
periodo <strong>de</strong> tiempo y presupuesto previam<strong>en</strong>te establecido.<br />
Una vez conformado el equipo <strong>de</strong> <strong>de</strong>sarrollo se procedió a <strong>de</strong>terminar <strong>la</strong> metodología<br />
aplicable al proceso <strong>de</strong> construcción <strong>de</strong>l SIGC3. La metodología seleccionada fue el<br />
Proceso Unificado <strong>de</strong> Desarrollo <strong>de</strong> Software (PUDS)[1] que utiliza el L<strong>en</strong>guaje<br />
Unificado <strong>de</strong> Mo<strong>de</strong><strong>la</strong>do (Unified Mo<strong>de</strong>ling Language, UML[2]) para preparar todos los<br />
mo<strong>de</strong>los <strong>de</strong> un sistema.<br />
Los primeros aspectos a superar fueron:<br />
a) Conv<strong>en</strong>cer al equipo <strong>de</strong> <strong>la</strong>s v<strong>en</strong>tajas que repres<strong>en</strong>ta <strong>la</strong> e<strong>la</strong>boración <strong>de</strong> mo<strong>de</strong>los<br />
previos al <strong>en</strong>foque <strong>de</strong> todos los esfuerzos sobre <strong>la</strong> fase <strong>de</strong> construcción.<br />
b) Elegir los elem<strong>en</strong>tos más relevantes <strong>de</strong> PUDS que <strong>de</strong> acuerdo a <strong>la</strong>s<br />
características especificas <strong>de</strong> SIGC3 permitieran su aplicación.<br />
Una vez superados estos aspectos se procedió a <strong>la</strong> aplicación <strong>de</strong> los elem<strong>en</strong>tos<br />
seleccionados <strong>de</strong>scritos a continuación. Así como también se <strong>de</strong>scribiran los resultados<br />
obt<strong>en</strong>idos y finalm<strong>en</strong>te <strong>la</strong>s perspectivas.<br />
2. Metodología<br />
SIGC3 es un sistema <strong>de</strong> integración <strong>de</strong> <strong>la</strong>s funciones e interacciones <strong>de</strong> los difer<strong>en</strong>tes<br />
grupos <strong>de</strong> usuarios o comunida<strong>de</strong>s que participan <strong>en</strong> <strong>la</strong> cad<strong>en</strong>a <strong>de</strong> valor <strong>de</strong>l Café <strong>de</strong><br />
calidad “Café-Veracruz”.<br />
El proyecto SIGC3 se caracteriza por el hecho <strong>de</strong> que el grupo <strong>de</strong> usuarios a qui<strong>en</strong><br />
va dirigido no ti<strong>en</strong>e necesida<strong>de</strong>s concretas, a partir <strong>de</strong> <strong>la</strong>s cuales se pueda realizar una<br />
recolección <strong>de</strong> requerimi<strong>en</strong>tos. Los diversos módulos <strong>de</strong>l SIGC3 consist<strong>en</strong> <strong>en</strong> una<br />
propuesta <strong>de</strong> diversas herrami<strong>en</strong>tas tecnológicas para <strong>la</strong> apertura <strong>de</strong> canales y medios<br />
<strong>de</strong> comunicación <strong>de</strong> los difer<strong>en</strong>tes grupos <strong>de</strong> usuarios. Por esta razón, algunos <strong>de</strong> los<br />
procesos sugeridos por PUDS para <strong>la</strong> fase <strong>de</strong> recopi<strong>la</strong>ción <strong>de</strong> requerimi<strong>en</strong>tos no son<br />
eficaces.<br />
PUDS involucra muchos elem<strong>en</strong>tos que pued<strong>en</strong> ser implem<strong>en</strong>tados adaptándose a<br />
<strong>la</strong> naturaleza <strong>de</strong>l proyecto, únicam<strong>en</strong>te a nivel <strong>de</strong> artefactos pued<strong>en</strong> id<strong>en</strong>tificarse más <strong>de</strong><br />
100.Consi<strong>de</strong>rando <strong>la</strong>s situaciones anteriores se inicio una revisión <strong>de</strong> PUDS: su ciclo<br />
<strong>de</strong> vida, fases, versiones, iteraciones, flujos <strong>de</strong> trabajo, artefactos y roles. En nuestro
caso los aspectos que se consi<strong>de</strong>raron para elegir los artefactos que se utilizarían fueron<br />
los sigui<strong>en</strong>tes:<br />
2.1. Definición <strong>de</strong> una primera visión <strong>de</strong>l sistema<br />
Este aspecto es el punto <strong>de</strong> partida <strong>de</strong>l proceso <strong>de</strong> <strong>de</strong>sarrollo, los objetivos previstos<br />
son: id<strong>en</strong>tificar y <strong>en</strong>t<strong>en</strong><strong>de</strong>r <strong>la</strong>s principales necesida<strong>de</strong>s <strong>de</strong>l sector, repres<strong>en</strong>tar<strong>la</strong>s y<br />
e<strong>la</strong>borar el mo<strong>de</strong>lo <strong>de</strong>l dominio y <strong>de</strong>l negocio que cubra dichas necesida<strong>de</strong>s, a<strong>de</strong>más <strong>de</strong><br />
contemp<strong>la</strong>r elem<strong>en</strong>tos que pued<strong>en</strong> solv<strong>en</strong>tar un cambio a futuro <strong>en</strong> <strong>la</strong> funcionalidad <strong>de</strong>l<br />
proyecto SIGC3.<br />
El equipo <strong>de</strong> <strong>de</strong>sarrollo se conc<strong>en</strong>tró <strong>en</strong> contestar a <strong>la</strong>s preguntas [3]: ¿Cuáles son<br />
los términos c<strong>la</strong>ve? (glosario), ¿Cuál es el problema que se esta tratando <strong>de</strong> resolver?,<br />
¿Quiénes son los usuarios? ¿Cuáles son sus necesida<strong>de</strong>s?, ¿Cuáles son <strong>la</strong>s<br />
características <strong>de</strong>l sistema?, ¿Cuáles son los requerimi<strong>en</strong>tos funcionales?, ¿Cuáles son<br />
los requerimi<strong>en</strong>tos no funcionales?, ¿Cuáles son <strong>la</strong>s restricciones?<br />
Los resultados <strong>de</strong> esta actividad son: el mo<strong>de</strong>lo <strong>de</strong> casos <strong>de</strong> uso, lista <strong>de</strong> requisitos<br />
g<strong>en</strong>éricos no asociados a un CU especifico, los actores, el prototipo <strong>de</strong> <strong>la</strong> interfaz <strong>de</strong><br />
usuario y un glosario.<br />
2.2. Definición <strong>de</strong> <strong>la</strong> arquitectura <strong>de</strong>l sistema<br />
En este aspecto los objetivos que se pret<strong>en</strong>d<strong>en</strong> alcanzar son: especificar <strong>de</strong>tal<strong>la</strong>dam<strong>en</strong>te<br />
los requisitos (diagramas <strong>de</strong> c<strong>la</strong>ses <strong>de</strong> análisis y <strong>de</strong> co<strong>la</strong>boración), <strong>de</strong>finir los<br />
subsistemas <strong>de</strong> análisis, id<strong>en</strong>tificar los elem<strong>en</strong>tos significativos <strong>de</strong> <strong>la</strong> arquitectura,<br />
<strong>de</strong>tal<strong>la</strong>r el funcionami<strong>en</strong>to <strong>de</strong> los Casos <strong>de</strong> Uso a través <strong>de</strong> c<strong>la</strong>ses <strong>de</strong> diseño y sus<br />
<strong>de</strong>p<strong>en</strong>d<strong>en</strong>cias.<br />
Las preguntas a resolver son: ¿Cuál es <strong>la</strong> mejor forma <strong>de</strong> implem<strong>en</strong>tar el proceso<br />
<strong>de</strong>l negocio? ¿Cuáles son los elem<strong>en</strong>tos principales <strong>de</strong>l proceso? ¿Cuáles pasos se<br />
pued<strong>en</strong> ahorrar para llegar a un resultado? ¿Cuál es el mecanismo establecido para que<br />
trabaj<strong>en</strong> juntos? ¿Cuáles serán <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s principales que <strong>de</strong>bo contemp<strong>la</strong>r y sus<br />
atributos? ¿Cómo construir <strong>la</strong> funcionalidad a implem<strong>en</strong>tar? ¿Qué tipo <strong>de</strong> elem<strong>en</strong>tos<br />
serían reutilizables? ¿En qué forma puedo agrupar <strong>la</strong>s funcionalida<strong>de</strong>s?<br />
El proyecto SIGC3 contemp<strong>la</strong> <strong>la</strong> funcionalidad <strong>de</strong> ser multip<strong>la</strong>taforma, por lo cual<br />
<strong>en</strong> <strong>la</strong> fase <strong>de</strong> diseño no es <strong>de</strong> vital importancia conocer el Sistema Operativo bajo el<br />
cual vivirá <strong>la</strong> aplicación ni <strong>la</strong> base <strong>de</strong> datos <strong>en</strong> dón<strong>de</strong> se alojarán los datos <strong>de</strong> <strong>la</strong> misma.<br />
Como resultado se obti<strong>en</strong><strong>en</strong> el mo<strong>de</strong>lo <strong>de</strong> análisis, el mo<strong>de</strong>lo <strong>de</strong> diseño y el mo<strong>de</strong>lo<br />
<strong>de</strong> <strong>de</strong>spliegue.
2.3. G<strong>en</strong>eración y administración <strong>de</strong> un p<strong>la</strong>n.<br />
A través <strong>de</strong> un p<strong>la</strong>n g<strong>en</strong>eral <strong>de</strong>l sistema se esquematiza el proyecto, se establec<strong>en</strong> los<br />
recursos requeridos y se le da seguimi<strong>en</strong>to a su progreso. Pued<strong>en</strong> establecerse<br />
difer<strong>en</strong>tes tipos <strong>de</strong> p<strong>la</strong>nes <strong>en</strong> etapas distintas <strong>de</strong>l proyecto como por ejemplo: p<strong>la</strong>n <strong>de</strong><br />
construcción, p<strong>la</strong>n <strong>de</strong> pruebas, p<strong>la</strong>n <strong>de</strong> aceptación <strong>de</strong>l producto. En este caso lo<br />
importante no es e<strong>la</strong>borar el p<strong>la</strong>n sino llevar a cabo su ejecución y control. Previ<strong>en</strong>do<br />
posibles <strong>de</strong>sviaciones y actuando oportunam<strong>en</strong>te al respecto.<br />
2.4. E<strong>la</strong>boración y prueba <strong>de</strong>l sistema<br />
Los objetivos <strong>en</strong> este aspecto son: implem<strong>en</strong>tar los elem<strong>en</strong>tos <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> diseño,<br />
g<strong>en</strong>erar un p<strong>la</strong>n <strong>de</strong> integración y p<strong>la</strong>nificar, diseñar e implem<strong>en</strong>tar pruebas. Uno <strong>de</strong> los<br />
puntos principales es <strong>la</strong> g<strong>en</strong>eración increm<strong>en</strong>tal <strong>de</strong> código, conformando los<br />
compon<strong>en</strong>tes <strong>de</strong>l sistema y verificando que se alcanc<strong>en</strong> los requerimi<strong>en</strong>tos o<br />
funcionalida<strong>de</strong>s previam<strong>en</strong>te establecidas.<br />
Los mo<strong>de</strong>los obt<strong>en</strong>idos como resultado son: el mo<strong>de</strong>lo <strong>de</strong> implem<strong>en</strong>tación<br />
(compon<strong>en</strong>tes, subsistemas, p<strong>la</strong>n <strong>de</strong> integración) y el mo<strong>de</strong>lo <strong>de</strong> pruebas (caso <strong>de</strong><br />
prueba, compon<strong>en</strong>te <strong>de</strong> prueba, procedimi<strong>en</strong>to <strong>de</strong> prueba, registro <strong>de</strong> <strong>de</strong>fectos).<br />
Las pruebas <strong>de</strong> r<strong>en</strong>dimi<strong>en</strong>to fung<strong>en</strong> como uno <strong>de</strong> los elem<strong>en</strong>tos principales <strong>en</strong> esta<br />
categoría puesto que es <strong>de</strong> vital importancia conocer los límites <strong>de</strong> <strong>de</strong>sempeño <strong>de</strong> los<br />
módulos <strong>de</strong>l proyecto SIGC3. Los aspectos a consi<strong>de</strong>rar son: ¿Cuáles son los recursos<br />
necesarios? ¿Cuántas solicitu<strong>de</strong>s pue<strong>de</strong> procesar <strong>en</strong> cuánto tiempo?, si hay mucha<br />
<strong>de</strong>manda, ¿Cómo <strong>de</strong>be proce<strong>de</strong>r? ¿Cuál es el mayor tiempo <strong>de</strong> respuesta?. Lo<br />
anteriorm<strong>en</strong>te <strong>de</strong>scrito permite contemp<strong>la</strong>r un panorama sobre el comportami<strong>en</strong>to <strong>de</strong>l<br />
sistema y tomar acciones para que este sea óptimo.<br />
Las pruebas <strong>de</strong> usabilidad <strong>de</strong> igual forma son una parte importante ya que el<br />
publico objetivo a qui<strong>en</strong> están dirigidos algunos <strong>de</strong> los módulos <strong>de</strong> SIGC3 cu<strong>en</strong>ta con<br />
una formación informática mínima por lo que los aspectos: intuitivo <strong>en</strong> su uso, fácil <strong>de</strong><br />
recordar y baja incid<strong>en</strong>cia <strong>de</strong> errores cobran una especial relevancia.<br />
2.5. Control y administración <strong>de</strong> cambios<br />
Una vez <strong>de</strong>limitados los alcances <strong>de</strong> <strong>la</strong> primera versión <strong>de</strong>l sistema, se <strong>de</strong>be proce<strong>de</strong>r a<br />
establecer c<strong>la</strong>ram<strong>en</strong>te bajo que condiciones una solicitud <strong>de</strong> cambio o ext<strong>en</strong>sión pue<strong>de</strong><br />
ser aprobada. Puesto que se contemp<strong>la</strong> el diseño <strong>de</strong>l proyecto SIGC3 como un sistema<br />
flexible y multip<strong>la</strong>taforma, si un cambio no afecta significativam<strong>en</strong>te el esquema bajo<br />
el cual se rige toda <strong>la</strong> arquitectura <strong>de</strong>l sistema <strong>en</strong>tonces ti<strong>en</strong>e una alta probabilidad <strong>de</strong><br />
ser aprobado.
2.6. Soporte a usuario final<br />
El objetivo principal <strong>en</strong> este caso es g<strong>en</strong>erar <strong>la</strong> docum<strong>en</strong>tación <strong>de</strong> soporte necesaria<br />
para que el usuario pueda operar y mant<strong>en</strong>er el sistema.<br />
Adicionalm<strong>en</strong>te <strong>de</strong>be g<strong>en</strong>erarse <strong>la</strong> docum<strong>en</strong>tación técnica y el repositorio <strong>de</strong> datos<br />
que permitan retomar el sistema y proponer <strong>la</strong> ext<strong>en</strong>sión <strong>de</strong> sus funcionalida<strong>de</strong>s o <strong>la</strong><br />
reutilización <strong>de</strong> los compon<strong>en</strong>tes <strong>de</strong> propósito g<strong>en</strong>eral.<br />
La e<strong>la</strong>boración <strong>de</strong> <strong>la</strong> docum<strong>en</strong>tación <strong>en</strong> <strong>la</strong>s fases <strong>de</strong> análisis, diseño,<br />
implem<strong>en</strong>tación y pruebas le permitirán al usuario <strong>en</strong>cargado <strong>de</strong> llevar el<br />
mant<strong>en</strong>imi<strong>en</strong>to y administración <strong>de</strong> <strong>la</strong>s diversas aplicaciones un mejor control <strong>de</strong> <strong>la</strong>s<br />
mismas. Con <strong>la</strong> aplicación <strong>de</strong> <strong>la</strong> metodología PUDS el usuario que posea <strong>la</strong><br />
docum<strong>en</strong>tación <strong>de</strong>l proyecto será capaz <strong>de</strong> realizar los cambios que consi<strong>de</strong>re<br />
necesarios, así como corregir posibles <strong>de</strong>fectos.<br />
3. Resultados obt<strong>en</strong>idos<br />
Los resultados obt<strong>en</strong>idos seis meses <strong>de</strong>spués <strong>de</strong> poner <strong>en</strong> operación los aspectos<br />
seña<strong>la</strong>dos <strong>en</strong> <strong>la</strong> sección anterior se pres<strong>en</strong>tan a continuación, <strong>en</strong> <strong>la</strong> Tab<strong>la</strong> 1 se<br />
puntualizan <strong>la</strong>s activida<strong>de</strong>s adicionadas aplicadas a SIGC3 y <strong>en</strong> <strong>la</strong> Tab<strong>la</strong> 2 se pres<strong>en</strong>ta<br />
una lista <strong>de</strong> <strong>la</strong>s v<strong>en</strong>tajas o <strong>de</strong>sv<strong>en</strong>tajas observadas.<br />
Tab<strong>la</strong> 1. Activida<strong>de</strong>s adicionales pres<strong>en</strong>tes <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> SIGC3<br />
Artefacto al que se aplico<br />
Activida<strong>de</strong>s <strong>en</strong> SIGC3<br />
Mo<strong>de</strong>lo <strong>de</strong> negocio y <strong>de</strong> dominio<br />
Lista <strong>de</strong> características<br />
• Definición <strong>de</strong> un público objetivo y sus<br />
características<br />
• Análisis <strong>de</strong> opciones disponibles <strong>en</strong> el<br />
Mo<strong>de</strong>lo <strong>de</strong> casos <strong>de</strong> uso<br />
Mo<strong>de</strong>lo <strong>de</strong> análisis<br />
mercado con objetivos semejantes.<br />
• G<strong>en</strong>eración <strong>de</strong> un mapa <strong>de</strong> navegación<br />
• Id<strong>en</strong>tificación <strong>de</strong> <strong>de</strong>p<strong>en</strong>d<strong>en</strong>cias <strong>en</strong>tre<br />
diagramas (subdiagramas)<br />
Mo<strong>de</strong>lo <strong>de</strong> diseño • Específicam<strong>en</strong>te <strong>en</strong> el diagrama <strong>de</strong> capas <strong>de</strong><br />
diseño, g<strong>en</strong>eralización <strong>de</strong> <strong>la</strong> capa <strong>de</strong> soporte<br />
Mo<strong>de</strong>lo <strong>de</strong> implem<strong>en</strong>tación • G<strong>en</strong>eración <strong>de</strong> diagrama <strong>de</strong> compon<strong>en</strong>tes a<br />
nivel g<strong>en</strong>eral y especifico<br />
• Evaluación, selección e integración <strong>de</strong><br />
compon<strong>en</strong>tes mid<strong>de</strong>lware op<strong>en</strong>-source.<br />
Tab<strong>la</strong> 2. V<strong>en</strong>tajas / Desv<strong>en</strong>tajas observadas <strong>en</strong> <strong>la</strong> aplicación <strong>de</strong> PUDS<br />
V<strong>en</strong>tajas<br />
1. Id<strong>en</strong>tificación precisa <strong>de</strong> funcionalida<strong>de</strong>s o alcances <strong>de</strong>l sistema sobre el que se trabaja.<br />
2. Lista “parcial” <strong>de</strong> compon<strong>en</strong>tes necesarios para cubrir <strong>la</strong>s funcionalida<strong>de</strong>s m<strong>en</strong>cionadas.
3. Definición precisa <strong>de</strong>l avance logrado a una fecha <strong>de</strong>terminada<br />
4. Registro <strong>de</strong>tal<strong>la</strong>do <strong>de</strong> costos y tiempos por actividad.<br />
5. Id<strong>en</strong>tificación <strong>de</strong> elem<strong>en</strong>tos reutilizables<br />
6. Robustez <strong>de</strong> <strong>la</strong> aplicación<br />
7. Docum<strong>en</strong>tación <strong>de</strong>l proceso <strong>de</strong> construcción <strong>de</strong> cada módulo<br />
8. Implem<strong>en</strong>tación <strong>de</strong> una base sólida basada <strong>en</strong> estándares sobre <strong>la</strong> cual <strong>de</strong>scansa el<br />
proyecto SIGC3.<br />
9. El mo<strong>de</strong>lo <strong>de</strong> casos <strong>de</strong> uso resulto particu<strong>la</strong>rm<strong>en</strong>te efectivo para establecer comunicación<br />
con el usuario final.<br />
Desv<strong>en</strong>tajas<br />
1. En una primera iteración, el mo<strong>de</strong>lo <strong>de</strong> implem<strong>en</strong>tación ti<strong>en</strong><strong>de</strong> a separarse <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong><br />
diseño, cuando el equipo <strong>de</strong> <strong>de</strong>sarrollo utiliza herrami<strong>en</strong>tas nuevas.<br />
2. G<strong>en</strong>eralm<strong>en</strong>te no se dispone <strong>de</strong> tiempo sufici<strong>en</strong>te para realizar mas <strong>de</strong> dos iteraciones<br />
3. Fue necesario invertir tiempo <strong>en</strong> capacitación sobre <strong>la</strong> metodología.<br />
4. Conclusiones.<br />
Los elem<strong>en</strong>tos <strong>de</strong> PUDS llevados a <strong>la</strong> práctica han permitido obt<strong>en</strong>er resultados<br />
tangibles y por tanto cuantificables <strong>en</strong> todas <strong>la</strong>s fases <strong>de</strong>l proceso <strong>de</strong> <strong>de</strong>sarrollo, a<strong>de</strong>más<br />
<strong>de</strong> ayudar a medir <strong>la</strong> efectividad <strong>de</strong>l producto final (código y/o compon<strong>en</strong>tes),<br />
contribuy<strong>en</strong>do a asegurar <strong>la</strong> calidad. Aunque no se ha aplicado <strong>en</strong> forma exhaustiva<br />
esperamos mejorar <strong>la</strong> efectividad <strong>en</strong> su uso y obt<strong>en</strong>er <strong>de</strong> esta forma el máximo<br />
provecho posible.<br />
Entre los aspectos id<strong>en</strong>tificados para mejorar sustancialm<strong>en</strong>te el proceso <strong>de</strong><br />
<strong>de</strong>sarrollo están:<br />
• La administración <strong>de</strong> procesos especificando<br />
o El flujo <strong>de</strong> control para cambios o ext<strong>en</strong>siones <strong>en</strong> los productos<br />
o Estableci<strong>en</strong>do los canales <strong>de</strong> comunicación que permitan involucrar<br />
<strong>de</strong> manera a<strong>de</strong>cuada a los integrantes <strong>de</strong>l grupo <strong>de</strong> <strong>de</strong>sarrollo<br />
• La p<strong>la</strong>nificación y ejecución <strong>de</strong> pruebas, <strong>en</strong> especial <strong>de</strong> pruebas <strong>de</strong> regresión.<br />
Refer<strong>en</strong>cias<br />
[1] I. Jacobson, G. Booch,, J. Rumbaugh, El Proceso Unificado <strong>de</strong> Desarrollo <strong>de</strong> Software,<br />
Addison Wesley, 2000. ISBN 84-7829-036-2<br />
[2] Scout W.Ambler, The Elem<strong>en</strong>ts of UML Style. Cambridge University Press 2003, ISBN 0<br />
521 52547<br />
[3] Leslee Probasco, The t<strong>en</strong> ess<strong>en</strong>tials of RUP. The ess<strong>en</strong>ce of an effective <strong>de</strong>velopm<strong>en</strong>t<br />
Process. Rational Software White Paper 2000.<br />
http://www-106.ibm.com/<strong>de</strong>veloperworks/rational/library/cont<strong>en</strong>t/RationalEdge/<strong>de</strong>c00
Problemas <strong>de</strong> <strong>la</strong> optimización<br />
<strong>en</strong> <strong>la</strong> computación parale<strong>la</strong><br />
Andrei Tchernykh<br />
K<strong>la</strong>us Ecker<br />
(Editores)
Introduction<br />
The papers in this chapter cover the areas of parallel and distributed computation,<br />
high-performance computing, parallel software methodologies, programming <strong>la</strong>nguages,<br />
resource managem<strong>en</strong>t and scheduling, real-time systems, cluster and GRID<br />
computing.<br />
The purpose of the workshop is to provi<strong>de</strong> an op<strong>en</strong> forum for the parallel computing<br />
and scheduling research communities to <strong>de</strong>bate key issues of common interest, to<br />
give an overview of new <strong>de</strong>velopm<strong>en</strong>ts, applications, and tr<strong>en</strong>ds in parallel computing<br />
technologies, and to further the state of the art in parallel cluster and GRID computation.<br />
Participants from France, Germany, Mexico, Po<strong>la</strong>nd, Russia, and USA pres<strong>en</strong>ted<br />
unpublished results of their research.<br />
We want to thank the persons whose active and steady work ma<strong>de</strong> the workshop<br />
possible and contributed to its success. In particu<strong>la</strong>r, we would like to thank to the<br />
members of the program committee for their useful suggestions regarding the workshop<br />
ori<strong>en</strong>tation and organization. Special thanks are giv<strong>en</strong> to the referees for their<br />
meticulous reading and evaluation of the submissions, and their valuable suggestions<br />
for the authors. We also gratefully emphasize the assistance of local organizers, secretaries,<br />
and stud<strong>en</strong>ts. Their valuable help provi<strong>de</strong>d the success of the workshop.
Sci<strong>en</strong>tific Committee<br />
Co-Presid<strong>en</strong>ts:<br />
Andrei Tchernykh, CICESE, Ens<strong>en</strong>ada, Mexico, chernykh@cicese.mx<br />
K<strong>la</strong>us Ecker, TUC, C<strong>la</strong>usthal, Germany, ecker@in.tu-c<strong>la</strong>usthal.<strong>de</strong><br />
D<strong>en</strong>is Trystram, Inst. of Inform. and Appl. Math., Gr<strong>en</strong>oble, France, trystram@imag.fr<br />
Dr. Andrei Tchernykh, CICESE, Ens<strong>en</strong>ada, México, chernykh@cicese.mx<br />
Dr. K<strong>la</strong>us Ecker, TUC, C<strong>la</strong>usthal, Germany, ecker@in.tu-c<strong>la</strong>usthal.<strong>de</strong><br />
Bruno Raffin, INRIA, Gr<strong>en</strong>oble, France raffin@imag.fr<br />
Victor Ivannikov, Inst. for System Programming, Moscow, Russia, ivan@ispras.ru<br />
Jacek B<strong>la</strong>zewicz, Inst. of Informatics, Politechnika Poznanska, Poznan, Po<strong>la</strong>nd,<br />
b<strong>la</strong>zewic@sol.put.poznan.pl<br />
Special thanks to:<br />
Juan Manuel Ramirez, Universidad <strong>de</strong> Colima, jmramir@ucol.mx<br />
Sonia I. Serrano Barreda, Universidad <strong>de</strong> Colima, sonser@ucol.mx
A X Window Proxy Server for Disp<strong>la</strong>y Wall<br />
Jesus Alberto Verduzco and Bruno Raffin<br />
Laboratoire Informatique et Distribution<br />
Project APACHE ID-IMAG CNRS - INPG - INRIA - UJF<br />
Gr<strong>en</strong>oble, France<br />
Jesus.Verduzco@imag.fr, Bruno.Raffin@imag.fr<br />
Abstract. The necessity to have a surface of visualization of greater<br />
resolution than the one provi<strong>de</strong>d by a single monitor becomes evid<strong>en</strong>t<br />
wh<strong>en</strong> users interact with applications that g<strong>en</strong>erate significant amounts<br />
of graphics data, like sci<strong>en</strong>tific data visualization, virtual reality sc<strong>en</strong>es,<br />
<strong>en</strong>gineering <strong>de</strong>sign, financial graphics analysis, etc. This paper <strong>de</strong>scribes<br />
the first phase of the <strong>de</strong>sign and the implem<strong>en</strong>tation of a proxy server<br />
for the X Window server. The goal is to <strong>en</strong>able the execution of X applications,<br />
without co<strong>de</strong> modification or recompi<strong>la</strong>tion on a <strong>la</strong>rge surface<br />
ma<strong>de</strong> of multiple scre<strong>en</strong>s or vi<strong>de</strong>o-projectors. The proxy distributes the<br />
drawing requests of a cli<strong>en</strong>t towards a set of servers that cooperate to<br />
construct a unique and high resolution image.<br />
1 Introduction<br />
Over the <strong>la</strong>st 10 years the performance and capacity of most of the compon<strong>en</strong>ts of<br />
computers have dramatically improved. However the disp<strong>la</strong>y resolution and size<br />
have slowly evolved. The interest to increase to the dim<strong>en</strong>sions and resolution<br />
of the visualization surface has be<strong>en</strong> pres<strong>en</strong>t in these rec<strong>en</strong>t years. Motivated<br />
without a doubt by the popu<strong>la</strong>rization of applications that require to disp<strong>la</strong>y<br />
<strong>la</strong>rge amounts of graphical data. Today, a common approach to increase the size<br />
and the resolution of the visualization surface consists in tiling several scre<strong>en</strong>s or<br />
projectors to build a single <strong>la</strong>rge and high resolution image. These systems are<br />
called disp<strong>la</strong>y walls. Such disp<strong>la</strong>y wall are usually driv<strong>en</strong> by a PC cluster, each<br />
PC controlling one or few vi<strong>de</strong>o-projectors. Figure 1 shows a disp<strong>la</strong>y wall of four<br />
individual surfaces (called tiled). Each no<strong>de</strong> of the cluster is responsible to g<strong>en</strong>erate<br />
the image corresponding to its tile and the communication network is used to<br />
transfer data betwe<strong>en</strong> these no<strong>de</strong>s to keep the images synchronized. Interactions<br />
use a keyboard and mouse or other input <strong>de</strong>vices like 3D wands, 3D tracker,<br />
etc. There exist several rec<strong>en</strong>t projects of disp<strong>la</strong>y walls like the Sca<strong>la</strong>ble Disp<strong>la</strong>y<br />
Wall [10] at the Princeton University [13], the Infinite Wall at the University<br />
of Illinois at Chicago [8], the Office of the future [15] at UNC, the Information<br />
Mural at Stanford [11], the Power Wall at the University of Minnesota [9]. Traditionally,<br />
visualization int<strong>en</strong>sive applications use <strong>de</strong>dicated parallel computers<br />
like SGI-Onyx. The increase of performance and low cost of PCs turned the PC<br />
cluster into a viable alternative for such applications. Actually, most of disp<strong>la</strong>y
walls are driv<strong>en</strong> by PC clusters.<br />
The research effort have be<strong>en</strong> focused on <strong>de</strong>veloping software solutions to run<br />
3D applications on PC cluster and disp<strong>la</strong>y walls [7,6, 12]. Fewer works were<br />
<strong>de</strong>dicated to run c<strong>la</strong>ssical 2D applications on a PC cluster and disp<strong>la</strong>y wall. Two<br />
projects, VNCwall [1] and Distributed multihead X [2], address this problem<br />
and propose each one its own approach. VNCwall is an ext<strong>en</strong>sion of the software<br />
called VNC (Virtual Network Computing)[17]. VNC is aimed at disp<strong>la</strong>ying an<br />
application on a remote machine, taking advantage of a pixel level compatibility.<br />
The application first s<strong>en</strong>ds graphics or<strong>de</strong>rs to a VNC server that computes<br />
the image in a shadow frame buffer. Next, this image is s<strong>en</strong>t for disp<strong>la</strong>y to a<br />
VNC viewer running on a remote machine. VNCwall ext<strong>en</strong>ds this principle by<br />
computing the full image on a modified VNC server that next splits this image<br />
in tiles and distribute them to the differ<strong>en</strong>t no<strong>de</strong>s of the disp<strong>la</strong>y wall. The r<strong>en</strong><strong>de</strong>ring<br />
effort is them conc<strong>en</strong>trated on the VNC server and the amount of data<br />
(the pixels) to s<strong>en</strong>d to the viewers is important. On the other hand, Xdmx is<br />
based on the X Window system and two ext<strong>en</strong>sions, Xnest [4] and Xinerama<br />
[3]. A front-<strong>en</strong>d server appears to the applications like a c<strong>la</strong>ssical X server, while<br />
this server appears to each no<strong>de</strong> of the disp<strong>la</strong>y wall (back<strong>en</strong>d no<strong>de</strong>s) like a single<br />
cli<strong>en</strong>t nesting a complete X server using Xnest. Although it is a functional system<br />
in constant improvem<strong>en</strong>t, his performance <strong>de</strong>p<strong>en</strong>ds on Xinerama. In Xinerama<br />
most of the operations on the graphics applications are carried out with copy<br />
and paste operations. This produces performance troubles with applications that<br />
g<strong>en</strong>erate graphics int<strong>en</strong>sively. Our goal is to provi<strong>de</strong> a software solution that allows<br />
the applications based on the X Window system to be disp<strong>la</strong>yed on the<br />
disp<strong>la</strong>y wall surface without any co<strong>de</strong> modification or relinking. Our solution<br />
differs from previous works in that it uses a differ<strong>en</strong>t approach to process and<br />
distributed the graphics primitives than Xdmx and VNCwall. Our sofware is<br />
light and un<strong>de</strong>r certain operating conditions we won in performance. This paper<br />
is organized as follow. In section 2, we briefly pres<strong>en</strong>t the X Window system and<br />
Xinerama. In section 3 we analyze Xdmx and VNCwall. In the section 4 we <strong>de</strong>scribed<br />
our solution. Finally in the sections 5 and 6 we discusse the preliminary<br />
results before to establish our conclusions.<br />
2 Background<br />
This section introduces the g<strong>en</strong>eral concepts used throughout this docum<strong>en</strong>t.<br />
2.1 X Window<br />
The X Window system [16] (commonly called X) is a server of windows that<br />
constructs the graphics of the X applications and manages the interaction of<br />
the user by means of a keyboard and mouse. X uses the cli<strong>en</strong>t/server mo<strong>de</strong>l.<br />
The application of the user repres<strong>en</strong>ts the cli<strong>en</strong>t (called X cli<strong>en</strong>t) that s<strong>en</strong>ds<br />
messages (x11 messages) that contains drawing request. The server acts as an<br />
intermediary betwe<strong>en</strong> cli<strong>en</strong>t and the graphics resources of the local machine
Visualization Surface.<br />
Vi<strong>de</strong>o-projectors. Vi<strong>de</strong>o-projectors.<br />
R<strong>en</strong><strong>de</strong>r No<strong>de</strong><br />
Graphics Channels.<br />
Tiled 1 Tiled 2<br />
Tiled 3 Tiled 4<br />
Graphics Channels.<br />
Interaction No<strong>de</strong>.<br />
Data Networks.<br />
Keyboard.<br />
Mouse.<br />
Fig.1. Architecture of a Disp<strong>la</strong>y Wall.<br />
where it is executed. In or<strong>de</strong>r to carry out the construction of the cli<strong>en</strong>t image<br />
in the monitor, the X server processes the drawing request by means of a set of<br />
functions that writes in vi<strong>de</strong>o memory (framebuffer) of the graphics card. The<br />
interactions of the user by means of the mouse and the keyboard are received<br />
in form of ev<strong>en</strong>ts by the server and s<strong>en</strong>t towards the cli<strong>en</strong>t, who processes them<br />
and returns the result to the server again. The communication betwe<strong>en</strong> cli<strong>en</strong>t<br />
and server is normalized betwe<strong>en</strong> both parts by means of the X protocol. The<br />
X server support mechanisms to save offscre<strong>en</strong> images used wh<strong>en</strong> fractions of<br />
the windows are hidd<strong>en</strong>, for example the regions that are not disp<strong>la</strong>yed in the<br />
monitor are eliminated by a clipping mechanism.<br />
2.2 Xinerama<br />
Xinerama is an ext<strong>en</strong>sion of X. By means of Xinerama an instance of X in execution<br />
on one machine is able to manage a set of graphics cards and monitors<br />
like a single one and to make avai<strong>la</strong>ble for the X cli<strong>en</strong>ts a <strong>la</strong>rge surface of visualization.<br />
To reach its objective, Xinerama intercepts and breaks up drawing<br />
requests and after repackage them for s<strong>en</strong>ding for each scre<strong>en</strong>. An important<br />
problem in Xinerama is the limited number of graphics cards that can be installed<br />
in a PC (just one for AGP graphics cards). Another drawback is that<br />
the processing is supported by a single machine so that there is an important<br />
overload and a gradual <strong>de</strong>crease of performance if the size of the visualization<br />
surface is increased.<br />
3 Re<strong>la</strong>ted Work<br />
This section analyzes the works re<strong>la</strong>ted to our project.
3.1 VNCwall<br />
VNCwall is a solution that allows applications based on X to use the visualization<br />
surface of disp<strong>la</strong>y wall. VNCwall is based on VNC. There are three compon<strong>en</strong>ts<br />
in VNC:<br />
– The Server is a version of the X Window server called Xvnc [5] that r<strong>en</strong><strong>de</strong>ring<br />
graphics in main memory (called shadow frame buffer).<br />
– The Viewer is the interaction point in front of the user. It disp<strong>la</strong>ys the application<br />
graphics and allows the user interactions by means of the keyboard<br />
and mouse.<br />
– The Protocol RFB is a mechanism for remote access to graphical user interfaces<br />
that allows to transmit groups of pixels betwe<strong>en</strong> server and viewer.<br />
As betwe<strong>en</strong> server and viewer only pixels are transmitted, this approach has<br />
some advantages like portability (VNC supports X11, Window and Macintosh<br />
and run on the wi<strong>de</strong> range of hardware). Having a viewer specific to a graphicsprocessing<br />
<strong>en</strong>vironm<strong>en</strong>t, an application can use the VNC server to r<strong>en</strong><strong>de</strong>r and<br />
disp<strong>la</strong>y its graphics. Another important issue is that the shadow frame buffer<br />
grows in a proportional way to the size of the scre<strong>en</strong> used by the viewer, so that<br />
this increases the memory consumption in the PC where the server is executed. A<br />
third problem is the network bandwidth consumed by the transfer of important<br />
amounts of pixels betwe<strong>en</strong> server and viewer, although compression and caching<br />
techniques are used. This problem becomes serious wh<strong>en</strong> there is a cli<strong>en</strong>t that<br />
modifies in an int<strong>en</strong>sive way their graphics leading to an increase in the exchange<br />
of pixels betwe<strong>en</strong> viewer and server, diminishing the effici<strong>en</strong>cy of the protocol<br />
RFB.<br />
3.2 Xdmx<br />
Distributed multihead X is a solution that allows to distribute a <strong>de</strong>sktop of<br />
the master X Window server (called front-<strong>en</strong>d server) betwe<strong>en</strong> a set of s<strong>la</strong>ve<br />
X Window servers (called back<strong>en</strong>d servers). A X cli<strong>en</strong>t using Xdmx is able to<br />
disp<strong>la</strong>y their graphics on a disp<strong>la</strong>y wall.<br />
This project is based mainly on Xinerama and Xnest. Xnest is an ext<strong>en</strong>sion<br />
of the X server that works like a proxy server. A proxy server is a process that<br />
takes advantage of the cli<strong>en</strong>t/server X window architecture installed betwe<strong>en</strong><br />
the cli<strong>en</strong>t and the server. It intercepts, modifies, discards or redirects the X11<br />
messages.<br />
In Xdmx, a single X server works like a proxy server connected to a set of<br />
back-<strong>en</strong>d X servers. The request from cli<strong>en</strong>ts are accepted by the front-server.<br />
R<strong>en</strong><strong>de</strong>ring is performed by the back-<strong>en</strong>d servers.<br />
Once a request is received from the front-<strong>en</strong>d, it uses the Xinerama functionalities<br />
to process and distribute the cli<strong>en</strong>t request to the back<strong>en</strong>d servers.<br />
A problem in Xdmx is that the front-<strong>en</strong>d is a complete server. Its instal<strong>la</strong>tion,<br />
compi<strong>la</strong>tion and modification is a difficult process.
4 Proxy Server Overview<br />
In this section we <strong>de</strong>scribe our approach. To distribute the disp<strong>la</strong>y of a single X<br />
Window server, <strong>en</strong>able the request processing and disp<strong>la</strong>y the X cli<strong>en</strong>t graphics<br />
by a multiple servers. The X11 messages need to be transmitted towards each<br />
server. In the same way the messages g<strong>en</strong>erated from the user actions on the<br />
keyboard and mouse in the interaction servers must be recovered and directed<br />
to the cli<strong>en</strong>t.<br />
4.1 Software Architecture<br />
In this section, we <strong>de</strong>scribe the composant that we <strong>de</strong>veloped.<br />
Virtual Disp<strong>la</strong>y During the initial phase of execution, the proxy must consi<strong>de</strong>r<br />
the set of scre<strong>en</strong>s of the r<strong>en</strong><strong>de</strong>ring servers like a global single graphics surface<br />
(we call it virtual disp<strong>la</strong>y). To construct the virtual disp<strong>la</strong>y, the proxy s<strong>en</strong>ds<br />
requests to the r<strong>en</strong><strong>de</strong>ring servers to recover the graphics disp<strong>la</strong>y characteristics.<br />
The disp<strong>la</strong>y size is the main information used by the proxy to <strong>de</strong>fine the size<br />
of the virtual disp<strong>la</strong>y. Wh<strong>en</strong> a cli<strong>en</strong>t s<strong>en</strong>ds an initial connection request to the<br />
proxy, this one returns the data that <strong>de</strong>scribes the graphics characteristics of<br />
the virtual disp<strong>la</strong>y. Using this information the cli<strong>en</strong>t can begin to s<strong>en</strong>d requests<br />
adapted to the resolution of the virtual disp<strong>la</strong>y.<br />
X Request Processing This functionality takes advantage of the proxy to<br />
intercept, modify and distribute the cli<strong>en</strong>t requests.<br />
– Request interception. It is carried out by the proxy that list<strong>en</strong> on a socket<br />
for the cli<strong>en</strong>t requests. Wh<strong>en</strong> the proxy receives a cli<strong>en</strong>t initial request, it<br />
creates a socket to communicate with the cli<strong>en</strong>t.<br />
– Request modification. Normally the requests s<strong>en</strong>t from the cli<strong>en</strong>t to the server<br />
are adapted to the graphics characteristics of the disp<strong>la</strong>y managed by this<br />
server. On the other hand, the server maintains structures that keep information<br />
about the id<strong>en</strong>tifiers of the resources created by the cli<strong>en</strong>t. In our<br />
<strong>de</strong>sign, a single cli<strong>en</strong>t maintains connections to a set of X servers using an<br />
intermediate process (the proxy). It is necessary that the proxy keeps the<br />
information from the resources created by the cli<strong>en</strong>t in each of the r<strong>en</strong><strong>de</strong>ring<br />
servers. Wh<strong>en</strong>ever the proxy s<strong>en</strong>ds a request it must adapt it to the corresponding<br />
server. Another c<strong>en</strong>tral problem is the adjustm<strong>en</strong>t of requests to<br />
the dim<strong>en</strong>sions of the virtual disp<strong>la</strong>y. A cli<strong>en</strong>t request contains the value of<br />
the coordinates of a point in the virtual disp<strong>la</strong>y. We applied a transformation<br />
function to <strong>de</strong>termine the corresponding coordinate into the coordinate<br />
system of each r<strong>en</strong><strong>de</strong>ring server. The clipping operation performed by each<br />
X r<strong>en</strong><strong>de</strong>ring server <strong>en</strong>sures that the windows image will be shown like a only<br />
piece on the virtual disp<strong>la</strong>y dim<strong>en</strong>sions.
– Request distribution. To s<strong>en</strong>d the cli<strong>en</strong>t request from the proxy to the set<br />
of r<strong>en</strong><strong>de</strong>ring servers, we consi<strong>de</strong>r two alternatives: We redirect the requests<br />
towards all r<strong>en</strong><strong>de</strong>ring servers or only towards the r<strong>en</strong><strong>de</strong>ring servers who will<br />
disp<strong>la</strong>y the graphics. In this first phase, we applied the first alternative because<br />
we consi<strong>de</strong>red that the user can move the graphics betwe<strong>en</strong> the scre<strong>en</strong><br />
of the r<strong>en</strong><strong>de</strong>ring servers. This user operation it causes the interchange of<br />
fractions of the graphics betwe<strong>en</strong> the r<strong>en</strong><strong>de</strong>ring servers like intermediary the<br />
proxy. Th<strong>en</strong> there is a communication cost implied by this operation. However<br />
with the applied procedure, each r<strong>en</strong><strong>de</strong>ring server locally has a copy of<br />
the cli<strong>en</strong>t graphics that can be disp<strong>la</strong>yed without perturbing the rest of the<br />
system. If a window image is disp<strong>la</strong>yed by two or more r<strong>en</strong><strong>de</strong>ring servers, the<br />
modification of the coordinates carried out by the proxy and the operation<br />
of clipping applied locally by each r<strong>en</strong><strong>de</strong>ring server allows to visualize the<br />
set of windows like a single image.<br />
5 Experim<strong>en</strong>tal Results<br />
To evaluate the performance of our implem<strong>en</strong>tation we used the x11perf [14]<br />
test suite. Our tests are performed on the GrImage p<strong>la</strong>tform located at the<br />
INRIA Rhône-Alpes. GrImage gathers 11 dual-Xeon 2.6 GHz PCs connected<br />
by a gigabit Ethernet network and a disp<strong>la</strong>y wall of 8 projectors. Four PCs are<br />
<strong>de</strong>dicated to r<strong>en</strong><strong>de</strong>ring, each one driving 2 projectors with a NVIDIA GeForce<br />
FX 5600 graphics board. The test application consists in applying two types of<br />
tests. It allows to evaluate the cost in request distribution, the request processing<br />
time by the proxy and the graphics r<strong>en</strong><strong>de</strong>ring time.<br />
– PutImage XY format 500x500 square. This test consists in cli<strong>en</strong>ts s<strong>en</strong>ding a<br />
request to disp<strong>la</strong>y an image of 500x500 pixels. This X11 request only transports<br />
pixels so that, its distribution towards the r<strong>en</strong><strong>de</strong>ring servers implies an<br />
important cost of communication.<br />
– Create child window and map using MapSubwindows. Using this test the<br />
cli<strong>en</strong>t s<strong>en</strong>ds the request that transports the graphics commands. Th<strong>en</strong> the<br />
cost of transport and process is less important so that the system performance<br />
is increased.<br />
Tests were performed with a varying number of cli<strong>en</strong>ts concurr<strong>en</strong>tly executing<br />
the b<strong>en</strong>chmark and a varying number of r<strong>en</strong><strong>de</strong>ring servers. All tests were<br />
performed in the same conditions with our approach and with Xdmx and the<br />
results are expressed in operations per second (ops).<br />
The results with the test Create child window and map using MapSubwindows<br />
(table 1) show that the proxy server is at most 41% slower that Xdmx,<br />
because Xdmx optimization mechanism s<strong>en</strong>d the graphics commands only towards<br />
the r<strong>en</strong><strong>de</strong>ring servers implied in its visualization, while the proxy server<br />
s<strong>en</strong>ds each one of them to the set of r<strong>en</strong><strong>de</strong>ring servers. Nevertheless if we increased<br />
the number of active cli<strong>en</strong>ts this perc<strong>en</strong>tage is reduced until 10%.
Table 1. B<strong>en</strong>chmark create and map window<br />
Xdmx<br />
Proxy Server<br />
1 Server 2 Servers 3 Servers 1 Server 2 Servers 3 Servers<br />
1 Cli<strong>en</strong>t 72,600 73,100 72,400 61,900 35,300 22,130<br />
5 Cli<strong>en</strong>ts 52,980 59,940 30,790 45,020 24,410 11,135<br />
10 Cli<strong>en</strong>ts 14,156 16,595 11,760 13,600 15,924 8,744<br />
Table 2. B<strong>en</strong>chmark putimage500.<br />
Xdmx<br />
Proxy Server<br />
1 Server 2 Servers 3 Servers 1 Server 2 Servers 3 Servers<br />
1 Cli<strong>en</strong>t 30 30 31 43 31 23<br />
5 Cli<strong>en</strong>ts 13 7 11 14 12 9<br />
10 Cli<strong>en</strong>ts 5 6 6 12 10 10<br />
The results wh<strong>en</strong> we applied the test PutImage XY (table 2) show that<br />
our system is 15% faster than the Xdmx.<br />
These results show that the proxy server provi<strong>de</strong>s an effici<strong>en</strong>t mechanism to<br />
process and to distribute the X11 request from the cli<strong>en</strong>ts X. Our software is<br />
light, and processing request that transports pixels (big request) and with many<br />
active cli<strong>en</strong>ts we reached equal performances to Xdmx<br />
6 Conclusion and Future Works<br />
In this paper we showed the first phase of the <strong>de</strong>velopm<strong>en</strong>t of a proxy server<br />
that receives request from cli<strong>en</strong>ts and distributes them towards a set of servers<br />
X Window. The goal is to <strong>en</strong>able the execution of unmodified X applications on<br />
a Disp<strong>la</strong>y wall driv<strong>en</strong> by a PC cluster.<br />
Using this implem<strong>en</strong>tation the user have a tool that disp<strong>la</strong>ys the application<br />
graphics on <strong>la</strong>rge surfaces, increasing the amount of information that can be<br />
perceived and improving the user interaction process. These functionalities are<br />
fundam<strong>en</strong>tal to facilitate the analysis of <strong>la</strong>rge data sets and sessions of cooperative<br />
work with multiple users.<br />
This goal of this first prototype was to validate the functionality of the proposed<br />
<strong>de</strong>sign. In this first stage we implem<strong>en</strong>ted the treatm<strong>en</strong>t of a small repres<strong>en</strong>tative<br />
subgroup of the X protocol requests. The results obtained are a strong<br />
motivation to finalize the implem<strong>en</strong>tation.<br />
Future works will focus on improving the performance and to add mechanisms<br />
of interaction adapted to the dim<strong>en</strong>sions of the visualization surface.
Refer<strong>en</strong>ces<br />
1. Disp<strong>la</strong>ywall in a box software. http://www.ncsa.uiuc.edu/TechFocus/Deploym<strong>en</strong>t<br />
/DBox/Doc/vnc.html.<br />
2. Distributed multihead x. http://sourceforge.net/projects/dmx/.<br />
3. Xinerama ext<strong>en</strong>sion to the x protocol. http://sourceforge.net/projects/xinerama/.<br />
4. Xnest - a nested x server. http://www.xfree86.org/curr<strong>en</strong>t/Xnest.1.html.<br />
5. Xvnc - an x server providing vnc connectivity.<br />
http://www.tightvnc.com/doc/man/Xvnc.1.html.<br />
6. J. Al<strong>la</strong>rd, V. Gouranton, L. Lecointre, E. Melin, and B. Raffin. Net juggler: Running<br />
vr juggler with multiple disp<strong>la</strong>ys on a commodity compon<strong>en</strong>t cluster. pages<br />
275–276, March 2002.<br />
7. P. Augerat, C. Gou<strong>de</strong>seune, H. Kaczmarski, B. Raffin, B. Schaeffer, L. Soares, and<br />
M. K. Zuffo. Commodity clusters for immersive projection <strong>en</strong>vironm<strong>en</strong>ts. Siggraph<br />
2002 Course, July 2002.<br />
8. C. Cruz-Neira, D. J. Sandin, and T. A. Defanti. Surround-scre<strong>en</strong> projection-based<br />
virtual reality: The <strong>de</strong>sign and implem<strong>en</strong>tation of the cave. volume 27, pages<br />
135–142, August 1993.<br />
9. P. W. et al. The power wall. Silicon Graphics Supercomputing ’94, pages 14–17,<br />
November 1994.<br />
10. M. Hereld, I. Judson, and R. Stev<strong>en</strong>s. Introduction to building projection-based<br />
tiled disp<strong>la</strong>y systems. volume 20, pages 22–28, July/August 2000.<br />
11. G. Humphrey and P. Hanrahan. A distributed graphics system for <strong>la</strong>rge tiled<br />
disp<strong>la</strong>ys. IEEE Visualization 99, pages 24–29, October 1999.<br />
12. G. Humphreys, M. Eldridge, I. Buck, G. Stoll, M. Everett, and P. Hanrahan.<br />
Wiregl: A sca<strong>la</strong>ble graphics system for clusters. In Proceedings of SIGGRAPH<br />
2001, 2001.<br />
13. K. Li, H. Ch<strong>en</strong>, Y. Ch<strong>en</strong>, D. W. C<strong>la</strong>rk, P. Cook, S. Damianakis, G. Essl, A. Finkelstein,<br />
T. Funkhouser, A. Klein, Z. Liu, E. Praun, R. Samanta, B. Shedd, J. P. Singh,<br />
G. Tzanetakis, and J. Zh<strong>en</strong>g. Early experi<strong>en</strong>ces and chall<strong>en</strong>ges in building and using<br />
a sca<strong>la</strong>ble disp<strong>la</strong>y wall system. IEEE Computer Graphics and Application,<br />
20:671–680, 2000.<br />
14. J. McCormack, P. Karlton, S. Angebranndt, C. K<strong>en</strong>t, K. Packard,<br />
and G. Gill. x11perf - x11 server performance test program.<br />
http://www.xfree86.org/4.2.0/x11perf.1.html.<br />
15. R. Raska, G. Welch, M. Cutts, A. Lake, L. Stesin, and H. Fuchs. The office of the<br />
future: A unified approach to image-based mo<strong>de</strong>ling. In SIGGRAPH 98, pages<br />
179–188, July 1998.<br />
16. R. W. Scheifler and J. Gettys. The x window system. ACM Transactions on<br />
Graphics, 5:79–109, 1986.<br />
17. K. W. A. H. T. Richardson, Q. Stafford-Fraser. Virtual network computing. 2,<br />
January/February 1998.
A polynomial approximation scheme for the<br />
1 | r j | L max scheduling problem with the<br />
guaranteed absolute error<br />
Alexan<strong>de</strong>r A. Lazarev and Rus<strong>la</strong>n R. Sadykov<br />
Kazan State University, Kremlevskaya Street 18, 420008 Kazan, Russia<br />
Alexandr.Lazarev@ksu.ru<br />
Abstract. We consi<strong>de</strong>r NP-hard in the strong s<strong>en</strong>se scheduling problem<br />
of minimizing maximum <strong>la</strong>t<strong>en</strong>ess on a single machine 1 | r j | L max . A<br />
polynomial approximation scheme has be<strong>en</strong> <strong>de</strong>veloped. This scheme is<br />
based on the reduction of an instance to a polynomially solvable special<br />
case of the problem. We obtained the value of the maximum absolute<br />
error of such approximate solution for the certain variants of the scheme.<br />
1 Introduction<br />
First, we <strong>de</strong>scribe the problem. A set of jobs N = {1, . . . , n} has to be processed<br />
on a single machine. The machine can only process one job at a time and preemptions<br />
are not allowed. Each job j ∈ N has a release date r j , a processing<br />
time p j and a due date d j .<br />
Let Π(N) be the set of all possible schedules which inclu<strong>de</strong> all the jobs from<br />
the set N. c j (π) is the completion time of job j in schedule π. The <strong>la</strong>t<strong>en</strong>ess L j (π)<br />
of job j in schedule π is the differ<strong>en</strong>ce betwe<strong>en</strong> the completion time of the job j<br />
and its due date: L j (π) = c j (π) − d j . The objective is to minimize the maximum<br />
<strong>la</strong>t<strong>en</strong>ess over all schedules in Π(N). Using standard scheduling notation [5], this<br />
problem is d<strong>en</strong>oted as 1 | r j | L max .<br />
The work on this problem began in the fifties in the <strong>la</strong>st c<strong>en</strong>tury. L<strong>en</strong>stra<br />
et al. [13] have showed that the g<strong>en</strong>eral case of the problem is N P-hard in<br />
the strong s<strong>en</strong>se. A number of polynomially solvable cases of the problem has<br />
be<strong>en</strong> established beginning from the early Jackson result [8] for the special case<br />
r j = 0, j ∈ N, wh<strong>en</strong> the EDD rule produces an optimal schedule. Special cases<br />
1 | prec; r j | C max and 1 | prec; p j = p; r j | L max and 1 | prec; r j ; pmtn | L max<br />
with preceding constraints have be<strong>en</strong> consi<strong>de</strong>red in the works by Lawler [10],<br />
Simons [18], Baker et al. [2], respectively. Hoogeve<strong>en</strong> [7] has suggested a polynomial<br />
algorithm for the special case of the problem, wh<strong>en</strong> the jobs satisfy to the<br />
condition d j − p j − β ≤ r j ≤ d j − β for some constant β. Another polynomially<br />
solvable case has be<strong>en</strong> found by Lazarev [11]. A pseudopolynomial algorithm for<br />
a N P-hard case of the problem (d 1 ≤ . . . ≤ d n and r 1 ≥ . . . ≥ r n ) has be<strong>en</strong><br />
<strong>de</strong>veloped by Lazarev and Shulgina [12].
Among the exact methods we can distinguish the Branch-and-Bound algorithm<br />
by Carlier [4]. This method is very good for solving the overwhelming majority<br />
of instances which one can <strong>en</strong>counter in practice. Earlier in the works [3,<br />
15, 9] other exact approaches for the problem have be<strong>en</strong> <strong>de</strong>scribed.<br />
In the literature one can find several approaches which can guarantee a certain<br />
re<strong>la</strong>tive error of the solution. Potts [17] has pres<strong>en</strong>ted an iterative version of<br />
the ext<strong>en</strong><strong>de</strong>d Jackson rule (IJ) and has proved that L max (IJ)/L ∗ max ≤ 3 2 . Hall<br />
and Shmoys [6] have modified the iterative version and have obtained the MIJ<br />
algorithm, which guarantees L max (MIJ)/L ∗ max ≤ 4 3<br />
. Also they have <strong>de</strong>scribed<br />
two polynomial time approximation schemes which gives a solution with a value<br />
within a factor of (1 + ε) for any giv<strong>en</strong> ε. The first algorithm has the complexity<br />
O(n log n + n(1/ε) O(1/ε2) ) and the running time of the second is O((n/ε) O(1/ε) ).<br />
Rec<strong>en</strong>tly Mastrolilli [14] has pres<strong>en</strong>ted improved ε-approximation scheme, whose<br />
running time is O(n + (1/ε) O(1/ε) ).<br />
There are a few polynomial algorithms which guarantee a certain absolute error<br />
of the solution. For example, the Schrage algorithm produces a solution with<br />
an absolute error which is not more than max j∈N p j . In this paper we pres<strong>en</strong>t<br />
another scheme to find an approximate <strong>de</strong>cision with a guaranteed absolute error.<br />
This scheme is based on the reduction of an instance to certain polynomially<br />
solvable case of the problem.<br />
The paper is organized as follows. In Section 2 we obtain the maximum<br />
absolute error of the optimal solution of the reduced instance for the initial<br />
instance of the problem. Section 3 pres<strong>en</strong>ts the scheme to find an approximate<br />
solution. Th<strong>en</strong> the variants of the scheme based on two polynomially solvable<br />
instances are consi<strong>de</strong>red. For these variants we express the maximum absolute<br />
error of an approximate solution only in the initial parameters of jobs. Finally,<br />
in Section 4 some conclusions are drawn.<br />
2 The absolute error of an approximate solution<br />
Without lost of g<strong>en</strong>erality we assume that d 1 ≤ d 2 ≤ . . . ≤ d n .<br />
Let L I max(π) and c I j (π) be, respectively, the maximum <strong>la</strong>t<strong>en</strong>ess of a schedule<br />
π ∈ Π(N) and the completion time of a job j ∈ N in a schedule π for a instance<br />
I with the parameters of jobs {rj I, pI j , dI j }.<br />
Consi<strong>de</strong>r two instances A and B of the problem . Let rj A = rB j and p A j = pB j ,<br />
j ∈ N. In other words, the instances only differ by due dates. Let π A and π B<br />
are optimal schedules for the instances A and B, respectively. The next lemma<br />
finds the maximal absolute error of the schedule π B for the instance A.<br />
Lemma 1. For the optimal schedules π A and π B the following holds:<br />
ρ d ≥ L A max(π B ) − L A max(π A ) ≥ 0, where<br />
ρ d = max<br />
j∈N {dA j<br />
− d B j } − min<br />
j∈N {dA j<br />
− d B j}.<br />
⊓⊔
Consi<strong>de</strong>r two instances X and Y of the problem with the parameters of jobs<br />
{rj X, p j, d X j } and {rY j = −d X j , p j, d Y j = −rX j }, j ∈ N, respectively. The instance<br />
Y is said to be inverse to the instance X.<br />
Lemma 2. Let there are two schedules π X ∈ Π(N) and π Y ∈ Π(N). In the<br />
schedule π ′ the jobs are sequ<strong>en</strong>ced in the reverse or<strong>de</strong>r in comparison with the<br />
schedule π. Th<strong>en</strong> L X max(π X ) = L Y max(π Y ).<br />
⊓⊔<br />
Consequ<strong>en</strong>ce If the schedule π X is optimal for the instance X, th<strong>en</strong> the schedule<br />
π Y is optimal for the instance Y .<br />
Consi<strong>de</strong>r two instances B and C of the problem . Let p B j = p C j and d B j = d C j ,<br />
j ∈ N. In other words the instances only differ by release dates. Let π B and π C<br />
are optimal schedules for the instances B and C, respectively. The next lemma<br />
finds the maximal absolute error of the schedule π C for the instance B.<br />
Lemma 3. For the optimal schedules π B and π C the following holds:<br />
ρ r ≥ L B max(π C ) − L B max(π B ) ≥ 0, where<br />
ρ r = max<br />
j∈N {rB j<br />
− r C j } − min<br />
j∈N {rB j − r C j }.<br />
⊓⊔<br />
Consi<strong>de</strong>r two instances A and C of the problem. Let p A j = pC j , j ∈ N. In other<br />
words the instances may differ both by release and due dates. Let π A and π C<br />
are optimal schedules for the instances A and C, respectively. The next lemma<br />
finds the maximal absolute error of the schedule π C for the instance A.<br />
Theorem 1. For the optimal schedules π A and π C the following holds:<br />
ρ ≥ L A max(π C ) − L A max(π A ) ≥ 0, where<br />
ρ = max<br />
j∈N {rA j<br />
max<br />
j∈N {dA j<br />
Consequ<strong>en</strong>ce ρ ≥ L C max(π A ) − L C max(π C ) ≥ 0.<br />
− rC j } − min<br />
j∈N {rA j − rC j }+<br />
− dC j } − min<br />
j∈N {dA j − dC j }. (1)<br />
So 0 ≤ L A max(π C )−L A max(π A ) ≤ ρ = max<br />
j∈N {dA j −dC j }−min<br />
j∈N {dA j −dC j }+max<br />
j∈N {rA j −<br />
rj C} − min<br />
j∈N {rA j − rC j } and 0 ≤ LC max(π A ) − L C max(π C ) ≤ ρ. H<strong>en</strong>ce, if after an<br />
instance of the problem 1 | r j | L max is solved, release or due dates are changed,<br />
th<strong>en</strong> we can estimate the absolute error of the solution found for the new changed<br />
instance.<br />
The obtained results can be also used for the approximate solution of an<br />
instance of the problem 1 | r j | L max . The scheme for finding an approximate<br />
<strong>de</strong>cision is consi<strong>de</strong>red in the next section.<br />
⊓⊔
3 The scheme for finding an approximate solution<br />
Consi<strong>de</strong>r an arbitrary instance A of the problem 1 | r j | L max with the parameters<br />
of jobs {rj A, pA j , dA j }, j ∈ N. Consi<strong>de</strong>r also a polynomially solvable case of the<br />
problem wh<strong>en</strong> the parameters of jobs satisfy to the following linear constraints<br />
A ∗ R + B ∗ P + C ∗ D ≤ H, (2)<br />
where R T = (r 1 , . . . , r n ), P T = (p 1 , . . . , p n ), D T = (d 1 , . . . , d n ), A, B, C - matrices<br />
of dim<strong>en</strong>sion n × n, and H T = (h 1 , . . . , h n ) is some vector of dim<strong>en</strong>sion n.<br />
For example, for the special case wh<strong>en</strong> d j = r j + p j + β, j ∈ N, where β is a<br />
constant, the coeffici<strong>en</strong>ts in the linear system (2) are the following: A = B = I,<br />
C = −I, H T = (β, . . . , β). Here I is the unitary matrix.<br />
The i<strong>de</strong>a of the approximation scheme consists in changing the release and/or<br />
due dates of the jobs of the instance A in such a way, that the reduced instance<br />
C with the parameters of jobs {rj C, pC j = pA j , dC j }, j ∈ N, satisfies the constraints<br />
(2). In this case it is possible to solve the instance C in polynomial time and the<br />
found optimal schedule π C has the absolute error which is not more than the<br />
value of ρ for the instance A. ρ here can be found according to the formu<strong>la</strong> (1).<br />
Of course, wh<strong>en</strong> transforming the instance A into the instance C one should<br />
<strong>en</strong>sure that the value of ρ is minimized. The g<strong>en</strong>eral way to minimize ρ is to<br />
solve the following linear programming problem:<br />
min (x d − y d ) + (x r − y r )<br />
y d ≤ d A j − dC j ≤ x d, j ∈ N,<br />
y r ≤ r A j − rC j ≤ x r, j ∈ N,<br />
A ∗ R C + B ∗ P C + C ∗ D C ≤ H.<br />
(3)<br />
Wh<strong>en</strong>ever it is possible for the consi<strong>de</strong>red polynomially solvable case, a special<br />
algorithm for minimizing ρ should be <strong>de</strong>veloped.<br />
Describe first a simple variant of the proposed approximation scheme. Consi<strong>de</strong>r<br />
the special case of the problem 1 | r j | L max , wh<strong>en</strong> d j = δ, j ∈ N, where δ<br />
is a constant. In other words all the due dates should be equal. For this special<br />
case, the schedule where the jobs are or<strong>de</strong>red by non<strong>de</strong>creasing release dates is<br />
optimal. D<strong>en</strong>ote such schedule as π r . Obviously, one can find the schedule π r in<br />
O(n log n) time. To reduce an arbitrary instance of the problem to this special<br />
case, we should equate all the due dates with some constant. Set the linear programming<br />
problem of the type (3) for minimizing the maximum absolute error<br />
of the schedule π r for the instance A:<br />
min x d − y d<br />
y d ≤ d A j − δ ≤ x d, j ∈ N.<br />
(4)<br />
The <strong>de</strong>cision of the problem (4) is an arbitrary value of δ and x d , y d , such<br />
that x d − y d = max j∈N d A j − min j∈N d A j = ρ. Thus in the consi<strong>de</strong>red case ρ does<br />
not <strong>de</strong>p<strong>en</strong>d on the value of δ. So the maximum absolute error of the schedule π r<br />
for the giv<strong>en</strong> instance A is the differ<strong>en</strong>ce betwe<strong>en</strong> the maximum and minimum<br />
due dates of A.
In two following subsections we consi<strong>de</strong>r other variants of the proposed approximation<br />
scheme. In these variants smaller values of the maximum absolute<br />
error of an approximate <strong>de</strong>cision can be archived.<br />
3.1 The variant based on the Lazarev’s case<br />
Consi<strong>de</strong>r the polynomially solvable case of the problem 1 | r j | L max , wh<strong>en</strong> the<br />
parameters of jobs satisfy the following conditions:<br />
d 1 ≤ . . . ≤ d n<br />
and<br />
d 1 − r 1 − p 1 ≥ . . . ≥ d n − r n − p n .<br />
(5)<br />
Lazarev [11] has proposed the algorithm of complexity O(n 3 log n) to solve instances<br />
of this special case.<br />
Let an instance A with the parameters of jobs {rj A, pA j , dA j }, j ∈ N, is giv<strong>en</strong>,<br />
which does not satisfy the conditions (5). We apply the proposed approximation<br />
scheme for this instance. Change due and release dates of the instance A in such a<br />
way, that the reduced instance C with the parameters of jobs {rj C, pC j = pA j , dC j },<br />
j ∈ N, satisfies the conditions (5). Let π C is an optimal schedule for the instance<br />
C.<br />
The next theorem justifies the algorithm which reduces the instance A to the<br />
instance C and minimizes the maximum absolute error of the schedule π C for<br />
the instance A. The theorem also expresses the value of this maximum absolute<br />
error ρ in terms of the parameters of jobs of the instance A.<br />
Theorem 2. Let a giv<strong>en</strong> instance A of the problem 1 | r j | L max does not satisfy<br />
the constraints (5). Th<strong>en</strong> there exists an instance C, which satisfies constraints<br />
(5), such that<br />
ρ = max<br />
i,j∈N min{dA j − d A i , d A j − d A i + r A i + p A i − r A j − p A j }, (6)<br />
where ρ is computed by the formu<strong>la</strong> (1). And there is no other instance which<br />
satisfies constraints (5), such that the value of ρ is smaller that in (6). ⊓⊔<br />
Based on Theorem 2 we pres<strong>en</strong>t Algorithm 1, which reduces the instance A<br />
to the instance C and guarantees the minimum value of the maximum absolute<br />
error ρ.<br />
The complexity of Algorithm 1 is O(n log n).<br />
Example. Let we have an instance A of the problem 1 | r j | L max . The parameters<br />
of jobs of the instance A are shown in Table 1. The jobs are or<strong>de</strong>red by<br />
non<strong>de</strong>creasing rj A + pA j .<br />
Begin the execution of the algorithm. N = {1, . . . , 8}. After the loop on the<br />
lines 2-4 we have rj C := rA j p C j := pA j , ∀j ∈ N.<br />
k = 1. j 1 = arg min j∈N d A j = 3. N 1 = {1, 2, 3}. After the loop on the lines<br />
2-4 we have d C j = dA 3 = 11, ∀j ∈ N 1 . For now N \ N 1 ≠ ∅.
Algorithm 1 The algorithm reduces an arbitrary instance to the instance, which<br />
satisfies the Lazarev’s special case, and minimizes ρ<br />
1: R<strong>en</strong>umber in the or<strong>de</strong>r by non<strong>de</strong>creasing r A j + p A j .<br />
2: for j := 1 to n do<br />
3: r C j := r A j ; p C j := p A j<br />
4: <strong>en</strong>d for<br />
5: k := 1<br />
6: j 1 := arg min j∈N d A j<br />
7: N 1 := {j ∈ N | j ≤ j 1}<br />
8: for all j ∈ N 1 do<br />
9: d C j := d A j 1<br />
10: <strong>en</strong>d for<br />
11: while N \ N 1 \ . . . \ N k ≠ ∅ do<br />
12: k := k + 1<br />
13: j k := arg min j∈N\N1 \...\N k−1<br />
d A j<br />
14: N k := {j ∈ N \ N 1 \ . . . \ N k−1 | j ≤ j k }<br />
15: for all j ∈ N k do<br />
16: d C j := min{d A j k<br />
, d C j k−1<br />
− r A j k−1<br />
− p A j k−1<br />
+ r A j + p A j }<br />
17: <strong>en</strong>d for<br />
18: <strong>en</strong>d while<br />
Table 1. The parameters of jobs of the instance A<br />
j = 1 2 3 4 5 6 7 8<br />
rj A 0 3 2 1 5 3 5 7<br />
p A j 4 1 3 5 3 5 4 2<br />
d A j 14 12 11 15 14 13 18 16<br />
k = 1. j 2 = arg min j∈N\N1 d A j = 6. N 2 = {4, 5, 6}.<br />
d C 4 = min{d A 6 , d C 3 − r A 3 − p A 3 + r A 4 + p A 4 } = 12. d C 5 = min{d A 6 , d C 3 − r A 3 − p A 3 +<br />
r A 5 + p A 5 } = 13.<br />
d C 6 = min{d A 6 , d C 3 − r A 3 − p A 3 + r A 6 + p A 6 } = 13. For now N \ N 1 \ N 2 ≠ ∅.<br />
k = 2. j 3 = arg min j∈N\N1 \N 2<br />
d A j = 8. N 3 = {7, 8}.<br />
d C 7 = min{d A 8 , d C 6 − r A 6 − p A 6 + r A 7 + p A 7 } = 14. d C 8 = min{d A 8 , d C 6 − r A 6 − p A 6 +<br />
r A 8 + p A 8 } = 14.<br />
We have now N \ N 1 \ N 2 \ N 3 = ∅ and the algorithm is completed.<br />
So, we obtained the instance C, which satisfies the conditions (5). The parameters<br />
of jobs of the instance C are shown in Table 2. Let find the value of<br />
maximum absolute error in for the consi<strong>de</strong>red example: ρ = max j∈N {d A j −dC j } =<br />
d A 7 − d C 7 = 4. The employm<strong>en</strong>t of Algorithm 1 is also exhibited in Figure 1.<br />
3.2 The variant based on the Hoogeve<strong>en</strong>’s case<br />
As another variant of the approximation scheme consi<strong>de</strong>r the Hoogeve<strong>en</strong>’s case [7],<br />
wh<strong>en</strong> the parameters of jobs satisfy the following conditions for some constant
j A + p A j = rj C + p C j<br />
d C j d A j<br />
❘✛<br />
✠<br />
j 3<br />
✲8<br />
N 3<br />
✛<br />
✲7<br />
j 2<br />
✲6<br />
N 2<br />
✛<br />
✲5<br />
✛<br />
✲4<br />
j 1<br />
✲3<br />
N 1<br />
✛<br />
✲2<br />
✛<br />
✲1<br />
0 5 10 15 20<br />
Fig. 1. Example of the work of Algorithm 1<br />
Table 2. The parameters of jobs of the reduced instance C<br />
j = 1 2 3 4 5 6 7 8<br />
rj C 0 3 2 1 5 3 5 7<br />
p C j 4 1 3 5 3 5 4 2<br />
d C j 11 11 11 12 13 13 14 14<br />
β:<br />
r j ∈ [d j − p j − β, d j − β] ∀j ∈ N. (7)<br />
There is the algorithm of complexity O(n 2 log n) for solving the instances which<br />
belong to this special case. The constraints (7) can be rewritt<strong>en</strong> in the following<br />
way. There exist a constant β, such that:<br />
β ∈ [d j − p j − r j , d j − r j ] ∀j ∈ N. (8)<br />
Let an instance A with the parameters of jobs {rj A, pA j , dA j }, j ∈ N, is giv<strong>en</strong>,<br />
which does not satisfy the conditions (7). We apply the proposed approximation<br />
scheme for this instance. Change due and release dates of the instance A in such a<br />
way, that the reduced instance C with the parameters of jobs {rj C, pC j = pA j , dC j },<br />
j ∈ N, satisfies the conditions (7). Let π C is an optimal schedule for the instance<br />
C.<br />
Again, the next theorem justifies the algorithm which reduces the instance<br />
A to the instance C and minimizes the maximum absolute error of the schedule<br />
π C for the instance A.
Theorem 3. Let a giv<strong>en</strong> instance A of the problem 1 | r j | L max does not satisfy<br />
the constraints (7). Th<strong>en</strong> there exists an instance C, which satisfies constraints<br />
(7), such that<br />
ρ = max<br />
i,j∈N {dA j − rj A − p A j − d A i + ri A }, (9)<br />
where ρ is computed by the formu<strong>la</strong> (1). And there is no other instance which<br />
satisfies constraints (7), such that the value of ρ is smaller that in (9). ⊓⊔<br />
Based on Theorem 3 we have the simple Algorithm 2, which reduces the instance<br />
A to the instance C and guarantees the minimum value of the maximum absolute<br />
error ρ. The complexity of Algorithm 2 is O(n).<br />
Algorithm 2 The algorithm reduces an arbitrary instance to the instance, which<br />
satisfies the Hoogeve<strong>en</strong>’s special case, and minimizes ρ<br />
1: j ∗ = arg max j∈N {d A j − r A j − p A j }<br />
2: for j := 1 to n do<br />
3: r C j := r A j<br />
4: p C j := p A j<br />
5: d C j = max{d A j ∗ − rA j ∗ − pA j ∗ + rA j , d A j }<br />
6: <strong>en</strong>d for<br />
4 Conclusion<br />
In this paper we pres<strong>en</strong>ted the polynomial approximation scheme which allows<br />
to find a solution with a guaranteed absolute error. The scheme is based on<br />
reducing a giv<strong>en</strong> instance to a polynomially solvable case of the problem. For<br />
two variants of the scheme the values of the maximum absolute error of the<br />
scheme solution have be<strong>en</strong> found and expressed in terms of parameters of jobs<br />
of the initial instance.<br />
It is interesting now to compare the absolute error, guaranteed by the proposed<br />
scheme and the absolute error, provi<strong>de</strong>d by other methods which find an<br />
approximate solution. C<strong>la</strong>sses of instances could be obtained, where variants of<br />
the proposed scheme guarantee the best absolute error.<br />
Refer<strong>en</strong>ces<br />
1. J. Adams, E. Ba<strong>la</strong>s, D. Zawack. The shifting bottl<strong>en</strong>eck procedure for job shop<br />
scheduling. Manag. Sci., 34:3 (1988), pp. 391-401.<br />
2. K.R. Baker, E.L. Lawler, J.K. L<strong>en</strong>stra, A.H.G. Rinnooy Kan. Preemtive scheduling<br />
of a single machine to minimize maximum cost subject to release dates and preced<strong>en</strong>ce<br />
constraints. Oper. Res., 31:2 (1983), pp. 381-386.<br />
3. K.R. Baker, Z.S. Su. Sequ<strong>en</strong>cing with due dates and early start times to minimize<br />
tardiness. Naval Res. Logist. Quart., 21 (1974), pp. 171-176.
4. J. Carlier. The one-machine sequ<strong>en</strong>cing problem. Europ. Jour. of Oper. Res., 11:1<br />
(1982), pp. 42-47.<br />
5. R.L. Graham, E.L. Lawler, J.K. L<strong>en</strong>stra, A.H.G. Rinnooy Kan. Optimization and<br />
approximation in <strong>de</strong>terministic sequ<strong>en</strong>cing and scheduling: a survey. Ann. Discrete<br />
Math., 5 (1979), pp. 287-326.<br />
6. L.A. Hall, D.B. Shmoys. Jackson’s rule for one-machine schedulings: Making a good<br />
heuristic better. Math. Oper. Res., 17 (1992), pp. 22-35.<br />
7. J.A. Hoogeve<strong>en</strong>. Minimizing maximum promptness and maximum <strong>la</strong>t<strong>en</strong>ess on a<br />
single machine. Math. Oper. Res., 21 (1996), pp. 100-114.<br />
8. J.R. Jackson. Scheduling a production line to minimize maximum tardiness. Manag.<br />
Sci. Res. Project, UCLA, Research report, 43 (1955).<br />
9. B.J. Lageweg, J.K. L<strong>en</strong>stra, A.H.G. Rinnooy Kan. Minimizing maximum <strong>la</strong>t<strong>en</strong>ess<br />
on one machine: computational experi<strong>en</strong>ce and applications. Statist. Neer<strong>la</strong>ndica, 30<br />
(1976), pp. 25-41.<br />
10. E.L. Lawler. Optimal sequ<strong>en</strong>cing of a single machine subject to preced<strong>en</strong>ce constraints.<br />
Manag. Sci., 19:5 (1973), pp. 544-546.<br />
11. A.A. Lazarev. Effective algorithms for certain scheduling problems with due dates<br />
on a single machine. Ph.D. Thesis, Kazan State University, (1989), in Russian.<br />
12. A.A. Lazarev, O.N. Shulgina. A pseupolynomial algorithm for the NP-hard<br />
scheduling problem of minimizing maximum <strong>la</strong>t<strong>en</strong>ess. Proceedings of the 11-th International<br />
Baykal workshop ”Optimization methods and applications”. Irkutsk, Russia,<br />
(1998), pp. 163-167, in Russian.<br />
13. J.K. L<strong>en</strong>stra, A.H.G. Rinnooy Kan, P. Brucker. Complexity of machine scheduling<br />
problems. Annals of Oper. Res., 1 (1975), pp. 343-362.<br />
14. M. Mastrolilli, Effici<strong>en</strong>t Approximation Schemes for Scheduling Problems with Release<br />
Dates and Delivery Times. J. of Scheduling, 6:6 (2003), pp. 521-531.<br />
15. G. McMahon, M. Florian. On scheduling with ready times and due dates to minimize<br />
maximum <strong>la</strong>t<strong>en</strong>ess. Oper. Res., 28 (1980), pp. 1436-1441.<br />
16. L. Péridy, E. Pinson, D. Rivraux. Using short-term memory to minimize the<br />
weighted number of <strong>la</strong>te jobs on a single machine. Europ. J. of Oper. Res., 148<br />
(2003), pp. 591-603.<br />
17. C.N. Potts. Analysis of a heuristic for one machine sequ<strong>en</strong>cing with release dates<br />
and <strong>de</strong>livery times. Oper. Res., 28 (1980), pp. 1436-1441.<br />
18. B.B. Simons. A fast algorithm for single processor scheduling. 19-th Annu. Symp.<br />
Found. Comput. Sci., New York: Ann. Arbor, Mich., (1978), pp. 246-252.
Solution Algorithms for the Total Tardiness<br />
Scheduling Problem on a Single Machine<br />
Alexan<strong>de</strong>r Lazarev 1 , Alexan<strong>de</strong>r Kvaratskhelia, Andrei Tchernykh 2<br />
1 Kazan State University, Russia<br />
Alexandr.Lazarev@mail.ru<br />
2 CICESE, Mexico<br />
chernykh@cicese.mx<br />
Abstract. We study the c<strong>la</strong>ssical NP-hard in the ordinary s<strong>en</strong>se singlemachine<br />
total tardiness scheduling problem 1 | | ∑ T j. New polynomial<br />
and pseudo-polynomial solvable cases of the problem are pres<strong>en</strong>ted and<br />
respective algorithms are proposed with no more than O(n 2 ∑ p j) time.<br />
1 Introdiction<br />
We consi<strong>de</strong>r the single-machine total tardiness problem. Giv<strong>en</strong> a jobset N =<br />
{1, 2, . . . , n} with n jobs have to be scheduled on a single machine without<br />
preemptions. The machine can handle only one job at a time and is avai<strong>la</strong>ble<br />
for processing at a start time of machine t 0 , typically t 0 = 0. Processing time<br />
p j > 0 and due date d j are giv<strong>en</strong> for a job j ∈ N, by <strong>de</strong>fault we assume p j ∈ Z + ,<br />
d j , t 0 ∈ R. A schedule π is <strong>de</strong>fined as a permutation of the jobset’s N elem<strong>en</strong>ts<br />
π = (j 1 , j 2 , . . . , j n ).<br />
The problem calls for construction an optimal schedule π ∗ which minimizes<br />
function F (π) = ∑ n<br />
j=1 max{0, c j(π) − d j } where c j (π) is the completion time<br />
of job j in a schedule π (let π = (j 1 , j 2 , . . . , j n ) th<strong>en</strong> c j1 (π) = t o + p j1 and<br />
c jk (π) = c jk−1 (π) + p jk for k = 2, 3, . . . , n).<br />
The problem is known to be NP-hard in the ordinary s<strong>en</strong>se [1]. Lawler<br />
proposed pseudo-polynomial algorithm in O(n 4 ∑ p j ) time [2] to solve arbitrary<br />
instance. Among solution approaches for the problem, the <strong>de</strong>compo<strong>sitio</strong>n based<br />
algorithms are wi<strong>de</strong>ly indicated and studied [2–7]. The paper [9] showed that all<br />
known constructive heuristics and a number of <strong>de</strong>compo<strong>sitio</strong>n heuristics for the<br />
total tardiness problem pres<strong>en</strong>t arbitrarily bad approximation ratios.<br />
In the paper we pres<strong>en</strong>t four algorithm for solution the problem in the case<br />
p 1 ≥ p 2 ≥ . . . ≥ p n and d 1 ≤ d 2 ≤ . . . ≤ d n .<br />
We use the following notation: x = 〈{p j , d j } j∈N , t 0 〉 is an instance of the<br />
problem with parameters of jobs p j , d j , jobset N and start time t 0 ; {π} is the<br />
set of sequ<strong>en</strong>ced in schedule π jobs; (i → j) π ∗ means that processing of job i<br />
prece<strong>de</strong>s to processing of job j in schedule π (i.e. c i (π) < c j (π)); Π ∗ (N ′ , t ′ ) is<br />
the set of optimal schedules for instance 〈{p j , d j } j∈N ′, t ′ 〉, N ′ ⊆ N, t ′ ≥ t 0 .
2 Partitioning procedure<br />
In the paper we proposed polynomial and pseudo-polynomial algorithms for<br />
all sub-cases of the case:<br />
{<br />
p1 ≥ p 2 ≥ . . . ≥ p n<br />
d 1 ≤ d 2 ≤ . . . ≤ d n<br />
(1)<br />
We pres<strong>en</strong>t the following solution approach for the case (1). The initial jobset<br />
N is partitioned into subsets and, <strong>de</strong>p<strong>en</strong>ds on the number of subsets, solution<br />
algorithm are proposed.<br />
Partitioning procedure<br />
0. k := 1, α k := 1;<br />
1. for j = 2, 3, . . . , n do:<br />
<strong>en</strong>d for<br />
2. β k := n.<br />
if d j − d αk > p j th<strong>en</strong><br />
β k := j − 1;<br />
k := k + 1;<br />
α k := j;<br />
<strong>en</strong>d if<br />
The procedure partitions the jobset N into k ≤ n subsets M 1 , M 2 , . . . , M k<br />
where M i = {α i , α i + 1, . . . , β i }, α 1 = 1, β k = n, M 1<br />
⋃<br />
M2<br />
⋃ . . .<br />
⋃<br />
Mk = N and<br />
M i<br />
⋂<br />
Mj = ∅ if i ≠ j.<br />
For example, if N = {1, 2, 3}, p 1 = 10, p 2 = 10, p 3 = 2, d 1 = 7, d 2 = 9, d 3 =<br />
10 th<strong>en</strong> the procedure constructs subsets M 1 = {1, 2} and M 2 = {3}.<br />
In the following sections we pres<strong>en</strong>t solution algorithms for the four sub-cases<br />
<strong>de</strong>p<strong>en</strong>ds on value k:<br />
– pseudo-polynomial algorithm B-1 for the case k = 1;<br />
– pseudo-polynomial algorithm B-k for the case 1 < k < n;<br />
– polynomial algorithm C-1 for the case k = 1 and d n − d 1 ≤ 1;<br />
– polynomial algorithm B-n for the case k = n.<br />
Algorithm B-k can be used to solve an arbitrary instance in the case (1) with<br />
O(kn ∑ p j ) time. If k = 1 (i.e. d n − d 1 ≤ p n ) th<strong>en</strong> we can use algorithm B-1<br />
which runs in O(n ∑ p j ). If d n −d 1 ≤ 1 th<strong>en</strong> algorithm C-1 constructs an optimal<br />
schedule in O(n 2 ) time. And finally, if k = n th<strong>en</strong> algorithm B-n constructs an<br />
optimal schedule in O(n 2 ) time.
3 Pseudo-polynomial algorithms<br />
To <strong>de</strong>scribe pseudo-polynomial algorithms B-1 and B-k we need to <strong>de</strong>fine values<br />
d j (t):<br />
d j (t) = d j − d n + t − t 0 , j ∈ N.<br />
Due to (1), for each t ∈ R we have d 1 (t) ≤ d 2 (t) ≤ . . . ≤ d n (t). Let π l (t) and<br />
F l (t) be an optimal schedule and optimal total tardiness value for the parametric<br />
instance 〈{p j , d j (t)} j∈Nl , 0〉 where N l = {l, l + 1, . . . , n}.<br />
Well known property of the total tardiness problem states that two instances<br />
x 1 = 〈{p j , d j } j∈N , t 0 〉 and x 2 = 〈{p j , d j + C} j∈N , t 0 + C〉, where C is arbitrary<br />
constant, have the same sets of optimal schedules, i.e. the instances x 1 and x 2<br />
are equal.<br />
Due to this property, initial instance x = 〈{p j , d j } j∈N , t 0 〉 and corresponding<br />
parametric instance 〈{p j , d j (t)} j∈N , 0〉 are equal if t = d n .<br />
The main i<strong>de</strong>a of the algorithms B-1 and B-k is the following. Consecutively,<br />
for l = n, n − 1, . . . , 1, schedules π l (t) are constructed and values F l (t) computed<br />
for each point t ∈ Z + . Optimal schedule for the initial instance x is π 1 (d n ).<br />
Notice that if d n ∉ Z + we construct and solve instance 〈 {p j , d ′ j } j∈N , t ′ 0〉<br />
,<br />
d ′ j = d j − ∆, t ′ 0 = t 0 − ∆ where ∆ = d n − ⌊d n ⌊, ⌊d n ⌋ is the integer part of value<br />
d n . In this case d ′ n is integer value and as we showed above schedule π 1 (d ′ n) is<br />
optimal schedule for instance 〈{p j , d j } j∈N , t 0 〉.<br />
3.1 Case k = 1<br />
In the case k = 1, parameters of jobs satisfy conditions:<br />
⎧<br />
⎨ p 1 ≥ p 2 ≥ . . . ≥ p n<br />
d 1 ≤ d 2 ≤ . . . ≤ d n<br />
(2)<br />
⎩<br />
d n − d 1 ≤ p n<br />
We proved the following main property for the case (2).<br />
Property B-1. Every schedule π = (π 1 , i, π 2 , l, π 3 , j, π 4 ), where l < min{i, j},<br />
can be eliminated from consi<strong>de</strong>ration without lost of optimality.<br />
Property B-1 predicates that there exists an optimal schedule π ∗ where for<br />
all l = n − 1, . . . , 1<br />
– either (l → j) π ∗ for all j ∈ {l + 1, . . . , n},<br />
– or (j → l) π ∗ for all j ∈ {l + 1, . . . , n}.<br />
Based on this property the Algorithm B-1 of solution the problem in the case<br />
(2) are proposed.
Algorithm B-1. Solution the problem in the case (2).<br />
0. π n (t) := (n), F n (t) := max{0, p n + t 0 − t};<br />
1. for l = n − 1, n − 2, . . . , 1:<br />
π 1 := (l, π l+1 (t − p l )), π 2 := (π l+1 (t), l);<br />
F (π 1 ) := max{0, p l − d l (t)} + F l+1 (t − p l );<br />
F (π 2 ∑<br />
) := F l+1 (t) + max{0, n p j − d l (t)};<br />
j=l<br />
F l (t) := min{F (π 1 ), F (π 2 )};<br />
π l (t) := arg min{F (π 1 ), F (π 2 )}.<br />
<strong>en</strong>d for<br />
2. π ∗ := π 1 (d n ) and F (π ∗ ) := F 1 (d n ).<br />
For each l < n and t optimal schedule π l (t) is the better of schedules<br />
(l, π l+1 (t − p l )) and (π l+1 (t), l). If t ≤ t 0 + p n th<strong>en</strong> all jobs are <strong>la</strong>te and π l (t) is<br />
SPT sequ<strong>en</strong>ce (n, n − 1, . . . , l); if t ≥ t 0 + ∑ n<br />
j=1 p j th<strong>en</strong> no more than one job is<br />
<strong>la</strong>te and π l (t) is EDD sequ<strong>en</strong>ce (l, l + 1, . . . , n). Due to SPT and EDD sequ<strong>en</strong>ces<br />
can be computed before algorithm runs, we need to process only integer points<br />
t : t 0 + p n < t < t 0 + ∑ n<br />
j=1 p j. Algorithm B-1 construct schedule π 1 (d n ) in<br />
O(n ∑ p j ) time.<br />
3.2 Case 1 < k < n<br />
In this case, parameters of jobs satisfy conditions<br />
⎧<br />
d 1 ≤ d 2 ≤ . . . ≤ d n<br />
p 1 ≥ p 2 ≥ . . . ≥ p n<br />
⎪⎨<br />
d β1 − d α1 ≤ p β1 α 1 = 1<br />
d β2 − d α2 ≤ p β2 α 2 = β 1 + 1<br />
. . . ⎪⎩<br />
d βk − d αk ≤ p βk β k = n<br />
(3)<br />
Property B-k/1. Every schedule π = (π 1 , j, π 2 , l, π 3 , l+1, π 4 ), where j > (l+1),<br />
can be eliminated from consi<strong>de</strong>ration without lost of optimality.<br />
Property B-k/2. Every schedule π = (π 1 , i, π 2 , l, π 3 , j, π 4 ), where l < min{i, j}<br />
and i, j belong to the same subset M ν , can be eliminated from consi<strong>de</strong>ration<br />
without lost of optimality.<br />
Properties B-k/1 and B-k/2 predicate that there exist an optimal schedule<br />
π ∗ where job l is processed either before all jobs of set {l + 1, . . . , n}, or after<br />
job (l + 1) and is not processed betwe<strong>en</strong> jobs i, j : l < min{i, j}, jobs i, j belong<br />
to the same subset M ν .<br />
Based on these properties, Algorithm B-k of solution the problem in the<br />
case (3) are constructed. Due to high complication of formal <strong>de</strong>scription of the<br />
algorithm, we show the main i<strong>de</strong>a. Algorithm B-k starts as algorithm B-1 by
constructing schedules π n (t). Th<strong>en</strong> for every l = n − 1, n − 1, . . . , 1 and t, the<br />
algorithm constructs schedules π 1 , π 2 , . . . , π g , g ≤ k, g is count of po<strong>sitio</strong>ns for<br />
job l predicated by the properties in schedule π l+1 (t), and select the best one<br />
which is schedule π l (t). Algorithm B-k constructs schedule π 1 (d n ) in O(kn ∑ p j )<br />
time.<br />
4 Polynomial algorithms<br />
4.1 Case k = 1 and d n − d 1 ≤ 1<br />
Suppose that parameters of jobs satisfy conditions<br />
⎧<br />
⎨ d 1 ≤ d 2 ≤ . . . ≤ d n ,<br />
d n − d 1 ≤ 1,<br />
(4)<br />
⎩<br />
t 0 ∈ Z +<br />
without restrictions p 1 ≥ p 2 ≥ . . . ≥ p n .<br />
In this case we proved the following properties which allow to construct<br />
polynomial solution algorithm. Consi<strong>de</strong>r sub-instance with jobset N ′ ⊆ N and<br />
start time t 0 . Let S = t 0 + ∑ j∈N ′ p j and z = ⌊d n ⌋ (z is the integer part of value<br />
d n ).<br />
Properties C-1. There exists an optimal schedule π ∗ ∈ Π(N ′ , t 0 ) such that<br />
π ∗ = (π, j ∗ ) and π ∈ Π ∗ (N ′ \ {j ∗ }, t 0 ) where<br />
1. if S − p j > z for all j ∈ N ′ th<strong>en</strong> j ∗ = arg max<br />
j∈N ′{d j : p j = max p i};<br />
i∈N ′<br />
2. if S − p j ≤ z for some j ∈ N ′ th<strong>en</strong> S − p j ∗ ≤ z + 1;<br />
3. if S ≤ z th<strong>en</strong> j ∗ = arg max<br />
j∈N ′{d j}.<br />
Algorithm C-1. Solution the problem in the case (4).<br />
∑<br />
0. S := t 0 + n p j , N ′ := N, π ∗ := ∅, π D := (1, 2, . . . , n);<br />
j=1<br />
1. while {j ∈ N ′ : S − p j ≤ z} = ∅ and N ′ ≠ ∅ do:<br />
π ∗ := (j ∗ , π ∗ ), where j ∗ := arg max<br />
j∈N ′{d j : p j = max p i};<br />
i∈N ′<br />
S := S − p ∗ j , N ′ := N ′ \ {j ∗ }, π D := π D \ {j ∗ };<br />
<strong>en</strong>d while<br />
2. if N ′ = {j} th<strong>en</strong> π ∗ := (j, π ∗ ); stop.<br />
3. for all j ∈ N ′ : S − p j ≤ z + 1 do:<br />
for all i ∈ N ′ \ {j} do:<br />
π ij := (π D \ {i, j}, i, j);<br />
<strong>en</strong>d for<br />
<strong>en</strong>d for<br />
4. π ∗ := (π, π ∗ ), where π := arg min F (π ij).<br />
i,j<br />
Algorithm C-1 starts with jobset N and due to Properties C-1 on each step<br />
<strong>de</strong>termines the job which has to be processed after all unsequ<strong>en</strong>ced jobs j ∈ N ′<br />
and before sequ<strong>en</strong>ced jobs j ∈ {π ∗ } in the optimal solution. Algorithm C-1<br />
constructs an optimal schedule π ∗ in O(n 2 ) time.
4.2 Case k = n<br />
Consi<strong>de</strong>r the case of the problem 1 | | ∑ T j where<br />
d j − d j−1 > p j , j = 2, 3, . . . , n, (5)<br />
without restrictions p 1 ≥ p 2 ≥ . . . ≥ p n and p j ∈ Z + .<br />
In this case we pres<strong>en</strong>t polynomial algorithm based on the following property.<br />
Consi<strong>de</strong>r sub-instance with jobset N ′ ⊆ N and start time t ′ ≥ t 0 , N ′ =<br />
{j 1 , j 2 , . . . , j m } and d j1 ≤ d j2 ≤ . . . ≤ d jm . Let j ∗ = arg max<br />
j∈N ′{d j : p j = max p i}<br />
i∈N ′<br />
and S α := t ′ + p j1 + p j2 + . . . + p jα , α = 1, 2, . . . , m.<br />
Property B-n. There exists an optimal schedule π ∗ ∈ Π ∗ (N ′ , t ′ ) such that<br />
(j → j ∗ ) π ∗ for all j ∈ {j 1 , j 2 , . . . , j α ∗} \ {j ∗ } and<br />
(j ∗ → j) π ∗ for all j ∈ {j α ∗ +1, . . . , j m }.<br />
where α ∗ = min{α ∈ {1, . . . , m} : p j + d j ≤ S α < d jα+1 , j ∈ {j ∗ + 1, . . . , j α }},<br />
in addition d jm+1 = +∞.<br />
In the notation of <strong>de</strong>compo<strong>sitio</strong>n approaches [2–7], Property B-n means that<br />
there exists an optimal schedule π ∗ where the <strong>la</strong>rgest processing time job j ∗<br />
is processed on the first ”suitable” po<strong>sitio</strong>n α ∗ and the sub-instance N ′ , t ′ is<br />
<strong>de</strong>composed by the po<strong>sitio</strong>n α ∗ .<br />
Procedure ProcB-n (N ′ , t ′ )<br />
0. Giv<strong>en</strong> set of jobs N ′ ⊆ N, N ′ = {j 1 , j 2 , . . . , j m } and start time t ′ ≥ t 0 ,<br />
d j1 ≤ d j2 ≤ . . . ≤ d jm ;<br />
1. S α := t ′ + p j1 + p j2 + . . . + p jα , α = 1, 2, . . . , m;<br />
j ∗ = arg max j∈N ′{d j : p j = max i∈N ′ p i };<br />
2. α ∗ := min<br />
α=1,...,m {α : d j + p j ≤ S α < d jα+1 , j ∈ {j ∗ + 1, . . . , j α }};<br />
3. N 1 := {j 1 , . . . , j α ∗} \ {j ∗ }, t 1 := t ′ ;<br />
N 2 := {j α ∗ +1, . . . , j m }, t 2 := S α ∗;<br />
4. Return schedule π ∗ := (π 1 , j ∗ , π 2 ) where<br />
π 1 := ProcB-n (N 1 , t 1 ),<br />
π 2 := ProcB-n (N 2 , t 2 ).<br />
Algorithm B-n. Solution the problem in the case (5).<br />
π ∗ := ProcB-n (N, t 0 )<br />
Algorithm B-n constructs an optimal schedule π ∗ in O(n 2 ) time.
5 Conclusion<br />
In the paper we consi<strong>de</strong>r NP-hard in the ordinary s<strong>en</strong>se single-machine total<br />
tardiness scheduling problem. The complex research of the case (1) has be<strong>en</strong><br />
ma<strong>de</strong>. Four algorithms are proposed to solve all possible sub-cases of the case<br />
with no more than O(n 2 ∑ p j ) time. In the future we will study the hypothesis<br />
that the g<strong>en</strong>eral case of the problem (without restrictions (1)) can be solved<br />
with no more than O(n 2 ∑ p j ) time (that is ess<strong>en</strong>tially less than in the Lawler<br />
algorithm).<br />
Refer<strong>en</strong>ces<br />
1. J. Du and J. Y.-T. Leung: Minimizing total tardiness on one processor is NP-hard.<br />
Math. Oper. Res., 15 (1990), pp. 483-495.<br />
2. E.L. Lawler: A pseudopolynomial algorithm for sequ<strong>en</strong>cing jobs to minimize total<br />
tardiness Ann. Discrete Math., 1(1977), pp. 331-342.<br />
3. C.N. Potts and L.N. Van Wass<strong>en</strong>hove: A <strong>de</strong>compo<strong>sitio</strong>n algorithm for the single<br />
machine total tardiness problem, Oper., Res. Lett, 1(1982), pp. 177-182.<br />
4. S. Chang, Q. Lu, G. Tang, and W. Yu: On <strong>de</strong>compo<strong>sitio</strong>n of the total tardiness<br />
problem, Oper. Res. Lett., 17 (1995), pp. 221-229.<br />
5. W. Szwarc, F. Del<strong>la</strong> Croce and A. Grosso: Solution of the single machine total<br />
tardiness problem. J. Sched., 2(1999), pp.55-71.<br />
6. W. Szwarc, A. Grosso and F. Del<strong>la</strong> Croce: Algorithmic paradoxes of the single<br />
machine total tardiness problem. J. Sched., 4(2001), pp. 93-104.<br />
7. A.A. Lazarev: Effici<strong>en</strong>t algorithms of <strong>de</strong>cisions some problems of theory of scheduling<br />
forsinglemachinewith<strong>de</strong>adlinetermsofservicejobs.PhDThesis,1989,(inRussian).<br />
8. H. Emmons: One machine sequ<strong>en</strong>cing to minimizing certain function of job<br />
tardiness. Oper. Res., 17 (1969), pp. 701-715.<br />
9. F. Del<strong>la</strong> Croce, A. Grosso, V. Paschos: Lower bounds on the approximation ratios of<br />
leading heuristics for the single-machine total tardiness problem. J. Sched. 7(2004),<br />
pp. 85-91.
Dynamic Analysis and Trace Simu<strong>la</strong>tion for Data<br />
Parallel Programs in the ParJava Environm<strong>en</strong>t. <br />
Victor Ivannikov, Sergey Gaissaryan, Arutyun Avetisyan, Vartan Padaryan, and<br />
H<strong>en</strong>nadiy Leontyev<br />
Institute for System Programming Russian Aca<strong>de</strong>my of Sci<strong>en</strong>ces, 25 B.<br />
Kommunisticheskaya st., Moscow, 109004, Russia<br />
{ivan, ssg, arut, vartan, g<strong>en</strong>a}@ispras.ru<br />
http://www.ispras.ru<br />
Abstract. Program profiles allow to <strong>de</strong>fine sequ<strong>en</strong>ce of mo<strong>de</strong>ls simu<strong>la</strong>ting the<br />
traces of a data parallel Java programs with various levels of precision. The<br />
simu<strong>la</strong>tion of a data parallel program’s trace is called symbolic execution. It<br />
allows to analyze interposes communications of a data parallel program and<br />
evaluate its execution time, wh<strong>en</strong> giv<strong>en</strong> number of processor no<strong>de</strong>s is used.<br />
Evaluation of interposes communications helps to perform additional tuning of<br />
a program to <strong>de</strong>tect and remove possible bottl<strong>en</strong>ecks prev<strong>en</strong>ting to achieve<br />
nee<strong>de</strong>d level of its sca<strong>la</strong>bility. Another use of dynamic analysis and symbolic<br />
execution results is the rollback recovery tool based on coordinated checkpointing<br />
algorithms. The algorithms were improved in or<strong>de</strong>r to apply them to<br />
high performance computations.<br />
1 Introduction<br />
There is a great <strong>de</strong>al of interest in using Java for parallel computing. The most part of<br />
curr<strong>en</strong>t research is <strong>de</strong>voted mainly to MPI interface implem<strong>en</strong>tations for Java [1, 2].<br />
Wh<strong>en</strong> a parallel program is <strong>de</strong>veloped it is necessary to assure not only its<br />
correctness, but also its effici<strong>en</strong>cy and sca<strong>la</strong>bility. For this purpose it is useful to know<br />
some dynamic properties of the program (profiles, traces, slices, etc.). This<br />
information may help to modify the program in or<strong>de</strong>r to improve its parallel features.<br />
Profiles and traces of the program show the or<strong>de</strong>r and the interfer<strong>en</strong>ce of its<br />
interprocess communications.<br />
Mo<strong>de</strong>l of a data parallel program providing its symbolic execution may be used in<br />
checkpointing algorithms as well.<br />
Java <strong>la</strong>nguage and JVM specification do not provi<strong>de</strong> any explicit recovery<br />
facilities. JVMTI interface [3] rec<strong>en</strong>tly published by SUN allows to create some<br />
facilities analyzing and controlling the states of JVM. These facilities can be used for<br />
saving and recovering sequ<strong>en</strong>tial Java-programs. There are some well-known<br />
techniques which allow to apply such facility to parallel programs as well [4].<br />
<br />
This work is supported by RFBR, grants 02-01-00961, 02-07-90302
Occurr<strong>en</strong>ce of an advanced <strong>en</strong>vironm<strong>en</strong>t allows to increase the effici<strong>en</strong>cy of a parallel<br />
program using other facilities integrated in the <strong>en</strong>vironm<strong>en</strong>t.<br />
The paper has the following structure. In section 2 we give <strong>de</strong>scription of facilities<br />
supporting mo<strong>de</strong>ling execution of data-parallel program in ParJava Environm<strong>en</strong>t. In<br />
section 3 the aim of the recovery protocols is discussed. Section 4 pres<strong>en</strong>ts <strong>de</strong>scription<br />
of checkpointing algorithm. In section 5 we compare the re<strong>la</strong>ted systems with<br />
corresponding facilities. In section 6 some conclusions are ma<strong>de</strong>.<br />
2 Symbolic execution of a data-parallel program<br />
Investigation of dynamic properties of a parallel program (communication profile,<br />
traces, etc.) requires repeated execution of the program using various sets of initial<br />
data and various sets of processor no<strong>de</strong>s, in or<strong>de</strong>r to gather statistics. The advantage<br />
of symbolic execution against actual execution of a parallel program is that the first<br />
one can be performed much faster and using only one processor.<br />
Symbolic execution allows to estimate limits of sca<strong>la</strong>bility and h<strong>en</strong>ce to calcu<strong>la</strong>te<br />
expected execution time for a program using various numbers of processor no<strong>de</strong>s<br />
during the stage of its <strong>de</strong>velopm<strong>en</strong>t, using dynamic properties of the parallel program.<br />
We <strong>de</strong>fine several mo<strong>de</strong>ls of symbolic execution, which have various precisions in<br />
ParJava. Changing execution mo<strong>de</strong>l we can change the time necessary for symbolic<br />
execution. The most precise mo<strong>de</strong>l uses frequ<strong>en</strong>cy and time profiles obtained using<br />
typical input data (the input data of a parallel program is called typical if the trace<br />
<strong>de</strong>termined by this input data contains all significant statem<strong>en</strong>ts of the parallel<br />
program). We assume that user has i<strong>de</strong>a of typical input data of his parallel program.<br />
The profiles should be calcu<strong>la</strong>ted using actual execution of the program on a parallel<br />
computer system. However, less precise mo<strong>de</strong>ls using profiles obtained by the<br />
execution of the program using one processor and mo<strong>de</strong>l input data are <strong>de</strong>fined. Use<br />
of such “rough” mo<strong>de</strong>ls allows to reduce program <strong>de</strong>velopm<strong>en</strong>t overheads.<br />
As m<strong>en</strong>tioned above symbolic execution of a parallel program needs its exact<br />
frequ<strong>en</strong>cy and time profiles. To <strong>de</strong>fine frequ<strong>en</strong>cy (or time) profile we use the notion<br />
of a program step (we call a step of a program calcu<strong>la</strong>tion of one of its expressions or<br />
execution of one of its basic blocks). The following types of basic blocks are<br />
consi<strong>de</strong>red in ParJava: sequ<strong>en</strong>ce of assignm<strong>en</strong>ts, condition, function call, and<br />
communication function call. Frequ<strong>en</strong>cy (or time) profile of a sequ<strong>en</strong>tial program is<br />
<strong>de</strong>fined as mapping which associates each step of the parallel program with the<br />
frequ<strong>en</strong>cy (or time) of its execution. The profile of a sequ<strong>en</strong>tial program may be<br />
repres<strong>en</strong>ted as a vector with dim<strong>en</strong>sion equals to number of program steps. The<br />
profile of the SPMD-program is repres<strong>en</strong>ted by a matrix whose lines are profiles of<br />
this program’s parts executed in parallel.<br />
Symbolic execution allows to estimate limits of sca<strong>la</strong>bility and h<strong>en</strong>ce to calcu<strong>la</strong>te<br />
the expected execution time for the program during the stage of its <strong>de</strong>velopm<strong>en</strong>t. The<br />
advantage of symbolic execution against actual execution is that the symbolic<br />
execution can be performed much faster and using only one processor.<br />
Changing the precision of execution mo<strong>de</strong>l we can change the time necessary for<br />
symbolic execution. There are <strong>de</strong>fined several execution mo<strong>de</strong>ls of various precisions
in ParJava. The most precise mo<strong>de</strong>l uses frequ<strong>en</strong>cy and time profiles obtained using<br />
typical input data. These profiles must be calcu<strong>la</strong>ted using actual execution of the<br />
program on parallel computer system. However, less precise mo<strong>de</strong>ls using profiles<br />
obtained by the execution of the program using one processor and mo<strong>de</strong>l input data<br />
are <strong>de</strong>fined. Use of “rough” mo<strong>de</strong>ls allows to reduce program <strong>de</strong>velopm<strong>en</strong>t<br />
overheads.<br />
Symbolic execution is performed by the symbolic interpreter, which uses: the<br />
control flow graph of a parallel program being executed, its <strong>de</strong>p<strong>en</strong>d<strong>en</strong>cy graph, and its<br />
frequ<strong>en</strong>cy and time profiles. During the symbolic execution of the program its basic<br />
blocks that lie on the path <strong>de</strong>fined by the specified input data, are interpreted<br />
symbolically. The symbolic interpretation of each basic block is performed by<br />
interpreting the assignm<strong>en</strong>t statem<strong>en</strong>ts inclu<strong>de</strong>d in this block, calcu<strong>la</strong>ting the transfer<br />
condition, and selecting the basic block which should be executed next. The execution<br />
starts from the <strong>en</strong>try block and <strong>en</strong>ds with the exit block of the program. Function calls<br />
as well as the calls to communication functions form separate basic blocks. Wh<strong>en</strong> the<br />
basic blocks containing calls to communication functions are executed the a priori<br />
information about the communication subsystem is used. The information allows to<br />
<strong>de</strong>termine the duration of transfer of n bytes from one processor no<strong>de</strong> to another. Such<br />
information for communication subsystems on the basis of Ethernet and Myrinet is<br />
inputted into the system, and the rules of such information input for other<br />
communication subsystems are specified. Transfer time is estimated according to the<br />
mo<strong>de</strong>l LogGP [5] of computer network. There is opportunity to use any other<br />
communication mo<strong>de</strong>l. If user wants to use communication mo<strong>de</strong>l other than LogGP<br />
he must add to symbolic executor the library according to the mo<strong>de</strong>l he is going to<br />
use.<br />
The interpreter allows the quick interpretation of the program executed on the<br />
cluster on one processor that significantly short<strong>en</strong>s the time necessary for its<br />
<strong>de</strong>velopm<strong>en</strong>t and <strong>de</strong>bug.<br />
Symbolic execution allows to estimate program execution time for each number of<br />
cluster no<strong>de</strong>s as well as maximal number of no<strong>de</strong>s for which sca<strong>la</strong>bility is hold.<br />
3 Recovery algorithms in ParJava<br />
Problem of reliability assurance of long-time-working applications is urg<strong>en</strong>t for<br />
parallel programs, because no<strong>de</strong> failure brings application to restarting from<br />
beginning. Wi<strong>de</strong> spread cluster <strong>de</strong>cisions oft<strong>en</strong> base on common PC, in the role of<br />
computing no<strong>de</strong>s, that <strong>de</strong>crease fault tolerance of whole system. Therefore that c<strong>la</strong>ss<br />
of computing systems especially needs facilities supporting restoration system from<br />
intermediate point of execution, where crash took p<strong>la</strong>ce. Applying rollback-recovery<br />
protocols can solve that problem.<br />
Unlike sequ<strong>en</strong>tial, parallel programs make substantial <strong>de</strong>mand to checkpointing<br />
systems – saved data should pres<strong>en</strong>t consist<strong>en</strong>t state of parallel program. Also they<br />
should save state of communication <strong>en</strong>vironm<strong>en</strong>t – messages, which were s<strong>en</strong>t, but<br />
wer<strong>en</strong>’t received before failure, should be saved and th<strong>en</strong> restored. Notion of<br />
consist<strong>en</strong>t state is consi<strong>de</strong>red in <strong>de</strong>tail in works [6].
It is known three c<strong>la</strong>sses of checkpoint-based recovery algorithms [4], which allow<br />
save consist<strong>en</strong>t states: uncoordinated, coordinated, communication-induced.<br />
Some types of parallel programs don’t accept some c<strong>la</strong>sses of algorithm. In this<br />
case, sci<strong>en</strong>tific calcu<strong>la</strong>ting applications are consi<strong>de</strong>red. They occupy all accessible<br />
memory on computational no<strong>de</strong> (approx. 1Gb at common cluster, at the pres<strong>en</strong>t<br />
mom<strong>en</strong>t), works on <strong>la</strong>rge quantity of no<strong>de</strong>s and actively transmit messages each other.<br />
Uncoordinated algorithm stores multiple of N 2 checkpoints, where N – the total<br />
number of processes in a system. It makes up huge amount of data for such type of<br />
application.<br />
There are two (rather in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t) criteria for the choice of the program area<br />
holding a checkpoint: (1) achievem<strong>en</strong>t of integrity of the program state being stored;<br />
(2) minimization of volume of data repres<strong>en</strong>ting the state of a parallel program being<br />
stored.<br />
The first criterion is satisfied if coordinated protocols are used. In that case we<br />
minimize the total number of checkpoints. To satisfy the second criterion it is<br />
necessary to choose such program area within which comparatively small amount of<br />
data is actual. The checkpointing method with coordinated protocol may choose a<br />
p<strong>la</strong>ce for a checkpoint within a parallel loop, according to the first criterion –<br />
achievem<strong>en</strong>t of integrity of the program state, which is stored. In such a case a <strong>la</strong>rge<br />
amount of data being actual only insi<strong>de</strong> the loop will be stored, so the second criterion<br />
is not satisfied. It is evid<strong>en</strong>t that in aspect of the second criterion areas before or after<br />
a loop are more appropriate for checkpoints, because in such cases it is not necessary<br />
to store variables used for temporary data within the loop.<br />
Thus, it seems useful to choose a p<strong>la</strong>ce for a checkpoint in such program areas<br />
where the amount of used storage (size of JavaVM heap) is minimal (or at least less<br />
than in other areas). Such areas may be <strong>de</strong>tected analyzing the structure of the controlflow<br />
graph using symbolic execution. Detection of such areas is able to increase the<br />
effici<strong>en</strong>cy of the coordinated protocol [7]. In existing c<strong>la</strong>ssification [4] such modified<br />
protocol may be re<strong>la</strong>ted to communication-induced mo<strong>de</strong>l-based.<br />
The proposed analysis of a parallel program is based on JavaVM heap size<br />
profiling. As parallel program profiling using target computer system is ineffici<strong>en</strong>t<br />
due resource <strong>de</strong>mands, we perform profiling of a mo<strong>de</strong>l of the program using<br />
symbolic interpreter.<br />
The analysis of the dynamics of used memory may be divi<strong>de</strong>d into the following<br />
two problems: (1) keeping track of the scope of each variable, and (2) keeping track<br />
of the amount of storage attached to the variable.<br />
The first problem is solved by ext<strong>en</strong>ding the notion of Java-method. Evid<strong>en</strong>tly, the<br />
lifetime of the names of variables <strong>de</strong>fined within a loop does not exceed the lifetime<br />
of the loop. We add to control-flow graph structure the blocks repres<strong>en</strong>ting<br />
ext<strong>en</strong>sion/reduction of the context (they are p<strong>la</strong>ced consequ<strong>en</strong>tly before the <strong>en</strong>try and<br />
after the exit of a loop). It makes possible precise <strong>de</strong>finition of the scope bounds of<br />
each variable. In most cases the storage allocated to such variable is released at the<br />
exit of a loop. The storage may stay allocated if the refer<strong>en</strong>ce to it was passed out of<br />
the loop.<br />
Such situations are the subject of the second problem. Variables of primitive Javatypes<br />
are processed, as well as special refer<strong>en</strong>ce type, containing refer<strong>en</strong>ce to<br />
auxiliary object <strong>de</strong>scribing the amount of storage occupied. In that case the mo<strong>de</strong>ling
of refer<strong>en</strong>ce assignm<strong>en</strong>t is come to the change of number of refer<strong>en</strong>ces to such object<strong>de</strong>scriptor.<br />
Wh<strong>en</strong> the number of refer<strong>en</strong>ces becomes equal to zero, storage is freed.<br />
The simi<strong>la</strong>r technique is used in garbage collector of JavaVM.<br />
4 Checkpointing algorithm<br />
The proposed variant of the algorithm consi<strong>de</strong>rs the separate process of the parallel<br />
program. Several restrictions are imposed on the program: the program should contain<br />
only one tread and should not use native methods (the user part of co<strong>de</strong> is meant). Let<br />
us consi<strong>de</strong>r that parallel program is already analyzed and intervals where it is possible<br />
to save the state of the process are discovered. The first stage consists in automatic<br />
source to source transformation: the instrum<strong>en</strong>tal insertions – calls of ChPt method of<br />
save/restore subsystem are ad<strong>de</strong>d and several calls of user’s methods are transformed<br />
as well. If user method is called, which directly or indirectly contains call of method<br />
ChPt and that call of is part of composite expression, th<strong>en</strong> that expression (main<br />
expression) <strong>de</strong>composed into three statem<strong>en</strong>t expressions. The first one contains<br />
calcu<strong>la</strong>tions that are located “before” call of user method in main expression. Result<br />
of sub expression stores in temporary variable. Second part is call of user method and<br />
its result is also stores into temporary variable. And the third part is the main<br />
expression, where sub expressions iso<strong>la</strong>ted into first and second part are substituted<br />
by temporary variable.<br />
The result of such co<strong>de</strong> transformation is th<strong>en</strong> method ChPt loads into stack of<br />
JVM, stack doesn’t contain any intermediate results of expressions being calcu<strong>la</strong>ted.<br />
So, all valid data are stored into method local variables and JVM heap.<br />
Th<strong>en</strong> program is started, special f<strong>la</strong>g STATUS located in the run-time subsystem<br />
takes on a value RUN. Th<strong>en</strong> execution reaches method ChPt and value of f<strong>la</strong>g<br />
STATUS equals RUN, checkpoint is created.<br />
Process of creating of checkpoint consists of two stages: storing stack of method<br />
calls and storing subset of objects of JVM heap.<br />
Each elem<strong>en</strong>t of JVM stack contains in<strong>de</strong>x of curr<strong>en</strong>t instruction of byte-co<strong>de</strong><br />
(value of PC register th<strong>en</strong> next method was called) and values of local variables.<br />
Stack is stored separately from JVM heap into XML-based text file that r<strong>en</strong><strong>de</strong>r to user<br />
ability of analysis and editing of program state. While stack storing each variable,<br />
which has object refer<strong>en</strong>ce, transmit value to service structure. Th<strong>en</strong> XMLrepres<strong>en</strong>tation<br />
of stack is prepared, such variable will be contain a refer<strong>en</strong>ce to service<br />
structure. Hereinafter we will refer to XML-repres<strong>en</strong>tation as checkpoint stack.<br />
After JVM stack, data from JVM heap are dumped. Store subsystem serializes<br />
service structure, m<strong>en</strong>tioned earlier, by g<strong>en</strong>eral algorithm provi<strong>de</strong>d JVM. This<br />
supports dumping only reachable from live local variables objects.<br />
While program restoring next actions are executed. Byte-co<strong>de</strong> of methods located<br />
in checkpoint stack is instrum<strong>en</strong>ted. Two types of insertions are p<strong>la</strong>ced into byteco<strong>de</strong>.<br />
In beginning of methods trampolines are p<strong>la</strong>ced, portion of co<strong>de</strong> executed th<strong>en</strong><br />
STATUS=RESTORE. Trampolines jump control flow to specified point of byte-co<strong>de</strong>.<br />
If program doesn’t contain recursive methods, each method is inclu<strong>de</strong>d in stack only<br />
once and there is only one jump address in trampoline. In other case, some methods
are pres<strong>en</strong>ted in stack several times and trampoline should have jump array. For each<br />
recursive method special static counter is created. Jump addresses are sorted in array<br />
by or<strong>de</strong>r of <strong>en</strong>tries of stack. Th<strong>en</strong> execution passes trampoline counter increases by<br />
one.<br />
Second type of insertions is located directly before next method call. At that<br />
method call shifts in byte co<strong>de</strong>. Insertion restores values of local variables of curr<strong>en</strong>t<br />
method frame and also snap into action only if STATUS=RESTORE.<br />
While restoring program starts with loading of JVM heap dump. Values of local<br />
variables of simple data types are restored by data directly p<strong>la</strong>ced in checkpoint stack.<br />
Variables refers to object obtain their values from restored by standard <strong>de</strong>serialization<br />
service data structure, m<strong>en</strong>tioned earlier.<br />
Th<strong>en</strong> restore subsystem sets f<strong>la</strong>g STATUS into value RESTORE and calls lowest<br />
method of checkpoint stack. Thus, execution reaches quick <strong>en</strong>ough call of method<br />
ChPt – work of processed methods consist just of jumps and restoring of local<br />
variables. If execution reaches method ChPt and STATUS=RESTORE this method<br />
only changes value of f<strong>la</strong>g into RUN. Th<strong>en</strong> returns from ChPt application continue its<br />
normal work.<br />
The information about instrum<strong>en</strong>tal co<strong>de</strong> arranged in the program (po<strong>sitio</strong>n in<br />
byteco<strong>de</strong> and size) is recor<strong>de</strong>d in the <strong>de</strong>scriptor stored together with a checkpoint.<br />
Wh<strong>en</strong> repeated recovery is performed these data are used on the stage of byteco<strong>de</strong><br />
instrum<strong>en</strong>tation. All insertions ma<strong>de</strong> before are removed, and the stack of a<br />
checkpoint, containing data consi<strong>de</strong>ring the insertions is modified in corresponding<br />
way. Th<strong>en</strong> the same actions as during the first recovery are performed.<br />
Consi<strong>de</strong>r an example that <strong>de</strong>monstrates <strong>de</strong>scribed above tools. Parallel program<br />
calcu<strong>la</strong>tes heat transmission in homog<strong>en</strong>eous stick. It uses explicit scheme and works<br />
over matrix 3000x3000 elem<strong>en</strong>ts at each process of parallel program. Data grows up<br />
with processors being used in such manner that program uses 80% memory of<br />
calcu<strong>la</strong>ting no<strong>de</strong>. Table 1 shows precision of symbolic execution and resources it<br />
consumes. The computations were performed using ISP RAS cluster with following<br />
parameters: 8 dual Athlon 1533 MHz having 1 Gb memory, communication network<br />
Myrinet, full duplex hypercube, bandwidth 2 Gb/sec, control network – Fast Ethernet.<br />
Instrum<strong>en</strong>tal machine is P<strong>en</strong>tium IV 2666 MHz with 512 Mb memory.<br />
Table 1. Precision of symbolic execution.<br />
Processors 2 4 6 8 10 12 14 16<br />
Real exec. (sec.) 569 584 584 590 592 590 593 595<br />
Symbolic exec. (sec.) 571 583 584 586 590 591 591 594<br />
Consumed time (sec.) 1 3 3 5 7 7 9 11<br />
Also, we measured overhead produced by checkpointing (Table 2). Program runs<br />
over one calcu<strong>la</strong>ting no<strong>de</strong> with variable dim<strong>en</strong>sion of matrix. Recovery subsystem<br />
produced checkpoint every 30 seconds. Despite of frequ<strong>en</strong>t dumping, checkpointing<br />
overhead restricts to 5%.
Table 2. Checkpointing overhead.<br />
Data size (dim<strong>en</strong>sion of matrix) 1000 1500 2000 2500 3000 3500<br />
With checkpointing (sec.) 63 143 252 403 586 810<br />
Without checkpointing (sec.) 62 142 249 395 569 778<br />
5 Re<strong>la</strong>ted Works<br />
At the pres<strong>en</strong>t mom<strong>en</strong>t, most of checkpointing systems exist as subpart of<br />
implem<strong>en</strong>tation of some communication library, such as Lam/MPI [8].<br />
Lam/MPI is wi<strong>de</strong>spread communication library, which implem<strong>en</strong>ts MPI. It’s<br />
inclu<strong>de</strong>d in Red Hat Linux distributive packages. Begins from version, Lam/MPI<br />
contains facilities to recovery parallel program after crash, based on Berkeley Lab<br />
Checkpoint/Restart (BLCR)[9].<br />
Another work [7] investigates in g<strong>en</strong>eral principles of p<strong>la</strong>cing checkpoints in<br />
program, but doesn’t consi<strong>de</strong>r technology of state saving. Offered method works in<br />
programming <strong>la</strong>nguages, where arrays are first c<strong>la</strong>ss citiz<strong>en</strong>s, for example Fortran 90.<br />
Special tool reveals program’s interval, which are optimal for checkpointing. These<br />
intervals contain minimal quantity of arrays. Revealing uses results of live variables<br />
and control flow analysis. Used technique protects parallel loop nests from<br />
checkpointing, and saves up to 73% of time, sp<strong>en</strong>t to process checkpoint.<br />
All well-known integrated <strong>en</strong>vironm<strong>en</strong>ts for <strong>de</strong>veloping parallel programs, support<br />
programming for Fortran and С <strong>la</strong>nguages. We may emphasize such <strong>en</strong>vironm<strong>en</strong>ts as<br />
AIMS (NASA Advanced Supercomputing Division) [10], TAU (University of<br />
Oregon) [11], and DiP (Universitat Politecnica <strong>de</strong> Catalunya) [12].<br />
The above-m<strong>en</strong>tioned systems employ post-mortem analysis of the program. These<br />
systems provi<strong>de</strong> wi<strong>de</strong> opportunities for trace viewing, gathering of parallel<br />
applications profiles and operating with statistics. The simi<strong>la</strong>r tools are realized in the<br />
ParJava <strong>en</strong>vironm<strong>en</strong>t.<br />
AIMS is the <strong>en</strong>vironm<strong>en</strong>t most simi<strong>la</strong>r to ParJava. AIMS, the same as ParJava,<br />
provi<strong>de</strong>s the symbolic execution of the SPMD-program. But during the instrum<strong>en</strong>ting<br />
of the program in AIMS, unlike in ParJava, the quantity and po<strong>sitio</strong>n optimization of<br />
calls to instrum<strong>en</strong>tal functions is not executed. The interpreting program is pres<strong>en</strong>ted<br />
internally in AIMS in BDL <strong>la</strong>nguage in which the pres<strong>en</strong>tation of the program is<br />
compiled from the blocks of three kinds: “cycle”, “communication” and “sequ<strong>en</strong>ce”.<br />
In the ParJava <strong>en</strong>vironm<strong>en</strong>t the program is pres<strong>en</strong>ted by the control flow graph that<br />
supplies a more a<strong>de</strong>quate interpretation. Moreover, in the ParJava <strong>en</strong>vironm<strong>en</strong>t the<br />
mechanism that gives an opportunity to control the process of the symbolic execution<br />
is realized. It is also possible to gather the trace of the symbolically executed<br />
program, to monitor the states of the program parts executed in parallel and to<br />
<strong>de</strong>termine the <strong>de</strong>adlock automatically.
6 Conclusion<br />
The ParJava <strong>en</strong>vironm<strong>en</strong>t <strong>en</strong>ables to <strong>de</strong>velop portable sca<strong>la</strong>ble SPMD Java-programs,<br />
providing the application programmer with software tools that help him to investigate<br />
expected execution time, sca<strong>la</strong>bility limits and some other properties of the parallel<br />
Java-program in <strong>de</strong>velopm<strong>en</strong>t time. The ParJava <strong>en</strong>vironm<strong>en</strong>t provi<strong>de</strong>s some software<br />
tools that help application programmer to improve his parallel program properties.<br />
Now, checkpoint recovery protocol is released as prototype in ParJava<br />
<strong>en</strong>vironm<strong>en</strong>t. Coordinated usage of tools can <strong>de</strong>crease <strong>de</strong>velopm<strong>en</strong>t and <strong>de</strong>bugging<br />
time of parallel program on unreliable computing systems. Applying of program<br />
analysis as static, as dynamic allows to making checkpointing overhead small <strong>en</strong>ough.<br />
ParJava is installed on several clusters: ISP RAS, Joint Supercomputer C<strong>en</strong>ter<br />
(Moscow), and Moscow University. Pres<strong>en</strong>tly some applications (flood mo<strong>de</strong>ling<br />
[13]) are being <strong>de</strong>veloped using ParJava.<br />
Refer<strong>en</strong>ces<br />
1. S. Mintchev. Writing Programs in JavaMPI. //TR MAN-CSPE-02, Univ. of Westminster,<br />
London, UK, 1997.<br />
2. Tong WeiQin, Ye Hua, Yao W<strong>en</strong>Sh<strong>en</strong>g. PJMPI: pure Java implem<strong>en</strong>tation of MPI.<br />
//Proceedings of the 4th International Confer<strong>en</strong>ce on High Performance Computing in the<br />
Asia-Pacific Region, 2000.<br />
3. JavaTM Virtual Machine Tool Interface (JVMTI).<br />
http://java.sun.com/j2se/1.5.0/docs/gui<strong>de</strong>/jvmti/in<strong>de</strong>x.html<br />
4. M. Elnozahy and L. Alvisi and Y.~M. Wang and D.~B. Johnson. A survey of rollbackrecovery<br />
protocols in message passing systems. / Technical report, Carnegie Mellon<br />
University, CMU-CS-96-181. October 1996.<br />
5. R. Martin, A. Vahdat, D. Culler, T. An<strong>de</strong>rson. The Effects of Lat<strong>en</strong>cy, Overhead and<br />
Bandwidth in a Cluster of Workstations. //In Proc. 24th Int. Symp. on Com. Arch.<br />
(ISCA'97), June 2 - 4, 1997, pp 85 – 97.<br />
6. O.Babaoglu and K. Marzullo. Consist<strong>en</strong>t global states of distributed systems: Fundam<strong>en</strong>tal<br />
Concepts and mechanisms. / Distributed Systems, Addison Wesley pp.55-96 1993.<br />
7. Sung-Eun Choi and Stev<strong>en</strong> J. Deitz. Compiler Support for Automatic Checkpointing. // In<br />
Proceedings of the 16th Annual International Symposium on High Performance Computing<br />
Systems and Applications, 2002.<br />
8. LAM/MPI Parallel Computing. http://www.<strong>la</strong>m-mpi.org/.<br />
9. Berkeley Lab Checkpoint/Restart (BLCR). http://ftg.lbl.gov/checkpoint/.<br />
10. J. C. Yan and S. R. Sarukkai. Analyzing Parallel Program Performance Using Normalized<br />
Performance Indices and Trace Transformation Techniques. //Parallel Computing. Vol. 22,<br />
No. 9, November 1996. pages 1215-1237<br />
11. S. Sh<strong>en</strong><strong>de</strong>, A. D. Malony, J. Cuny, K. Lind<strong>la</strong>n, P. Beckman and S. Karmesin. Portable<br />
Profiling and Tracing for Parallel Sci<strong>en</strong>tific Applications using C++. //Proc. SPDT'98: ACM<br />
SIGMETRICS Symposium on Parallel and Distributed Tools, pp. 134-145, Aug. 1998.<br />
12. J. Labarta, S. Girona, V. Pillet, T. Cortes, and L. Gregoris. Dip: A parallel program<br />
<strong>de</strong>velopm<strong>en</strong>t <strong>en</strong>vironm<strong>en</strong>t. // In Euro-Par, Vol. II, pages 665-674, 1996.<br />
13. L. Hluchy, V.D. Tran, D. Froehlich, and W. Castaings, Methods and Experi<strong>en</strong>ces of<br />
Parallelizing Flood Mo<strong>de</strong>ls, The 10th EuroPVM/MPI confer<strong>en</strong>ce. LNCS 2840. Sept. 2003,<br />
V<strong>en</strong>ice. pp. 677-681.
Clusterweb – a WEB-based cluster managem<strong>en</strong>t<br />
interface<br />
Arutyun Avetisyan, Oleg Samovarov, Dmitry Grushin, Andrey Ryzhov<br />
Institute for System Programming Russian Aca<strong>de</strong>my of Sci<strong>en</strong>ces, 25 B.<br />
Kommunisticheskaya st., Moscow, 109004, Russia<br />
{arut, samov, grushin, ryzhov}@ispras.ru<br />
Abstract. Clusterweb - a WEB-based interface to cluster managem<strong>en</strong>t systems<br />
is discussed. Each cluster managem<strong>en</strong>t system has many command line options,<br />
scriptable parameters, and tools, which are very difficult to learn for the typical<br />
user. WEB-based interface simplifies job submission and managem<strong>en</strong>t as well<br />
as access to cluster from non-UNIX <strong>en</strong>vironm<strong>en</strong>ts. Typical job managem<strong>en</strong>t<br />
inclu<strong>de</strong>s file uploads and downloads which are usually performed using FTP<br />
protocol being not secure, so for secure file transfers additional software must<br />
be installed. WEB-based interface does not require any additional software and<br />
can be used from any HTML compliant browser. All data transfers can be ma<strong>de</strong><br />
secure if server and cli<strong>en</strong>t browser support SSL. WEB-based interface to cluster<br />
can retain information concerning uploa<strong>de</strong>d job files and used command scripts,<br />
which could be very conv<strong>en</strong>i<strong>en</strong>t for all users accessing cluster. Moreover,<br />
WEB-based interface can support differ<strong>en</strong>t user customizations and have nice<br />
graphical look. Clusterweb is implem<strong>en</strong>ted using Java and XSL stylesheets on<br />
the top of Tomcat servlet container. Tomcat is free software and can be easily<br />
integrated into the Apache Web server. Interface features inclu<strong>de</strong> job<br />
managem<strong>en</strong>t, command file managem<strong>en</strong>t and user settings managem<strong>en</strong>t. The<br />
interface can be used with differ<strong>en</strong>t cluster managem<strong>en</strong>t systems, which have<br />
command line interface or can be accessed through API services. Future<br />
versions may inclu<strong>de</strong> integration with Grid <strong>en</strong>vironm<strong>en</strong>ts.<br />
1. Introduction<br />
Clusterweb is a WEB based interface to cluster managem<strong>en</strong>t systems. Many<br />
cluster managem<strong>en</strong>t systems have a lot of command line options, scriptable<br />
parameters, and differ<strong>en</strong>t tools, which are very difficult to learn for the typical user.<br />
WEB-based interface simplifies job submission and managem<strong>en</strong>t. It also could be<br />
very useful for users that access cluster from non-UNIX <strong>en</strong>vironm<strong>en</strong>ts, for example<br />
Windows and Mac machines.<br />
Typical job managem<strong>en</strong>t inclu<strong>de</strong>s file uploads and downloads which are usually<br />
performed using FTP protocol, which is not secure. Simple FTP cli<strong>en</strong>t exists in all<br />
major OS distributions, on the other hand for secure file transfers additional software
must be installed. From this point of view WEB interface does not require any<br />
additional software and can be used from any HTML compliant browser. All data<br />
transfers can be ma<strong>de</strong> secure if server and cli<strong>en</strong>t browser support SSL.<br />
Besi<strong>de</strong>s this, WEB-based interface to cluster can retain information concerning<br />
uploa<strong>de</strong>d job files and used command scripts, which could be very conv<strong>en</strong>i<strong>en</strong>t for all<br />
users accessing cluster. Moreover, WEB-based interface can support differ<strong>en</strong>t user<br />
customizations and have nice graphical look.<br />
Clusterweb is implem<strong>en</strong>ted using Java and XSL stylesheets on the top of Tomcat<br />
servlet container. Tomcat is free software and can be easily integrated into the Apache<br />
Web server. Interface features inclu<strong>de</strong> job managem<strong>en</strong>t, command file managem<strong>en</strong>t<br />
and user settings managem<strong>en</strong>t.<br />
The interface can be used with differ<strong>en</strong>t cluster managem<strong>en</strong>t systems, which have<br />
command line interface or can be accessed through API services. Future versions may<br />
inclu<strong>de</strong> integration with external systems, i.e. Grids.<br />
2. Clusterweb features<br />
Clusterweb supports submission and managem<strong>en</strong>t of parallel jobs to cluster by<br />
means of communicating with un<strong>de</strong>rling managem<strong>en</strong>t system. Clusterweb provi<strong>de</strong>s<br />
higher level of abstraction for users who submit and manage jobs, th<strong>en</strong> using a<br />
command line based interface. Each job is repres<strong>en</strong>ted as a number of files,<br />
compressed in a single ZIP archive1. Job has a name, size, date, number of CPU and<br />
status attributes. Job may have other specific attributes, which <strong>de</strong>p<strong>en</strong>d only on the<br />
target managem<strong>en</strong>t system.<br />
Every user has a virtual home directory, which holds all submitted jobs. User can<br />
upload new job, <strong>de</strong>lete or restart already finished jobs. User’s home page is shown on<br />
the figure below.<br />
Fig. 1. User’s home page<br />
Home page contains main m<strong>en</strong>u and a list of jobs. Name is an ordinary <strong>la</strong>bel for a<br />
job; therefore, two jobs with the same name may exist in the list. Each job is<br />
repres<strong>en</strong>ted by a single ZIP archive file, which contains all necessary data for job<br />
execution on a target parallel machine. The size attribute shows the size of the<br />
corresponding job archive file in bytes. Date attribute shows the date wh<strong>en</strong> the<br />
corresponding job has be<strong>en</strong> ad<strong>de</strong>d to the list. CPU is the number of processing<br />
1<br />
ZIP compression is quite fast and many users already have ZIP compatible programs that can<br />
op<strong>en</strong> .zip files.
elem<strong>en</strong>ts required by the job. There are five possible values for the status co<strong>de</strong>; all of<br />
them are shown in the table below.<br />
Table 1. Job status co<strong>de</strong>s<br />
New<br />
Waiting<br />
Running<br />
Stopped<br />
Finished<br />
Job has be<strong>en</strong> submitted to the list.<br />
Job has be<strong>en</strong> started and is waiting for its<br />
execution time.<br />
Job is running.<br />
Job has be<strong>en</strong> stopped.<br />
Job finished.<br />
Job state tran<strong>sitio</strong>n graph is shown on the figure below.<br />
Fig. 2. Job state tran<strong>sitio</strong>n graph<br />
Submission of new jobs is performed in two steps. First, user should create a single<br />
ZIP archive file, with all necessary data for job execution. This file will be further<br />
<strong>de</strong>compressed by the system into temporarily directory on a target machine. The<br />
temporarily directory will be set as a curr<strong>en</strong>t directory for the job. That means users<br />
should avoid using absolute path names in submitted programs. The second step is to<br />
create a command file for the job.<br />
Command file <strong>de</strong>p<strong>en</strong>ds on the un<strong>de</strong>rlying managem<strong>en</strong>t system; h<strong>en</strong>ce, creation of<br />
the command file may be troublesome for <strong>en</strong>d users. Clusterweb can automatically<br />
create a command file for a job based on job’s specific attributes. Command file may<br />
have several versions to support differ<strong>en</strong>t cluster managem<strong>en</strong>t systems. Clusterweb<br />
chooses an appropriate command file automatically, each time job is executed on a<br />
target cluster machine. This functionality will be implem<strong>en</strong>ted in upcoming version of<br />
Clusterweb. At pres<strong>en</strong>t job archive file should contain a file named start, which is a<br />
command file for the job.<br />
New job wizard is accessible through the “Add New Job” m<strong>en</strong>u. An example page<br />
is shown on the figure below.
Fig. 3. New job submission<br />
To submit a new job, user should <strong>en</strong>ter name, <strong>de</strong>scription, required number of<br />
processing elem<strong>en</strong>ts and job archive file. Job <strong>de</strong>scription is optional. Job archive file<br />
should contain all data necessary for job execution and a command file named start. If<br />
the file does not exist, the user should assign command file to the job manually. Job<br />
can be started in two ways: either automatically after upload, or manually <strong>la</strong>ter. By<br />
<strong>de</strong>fault, starting time for a job is manual.<br />
Before starting the job on a target machine, the system will <strong>de</strong>compress job archive<br />
file into a temporarily directory. After <strong>de</strong>compression, the system will try to execute<br />
(in terms of the un<strong>de</strong>rlying managem<strong>en</strong>t system) file with the name start. Job standard<br />
output and error streams should be redirected to files named stdout and st<strong>de</strong>rr<br />
correspondingly. If the system fails to find these files, the cont<strong>en</strong>ts of the<br />
corresponding output streams will not be avai<strong>la</strong>ble.<br />
User can manage command files used for job execution. Command files are called<br />
scripts2. The scripts are organized in groups. User can add or <strong>de</strong>lete script groups.<br />
User can <strong>de</strong>lete only empty groups and scripts, which are not assigned to jobs. Each<br />
script has name, size and date attributes. Two scripts with the same name may exist in<br />
the list. Size attribute id<strong>en</strong>tifies the size of the script in bytes. Date attribute shows the<br />
date wh<strong>en</strong> the corresponding script has be<strong>en</strong> ad<strong>de</strong>d to the list. During job upload user<br />
can create a new script or select some script from the list and edit it if necessary.<br />
Job archive file may contain executable programs or source co<strong>de</strong>s, which need to<br />
be compiled before job execution. In this case, all necessary commands should be<br />
ad<strong>de</strong>d to the start script.<br />
2<br />
This is a script file in terms of the un<strong>de</strong>rlying managem<strong>en</strong>t system, but it may be not shellcompatible.
3. Clusterweb architecture<br />
Clusterweb system is built using Java 2 frameworks and services for business logic<br />
compon<strong>en</strong>ts and Servlet API for front-<strong>en</strong>d on the top of the Apache Tomcat 4.1<br />
servlet container.<br />
Clusterweb architecture is a variation of the Mo<strong>de</strong>l-View-Controller (MVC) <strong>de</strong>sign<br />
pattern [5]. MVC organizes an interactive application into three separate parts: one for<br />
the application mo<strong>de</strong>l with its data repres<strong>en</strong>tation and business logic, the second for<br />
views that provi<strong>de</strong> data pres<strong>en</strong>tation and user input, and the third for a controller to<br />
dispatch requests and control flow.<br />
The MVC <strong>de</strong>sign pattern provi<strong>de</strong>s a host of <strong>de</strong>sign b<strong>en</strong>efits. MVC separates <strong>de</strong>sign<br />
concerns (data persist<strong>en</strong>ce and behavior, pres<strong>en</strong>tation, and control), <strong>de</strong>creasing co<strong>de</strong><br />
duplication, c<strong>en</strong>tralizing control, and making the application more easily modifiable.<br />
MVC also helps <strong>de</strong>velopers with differ<strong>en</strong>t skill sets to focus on their core skills and<br />
col<strong>la</strong>borate through clearly <strong>de</strong>fined interfaces [5].<br />
The system inclu<strong>de</strong>s three <strong>la</strong>yers: Pres<strong>en</strong>tation Layer (View), Business Layer<br />
(Mo<strong>de</strong>l) and Workflow Layer (Controller).<br />
The purpose of the Pres<strong>en</strong>tation Layer is to provi<strong>de</strong> a mechanism to create<br />
pres<strong>en</strong>tation docum<strong>en</strong>ts (HTML) with the following goals kept in mind.<br />
The system must be able to handle a number of locale-specific versions of each<br />
page. The system must choose the most appropriate page version transpar<strong>en</strong>tly to the<br />
un<strong>de</strong>rlying processing <strong>la</strong>yers<br />
The stylesheets must be completely separate from the application logic, so that it<br />
were possible to modify the <strong>la</strong>yout, perform localization and otherwise edit<br />
stylesheets without any impact on the co<strong>de</strong>. Such separations of concerns implies that<br />
people without Java programming skills can customize <strong>la</strong>yout as far as it doesn’t<br />
affect scre<strong>en</strong> navigation, ess<strong>en</strong>tial data passed and other functional aspects.<br />
Although the curr<strong>en</strong>t version does not <strong>de</strong>al with pres<strong>en</strong>tation media other th<strong>en</strong><br />
HTML, it is possible that the forthcoming versions will. H<strong>en</strong>ce, it should be possible<br />
to add another pres<strong>en</strong>tation media with no impact on core business logic and minimal<br />
impact on other <strong>la</strong>yers.<br />
In or<strong>de</strong>r to satisfy the goals above, XML/XSL-based approach was chos<strong>en</strong> as an<br />
un<strong>de</strong>rlying technology for the Pres<strong>en</strong>tation Layer. Pres<strong>en</strong>tation <strong>la</strong>yer is responsible for<br />
r<strong>en</strong><strong>de</strong>ring of the XML docum<strong>en</strong>ts created by the un<strong>de</strong>rlying <strong>la</strong>yer using the most<br />
appropriate chos<strong>en</strong> stylesheet. Both Pres<strong>en</strong>tation and Business <strong>la</strong>yers coexist within<br />
Workflow <strong>la</strong>yer. Workflow Layer is <strong>de</strong>signed to keep Business Objects in the<br />
Business Layer free from state managem<strong>en</strong>t and interaction with the Pres<strong>en</strong>tation<br />
Layer. Its responsibility is to convert user actions into calls to stateless transactional<br />
Business Objects, gather data and prepare XML docum<strong>en</strong>ts to be r<strong>en</strong><strong>de</strong>red by the<br />
Pres<strong>en</strong>tation Layer, which is summarized on the picture below.
Fig 4. Clusterweb <strong>la</strong>yers<br />
Workflow Layer is responsible for scre<strong>en</strong> navigation, i.e. it <strong>de</strong>ci<strong>de</strong>s what scre<strong>en</strong> to<br />
show next according to user action. Unlike the Pres<strong>en</strong>tation, Workflow Layer inclu<strong>de</strong>s<br />
both framework parts and pluggable pieces of co<strong>de</strong>, which implem<strong>en</strong>t functionality<br />
specific to particu<strong>la</strong>r pages and page groups. Workflow Layer also works as a<br />
“<strong>de</strong>f<strong>en</strong>se perimeter”: this is where the request parameters are parsed, validated, and<br />
permissions are checked. The calls from Workflow Layer to Business Objects must<br />
<strong>en</strong>sure that according to a particu<strong>la</strong>r Business Object contract, the call will not vio<strong>la</strong>te<br />
the security constraints.<br />
Workflow <strong>la</strong>yer corresponds to a common Three-Tier Architecture. The main<br />
servlet called WFServlet, analyzes incoming request and extracts the value of request<br />
parameter, which holds page id<strong>en</strong>tifier. Based on the extracted id, WFServlet invokes<br />
appropriate request and response handlers based on user-computable conditions. The<br />
picture below illustrates this request-response processing.<br />
Figure 5. Workflow <strong>de</strong>tails<br />
Handlers modify single XML docum<strong>en</strong>t (DOM object), which is used for constructing<br />
response. Each handler is in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t from others. All interaction betwe<strong>en</strong> handlers<br />
is performed through conditions and HTTP session.<br />
4. Interaction with cluster managem<strong>en</strong>t system<br />
To start working with Clusterweb user should supply a login name and a password.<br />
Clusterweb has a stand-alone access list, which is checked for exist<strong>en</strong>ce of the<br />
provi<strong>de</strong>d user name and password.<br />
In the curr<strong>en</strong>t version, registration of new user is performed by submission of<br />
request form, which is checked by the system and s<strong>en</strong>d to a system administrator.
After successful auth<strong>en</strong>tication user can start working with Clusterweb. Wh<strong>en</strong> the<br />
user submits a new job, the system op<strong>en</strong>s Secure Shell (SSH) connection to the<br />
<strong>de</strong>sired cluster server and executes corresponding command line utilities. All<br />
necessary files are transferred with SCP utility. This approach requires that the user<br />
un<strong>de</strong>r which Tomcat server is run should have public key SSH access to the cluster<br />
machine with the <strong>de</strong>sired user id. H<strong>en</strong>ce, Tomcat SSH public id<strong>en</strong>tity key should be<br />
copied to the corresponding user’s authorized_keys file on the cluster machine. Wh<strong>en</strong><br />
Clusterweb does a secure shell login into the user’s system account it creates working<br />
directory named clusterweb. Each uploa<strong>de</strong>d job is giv<strong>en</strong> a subdirectory insi<strong>de</strong> this<br />
directory. Wh<strong>en</strong> the job finishes, all re<strong>la</strong>ted files are removed from the directory.<br />
5. Re<strong>la</strong>ted work<br />
There are many WEB-based interfaces <strong>de</strong>signed to help cluster managem<strong>en</strong>t, but<br />
most part of them can be used only for cluster monitoring than for submitting user<br />
jobs [1, 2, 4]. Such systems are <strong>de</strong>signed to provi<strong>de</strong> flexible WEB–based interface<br />
and tools for secure cluster administration. The systems inclu<strong>de</strong> automated a<strong>la</strong>rms and<br />
remote notification through email or SMS alerts, up-to-the minute statistics of the<br />
cluster status, and historical resource utilization data [4].<br />
PBSWeb is a simple WEB-based interface to the Portable Batch System (PBS), which<br />
supports both local and remote users, maintains a simple history database of past job<br />
parameters, and hi<strong>de</strong>s much of the complexities of the un<strong>de</strong>rlying scheduler [3].<br />
PBSWeb is implem<strong>en</strong>ted using CGI Perl scripts on the top of the Apache server.<br />
Refer<strong>en</strong>ces<br />
1. Ganglia Toolkit, http://ganglia.sourceforge.net<br />
2. ClusterWorX 2.0, Linux NetworX, http://www.linuxnetworx.com<br />
3. George Ma and Paul Lu. “PBSWeb:A Web-based Interface to the Portable Batch System”,<br />
12th IASTED International Confer<strong>en</strong>ce on Parallel and Distributed Computing and<br />
Systems (PDCS), Las Vegas, Nevada, U.S.A., November 6-9, 2000, pp. 24-30<br />
4. The Cluster Managem<strong>en</strong>t System, Streamline Computing, http://www.streamlinecomputing.com<br />
5. Sun BluePrints, “Designing Enterprise Applications with the J2EETM P<strong>la</strong>tform, Second<br />
Edition”, chapter 11
Robótica móvil<br />
Angélica Muñoz Melén<strong>de</strong>z<br />
Victor Aya<strong>la</strong> Ramírez<br />
(Editores)
Introducción<br />
La robótica como disciplina <strong>de</strong> estudio ha recibido <strong>en</strong> México un apoyo limitado. Son<br />
muy pocos los proyectos <strong>de</strong> investigación que recib<strong>en</strong> algún tipo <strong>de</strong> financiami<strong>en</strong>to <strong>de</strong><br />
parte <strong>de</strong> algún organismo difer<strong>en</strong>te a <strong>la</strong>s universida<strong>de</strong>s y a los c<strong>en</strong>tros <strong>de</strong> investigación<br />
1 .<br />
Esta falta <strong>de</strong> apoyo pue<strong>de</strong> constatarse no sólo <strong>en</strong> <strong>la</strong> atribución <strong>de</strong> recursos, sino<br />
también <strong>en</strong> el número <strong>de</strong> grupos <strong>de</strong> investigación y <strong>de</strong> empresas trabajando <strong>en</strong> el área.<br />
El directorio <strong>de</strong> robótica y automatización <strong>de</strong> México 2 y <strong>la</strong>s asociaciones mexicanas<br />
<strong>de</strong> robótica y <strong>de</strong> mecatrónica reún<strong>en</strong>, respectivam<strong>en</strong>te, a siete empresas mexicanas<br />
interesadas <strong>en</strong> el <strong>de</strong>sarrollo y <strong>en</strong> <strong>la</strong> v<strong>en</strong>ta <strong>de</strong> sistemas robóticos industriales y educativos,<br />
y a profesionales <strong>de</strong> no más <strong>de</strong> una veint<strong>en</strong>a <strong>de</strong> institutos y <strong>de</strong> universida<strong>de</strong>s <strong>de</strong><br />
todo el país.<br />
Los grupos mexicanos que trabajan <strong>en</strong> robótica sufr<strong>en</strong> también <strong>de</strong> <strong>la</strong> dispersión <strong>de</strong><br />
esfuerzos. Prueba <strong>de</strong> ello es, por m<strong>en</strong>cionar sólo un ejemplo, <strong>la</strong> multitud <strong>de</strong> concursos<br />
y torneos que, <strong>de</strong> manera in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te, se organizan <strong>en</strong> diversas ciuda<strong>de</strong>s.<br />
De acuerdo a este panorama, no parece equivocado <strong>de</strong>ducir que <strong>en</strong> México se invierte<br />
muy poco <strong>en</strong> <strong>la</strong> robótica y que, lo poco que se invierte, se fragm<strong>en</strong>ta <strong>en</strong> esfuerzos<br />
individuales. Si ya es <strong>de</strong>safortunado que los c<strong>en</strong>tros <strong>de</strong> investigación, <strong>la</strong>s empresas<br />
y <strong>la</strong>s universida<strong>de</strong>s no estemos capitalizando nuestras experi<strong>en</strong>cias, lo es más que<br />
no conjuntemos nuestros esfuerzos por alcanzar objetivos comunes.<br />
Con estas inquietu<strong>de</strong>s <strong>en</strong> m<strong>en</strong>te nos dimos a <strong>la</strong> tarea <strong>de</strong> organizar un ev<strong>en</strong>to para<br />
reunir a <strong>la</strong> comunidad <strong>de</strong> roboticistas mexicanos. Nuestra motivación fue promover <strong>la</strong><br />
conformación <strong>de</strong> una comunidad <strong>de</strong> roboticistas sólida: que se conoce, se reúne periódicam<strong>en</strong>te<br />
a discutir sus trabajos, y es capaz <strong>de</strong> organizar y <strong>de</strong> co<strong>la</strong>borar <strong>en</strong> proyectos<br />
conjuntos.<br />
Los objetivos específicos que nos trazamos con <strong>la</strong> organización <strong>de</strong> este taller fueron<br />
los sigui<strong>en</strong>tes:<br />
• Crear un foro para el intercambio <strong>de</strong> i<strong>de</strong>as <strong>en</strong>tre investigadores, estudiantes y<br />
profesionales trabajando <strong>en</strong> el área <strong>de</strong> robótica móvil <strong>en</strong> México.<br />
• Evaluar <strong>la</strong> situación <strong>de</strong> <strong>la</strong> investigación <strong>en</strong> el área.<br />
• Proponer líneas <strong>de</strong> acción conjuntas, como pued<strong>en</strong> ser <strong>la</strong> organización <strong>de</strong> ev<strong>en</strong>tos<br />
nacionales, talleres y simposia, que ayud<strong>en</strong> a difundir el trabajo <strong>de</strong>sarrol<strong>la</strong>do por<br />
roboticistas mexicanos.<br />
• Servir <strong>de</strong> catalizador <strong>de</strong> nuevas alianzas <strong>de</strong> cooperación académica-industrial <strong>en</strong><br />
el área <strong>de</strong> robótica móvil.<br />
Para conformar el taller, invitamos a <strong>la</strong> comunidad trabajando <strong>en</strong> el área <strong>de</strong> robótica<br />
móvil <strong>en</strong> México a <strong>en</strong>viar artículos técnicos <strong>de</strong>scribi<strong>en</strong>do resultados <strong>de</strong> su investigación,<br />
los cuales fueron sometidos a <strong>la</strong> evaluación <strong>de</strong> un comité <strong>de</strong> programa inte-<br />
1<br />
De 2002 a <strong>la</strong> fecha, por ejemplo, sólo se ha reportado <strong>la</strong> aprobación <strong>de</strong> un proyecto directam<strong>en</strong>te<br />
re<strong>la</strong>cionado con <strong>la</strong> robótica, <strong>en</strong> el marco <strong>de</strong> los fondos mixtos y sectoriales <strong>de</strong> Conacyt<br />
(fu<strong>en</strong>te: www.conacyt.mx/fondos/resultados.html).<br />
2<br />
http://directorio.com.mx/robotica-automatizacion/
grado por reconocidos expertos. Invitamos también a <strong>la</strong> comunidad a <strong>en</strong>viar pres<strong>en</strong>taciones<br />
<strong>de</strong>scribi<strong>en</strong>do sus grupos y sus líneas <strong>de</strong> trabajo.<br />
El resultado <strong>de</strong> esta convocatoria fue mo<strong>de</strong>sto, consi<strong>de</strong>rando el número <strong>de</strong> artículos<br />
recibidos. Sin embargo, los artículos técnicos aceptados para su pres<strong>en</strong>tación son <strong>de</strong><br />
gran calidad y nos dan una i<strong>de</strong>a <strong>de</strong>l amplio panorama <strong>de</strong> <strong>la</strong> investigación que se hace<br />
<strong>en</strong> el área <strong>de</strong> robótica móvil <strong>en</strong> nuestro país. Las pres<strong>en</strong>taciones <strong>de</strong> dos grupos trabajando<br />
<strong>en</strong> el área <strong>de</strong> robótica no hac<strong>en</strong> sino confirmar <strong>la</strong> gran variedad <strong>de</strong> temas abordados<br />
por los roboticistas mexicanos.<br />
Estamos seguros que este taller es ap<strong>en</strong>as el inicio <strong>de</strong> una fructífera re<strong>la</strong>ción <strong>en</strong>tre<br />
los roboticistas mexicanos. Nos nos queda más que agra<strong>de</strong>cer a los organizadores <strong>de</strong><br />
los talleres <strong>de</strong>l Encu<strong>en</strong>tro Internacional <strong>en</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong> 2004, así<br />
como a los miembros <strong>de</strong> nuestro comité <strong>de</strong> programa por su valiosa ayuda. Todos<br />
ellos nos apoyaron <strong>de</strong> manera <strong>en</strong>tusiasta <strong>en</strong> <strong>la</strong> organización <strong>de</strong> este ev<strong>en</strong>to.
Comité Ci<strong>en</strong>tífico<br />
Copresid<strong>en</strong>tes:<br />
Víctor Aya<strong>la</strong>, Universidad <strong>de</strong> Guanajuato<br />
Angélica Muñoz, Instituto Nacional <strong>de</strong> Astrofísica, Óptica y Electrónica<br />
Michel Devy, Laboratoire d'Analyse et d'Architecture <strong>de</strong>s Systèmes<br />
O<strong>la</strong>c Fu<strong>en</strong>tes, Instituto Nacional <strong>de</strong> Astrofísica, Óptica y Electrónica<br />
José Joel González, Universidad <strong>de</strong> Guanajuato<br />
José Luis Gordillo, Instituto Tecnológico <strong>de</strong> Estudios Superiores <strong>de</strong> Monterrey<br />
José Negrete, Universidad Nacional Autónoma <strong>de</strong> México - U. Veracruzana<br />
Antonio Marín, Universidad Veracruzana
1<br />
Object Id<strong>en</strong>tification and Location by Using Simple Sonar<br />
S<strong>en</strong>sors<br />
Luis Enrique Arámbu<strong>la</strong> Miranda 1<br />
1 Universidad Autónoma <strong>de</strong> Aguascali<strong>en</strong>tes, Ave Universidad 940,<br />
Aguascali<strong>en</strong>tes, Ags., México<br />
arambu<strong>la</strong>@correo.uaa.mx<br />
Abstract. Three simple objects: walls, corners and edges can be used to mo<strong>de</strong>l indoor<br />
<strong>en</strong>vironm<strong>en</strong>ts. These objects are typically <strong>de</strong>tected either by using a complete echo signal<br />
analysis or by means of image processing. However, many mobile robots are equipped<br />
with simple sonar systems. This paper analyses some issues about the object<br />
c<strong>la</strong>ssification by using only the time-of-flight (TOF) parameter. In or<strong>de</strong>r to collect<br />
<strong>en</strong>ough information, the robot ma<strong>de</strong> turns in 1.5 <strong>de</strong>grees steps. The optimal number of<br />
po<strong>sitio</strong>ns for reading was 27. Since our robot has 8 sonars, the input vector size is 216.<br />
Three specialized Multi-Layer Perceptron (MLP) networks for id<strong>en</strong>tification, distance<br />
and angle estimation were <strong>de</strong>veloped. The accuracy achieved was 99.7, 93 and 99 %<br />
respectively. Thus, we argue that simple sonar-based robots can id<strong>en</strong>tify and locate walls,<br />
corners and edges.<br />
1 Introduction<br />
Nowadays, roboticists are looking for the best approach to recognize the <strong>en</strong>vironm<strong>en</strong>t that<br />
surrounds a robot. Many efforts have be<strong>en</strong> ma<strong>de</strong> in both vision and sound. Although vision<br />
is a promissory field, we are strong believers that sound has some advantages over vision.<br />
First, sound transducers are simpler and cheaper than vision transducers. Second, the image<br />
processing <strong>de</strong>mands a lot of computational effort. Third, sound can be more useful in<br />
certain light conditions. Finally, there is a possibility to recognize 3-D objects without<br />
complex stereo vision systems [1]. The use of sound for image recognition has achieved<br />
many interesting results in several areas including medical ultrasound, un<strong>de</strong>rsea sonar,<br />
seismic imaging and non<strong>de</strong>structive evaluation, among others. So, we argue that sonars for<br />
object id<strong>en</strong>tification in mobile robots can be another successful area for sound applications.<br />
Although several researchers are using sonar s<strong>en</strong>sors to id<strong>en</strong>tify objects, most of them use a<br />
complete echo-signal analysis [2] [3]. Others use complex sonar arrays [4] [5] [6] [7].<br />
However, several mobile robots are equipped with simple sonars. They only report the time-offlight<br />
(h<strong>en</strong>ceforth TOF). Our work addresses the object id<strong>en</strong>tification using only the TOF,<br />
another echo features such as amplitu<strong>de</strong>, phase shifting and second echo pulse are ignored.
2<br />
2 Previous Re<strong>la</strong>ted Work<br />
Barshan and Kuc exploited the differ<strong>en</strong>ces in echo amplitu<strong>de</strong> and ranges [8]. They used two<br />
transmitters and two receivers. Peremans et al. used one transmitter and three receivers to<br />
process several echoes [4]. They were able to distinguish and locate p<strong>la</strong>nes, corners and<br />
edges. Kleeman and Kuc discriminated p<strong>la</strong>nes, corners and edges with a two-transmitter<br />
two-receiver array by using temp<strong>la</strong>tes [2]. They also id<strong>en</strong>tified objects in the background.<br />
Gorman and Sejnowski reported the first use of sonars and neural networks for<br />
c<strong>la</strong>ssification [9]. They c<strong>la</strong>ssified un<strong>de</strong>rsea targets using a MLP. Watanabe and Yoneyama<br />
achieved an amazing 3-D object recognition system with an 8x8 array [1] . Dror et al.<br />
id<strong>en</strong>tified cubes and pyramids using one microphone and one speaker moving around an<br />
object [10]. The objects were illuminated with a multi-frequ<strong>en</strong>cy bat-like sound. Barshan et<br />
al. c<strong>la</strong>ssified and located p<strong>la</strong>nes, corners, edges and cylin<strong>de</strong>rs using a MLP with outputs<br />
digitally <strong>en</strong>co<strong>de</strong>d [3].<br />
3 Object Id<strong>en</strong>tification Using Sonars<br />
3.1 Typical Problems with Sonars<br />
Wh<strong>en</strong> working with sonars, one must accept the characteristics involved on it. Firstly, the<br />
beamwidth is not sharp, the main lobe is about 30° wi<strong>de</strong>, see Fig. 3.1. Secondly, the sound<br />
waves reflected on objects suffer att<strong>en</strong>uation, <strong>de</strong>viation and reflection.<br />
Fig. 3.1 Propagation pattern of the Po<strong>la</strong>roid 6500 series sonar. (Po<strong>la</strong>roid, 1990 [11]).<br />
According to Nehmzow [12], the sonar problems can be summarized as follows:<br />
i) Uncertainty of exact po<strong>sitio</strong>n. Any object within the s<strong>en</strong>sible region reflects an<br />
echo. The exact distance and angle are unknown.<br />
ii) Specu<strong>la</strong>r reflections. This error arises wh<strong>en</strong> a sonar ultrasound wave is reflected by<br />
several surfaces until it reaches the s<strong>en</strong>sor.<br />
iii) Crosstalking. If several sonars are being used, the emissions can interfere among<br />
themselves. This problem also arises wh<strong>en</strong> several robots are working closely.<br />
We can also say that successful object <strong>de</strong>tection <strong>de</strong>p<strong>en</strong>ds on the size, the shape and the<br />
texture of the object.
3<br />
3.2 The Sonars in the Pioneer II Mobile Robot<br />
There are 8 sonars in the robot’s front. They are distributed as <strong>de</strong>picted in Fig. 3.2. The only<br />
avai<strong>la</strong>ble data is the TOF from each sonar. It is not possible to fire one sonar and hear the<br />
echo in another, i.e. each sonar hears only its own pulse.<br />
10 -10<br />
30<br />
-30<br />
50<br />
-50<br />
90<br />
S2 S3 S4 S5<br />
S1<br />
S6<br />
S0<br />
S7<br />
-90<br />
Fig. 3.2 Pioneer II mobile robot and the sonar covered regions. (after Pioneer II Operations<br />
Manual, ActivMedia Robotics, 2000 [13])<br />
3.3 The Robot Facing The Three Objects<br />
The mo<strong>de</strong>l used is a straight line at the c<strong>en</strong>tre of the sonar axis. Only 2-dim<strong>en</strong>sional data is<br />
avai<strong>la</strong>ble. The l<strong>en</strong>gth of this line is the TOF reported. Therefore, we assumed that the object<br />
reflecting the echo is at the middle of the lobe. Fig. 3.3 illustrates our sonar mo<strong>de</strong>l with the<br />
robot facing a wall, a corner and an edge. Wh<strong>en</strong> facing a wall, two sonars at the c<strong>en</strong>tre read<br />
a small value (see Figure 3.3.a). Wh<strong>en</strong> facing a corner, six sonars read small values (see<br />
Figure 3.3.b). Finally wh<strong>en</strong> facing an edge, only one sonar reads a small value (see Figure<br />
3.3.c).<br />
PLANE<br />
Sonar 0<br />
Sonar 0<br />
Sonar 0<br />
CORNER<br />
Sonar 1<br />
Sonar 1<br />
Sonar 2<br />
EDGE<br />
8000<br />
4000<br />
S0<br />
S7<br />
Sonar 3<br />
Sonar 4<br />
Sonar 2<br />
8000<br />
4000<br />
S0<br />
S7<br />
Sonar 1<br />
Sonar 2<br />
Sonar 3<br />
Sonar 4<br />
Sonar 5<br />
Sonar 6<br />
8000<br />
4000<br />
S0<br />
S7<br />
Sonar 4<br />
Sonar 3<br />
Sonar 5<br />
Sonar 5<br />
Sonar 6<br />
Sonar 6<br />
Sonar 7<br />
Sonar 7<br />
Sonar 7<br />
(a) (b) (c)<br />
Fig. 3.3 Sonar readings obtained by facing a wall (a), a corner (b) and an edge (c).
4<br />
The actual readings are slightly differ<strong>en</strong>t (see Fig. 3.4). Bear in mind that any reading bigger<br />
than 1200 mm is set to 2000 mm. It can be se<strong>en</strong> that the pattern <strong>de</strong>p<strong>en</strong>ds on the distance<br />
betwe<strong>en</strong> the object and the robot. In Fig. 3.4(a) the Sonar 2 (S2) and Sonar 5 (S5) see the<br />
wall only wh<strong>en</strong> it is close <strong>en</strong>ough. If the wall is far, only Sonar 3 (S3) and Sonar 4 (S4)<br />
<strong>de</strong>tect the wall. Fig. 3.4(b) shows that Sonar 3 and Sonar 5 cannot read their pulse. H<strong>en</strong>ce,<br />
they are consi<strong>de</strong>red missing pulses. Fig. 3.4(c) shows that the edge is <strong>de</strong>tected by the Sonar<br />
4 only wh<strong>en</strong> it is close <strong>en</strong>ough. Wh<strong>en</strong> the edge is far away, no sonar can see the edge.<br />
Distance<br />
(mm)<br />
2000<br />
Two sonars<br />
see the wall<br />
Distance<br />
(mm)<br />
2000<br />
Missing pulses<br />
Four sonars<br />
see the wall<br />
1000<br />
Four sonars<br />
see the wall<br />
1000<br />
Six sonars<br />
see the corner<br />
S0 S1 S2 S3 S4 S5 S6 S7<br />
Sonar<br />
Readings<br />
S0 S1 S2 S3 S4 S5 S6 S7<br />
Sonar<br />
Readings<br />
(a)<br />
(b)<br />
Distance<br />
(mm)<br />
2000<br />
Missingpulse<br />
No sonar can<br />
see the edge<br />
1000<br />
S0 S1 S2 S3 S4 S5 S6 S7<br />
One sonar<br />
sees the edge<br />
Sonar<br />
Readings<br />
(c)<br />
Fig. 3.4<br />
edge (c).<br />
Actual sonar readings obtained wh<strong>en</strong> the robot is facing a wall (a), a corner (b) and an<br />
To solve the missing pulses problem, we proposed that several readings at differ<strong>en</strong>t angles<br />
should be ma<strong>de</strong>. This problem was previously solved scanning each 0.522 <strong>de</strong>grees [14], or<br />
each 1.8 <strong>de</strong>grees [15] [3]. Another approach reads the echoes at differ<strong>en</strong>t transducers [2].<br />
Our proposal is to rotate the robot and acquire sonar readings from the 8 transducers each<br />
1.5 <strong>de</strong>grees. In or<strong>de</strong>r to find the optimal vector size, we tested: 8, 80, 216 and 960 values.<br />
3.4 Data Collection and Preparation<br />
The data was collected at the Broker Lab in the University of Essex, UK. The walls corners<br />
and edges were assembled using cardboard of 30 cm of height. This cardboard has a very<br />
smooth texture, and for some angles it is invisible for the sonars. The robot was p<strong>la</strong>ced<br />
initially at 600mm from the object, th<strong>en</strong> it ma<strong>de</strong> a turn while reading the sonars. After this,<br />
it moved away 10 cm from the object and ma<strong>de</strong> a new turn. This process continued until the<br />
robot was at a distance of 1200 mm. After data collection, the values were normalised to a<br />
maximum value of 1. Finally, the readings were inverted to <strong>en</strong>hance the importance of small<br />
values.
5<br />
Example: Acquired vector: 2968 8768 8768 623 584 8768 8768 8768<br />
Normalized vector: 1 1 1 0.28 0.25 1 1 1<br />
Inverted vector: 0 0 0 0.72 0.75 0 0 0<br />
3.5 Network Architecture<br />
In a simi<strong>la</strong>r work to ours, Barshan et al. [3] proposed a 232:100:21 network. The 21 output<br />
neurons had differ<strong>en</strong>t purposes: the first sev<strong>en</strong> are for type discrimination, the next sev<strong>en</strong><br />
<strong>en</strong>co<strong>de</strong> the target range, and the <strong>la</strong>st sev<strong>en</strong> <strong>en</strong>co<strong>de</strong> the angle. Our propo<strong>sitio</strong>n has two main<br />
differ<strong>en</strong>ces:<br />
1. We used three networks, each one of them for a specific task. We argue that by<br />
separating the networks, the learning process is focused on mapping only a specific feature.<br />
2. Instead of <strong>en</strong>coding digitally the angle and the distance, we used an analogue<br />
output neuron. H<strong>en</strong>ce, we used only one neuron in the output <strong>la</strong>yer.<br />
For object type it was used a 216:20:3 network. The number of neurons in the input <strong>la</strong>yer<br />
was <strong>de</strong>termined by the input vector <strong>de</strong>scribed before. The number of neurons in the hidd<strong>en</strong><br />
<strong>la</strong>yer was <strong>de</strong>termined using a process named as <strong>en</strong><strong>la</strong>rging. It consists in starting with a<br />
re<strong>la</strong>tively small number of units, th<strong>en</strong> the size is increm<strong>en</strong>ted until the network learns. The<br />
number of output neurons is <strong>de</strong>termined by the number objects that our system c<strong>la</strong>ssifies.<br />
The valid outputs are: 001 for p<strong>la</strong>nes, 010 for corners, and 100 for edges. Any other values<br />
are invalid. Th<strong>en</strong>, it means a ‘not recognized’ object.<br />
The network for distance estimation is a 216:20:1 network. These values were found<br />
simi<strong>la</strong>rly to the previous network. The output neuron used the sigmoid function. Therefore,<br />
its output range swings from 0 to 1. This output indicates the normalized object distance,<br />
i.e. 0 for 0mm and 1 for 1200mm.<br />
For angle estimation, we used a 216:12:1 network. It is simi<strong>la</strong>r to the distance estimation<br />
network except in the hidd<strong>en</strong> <strong>la</strong>yer. The output neuron used also the sigmoid function. It<br />
was also normalized to the 0 to 1 range. In this case, 0 for –40 <strong>de</strong>grees and 1 for 40 <strong>de</strong>grees.<br />
We used error back-propagation algorithm, which is based on the error-correction<br />
learning rule (see Haykin [16]). A set of 3066 input vectors was g<strong>en</strong>erated and pres<strong>en</strong>ted to<br />
the network. Each 10 epochs, a set of 1533 input vectors (half the training set size) not<br />
inclu<strong>de</strong>d in the training set was pres<strong>en</strong>ted to the network to avoid over-training.<br />
4 Experim<strong>en</strong>tal Results<br />
The network were trained 30, 150 and 200 epochs for type, distance and angle respectively.<br />
The values found in the tables below reflect perc<strong>en</strong>tage of accuracy. Table I shows the<br />
accuracy for object c<strong>la</strong>ssification. Notice that for 8 inputs the accuracy is low. Also notice<br />
that for 216 and 960 inputs the results are nearly the same. Table II shows a comparison<br />
among the four MLP distance estimators, the tolerance is 15 cm. Notice that the highest<br />
accuracy rate is for the 216-inputs MLP.
6<br />
Table III shows the results for angle estimation. A 10° tolerance was used. Notice that for 8<br />
and 80 inputs the average accuracy is nearly the same. For 216 input the accuracy is almost<br />
100%. But for 960 inputs, the value is very low. A possible exp<strong>la</strong>nation for this low figure<br />
is that we used few training vectors.<br />
Table I Accuracy rate for object Table II Accuracy for distance estimation<br />
c<strong>la</strong>ssification.<br />
with a tolerance of 15 cm.<br />
Object 8 in 80 in 216 in 960 in Object 8 in 80 in 216 in 960 in<br />
Walls 83.76 95.39 100 100 Walls 94 88 95 95<br />
Corners 90.48 100 100 100 Corners 85 89 98 97<br />
Edges 41.26 95.39 99.32 99.41 Edges 88 71 86 74<br />
Average 71.83 96.93 99.77 99.8 Average 89 82 93 89<br />
Table III Accuracy rate for angle estimation<br />
using a tolerance of 10°<br />
Object 8 in 80 in 216 in 960 in<br />
Walls 76 93 100 51<br />
Corners 76 88 100 37<br />
Edges 98 70 99 35<br />
Average 83 84 99 41<br />
In Fig. 4.1 the first three plots illustrate the <strong>de</strong>sired distance in red colour (stairs) and the<br />
MLP output in blue colour (peaks). Each step repres<strong>en</strong>ts a distance, from 600 mm to<br />
1200mm, in 100mm steps. The horizontal axis indicates the number of sample. The vertical<br />
axis repres<strong>en</strong>ts the distance betwe<strong>en</strong> the robot and the object. The fourth plot compares the<br />
accuracy for the 3 objects. In Figure 4, it can be se<strong>en</strong> that it was easier to estimate the<br />
distance to the corners than to the walls and corners. Also, the estimation of the edges<br />
distance has low accuracy. Further, notice that the bigger the tolerance, the greater the<br />
accuracy. Finally, observe that for tolerances beyond 20cm the accuracy remains nearly at<br />
100%.<br />
Fig. 4.2 <strong>de</strong>picts the plots produced by the 216-input angle estimation MLP. Sev<strong>en</strong> positive<br />
peaks and sev<strong>en</strong> negative peaks can be se<strong>en</strong>. Each one repres<strong>en</strong>ts the distance at which the<br />
robot was trained. The rising slope indicates differ<strong>en</strong>t angles for the same distance. Notice<br />
that the <strong>de</strong>sired output and the actual output are almost the same, which reflects an excell<strong>en</strong>t<br />
angle estimation accuracy. The fourth plot shows that the edges are the most difficult object<br />
to locate. Notice that after 10 <strong>de</strong>grees of tolerance the accuracy is 100%.
2<br />
Fig. 4.2 Plots for distance estimation using a 216-input MLP<br />
Fig. 4.2 Angle estimation plot for 216-input MLP
3<br />
5 Conclusions<br />
Traditional sonar-based c<strong>la</strong>ssifiers rely on a complete echo signal analysis and on sonar<br />
arrays. By using a robot with simple sonar data we have found that it is possible to achieve<br />
good c<strong>la</strong>ssification results. To comp<strong>en</strong>sate for the <strong>la</strong>ck of avai<strong>la</strong>ble data, we proposed to<br />
turn the robot and acquire sonar data each 1.5 <strong>de</strong>grees. Differ<strong>en</strong>t sizes of data vectors were<br />
compared to find the optimal solution. Specifically, we analysed 8, 80, 216 and 960 input<br />
vector size. The best results were obtained using 216 values; the scanning time was around<br />
9 seconds. The MLP c<strong>la</strong>ssifier could also estimate the distance and the angle. This network<br />
was divi<strong>de</strong>d into three sub-networks, one for each task. This method showed an average<br />
accuracy of 97 %.<br />
The future work could be aimed to compare other approaches, for example supervised<br />
SOMs or Fuzzy C-means clustering. Additional future work is nee<strong>de</strong>d to compare those<br />
techniques un<strong>de</strong>r differ<strong>en</strong>t circumstances, for example, employing a differ<strong>en</strong>t robot. Finally,<br />
the inclusion of other objects (e.g. cylin<strong>de</strong>rs or acute corners) will be useful for the<br />
c<strong>la</strong>ssifier.<br />
Despite its bad reputation, there is no doubt that sonars will be used in today and tomorrow<br />
mobile robots, but not only for obstacle avoidance. It seems that they will be used as the<br />
main or one the main elem<strong>en</strong>ts for object recognition. Paraphrasing the John J. Leonard [17]<br />
chall<strong>en</strong>ge: What is a robot with a sophisticated vision system in an <strong>en</strong>vironm<strong>en</strong>t full of g<strong>la</strong>ss<br />
walls, compared with a robot equipped with a sonar-based id<strong>en</strong>tification system?<br />
Refer<strong>en</strong>ces<br />
1 Watanabe, S. and Yoneyama, M.: An ultrasonic visual s<strong>en</strong>sor for three-dim<strong>en</strong>sional object<br />
recognition using neural networks, IEEE Trans. on Robotics and Automation, Vol. 8, No. 2 (1992)<br />
240-249.<br />
2 Kleeman, L. and Kuc, R.: Mobile robot sonar for target localization and c<strong>la</strong>ssification, Intl.<br />
Journal of Robotics Research, Vol.14 (1995) 295-318.<br />
3 Barshan, B., Ayrulu B. and Utete S. W.: Neural network-based target differ<strong>en</strong>tiation using sonar<br />
for robotics applications, IEEE Trans. on Robotics and Automation, Vol. 16, No. 4 (2000) 435-<br />
442.<br />
4 Peremans, H., Aud<strong>en</strong>aert, K., and Van Camp<strong>en</strong>hout, J.: A high-resolution s<strong>en</strong>sor based on tri-aural<br />
perception, IEEE Trans. On Robotic and Automation, Vol. 9, No. 1 (1993) 36-48.<br />
5 Peremans, H., Walker, A., and Hal<strong>la</strong>m, J.: 3-D object localization with a binaural sonarhead,<br />
inspiration from biology, IEEE Int. Conf. On Robotics and Automation, (1998) 2795-2800.<br />
6 Wilkes, D., Du<strong>de</strong>ck, G., J<strong>en</strong>kin, M. and Milios, E.: Multi-transducer sonar interpretation, Proc.<br />
IEEE International Confer<strong>en</strong>ce on Robotics and Automation (1993) 392-397.<br />
7 Cao, A. and Bor<strong>en</strong>stein J.: Experim<strong>en</strong>tal characterisation of Po<strong>la</strong>roid Ultrasonic s<strong>en</strong>sors in single<br />
and phased array configuration, in The UGV Technology Confer<strong>en</strong>ce at the 2002 AeroS<strong>en</strong>se<br />
Symposium, Or<strong>la</strong>ndo Fl, April, 1-5 (2002).<br />
8 Barshan, B. Kuc, R.: Differ<strong>en</strong>tiating sonar reflections from corners and p<strong>la</strong>nes by employing an<br />
intellig<strong>en</strong>t s<strong>en</strong>sor, IEEE Trans. on Pattern Analysis and Machine Intellig<strong>en</strong>ce, Vol. 12, No 6,<br />
(1990) 560-569.<br />
9 Gorman, R. P. and Sejnowski, T. J.: Learned c<strong>la</strong>ssification of sonar targets using a massively<br />
parallel network, IEEE Transactions on Acoustics, Speech and Signal Processing, Vol. 36, No. 7,<br />
(1988) 1135-1140.
10 Dror, I. E., Zagaeski, M. and Moss, C. F.: Three-dim<strong>en</strong>sional target recognition via sonar: a<br />
neural network mo<strong>de</strong>l, Neural Networks, Vol. 8, No. 1 (1995) 149-160.<br />
11 Po<strong>la</strong>roid: Ultrasonic Ranging System – User Gui<strong>de</strong>, Po<strong>la</strong>roid Corporation, Ultrasonic Compon<strong>en</strong>ts<br />
Group, 119 Winsor Street-2B, Cambridge, MA, 02139, USA (1990).<br />
12 Nehmzow, U.: Mobile Robotics: A Practical Introduction, Springer-Ver<strong>la</strong>g, London (2000)<br />
13 ActivMedia Robotics: Pioneer II Mobile Robots Operations Manual, Peterborough, NH. (2000)<br />
14 Leonard, J. L. and Durrant-Whyte, H. F.: Mobile robot localization by tracking geometric beacons,<br />
IEEE, Trans. on Robotics and Automation, Vol.7, No.3 (1991) 376-382.<br />
15 Lee, D., C.: The map-building and exploration strategies of a simple, sonar-equipped, mobile<br />
robot; an experim<strong>en</strong>tal, quantitative evaluation, PhD Thesis, University College, London. (1995)<br />
16 Haykin, S.: Neural Networks, A compreh<strong>en</strong>sive foundation, Upper Sadle River, Pr<strong>en</strong>tice-Hall, NJ,<br />
(1999)<br />
17 Leonard, J. L.: Directed sonar s<strong>en</strong>sing for mobile robot navigation, PhD Thesis, University of<br />
Oxford. (1990)<br />
4
10 Dror, I. E., Zagaeski, M. and Moss, C. F.: Three-dim<strong>en</strong>sional target recognition via sonar: a<br />
neural network mo<strong>de</strong>l, Neural Networks, Vol. 8, No. 1 (1995) 149-160.<br />
11 Po<strong>la</strong>roid: Ultrasonic Ranging System – User Gui<strong>de</strong>, Po<strong>la</strong>roid Corporation, Ultrasonic Compon<strong>en</strong>ts<br />
Group, 119 Winsor Street-2B, Cambridge, MA, 02139, USA (1990).<br />
12 Nehmzow, U.: Mobile Robotics: A Practical Introduction, Springer-Ver<strong>la</strong>g, London (2000)<br />
13 ActivMedia Robotics: Pioneer II Mobile Robots Operations Manual, Peterborough, NH. (2000)<br />
14 Leonard, J. L. and Durrant-Whyte, H. F.: Mobile robot localization by tracking geometric beacons,<br />
IEEE, Trans. on Robotics and Automation, Vol.7, No.3 (1991) 376-382.<br />
15 Lee, D., C.: The map-building and exploration strategies of a simple, sonar-equipped, mobile<br />
robot; an experim<strong>en</strong>tal, quantitative evaluation, PhD Thesis, University College, London. (1995)<br />
16 Haykin, S.: Neural Networks, A compreh<strong>en</strong>sive foundation, Upper Sadle River, Pr<strong>en</strong>tice-Hall, NJ,<br />
(1999)<br />
17 Leonard, J. L.: Directed sonar s<strong>en</strong>sing for mobile robot navigation, PhD Thesis, University of<br />
Oxford. (1990)<br />
4
• <br />
• <br />
•
• <br />
• <br />
• <br />
• <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
• <br />
<br />
<br />
<br />
• <br />
<br />
<br />
• <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
•
•
• <br />
<br />
• <br />
<br />
<br />
<br />
•
• <br />
<br />
• <br />
<br />
•
• <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
• <br />
<br />
<br />
•
• <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
• <br />
<br />
<br />
•
• <br />
<br />
<br />
<br />
<br />
• <br />
<br />
<br />
• <br />
<br />
<br />
•
• <br />
<br />
<br />
<br />
<br />
• <br />
<br />
<br />
• <br />
<br />
<br />
•
Deterministic sampling: A framework for<br />
Probabilistic Roadmap P<strong>la</strong>nners<br />
Abraham Sánchez 1 ,R<strong>en</strong>é Zapata 2 , and David Pinto 1<br />
1 Facultad <strong>de</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong>, BUAP<br />
14 Sur esq. San C<strong>la</strong>udio, CP 72550<br />
Pueb<strong>la</strong>, Pue., México<br />
asanchez, dpinto@cs.buap.mx<br />
2 LIRMM, UMR5506 CNRS, 161 rue Ada 34392,<br />
Montpellier Ce<strong>de</strong>x 5, France<br />
zapata@lirmm.fr<br />
Abstract. We pres<strong>en</strong>t our curr<strong>en</strong>t progress on <strong>de</strong>signing sampling strategies<br />
in sampling-based motion p<strong>la</strong>nning field. The basis for our methods<br />
is the rep<strong>la</strong>cem<strong>en</strong>t of random sampling by a <strong>de</strong>terministic one [12].<br />
Sampling-based methods use only information from a collision <strong>de</strong>tector<br />
as they search the configuration space. The <strong>de</strong>velopm<strong>en</strong>t of effici<strong>en</strong>t collision<br />
<strong>de</strong>tection algorithms, has resulted in the introduction of a number<br />
of powerful motion p<strong>la</strong>nning algorithms, capable of solving chall<strong>en</strong>ging<br />
problems. Key op<strong>en</strong> issues and areas of future research are also discussed.<br />
1 Introduction<br />
Motion p<strong>la</strong>nning is concerned with computing collision-free motion for objects<br />
in an <strong>en</strong>vironm<strong>en</strong>t popu<strong>la</strong>ted with obstacles. It has its origin in robotics, where<br />
p<strong>la</strong>nning collision free motion to achieve a specified goal is a fundam<strong>en</strong>tal characteristic<br />
of autonomous robots. Motion p<strong>la</strong>nning has application in many other<br />
areas, such as <strong>de</strong>sign for manufacturing, computer animation, medical surgery<br />
simu<strong>la</strong>tion, and computational biology.<br />
Randomization is the most effective technique for reducing the high cost a-<br />
ssociated with motion p<strong>la</strong>nning of moving objects with many <strong>de</strong>grees of freedom.<br />
Rec<strong>en</strong>tly, a c<strong>la</strong>ss of randomized algorithms called Probabilistic Roadmap Methods<br />
(PRMs) has successfully solved difficult motion p<strong>la</strong>nning problems. PRM<br />
approach is composed by a learning phase and a query phase. In learning phase,<br />
agraph(the roadmap) is g<strong>en</strong>erated in the free space. In query phase, a simple<br />
p<strong>la</strong>nning algorithm is used to link both, initial and goal configurations to the<br />
graph, and th<strong>en</strong> a standard graph search algorithm is performed to find the<br />
shortest path. The goal of the roadmap is to repres<strong>en</strong>t as faithfully as possible<br />
the connectivity of the free space.<br />
The most difficult problems for PRM p<strong>la</strong>nners are those for which the robot<br />
must pass through a narrow passage to reach the goal. In such cases a big<br />
quantity of samples must be g<strong>en</strong>erated to get a high <strong>en</strong>ough d<strong>en</strong>sity of samples<br />
in the narrow passages. There are several sophisticated sampling strategies that
can solve this difficulty [5], [1], [4], [3], [10], [15]. Many of these strategies require<br />
complex geometric operations that are difficult to implem<strong>en</strong>t in high-dim<strong>en</strong>sional<br />
configuration spaces.<br />
In this work, we propose <strong>de</strong>terministic sampling strategies in the PRM framework.<br />
This approach remarkably improves the PRM-based p<strong>la</strong>nners, by rep<strong>la</strong>cing<br />
random sampling. In<strong>de</strong>ed, we can obtain the best possible asymptotic converg<strong>en</strong>ce<br />
rate, which is shown to be superior to that obtained by randomization.<br />
Sampling can be se<strong>en</strong> as an optimization problem in which a set of points is<br />
chos<strong>en</strong> to optimize some criterion of uniformity. Also, <strong>de</strong>terministic sampling<br />
can be thought of as a sophisticated form of stratified sampling.<br />
2 Deterministic sampling<br />
The historical origin of discrepancy theory is the theory of uniform distribution<br />
<strong>de</strong>veloped by H. Weyl and other mathematicians in the early days of the<br />
20th c<strong>en</strong>tury. While the <strong>la</strong>tter <strong>de</strong>als with the uniformity of infinite sequ<strong>en</strong>ces<br />
of points, the former <strong>de</strong>als with the uniformity of finite sequ<strong>en</strong>ces. Finite sequ<strong>en</strong>ces<br />
always have some irregu<strong>la</strong>rity from the i<strong>de</strong>al uniformity due to their<br />
finit<strong>en</strong>ess. Discrepancy is a mathematical notion for measuring such irregu<strong>la</strong>rity.<br />
Let X =[0, 1] d ⊂<br />
d <strong>de</strong>fine a space over which g<strong>en</strong>erate samples. Consi<strong>de</strong>r <strong>de</strong>signing<br />
a set, P ,ofnd-dim<strong>en</strong>sional sample points {x 0 ,x 1 ,...,x n } in way that<br />
covers X. LetR be a collection of subsets of X, called a range space. LetR ∈R<br />
d<strong>en</strong>ote one such subset. The formal <strong>de</strong>finition of discrepancy is as follows:<br />
D n (P, R) = sup<br />
∣<br />
R∈R<br />
P ∩ R<br />
n<br />
− λ(R)<br />
∣ , (1)<br />
where λ d<strong>en</strong>otes the Lebesgue measure on X and the supremum is tak<strong>en</strong> over<br />
all axis-parallel boxes R. A <strong>de</strong>tailed analysis of the discrepancy can be found in<br />
[9] and in the refer<strong>en</strong>ces therein.<br />
Simi<strong>la</strong>rly to the notion of discrepancy, it is possible to quantify the d<strong>en</strong>s<strong>en</strong>ess<br />
of n points, the dispersion, which is <strong>de</strong>fined by<br />
d n (P, δ) =max<br />
x∈X<br />
min δ(x, x i), (2)<br />
1≤i≤n<br />
It was introduced by H<strong>la</strong>wka (1976) and <strong>la</strong>ter investigated in more g<strong>en</strong>eral<br />
form in [9]. Above δ d<strong>en</strong>otes any metric.<br />
Although dispersion has be<strong>en</strong> giv<strong>en</strong> less consi<strong>de</strong>ration in the literature than<br />
discrepancy, it is more suitable for motion p<strong>la</strong>nning. Dispersion has be<strong>en</strong> <strong>de</strong>veloped<br />
to bound optimization error; however, in PRM-based p<strong>la</strong>nners, it can be<br />
used to <strong>en</strong>sure that any corridor of a certain width will contain suffici<strong>en</strong>t samples<br />
[8].<br />
3 Probabilistic roadmap p<strong>la</strong>nner<br />
The algorithm for constructing the graph is shown in pseudo co<strong>de</strong>.
BUILD PRM()<br />
1 n ← 0<br />
2 while n
Ta b l e 1 Acomparison .<br />
betwe<strong>en</strong> PRM and DRM for anarrow corridor problem.<br />
Rad K PRM DRM-H/H DRM-F DRM-S Factor<br />
0.10 7 417 350 350 350 1.19<br />
0.15 10 283 350 200 350 1.42<br />
0.20 15 243 250 200 250 1.22<br />
0.30 15 214 225 200 235 1.07<br />
0.40 10 121 125 100 100 1.21<br />
Fig. 1. This sc<strong>en</strong>e is difficult, the only way to get from the start configuration to the<br />
goal configuration, is by passing through some of the narrow passages. A path computed<br />
is shown.<br />
as much as possible. A rec<strong>en</strong>t variant called <strong>la</strong>zy-PRM has be<strong>en</strong> proposed [2], the<br />
i<strong>de</strong>a is not to test whether the paths are collision-free unless it is really nee<strong>de</strong>d.<br />
The goal of this variant is to minimize the number of collision checks.<br />
The tests are performed in a “corridor-like” sc<strong>en</strong>e, consisting of 21 “rooms”<br />
and a “hallway” (see Figure 2). The main difficulty is the <strong>la</strong>rge number of narrow<br />
passages that connect the rooms to the hallway. The rectangu<strong>la</strong>r robot can only<br />
just pass through. Also, it is difficult for the robot to reverse its ori<strong>en</strong>tation wh<strong>en</strong><br />
it is in the hallway. As a query test set, we take {(a, b), (c, d), (e, f)}. Wehave<br />
used Halton/Hammersley, Sobol and Faure points as inputs to both algorithms to<br />
solve this test set. Lazy-PRM uses the linear congru<strong>en</strong>tial method for g<strong>en</strong>erating<br />
pseudo-random points. For <strong>la</strong>zy-PRM, we performed 150 trials on each test set.<br />
Table 2 shows the minimum, maximum and average number of no<strong>de</strong>s for <strong>la</strong>zy<br />
PRM in the first three columns. The <strong>la</strong>st column shows the number of no<strong>de</strong>s<br />
used by <strong>la</strong>zy DRM. In this case, the three low-discrepancy sequ<strong>en</strong>ces used the<br />
same number of no<strong>de</strong>s. Table 3 compares computation times.<br />
A difficulty becomes wh<strong>en</strong> use <strong>la</strong>zy PRM approach, without prior knowledge<br />
about the particu<strong>la</strong>r problem, it is difficult to <strong>de</strong>termine how many vertices<br />
should appear in the roadmap. Another difficulty is how many no<strong>de</strong>s should be<br />
ad<strong>de</strong>d if query fails.
Fig. 2. A corridor-like sc<strong>en</strong>e, and its configuration test set. Apath computed by the<br />
p<strong>la</strong>nner is shown.<br />
Table 2. Comparisons of the number of no<strong>de</strong>s for <strong>la</strong>zy PRM vs. <strong>la</strong>zy DRM.<br />
Test Min Max Avg Lazy DRM<br />
(a,b) 80 170 128 100<br />
(c,d) 100 150 125 100<br />
(e,f) 100 200 147 100<br />
We know that <strong>la</strong>ttices have a regu<strong>la</strong>r, well-<strong>de</strong>fined neighborhood structure.<br />
This allows the initial roadmap to be implicitly <strong>de</strong>fined with little or no precomputation<br />
because all vertices, neighboring vertices and edges are <strong>de</strong>fined implicitly<br />
by <strong>la</strong>ttice rules [8], [12]. Due to that <strong>la</strong>ttices have discrepancy bounds that<br />
are as good as the best bounds for non-<strong>la</strong>ttice sample sets, we can make a <strong>la</strong>zy<br />
LRM (<strong>la</strong>ttice-based roadmap) that simultaneously obtains low-discrepancy b<strong>en</strong>efits<br />
observed in the <strong>la</strong>zy DRM and the dramatic reduction in pre-computation<br />
time.<br />
Figure 3 shows a very difficult sc<strong>en</strong>e used to compare <strong>la</strong>zy LRM with other<br />
p<strong>la</strong>nners (Lazy PRM and <strong>la</strong>zy DRM). It contains many narrow passages, it<br />
provi<strong>de</strong>s little freedom of movem<strong>en</strong>t for the robot, and any path solving the<br />
problem will be very long. Table 4 gives a comparison of running times for<br />
differ<strong>en</strong>t versions.<br />
Table 3. Comparison of the running times for <strong>la</strong>zy PRM vs. <strong>la</strong>zy DRM.<br />
Test Min Max Avg PreCmp PreCmp Query PreCmp Query PreCmp Query<br />
H/H H/H S S F F<br />
(a,b) 0.46 1.58 1.62 3.15 2.40 0.89 2.85 0.82 1.97 0.62<br />
(c,d) 0.65 2.56 1.46 2.95 2.44 0.88 2.07 0.68 2.37 0.52<br />
(e,f) 0.87 3.40 1.58 6.09 2.26 0.76 2.45 0.57 2.75 0.64
6 Abraham Sánchez, R<strong>en</strong>é Zapata, and David Pinto<br />
Fig. 3. Two feasible computed paths.<br />
Table 4. Comparisons betwe<strong>en</strong> <strong>la</strong>zy LRM, <strong>la</strong>zy DRM and 50 trials of <strong>la</strong>zy PRM.<br />
<strong>la</strong>zy <strong>la</strong>zy DRM <strong>la</strong>zy<br />
PRM H/H F S LRM<br />
PreCmp 10.14 5.18 4.59 11.63 0.65<br />
Query 0.96 0.66 0.68 0.57 0.57<br />
No<strong>de</strong>s 210 140 160 250 100<br />
5 Discussion<br />
After discussing some difficulties of uniform sampling, we have verified that<br />
<strong>de</strong>terministic techniques can be b<strong>en</strong>eficial if we compare them to the random<br />
methods that have dominated sampling-based motion p<strong>la</strong>nning. However, it is<br />
more chall<strong>en</strong>ging to face these difficulties in a non-uniform sampling context.<br />
The main motivation for non-uniform sampling is based on the possibility of<br />
<strong>de</strong>termining whether some areas of the C are more important than others. If this<br />
is the case, th<strong>en</strong> we should sample them with a higher d<strong>en</strong>sity, as effici<strong>en</strong>tly as<br />
possible. Several authors have discussed the importance of g<strong>en</strong>erating samples<br />
around narrow passages [5], [1], [3], [4], [10], [15].<br />
An important differ<strong>en</strong>ce betwe<strong>en</strong> simple-query and multiple-query p<strong>la</strong>nners<br />
was consi<strong>de</strong>red in [5]. The first sampling-based methods used the main i<strong>de</strong>a of<br />
searching solutions of single query. PRM was introduced as a pre-calcu<strong>la</strong>ted data<br />
structure that could be used to quickly answer many queries in the same <strong>en</strong>vironm<strong>en</strong>t.<br />
If we analyze the time nee<strong>de</strong>d to solve a query after constructing a<br />
roadmap, we can th<strong>en</strong> say that an advantage exists regarding <strong>de</strong>dicating time<br />
toward pre-calcu<strong>la</strong>tion procedures. However, the time invested is important only<br />
if a particu<strong>la</strong>r application uses many p<strong>la</strong>nning queries for the same <strong>en</strong>vironm<strong>en</strong>t.<br />
An important issue that <strong>de</strong>serves more research is the i<strong>de</strong>a of how to increm<strong>en</strong>tally<br />
construct a data structure whose transformation velocity increases with the<br />
number of queries ma<strong>de</strong>.
It has be<strong>en</strong> se<strong>en</strong> that there are b<strong>en</strong>efits for examining <strong>de</strong>terministic alternatives<br />
of random approaches frequ<strong>en</strong>tly used in sampling-based motion p<strong>la</strong>nning.<br />
Webelieve that sampling-based motion p<strong>la</strong>nning is better than combinatorial<br />
algorithms primarily because they are based more on sampling than on randomness<br />
(which we believe to be incid<strong>en</strong>tal). In fact, using randomness could lead to<br />
alower un<strong>de</strong>rstanding of key issues in searching and motion p<strong>la</strong>nning. Therefore,<br />
we believe that new advances in motion p<strong>la</strong>nning will occur as a result of <strong>de</strong>tailed<br />
studies of these key issues, more than with creative applications of randomness.<br />
There are, however, original advantages for some kinds of randomness which<br />
we should take advantage of. It is possible to <strong>de</strong>sign new methodologies for<br />
searching with a limited or appropriate randomness.<br />
6 Conclusion<br />
The key for the success of contemporary algorithms of motion p<strong>la</strong>nning is not<br />
the randomness or heuristics, but the fact that these algorithms are based on<br />
sampling and consequ<strong>en</strong>tly avoid the complexity of building C obs repres<strong>en</strong>tations,<br />
which several p<strong>la</strong>nners have had to implem<strong>en</strong>t.<br />
We believe that randomization is useful in many contexts. Its value, nevertheless,<br />
<strong>de</strong>p<strong>en</strong>ds greatly on the paradigm within it is used. Randomization does<br />
not appear to be advantageous in the PRM context, according to our experim<strong>en</strong>ts<br />
in non-holonomic motion p<strong>la</strong>nning and theoretical analysis pres<strong>en</strong>ted by<br />
the authors in [8], [12]. Deterministic sampling <strong>en</strong>ables the DRM, <strong>la</strong>zy DRM and<br />
<strong>la</strong>zy LRM to be resolution complete [8]: if it possible to solve the query, they<br />
ev<strong>en</strong>tually solve it.<br />
The <strong>la</strong>ttice-based PRM shows dramatic performance improvem<strong>en</strong>ts, primarily<br />
because it exploits the neighborhood structure of the <strong>la</strong>ttice to avoid the<br />
pre-computation required by the randomized <strong>la</strong>zy PRM.<br />
PRM is a highly-flexible method. It is possible to apply it to some particu<strong>la</strong>r<br />
robot type, all that is nee<strong>de</strong>d is a local method that computes feasible paths<br />
for this robot type and some induced metric. Much research in PRM field has<br />
be<strong>en</strong> done, not only in robotics, its application has ext<strong>en</strong><strong>de</strong>d to other fields as<br />
animation, computer games, virtual <strong>en</strong>vironm<strong>en</strong>ts, and maint<strong>en</strong>ance p<strong>la</strong>nning<br />
and training in industrial CAD systems.<br />
In this work we have not tried to dismiss to all <strong>de</strong>veloped work in the PRM<br />
framework but rather we pres<strong>en</strong>ted some simple i<strong>de</strong>as to obtain better results.<br />
The differ<strong>en</strong>t improvem<strong>en</strong>ts suggested are difficult to compare, since each author<br />
used his or her own implem<strong>en</strong>tation of PRM and used differ<strong>en</strong>t test sc<strong>en</strong>es, both<br />
in terms of <strong>en</strong>vironm<strong>en</strong>t and the robot type used.<br />
Refer<strong>en</strong>ces<br />
1. N. A. Amato, B. O. Burchan, L. K. Dale, C. Jones, and D. Vallejo. OBPRM: An<br />
obstacle-based PRM for 3D workspaces, Proc. of the Workshop on Algorithmic<br />
Foundations of Robotics, pp. 155-168, 1998.
2. R. Bohlin and L. Kavraki. Path p<strong>la</strong>nning using <strong>la</strong>zy PRM, Proc. of the IEEE<br />
Robotics and Automation Confer<strong>en</strong>ce ,pp. 521-528, 2000.<br />
3. V. Boor, M. Overmars, and F. Van <strong>de</strong>r Stepp<strong>en</strong>. The gaussian sampling strategy<br />
for probabilistic roadmap p<strong>la</strong>nners, Proc. IEEE Int. Conf. on Robotics and<br />
Automation, pp. 1018-1023, 1999.<br />
4. D. Hsu D, L. Kavraki, J. C. Latombe, R. Motwani, and S. Sorkin. On finding<br />
narrow passages with probabilistic roadmap p<strong>la</strong>nner, Proc. of the Workshop on<br />
the Algorithmic Foundations on Robotics, pp. 141-154, 1998.<br />
5. L. Kavraki, P. ˘Svestka, J. C. Latombe, and M. Overmars. Probabilistic roadmaps<br />
for fast path p<strong>la</strong>nning in high dim<strong>en</strong>sional configuration spaces, IEEE Transactions<br />
on Robotics and Automation, 12(4), pp. 566-580, 1996.<br />
6. J. P. Laumond (Editor). Robot motion p<strong>la</strong>nning and control, Lecture Notes in<br />
Control and Information Sci<strong>en</strong>ces, Springer Ver<strong>la</strong>g, 1998.<br />
7. S. M. LaValle and J. J. Kuffner. Randomized kinodynamic p<strong>la</strong>nning, Proc. of the<br />
IEEE Robotics and Automation Confer<strong>en</strong>ce, pp. 473-479, 1999.<br />
8. S. LaValle and M. Branicky. On the re<strong>la</strong>tionship betwe<strong>en</strong> c<strong>la</strong>ssical grid search and<br />
probabilistic roadmaps. Proc. of the Workshop on the Algorithmic Foundations<br />
of Robotics, 2002.<br />
9. H. Nie<strong>de</strong>rreiter. Random number g<strong>en</strong>eration and Quasi-Monte Carlo methods.<br />
Society for Industrial and Applied Mathematics, 1992.<br />
10. C. Nissoux, T. Siméon, and J. P. Laumond. Visibility based probabilistic<br />
roadmaps, Proc. IEEE Int. Conf. on Intellig<strong>en</strong>t Robots and Systems, pp. 1316-<br />
1321, 1999.<br />
11. J. A. Reeds and R. A. Shepp. Optimal paths for a car that goes both forward and<br />
backwards, Pacific Journal of Mathematics, Vol. 145, No. 2, pp. 367-393, 1990.<br />
12. A. Sánchez L. Contribution à <strong>la</strong> p<strong>la</strong>nification <strong>de</strong> mouvem<strong>en</strong>t <strong>en</strong> robotique: Approches<br />
probabilistes et approches déterministes (In Fr<strong>en</strong>ch), PhD thesis, Université<br />
Montpellier II, 2003.<br />
13. A. Sánchez L. A <strong>de</strong>terministic sampling approach to robot motion p<strong>la</strong>nning,<br />
Fourth Mexican International Confer<strong>en</strong>ce on Computer Sci<strong>en</strong>ce, IEEE Computer<br />
Society, pp. 300-307, 2003.<br />
14. P. Švestka, and M. H. Overmars. Motion p<strong>la</strong>nning for car-like robots using a<br />
probabilistic learning approach, The International Journal of Robotics Research,<br />
Vol. 16, No. 2, pp. 119-143, April 1997.<br />
15. S. Wilmarth S, N. M. Amato and P. R. Stiller. MAPRM: A probabilistic roadmap<br />
p<strong>la</strong>nner with sampling on the medial axis of the free space, Proc. IEEE Int. Conf.<br />
on Robotics and Automation, pp. 1024-1031, 1999.
¼<br />
L M O Q S T V X Y Z S \ ] Y _ X a S ] ] d M d f g<br />
1<br />
j l m n p d \ q \ s t Y \ s v q w X a y v q T z { | Y } d<br />
i<br />
€ ‚ ƒ „ € † ‡ ˆ ‰ ~ Š ~<br />
V L w Œ Ž w z T q Z a g Œ “ m T • v q } a – X Z Z Y a X<br />
2<br />
¡ £ ¥ § © ¡ ¥ " % ' ( ¡ <br />
* + - / 1 3 5 7 9 : < = > 9 ? 1 / + @ ? ><br />
1<br />
7 + @ * 1 ? E 3 F G H = - = : 1<br />
2<br />
— j — j w q ] Y Z a a | n —<br />
i<br />
š ‡ Š „ › ‰ œ ž š ƒ š „ ˆ Ÿ ‰<br />
†<br />
¢ ¤ ¦ § ¨ © ¦ ª L \ s « Y Z • q • a ] T ¬ q ] Y d X Z a | • a ] Y a \ s Z d \ X v s Y • v a ] d y d s } d d ]<br />
¡<br />
Y \ q s Y d \ q ] a a Z } ] Y y a f p « a Z a a | • a ] Y a \ s Z ² a ] a } d \ X } s a s d Y a \ s Y ³ ´<br />
<br />
| • a ] Y a \ s q v v ´ « d ² s « a X Z a d ³ } d X \ Y } q s Y d \ } q \ Y • ] d ¬ a s « a • a ] ³ d ]<br />
a<br />
q \ } a d ³ q y d | • X Z « Y \ ¹ s q Z º y ´ q ¬ d Y Y \ ¹ ] d y d s Y \ s a ] ³ a ] a \ } a Z f L \ s « a Z a<br />
a | • a ] Y a \ s Z T q \ Y \ s X Y s Y ¬ a q • • ] d q } « } d \ Z Y Z s Y \ ¹ Y \ d y Z a ] ¬ Y \ ¹ q \ q \ q v ´ t<br />
Y \ ¹ s « a d X s } d a d ³ Z a ¬ a ] q v « ´ • d s « a Z a Z Y Z q d • s a f<br />
½ ¾ ¿ À Á Â Ã Ä ¿ Æ Á ¾<br />
È 7 Ê 3 F 3 Ê + ? 5 ? F F 7 H Ë Ê = 5 = + F Ê 3 Ê : Ê ? 7 5 = 1 = + Ë = Í H = Î = Ê F Ï Ç È 7 Ê Ð 3 + @ = Í Ñ ? 5 È 7 + 3 F Ñ F<br />
Ç<br />
È = : 1 @ Î ? @ ? F 3 - + ? @ 3 + = H @ ? H Ê = ? + 7 Î 1 ? 7 - H = : Ò = Í 3 + @ 3 Ó 3 @ : 7 1 3 F Ê 3 5 H = Î = Ê F Ê = Ò ? H Í = H Ñ<br />
F<br />
5 Ê 3 = + F Õ = 3 + Ê 1 Ë Ï 7<br />
Ñ = Î 3 1 ? H = Î = Ê È 7 Ó ? Ê = 5 = Ò ? - ? + ? H 7 1 1 Ë Ö 3 Ê È È 3 - È 1 Ë @ Ë + 7 Ñ 3 5 ? + Ó 3 H = + Ñ ? + Ê F × 3 +<br />
*<br />
È 3 5 È 3 Ê 3 F Ó ? H Ë È 7 H @ Ê = Í = H ? F ? ? 7 1 1 Ê È ? Ò = Ê ? + Ê 3 7 1 F 3 Ê : 7 Ê 3 = + F Ê È 7 Ê Ê È ? H = Î = Ê Ñ 7 Ë<br />
Ö<br />
+ 5 = : + Ê ? H Ø Ù Ò ? 5 3 Í Ë 3 + 7 @ Ó 7 + 5 ? 7 1 1 Ê È ? Ò 7 Ê Ê ? H + F = Í 3 + Ê ? H 7 5 Ê 3 = + Î ? Ê Ö ? ? + 7 Ñ = Î 3 1 ?<br />
?<br />
= Î = Ê 7 + @ 3 Ê F ? + Ó 3 H = + Ñ ? + Ê × 7 F Ö ? 1 1 7 F Ê È = F ? Ò 7 Ê Ê ? H + F 7 Ñ = + - Ó 7 H 3 = : F Ñ = Î 3 1 ? H = Î = Ê F<br />
H<br />
F Ê È ? + × 3 Ñ Ò = F F 3 Î 1 ? Ø<br />
3<br />
E Ò 1 7 3 + 3 + - Ê È ? 5 = 1 1 ? 5 Ê 3 Ó ? Î ? È 7 Ó 3 = H = Í 7 - H = : Ò = Í H = Î = Ê F 3 F 7 1 F = 5 = Ñ Ò 1 3 5 7 Ê ? @ Ø<br />
Û<br />
È ? Î ? È 7 Ó 3 = H = Í 7 H = Î = Ê 5 = 1 = + Ë Ñ 7 Ë È 7 Ó ? Ò H = Ò ? H Ê 3 ? F Ê È 7 Ê = + 1 Ë = 5 5 : H 7 Ê - 1 = Î 7 1<br />
Ý<br />
? Ó ? 1 Ø Ý È ? + × Ê = @ ? H 3 Ó ? Ê È ? - 1 = Î 7 1 Î ? È 7 Ó 3 = H = Í 7 - H = : Ò = Í Ñ = Î 3 1 ? H = Î = Ê F @ 3 H ? 5 Ê 1 Ë<br />
1<br />
H = Ñ Ê È ? 3 H 3 + @ 3 Ó 3 @ : 7 1 5 = + Ê H = 1 Ò H = - H 7 Ñ F @ = ? F + = Ê F ? ? Ñ Ê = Î ? Í ? 7 F 3 Î 1 ? Ø<br />
Í<br />
= H Ê È ? F ? H ? 7 F = + F × Ö ? 7 @ = Ò Ê 7 + 3 + Ê : 3 Ê 3 Ó ? 7 Ò Ò H = 7 5 È Ê = H ? F ? 7 H 5 È ? E Ò ? H 3 Ñ ? + Ê 7 1 1 Ë<br />
à<br />
È ? ? 1 ? Ñ ? + Ê F Ê È 7 Ê 7 H ? H ? á : 3 H ? @ Ö È ? + @ ? F 3 - + 3 + - H = Î = Ê 5 = 1 = + 3 ? F Ø à = H Ê È 7 Ê × 7 Ó ? H Ë<br />
Ê<br />
Ò ? 5 3 â 5 Ò H = Î 1 ? Ñ 3 F Í = H Ñ : 1 7 Ê ? @ 7 + @ Ê È ? + ? 1 ? Ñ ? + Ê F 7 H ? 7 @ @ ? @ - H 7 @ : 7 1 1 Ë Ê = ? + 7 Î 1 ?<br />
F<br />
È ? ? F Ê 7 Î 1 3 F È Ñ ? + Ê × Ê È ? @ ? Ñ = + F Ê H 7 Ê 3 = + 7 + @ H ? Í = H Ñ : 1 7 Ê 3 = + = Í È Ë Ò = Ê È ? F 3 F Ø Ý È ? Ò : H ã<br />
Ê<br />
= F ? = Í Ê È 3 F H ? F ? 7 H 5 È 3 F Ê = - ? Ê 3 + F 3 - È Ê 3 + Ê = Ê È ? @ ? F 3 - + Ê H 7 @ ? ã = ä F = Í Ñ : 1 Ê 3 ã H = Î = Ê<br />
Ò<br />
= = H @ 3 + 7 Ê 3 = + Ø à = H Ê È 7 Ê × Ó 7 H 3 = : F ? E Ò ? H 3 Ñ ? + Ê F = + Î = E ã Ò : F È 3 + - Ö ? H ? 5 = + @ : 5 Ê ? @ : F ã<br />
5<br />
+ - Ê Ö = Ñ = Î 3 1 ? H = Î = Ê F Ø<br />
3<br />
È ? Ò 7 Ò ? H 3 F = H - 7 + 3 > ? @ 7 F Í = 1 1 = Ö F × F ? 5 Ê 3 = + å 7 @ @ H ? F F ? F H ? 1 7 Ê ? @ Ö = H Ð × F ? 5 Ê 3 = + æ<br />
Ý<br />
+ @ ç @ ? F 5 H 3 Î ? F 7 + @ @ 3 F 5 : F F ? F ? E Ò ? H 3 Ñ ? + Ê F 7 + @ â + 7 1 1 Ë × F ? 5 Ê 3 = + è 5 = + 5 1 : @ ? F Ö 3 Ê È<br />
7<br />
F : Ñ Ñ 7 H Ë Ø 7
È ? 5 = = H @ 3 + 7 Ê 3 = + = Í 7 - H = : Ò = Í H = Î = Ê F È 7 F Î ? ? + 7 + 7 1 Ë > ? @ Í H = Ñ @ 3 ä ? H ? + Ê Ò ? H ã<br />
Ý<br />
Ò ? 5 Ê 3 Ó ? F Ø Ý = @ Ê ? Ê 7 1 Ø æ 7 + 7 1 Ë > ? 7 + @ 5 = Ñ Ò 7 H ? Ó 7 H 3 = : F Ñ ? Ê È = @ F Ò H = Ò = F ? @ Í = H<br />
F<br />
: 1 Ê 3 ã H = Î = Ê 5 = = H @ 3 + 7 Ê 3 = + Ø Ý È ? F ? Ñ ? Ê È = @ F @ ? 7 1 Ö 3 Ê È Ê È ? Ò H = Î 1 ? Ñ = Í 5 = = H @ 3 + 7 ã<br />
Ñ<br />
3 = + 3 + Ê ? + @ ? @ Ê = 7 Ó = 3 @ 5 = 1 1 3 F 3 = + F 7 Ñ = + - H = Î = Ê F Ø = 1 1 3 F 3 = + F 7 H ? : F : 7 1 1 Ë 7 Ó = 3 @ ? @ Î Ë<br />
Ê<br />
H - 7 + 3 > 3 + - Ê È ? Ê H 7 Õ ? 5 Ê = H 3 ? F Ê È 7 Ê Ö ? H ? Ò H ? Ó 3 = : F 1 Ë Ò 1 7 + + ? @ Î Ë Ê È ? H = Î = Ê F Ø<br />
=<br />
- ? H ç H ? Ò = H Ê F Ö = H Ð = + 5 = 1 = + 3 ? F = Í 5 = = Ò ? H 7 Ê 3 Ó ? 5 1 ? 7 + 3 + - H = Î = Ê F Ø + È 3 F ? E ã<br />
<br />
? H 3 Ñ ? + Ê F × ? 7 5 È H = Î = Ê = Í Ê È ? 5 = 1 = + Ë 3 F 5 = + Ê H = 1 1 ? @ Î Ë 7 Ñ : 1 Ê 3 ã 7 - ? + Ê 7 H 5 È 3 Ê ? 5 Ê : H ? ×<br />
Ò<br />
È ? H ? 7 - ? + Ê F 7 H ? 3 + 5 È 7 H - ? = Í Ê 7 F Ð F F : 5 È 7 F Ê H 7 5 Ð 3 + - = Î Õ ? 5 Ê F 7 + @ + 7 Ó 3 - 7 Ê 3 = + Ø<br />
Ö<br />
È ? 7 H ? 7 Ê = Î ? 5 1 ? 7 + ? @ 3 F @ 3 Ó 3 @ ? @ 3 + Ê = F ? 5 Ê 3 = + F 7 + @ ? 7 5 È F ? 5 Ê 3 = + 3 F @ Ë + 7 Ñ 3 5 7 1 1 Ë<br />
Ý<br />
1 1 = 5 7 Ê ? @ Ê = = + ? H = Î = Ê Ø 3 F Ñ ? Ê È = @ H ? 1 3 ? F = + 1 = 5 7 1 5 = Ñ Ñ : + 3 5 7 Ê 3 = + 7 + @ È 7 F Î ? ? +<br />
7<br />
? F Ê ? @ : F 3 + - F 3 Ñ : 1 7 Ê ? @ H = Î = Ê F Ñ 7 3 + 1 Ë Ø<br />
Ê<br />
7 H Ð ? H ! Ò H = Ò = F ? F 7 @ 3 F Ê H 3 Î : Ê ? @<br />
<br />
H 5 È 3 Ê ? 5 Ê : H ? 5 = Ñ Î 3 + ? F 7 5 Ê 3 = + ã F ? 1 ? 5 Ê 3 = + Ñ ? 5 È 7 + 3 F Ñ F 7 + @ 7 @ 7 Ò Ê 7 Ê 3 = + Ê = ? + 7 Î 1 ? 7<br />
7<br />
H = : Ò = Í Ò È Ë F 3 5 7 1 È ? Ê ? H = - ? + ? = : F H = Î = Ê F Ê = Ò ? H Í = H Ñ 5 = = Ò ? H 7 Ê 3 Ó ? Ê 7 F Ð F Ø<br />
-<br />
E 7 Ñ Ò 1 ? × ? E 7 Ñ 3 + ? Ê È ? 3 + 5 3 @ ? + 5 ? Ê È 7 Ê 3 + Ê ? H Í ? H ? + 5 ? Î ? Ê Ö ? ? + H = Î = Ê F È 7 F 3 + Ê È ? Ò ? H ã<br />
?<br />
= H Ñ 7 + 5 ? = Í 7 5 = + Ê H = 1 F Ë F Ê ? Ñ Ø Ý È ? Ë 7 1 F = : F ? Ê È 3 F 3 + Ê ? H Í ? H ? + 5 ? 7 F 7 5 H 3 Ê ? H 3 = + Í = H<br />
Í<br />
Ó 7 1 : 7 Ê 3 = + = Í 5 = + Ê H = 1 F Ë F Ê ? Ñ F Ö 3 Ê È 3 + Ê ? H ? F Ê 3 + - H ? F : 1 Ê F Ø 7 Ë ? F è Í = H È 3 F Ò 7 H Ê × F Ê : @ ã<br />
?<br />
? F Ò ? H Í = H Ñ 7 + 5 ? Ñ ? Ê H 3 5 F Í = H H = Î = Ê 5 = 1 = + 3 ? F Ø ? 7 + 7 1 Ë F ? F Ò 7 H Ê 3 5 : 1 7 H 1 Ë Ê È ? Ê H 7 @ ? ã = ä F<br />
3<br />
? Ê Ö ? ? + - H = : Ò F 3 > ? 7 + @ ? ( 5 3 ? + 5 Ë 3 + 5 = 1 1 ? 5 Ê 3 Ó ? F ? 7 H 5 È Ê 7 F Ð F Ø<br />
Î<br />
3 + 7 1 1 Ë × Î = E ã Ò : F È 3 + - 3 F = + ? = Í Ê È ? Ê 7 F Ð F Ê È 7 Ê È 7 F Î ? ? + ? E Ò 1 = H ? @ Î Ë H = Î = Ê 3 5 3 F Ê F Ø<br />
à<br />
? Ó ? H 7 1 Ò 1 7 + + 3 + - 7 1 - = H 3 Ê È Ñ F × å È 7 Ó ? Î ? ? + Ò H = Ò = F ? @ Í = H 3 + @ 3 Ó 3 @ : 7 1 Î = E ã Ò : F È 3 + -<br />
Ù<br />
+ F 3 Ñ : 1 7 Ê ? @ ? + Ó 3 H = + Ñ ? + Ê F Ø Û E Ò ? H 3 Ñ ? + Ê F = + Î = E ã Ò : F È 3 + - : F 3 + - Ê Ö = = H Ñ = H ? Ò È Ë F ã<br />
3<br />
5 7 1 H = Î = Ê F È 7 Ó ? Î ? ? + H ? Ò = H Ê ? @ , × - × å × è 3 + 5 = = Ò ? H 7 Ê 3 Ó ? 5 = + Ê ? E Ê F Ñ 7 3 + 1 Ë × Ê È 7 Ê<br />
3<br />
F × 3 + F 3 Ê : 7 Ê 3 = + F Ö È ? H ? F ? Ó ? H 7 1 H = Î = Ê F Ò : F È Ê È ? F 7 Ñ ? = Î Õ ? 5 Ê Ø + Ê È 3 F Ò 7 Ò ? H × Ê È ?<br />
3<br />
= = H @ 3 + 7 Ê 3 = + = Í Ê Ö = H = Î = Ê F Ê È 7 Ê ? E ? 5 : Ê ? 3 + @ 3 Ó 3 @ : 7 1 1 Ë Î = E ã Ò : F È 3 + - 3 + Ê È ? F 7 Ñ ?<br />
5<br />
+ Ó 3 H = + Ñ ? + Ê 3 F ? E Ò 1 = H ? @ Ø<br />
?<br />
È 3 F F ? 5 Ê 3 = + @ ? F 5 H 3 Î ? F Ó 7 H 3 = : F ? E Ò ? H 3 Ñ ? + Ê F Ê È 7 Ê Ö ? H ? 5 = + @ : 5 Ê ? @ 3 + = H @ ? H Ê = 3 @ ? + ã<br />
Ý<br />
3 Í Ë ? E Ò ? H 3 Ñ ? + Ê 7 1 1 Ë Ê È ? Ð ? Ë ? 1 ? Ñ ? + Ê F Ê È 7 Ê 7 H ? H ? á : 3 H ? @ Ê = 7 5 È 3 ? Ó ? Ñ : 1 Ê 3 ã H = Î = Ê<br />
Ê<br />
= = H @ 3 + 7 Ê 3 = + Ø Û E Ò ? H 3 Ñ ? + Ê F Ö ? H ? 5 = + @ : 5 Ê ? @ 3 + F : 5 È 7 Ö 7 Ë Ê È 7 Ê 7 Ê 7 F Ð × 3 + 3 Ê 3 7 1 1 Ë 3 +<br />
5<br />
È 7 H - ? = Í = + ? H = Î = Ê × Ö 7 F - H 7 @ : 7 1 1 Ë 5 = Ñ Ò 1 ? E 3 â ? @ Ê = Ö 7 H @ F 7 Ñ : 1 Ê 3 ã H = Î = Ê 5 = + Ê ? E Ê Ø<br />
5<br />
È ? H ? F ? 7 H 5 È @ ? F 5 H 3 Î ? @ 3 + Ê È 3 F Ò 7 Ò ? H 3 F Ò 7 H Ê = Í Ê È ? 9 ; = Î Û Ù = Ò H = Õ ? 5 Ê<br />
Ý<br />
? Ø Ý È ? ? E Ò ? H 3 Ñ ? + Ê F Ö ? H ? 5 = + @ : 5 Ê ? @ : F 3 + - Ê Ö = 3 = + ? ? H å ã G @ Ñ = Î 3 1 ? H = Î = Ê F = Í<br />
<br />
5 Ê 3 Ó 9 ? @ 3 7 * 5○ Ò H = Ó 3 @ ? @ Ö 3 Ê È = @ = Ñ ? Ê ? H F × Î : Ñ Ò ? H F × F = + 7 H F × H 7 @ 3 = Ñ = @ ? Ñ × Ó 3 @ ? = ã<br />
5 7 Ñ ? H 7 7 + @ = + Î = 7 H @ 5 = Ñ Ò : Ê ? H Ø<br />
×<br />
z L B d y S D Y Z q \ q } ] d \ ´ Y \ E ] a \ } « ³ d ] L • v a a \ s q s Y d \ d ³ B d y d s d v v a } s Y ¬ Y s Y a Z Y \ q<br />
A<br />
d } Y q v S \ ¬ Y ] d \ a \ s f<br />
D<br />
¡ ¢ ¤ ¦ ¿ ¢ Â © Á À <br />
7 H 5 È 3 Ê ? 5 Ê : H ? Í = H Ñ : 1 Ê 3 ã H = Î = Ê F Ë F Ê ? Ñ F Ø ? H<br />
Ý È ? H ? 7 H ? Í ? Ö<br />
Ö = H Ð F 5 = + 5 ? H + 3 + - Ê È ? 3 @ ? + Ê 3 â 5 7 Ê 3 = + = Í Ê È ? 7 F Ò ? 5 Ê F 7 + @ H ? á : 3 H ? ã<br />
Ñ ? + Ê F Ê = 5 = + F 3 @ ? H Ö È ? + @ ? F 3 - + 3 + - H = Î = Ê 5 = 1 = + 3 ? F Ø $ = 1 @ Î ? H - 7 + @ 9<br />
7 Ê 7 H 3 5 æ × Í = H<br />
0 1 2 4 ¢ À Æ 6 ¢ ¾ ¿ 9
= E ã Ò : F È 3 + - 3 F Ê È ? 7 Ò Ò 1 3 5 7 Ê 3 = + 5 È = F ? + Ê = ? E Ò 1 = H ? Ê È ? 5 = + F Ê 3 Ê : Ê 3 = + = Í 7 H = Î = Ê<br />
!<br />
= 1 = + Ë Ø + Ê È 3 F × H = Î = Ê F È 7 Ó ? Ê = F ? 7 H 5 È 7 + @ Ñ = Ó ? = Î Õ ? 5 Ê F Í H = Ñ = + ? Ò 1 7 5 ? Ê = 7 + = Ê È ? H<br />
5<br />
1 7 5 ? = Í Ê È ? ? + Ó 3 H = + Ñ ? + Ê Ø<br />
Ò<br />
= Î = Ê F : F ? 7 5 : ? ã Î 7 F ? @ H ? 5 = - + 3 Ê 3 = + F Ë F Ê ? Ñ @ ? Ó ? 1 = Ò ? @ Î Ë " 3 ? 1 ç 3 + = H @ ? H Ê =<br />
;<br />
3 ä ? H ? + Ê 3 7 Ê ? Ó 3 F : 7 1 1 Ë F 3 - + 3 â 5 7 + Ê ? 1 ? Ñ ? + Ê F = Í Ê È ? ? + Ó 3 H = + Ñ ? + Ê Ø ! = Ê È × Ê È ? = Î Õ ? 5 Ê F<br />
@<br />
È 7 Ê H = Î = Ê F È 7 Ó ? Ê = Ê H 7 + F Ò = H Ê 7 + @ Ê È ? Ò 1 7 5 ? F Ö È ? H ? Ê È ? F Ê = H ? 7 + @ Ê È ? F : Ò Ò 1 3 ? H<br />
Ê<br />
H ? 1 = 5 7 Ê ? @ 7 H ? 3 + @ 3 5 7 Ê ? @ Î Ë 5 : ? F 5 = + F 3 F Ê 3 + - = Í Î 7 H 5 = @ ? F $ F ? ? â - : H ? & Ø<br />
7<br />
È ? = Î Õ ? 5 Ê F Ê È 7 Ê H = Î = Ê F È 7 Ó ? Ê = Ê H 7 + F Ò = H Ê 3 + Ê È ? F ? ? E Ò ? H 3 Ñ ? + Ê F 7 H ? Î = E ? F = Í<br />
Ý<br />
20cm × 30cm × 23cm * H = Î = Ê @ = ? F + = Ê Ð + = Ö Ö È ? H ? Ê È ? F ? = Î Õ ? 5 Ê F 7 H ? 1 = 5 7 Ê ? @ ×<br />
Î : Ê 3 Ê 3 F 7 Î 1 ? Ê = H ? 5 = - + 3 > ? = + ? = Í Ê Ø ? Î = E Í 7 5 ? F Ó 3 F : 7 1 1 Ë Ø<br />
È<br />
= Î = Ê F È 7 Ó ? 7 1 F = 7 H ? Ò ? H Ê = 3 H ? = Í 7 5 Ê 3 = + F 7 + @ Î ? È 7 Ó 3 = H F Ê È 7 Ê 7 H ? 7 5 Ê 3 Ó 7 Ê ? @<br />
;<br />
Ë ? E Ê ? H + 7 1 F Ê 3 Ñ : 1 3 Ê È ? Ë Ò ? H 5 ? 3 Ó ? Ø ; = Î = Ê F 7 H ? 7 Î 1 ? Ê = ? E ? 5 : Ê ? F 3 Ñ Ò 1 ? 7 5 Ê 3 = + F<br />
Î<br />
: 5 È 7 F ( ) * , - / 1 3 1 * 6 7 * 8 7 + @ / 1 : 7 < = Ø 9 = H ? 5 = Ñ Ò 1 ? E 7 5 Ê 3 = + F 5 7 1 1 ? @ Î ? È 7 Ó 3 = H F<br />
F<br />
: 5 È 7 F 6 7 , 8 @ * - A C , @ ) E - G ) * * 1 ) , 8 : 1 K - E ) G M : 1 K ( 1 6 7 * 8 G G ( 1 * @ - 6 7 C (<br />
F<br />
+ @ G @ , 8 7 Q @ G G 7 / @ È 7 Ó ? Î ? ? + 3 Ñ Ò 1 ? Ñ ? + Ê ? @ 3 + 7 + @ Ê ? F Ê ? @ = + = : H H = Î = Ê F $ Í = H<br />
7<br />
? F 5 H 3 Ò Ê 3 = + F F ? ? Ê È ? 7 Ò Ò ? + @ 3 E & Ø<br />
@<br />
= Î = Ê F 7 H ? Ò H = - H 7 Ñ Ñ ? @ Í = 1 1 = Ö 3 + - 7 F 3 Ê : 7 Ê ? @ 7 Ò Ò H = 7 5 È 7 + @ Ê È ? H ? Í = H ? Ê È ? Ë @ =<br />
;<br />
= Ê È 7 Ó ? @ ? Ê 7 3 1 ? @ 3 + Í = H Ñ 7 Ê 3 = + 7 Î = : Ê Ê È ? 3 H ? + Ó 3 H = + Ñ ? + Ê Ø Ý È ? Ë Ð + = Ö × Í = H 3 + F Ê 7 + 5 ? ×<br />
+<br />
S U ª W ª O ] d y d s Y \ q \ a \ ¬ Y ] d \ a \ s } d \<br />
R<br />
q Y \ Y \ ¹ ³ d X ] d y X a } s Z q \ s ² d y q ] } d a Z<br />
s<br />
¬ a ] s « a ² q v v f Y q ] } d a Z } d \ Z Y Z s d ³<br />
d<br />
« ] a a y v q } º ¬ a ] s Y } q v y q ] Z d \ q ² « Y s a<br />
s<br />
â H F Ê - H = : Ò = Í ? E Ò ? H 3 Ñ ? + Ê F @ ? F 3 - + ? @ Ê = 3 Ñ Ò 1 ? Ñ ? + Ê 7 + @ Ê ? F Ê 3 + @ 3 Ó 3 @ : 7 1 Î = E ã<br />
*<br />
: F È 3 + - 3 F @ ? F 5 H 3 Î ? @ Î ? 1 = Ö Ø<br />
Ò<br />
+ Ê H = @ : 5 ? @ 3 + Ê = Ê È ? 5 = H H 3 @ = H Î Ë 7 È : Ñ 7 + = Ò ? H 7 Ê = H 3 + Í H = + Ê = Í Ê È ? F : Ò Ò 1 3 ? H Ø Ý È ? F ?<br />
3<br />
= E ? F 7 H ? Ò H ? F ? + Ê ? @ 3 + F : 5 È 7 Ö 7 Ë Ê È 7 Ê Ê È ? Î 7 H 5 = @ ? F 3 @ ? = Í Î = E ? F 3 F = H 3 ? + Ê ? @<br />
Î<br />
= Ö 7 H @ F Ê È ? H = Î = Ê × 1 ? 7 Ó 3 + - ? + = : - È F Ò 7 5 ? Î ? Ê Ö ? ? + Ê È ? Î = E 7 + @ Ê È ? F : Ò Ò 1 3 ? H Í = H<br />
Ê<br />
È ? H = Î = Ê Ø + Ê È 3 F ? + Ó 3 H = + Ñ ? + Ê Ê È ? H ? 7 H ? Ñ = Î 3 1 ? = Î F Ê 7 5 1 ? F F : 5 È 7 F Ö 7 1 Ð ? H F × Î : Ê<br />
Ê<br />
¡ £ ¥ ¦ ¨ <br />
7 - ? + ? H 7 1 @ ? F 5 H 3 Ò Ê 3 = + 7 Î = : Ê Ö È 7 Ê 7 + = Î F Ê 7 5 1 ? 3 F Í H = Ñ Ê È ? 3 H F = + 7 H H ? 7 @ 3 + - F Ø<br />
q } º ¹ ] d X \ f p « a • q s s a ] \ Z d ³ q } X a q ] a<br />
y<br />
d • d Z a d ³ q Z Z a y v a y v q } º d ] ² « Y s a<br />
}<br />
Z _ X q ] a Z « q • a X \ Y s q ] ´ a v a a \ s Z<br />
¡ Z \ ^ _ ¨ ` a b _ d <br />
` b ¦ £ ¡ i ¨ ¦ k ¨ ¦ ¦ ¨ ¦ ¡ Ý È ? ? + Ó 3 H = + Ñ ? + Ê = Í Ê È 3 F ? E Ò ? H 3 Ñ ? + Ê<br />
e<br />
F 7 5 = H H 3 @ = H = Í<br />
3<br />
1.70m × 10m * Ê ? 7 5 È ? E Ê H ? Ñ ? ? + @ = Í Ê È ? 5 = H H 3 @ = H 3 F Ò 1 7 5 ? @ 7<br />
Î 7 H 5 = @ ? × = + ? 3 + @ 3 5 7 Ê ? F Ê Ø ? F : Ò Ò 1 3 ? H 7 + @ Ê È ? = Ê È ? H 3 + @ 3 5 7 Ê ? F Ê È ? F Ê = H ? Ø ! = E ? F 7 H ?<br />
È<br />
Ê È ? H ? 7 H ? + = Ê â E ? @ = Î F Ê 7 5 1 ? F Ê È 7 Ê Î 1 = 5 Ð Ê È ? H = Î = Ê Ñ = Ó ? Ñ ? + Ê F Ø
È ? H = Î = Ê 3 F H 7 + @ = Ñ 1 Ë 1 = 5 7 Ê ? @ 3 + Ê È ? ? + Ó 3 H = + Ñ ? + Ê Ø Ê F - = 7 1 3 F Ê = Ê H 7 + F Ò = H Ê<br />
Ý<br />
= E ? F Í H = Ñ Ê È ? F : Ò Ò 1 3 ? H Ê = Ê È ? F Ê = H ? Ø à = H Ê È 7 Ê × Ê È ? H = Î = Ê F È = : 1 @ 1 = = Ð Í = H Ê È ? F : Ò ã<br />
Î<br />
1 3 ? H 7 + @ F Ê 7 Ë 5 1 = F ? Ê = 3 Ê 3 + = H @ ? H Ê = @ ? Ê ? 5 Ê 7 + @ Ê H 7 + F Ò = H Ê Î = E ? F Ö 3 Ê È 7 Ñ 3 + 3 Ñ : Ñ<br />
Ò<br />
? 1 7 Ë Ø à 3 - : H ? å F È = Ö F Ê È ? à 3 + 3 Ê ? Ù Ê 7 Ê ? 9 7 5 È 3 + ? : F ? @ Ê = 5 = + Ê H = 1 Ê È ? H = Î = Ê 7 + @<br />
@<br />
£ ¥ § © §<br />
¢<br />
£ £ § § £ <br />
<br />
g n ! n n " j ! j m "<br />
g<br />
g n ! n n " $ ! $ i "<br />
j<br />
7 Î 1 ? F È = Ö F Ê È ? H ? F : 1 Ê F = Í Ê È H ? ? ? E Ò ? H 3 Ñ ? + Ê F = Í 3 + @ 3 Ó 3 @ : 7 1 Î = E ã Ò : F È 3 + - Ø Ý È ?<br />
Ý<br />
= Ê 7 1 + : Ñ Î ? H = Í Î = E ? F Ê È 7 Ê Ö ? H ? Ò H ? F ? + Ê ? @ Ê = Ê È ? H = Î = Ê × 7 F Ö ? 1 1 7 F Ê È ? + : Ñ Î ? H<br />
Ê<br />
Í Î = E ? F Ê È 7 Ê Ö ? H ? 7 5 5 : H 7 Ê ? 1 Ë Ê H 7 + F Ò = H Ê ? @ 7 H ? 3 + @ 3 5 7 Ê ? @ Ø Û E Ò ? H 3 Ñ ? + Ê F 1 7 F Ê ? @ Ê È ?<br />
=<br />
3 Ñ ? @ H ? á : 3 H ? @ Ê = Ê H 7 + F Ò = H Ê 7 1 1 Ê È ? Î = E ? F Ö È = F ? Ê = Ê 7 1 + : Ñ Î ? H Ö 7 F Ð + = Ö + Î Ë Ê È ?<br />
Ê<br />
= Î = Ê Ø * H = Î = Ê Ê 7 Ð ? F å , å ç . × æ , æ - . 7 + @ æ , å ? . Ê = Ò : F È 7 Î = E 3 + ? + Ó 3 H = + Ñ ? + Ê F Ö È ? H ?<br />
H<br />
× å 7 + @ è Î = E ? F Ö ? H ? 3 + Ê H = @ : 5 ? @ H ? F Ò ? 5 Ê 3 Ó ? 1 Ë Ø Ý È 7 Ê 3 F Ê È ? H ? F : 1 Ê = Í @ 3 Ó 3 @ 3 + - 1 3 5 6 1 8<br />
<br />
5 9 : < $ Ê = Ê 7 1 Ê 3 Ñ ?<br />
− Ö 7 3 Ê 3 + - Ê 3 Ñ ? & 3 + Ê = Ê È ? + : Ñ Î ? H = Í Î = E ? F Ê È 7 Ê Ö ? H ? Ê H 7 + F Ò = H Ê ? @<br />
R S U ª > ª L \ Y ¬ Y X q v y d | • X Z « Y \ ¹ Y \ q } d ] ] Y d ] f E ] d <br />
d | T ] a q } « a Z q \ Z X ] ] d X \ Z Y s f M a | s s « a ] d y d s • X Z « a Z s « a y d | s d ² q ] Z s « a y q ] } d a<br />
y<br />
d } q s a q s s « a a | s ] a a a \ d ³ s « a } d ] ] Y d ]<br />
v<br />
F ? 5 = + @ - H = : Ò = Í ? E Ò ? H 3 Ñ ? + Ê F @ ? F 3 - + ? @ Ê = ? E Ê ? + @ 3 + @ 3 Ó 3 @ : 7 1 Î = E ã Ò : F È 3 + - 3 F @ ? ã<br />
*<br />
5 H 3 Î ? @ Î ? 1 = Ö Ø Ý È H = : - È Ê È ? F ? ? E Ò ? H 3 Ñ ? + Ê F Ö ? 3 + á : 3 H ? 7 + F Ö ? H F H ? - 7 H @ 3 + - Ò = F F 3 Î 1 ?<br />
F<br />
â - : H ? æ F È = Ö F 7 F ? á : ? + 5 ? = Í 7 5 Ê 3 = + F - ? + ? H 7 Ê ? @ Î Ë Ê È 3 F 5 = + Ê H = 1 1 ? H Ø<br />
— $ g ! j Œ " g g ! j l "<br />
R S U ª ¡ ª E d ] q ¹ Y \ ¹ Y \ q } d ] ] Y d ]<br />
' ¨ ¢ ( *<br />
W ª S | • a ] Y a \ s g<br />
Í H = Ñ<br />
Ê È ? F : Ò Ò 1 3 ? H Ê = Ê È ? F Ê = H ? Ø<br />
v a ³ s s d ] Y ¹ « s T q ] d y d s • a ] } a Y ¬ a Z s « a<br />
? ` a b _ d
? 5 È 7 + 3 F Ñ F = Í 3 + Ê ? H 7 5 Ê 3 = + Î ? Ê Ö ? ? + Ê Ö = H = Î = Ê F Ê È 7 Ê È 7 Ó ? Ê = 5 = Ñ Ò 1 ? Ê ? Ê È ? F 7 Ñ ?<br />
Ñ<br />
7 F Ð Ö 3 Ê È 3 + Ê È ? F 7 Ñ ? ? + Ó 3 H = + Ñ ? + Ê Ø Ç ? Ö 7 + Ê Ê = 9 ¢ 3 ¤ ¦ < ¨ H = Î = Ê H ? á : 3 H ? Ñ ? + Ê F 3 +<br />
Ê<br />
H @ ? H Ê = Ò ? H Í = H Ñ 5 = 1 1 ? 5 Ê 3 Ó ? 1 Ë 7 Ê 7 F Ð Ê È 7 Ê H = Î = Ê F Ñ 7 + 7 - ? Ê = @ = 3 + @ 3 Ó 3 @ : 7 1 1 Ë × H 7 Ê È ? H<br />
=<br />
È 7 + Í = H 5 ? H = Î = Ê F Ê = 5 = = H @ 3 + 7 Ê ? 7 + @ 7 Ó = 3 @ 5 = 1 1 3 F 3 = + F Ø<br />
Ê<br />
! ¨ ¤ # ¤ 5 5 % 1 5 9 ¢ 1 # 8 < 5 ¤ ( < ¨ + ¤ ¨ : 1 5 1 ¢ - 9 / 9 ¦ 9 6 1 8 8 1 3 ¢ % ¤ 6 8<br />
<br />
< 1 # 8 < 5 ¤ ( < ¨ + ¤ ¨ : 5 % < ¢ 1 : < 5 1 ¢ - 9 / 1 : 6 8 5 9 9 ¨ ¤ # ¤ 5 3 ¤ / 5 < : 5 3 # < 3 1 6 ¢ < / ¤<br />
#<br />
Î : Ê È ? H ? × Ê Ö = H = Î = Ê F 7 H ? H 7 + @ = Ñ 1 Ë 1 = 5 7 Ê ? @ 3 + Ê È ? ? + Ó 3 H = + Ñ ? + Ê Ø ! = Ê È H = Î = Ê F ×<br />
<br />
È = F ? - = 7 1 F 7 H ? Ê = Ò : F È Î = E ? F Í H = Ñ Ê È ? F : Ò Ò 1 3 ? H Ê = Ê È ? F Ê = H ? × 7 H ? 5 = + Ê H = 1 1 ? @ Î Ë<br />
Ö<br />
F Ö ? 5 = : 1 @ È 7 Ó ? Í = H ? F ? ? + × Ê È ? Ò H ? F ? + 5 ? = Í 7 F ? 5 = + @ H = Î = Ê Ö 3 Ê È 3 + Ê È ? F 7 Ñ ?<br />
*<br />
+ Ó 3 H = + Ñ ? + Ê 7 ä ? 5 Ê F Ê È ? 7 5 5 = Ñ Ò 1 3 F È Ñ ? + Ê = Í Ê 7 F Ð F Ø ! ? 5 7 : F ? = Í H = Î = Ê F @ = + = Ê È 7 Ó ?<br />
?<br />
+ Ë Ö 7 Ë Ê = H ? 5 = - + 3 > ? 7 Ò 7 H Ê + ? H × 7 + 3 Ñ Ò = H Ê 7 + Ê + : Ñ Î ? H = Í 5 = 1 1 3 F 3 = + F È 7 Ò Ò ? + $ F ? ?<br />
7<br />
- : H ? ç & Ø â<br />
7 Î 1 ? å - 3 Ó ? F : F 7 + 3 @ ? 7 = Í Ê È ? 3 + C : ? + 5 ? Ê È 7 Ê 5 = 1 1 3 F 3 = + F Î ? Ê Ö ? ? + H = Î = Ê F È 7 Ó ?<br />
Ý<br />
+ Ê È ? 3 H Ò ? H Í = H Ñ 7 + 5 ? Ø Ý È ? + : Ñ Î ? H = Í Î = E ? F Ê È 7 Ê Ö ? H ? 7 5 5 : H 7 Ê ? 1 Ë Ê H 7 + F Ò = H Ê ? @<br />
3<br />
F 3 + @ 3 5 7 Ê ? @ 3 + Î = 1 @ 5 È 7 H 7 5 Ê ? H F Ø + Ê È ? Î ? F Ê 5 7 F ? × 7 H = Î = Ê F : 5 5 ? ? @ ? @ = + ? = Í Ê Ö =<br />
3<br />
Ê Ê ? Ñ Ò Ê F Ê = Ê H 7 + F Ò = H Ê 7 Î = E Ø ! = Ê È H = Î = Ê F F Ò ? + Ê , , ç - . 7 + @ å E , ç æ . Ê = Ê H 7 + F Ò = H Ê<br />
7<br />
? F Ò ? 5 Ê 3 Ó ? 1 Ë 7 + @ å Î = E ? F × Ê È ? F : Ñ = Í 7 5 Ê : 7 1 Ê 3 Ñ ? Í = H Î = Ê È H = Î = Ê F @ 3 Ó 3 @ ? @ 3 + Ê =<br />
H<br />
È ? + : Ñ Î ? H = Í Î = E ? F Ê H 7 + F Ò = H Ê ? @ Í H = Ñ Ê È ? F : Ò Ò 1 3 ? H Ê = Ê È ? F Ê = H ? Ø<br />
Ê<br />
R S U ª F ª D a _ X a \ } a d ³ q } s Y d \ Z a | a } X s a y ´ Y \ Y ¬ Y X q v Y Z s Y } ³ d ] q ¹ Y \ ¹ ] d y d s Z f E ] d <br />
Y ¹ « s T q ] d y d s s ] Y a Z s d Z X ] ] d X \ q y d | s « q s Y Z s ] q \ Z • d ] s a y ´ q \ d s « a ] ] d y d s f B d y d s Z<br />
]<br />
d v v Y a q \ q q ¹ a s « a y d | T s « q s Y Z G \ q v v ´ q y q \ d \ a <br />
}<br />
` b I b K k 9 = F Ê 5 = 1 1 3 F 3 = + F 3 + ? E Ò ? H 3 ã<br />
e<br />
? + Ê å H ? F : 1 Ê ? @ = Í 7 F Ò 7 Ê 3 7 1 5 = + C 3 5 Ê Ò H = @ : 5 ? @ Î Ë Ê Ö = 3 + @ 3 Ó 3 @ : 7 1 3 F Ê 3 5 H = Î = Ê F : + 7 Î 1 ?<br />
Ñ<br />
= F È 7 H ? Ê È ? 3 H ? + Ó 3 H = + Ñ ? + Ê 3 Í @ ? F 3 - + ? H F @ = + = Ê Ò H = Ó 3 @ ? Ê È ? Ñ 7 + ? E Ò 1 3 5 3 Ê Ö 7 Ë Ê =<br />
Ê<br />
= Ê È 7 Ê Ø Ý È 3 H @ ? E Ò ? H 3 Ñ ? + Ê 3 F @ ? F 3 - + ? @ Ê = Ò H = Ó ? 7 + ? Ö È Ë Ò = Ê È ? F 3 F Ø<br />
@<br />
M ! / < : ( 8 9 3 9 5 9 ¦ 9 ¢ 9 ¤ / ¤ + 5 % < < / ¦ 9 ¨ ¤ / : < / 5 ¢ % ¤ 6 8 # < < / ¤ 6 U %<br />
<br />
¤ 1 ¦ ¤ 9 3 ¤ 8 8 9 ¢ 9 ¤ / ¢ # < 5 W < < / ¨ ¤ # ¤ 5 ¢ ( < ¨ + ¤ ¨ : 9 / U 5 % < ¢ 1 : < 5 1 ¢ - W 9 5 % 9 / 5 % <<br />
5<br />
e ` b Z \ ^ _ k <br />
¤ 8 8 < 3 5 9 ¦ < < = ¤ ¨ 5 9 ¢ ¨ < @ 6 9 ¨ < 5 ¤ ( < ¨ + ¤ ¨ : 5 % 9 ¢ 5 1 ¢ - B<br />
3<br />
È ? ? + Ó 3 H = + Ñ ? + Ê : F ? @ 3 + Ê È 3 F ? E Ò ? H 3 Ñ ? + Ê 3 F ? E 7 5 Ê 1 Ë Ê È ? F 7 Ñ ? = Í ? E Ò ? H 3 Ñ ? + Ê<br />
Ý<br />
Ê È ? à 3 + 3 Ê ? Ù Ê 7 Ê ? 9<br />
7 5 È 3 + ? = Í â - : H ? å Ø<br />
v a ³ s s d<br />
¢ 1 : < < / ¦ 9 ¨ ¤ / : < / 5 B
= H Ê È 3 F ? E Ò ? H 3 Ñ ? + Ê × Ê È ? ? + Ó 3 H = + Ñ ? + Ê @ ? F 5 H 3 Î ? @ 3 + ? E Ò ? H 3 Ñ ? + Ê 3 F @ 3 Ó 3 @ ? @ 3 +<br />
à<br />
Ö = F : Î ã 5 = H H 3 @ = H F 7 + @ ? 7 5 È = + ? 3 F 7 1 1 = 5 7 Ê ? @ Ê = = + ? H = Î = Ê Ø + Ê È ? ? E Ê H ? Ñ ? ? + @ F = Í<br />
Ê<br />
: Î ã 5 = H H 3 @ = H 7 + @ Ê È ? F : Ò Ò 1 3 ? H Í = H Ê È ? H = Î = Ê F 3 Ê : 7 Ê ? @ 3 + Ê È ? F ? 5 = + @ = + ? Ø<br />
F<br />
È ? H = Î = Ê F , - = 7 1 3 F Ê = Ò : F È Î = E ? F Ê È H = : - È Ê È ? 5 = H H 3 @ = H × Ö È ? H ? ? 7 5 È H = Î = Ê 3 F<br />
Ý<br />
+ 5 È 7 H - ? = Í = + ? F : Î ã 5 = H H 3 @ = H Ø ! = E ? F 7 H ? 3 + Ê H = @ : 5 ? @ 3 + Ê = Ê È ? ? + Ó 3 H = + Ñ ? + Ê Î Ë 7<br />
3<br />
: Ñ 7 + = Ò ? H 7 Ê = H Ö È = 3 F Ò 1 7 5 ? @ 3 + Ê È ? ? E Ê H ? Ñ ? Ê È 7 Ê 5 = H H ? F Ò = + @ F Ê = Ê È ? F : Ò Ò 1 3 ? H Ø<br />
È<br />
p03 7 + @<br />
p01 ? H ? 3 + 5 È 7 H - ? = Í F : Î ã 5 = H H 3 @ = H F Ø + Ê È ? Î ? F Ê 5 7 F ? × H = Î = Ê F F : 5 5 ? ? @ ? @ = + ? = Í<br />
â Ó ? 7 Ê Ê ? Ñ Ò Ê F Ê = Ê H 7 + F Ò = H Ê Ê Ö ? F 7 Ñ ? Î = E Ø * F : 5 5 ? F F Ö 7 F È ? H ? 7 Î = E 7 5 5 : H 7 Ê ? 1 Ë<br />
È<br />
= Î = Ê F - = Ê 7 F 1 3 - È Ê 1 Ë Î ? Ê Ê ? H F 5 = H ? Î : Ê Ê È ? Ë F Ê 3 1 1 È 7 @ Ò H = Î 1 ? Ñ F = Í 5 = = H @ 3 + 7 Ê 3 = + Ø<br />
;<br />
È ? 1 3 + ? Ê È 7 Ê @ 3 Ó 3 @ ? F Ê È ? 5 = H H 3 @ = H 3 F 7 5 H 3 Ê 3 5 > = + ? Ö È 3 5 È H = Î = Ê F 5 7 + + = Ê @ ? 7 1<br />
Ý<br />
3 Ê È Ø Ê È 7 Ò Ò ? + F = Í Ê ? + Ê È 7 Ê Ê È ? F ? 5 = + @ H = Î = Ê H ? 7 5 È ? F 7 + @ Ê H 3 ? F Ê = Ò : F È 7 Î = E<br />
Ö<br />
È 7 Ê 3 F Î ? ? + Ò : F È ? @ Î Ë Ê È ? â H F Ê H = Î = Ê Ø + @ ? ? @ × Ê È ? 5 = + Ê H = 1 1 ? H = Í Ê È ? F ? 5 = + @ H = Î = Ê<br />
Ê<br />
H 3 - - ? H F Ê È ? 7 5 Ê 3 = + / 1 3 1 * 6 7 * 8 Ö È ? + 7 Î = E 3 F Ò ? H 5 ? 3 Ó ? @ × Ò H = @ : 5 3 + - 7 5 = 1 1 3 F 3 = +<br />
Ê<br />
F ? ? â - : H ? è & Ø Ý È 3 F F 3 Ê : 7 Ê 3 = + 5 = : 1 @ Î ? F = 1 Ó ? @ 3 Í / 1 3 1 * 6 7 * 8 Ö 7 F Ê H 3 - - ? H ? @ = + 5 ?<br />
$<br />
È ? Î = E 3 F Ò ? H 5 ? 3 Ó ? @ : + @ ? H 7 â E ? @ Ê È H ? F È = 1 @ Ø Ý È 3 F F = 1 : Ê 3 = + 3 F È = Ö ? Ó ? H Ò 7 H Ê 3 7 1 ×<br />
Ê<br />
? 5 7 : F ? Ê È ? 5 7 1 5 : 1 7 Ê 3 = + = Í @ 3 F Ê 7 + 5 ? F Ê = Ñ = Î 3 1 ? = Î Õ ? 5 Ê F 3 F 7 1 Ö 7 Ë F 7 Ò Ò H = E 3 Ñ 7 Ê ? Ø<br />
Î<br />
S ª ª D a _ X a \ } a d ³ q } s Y d \ Z a | a } X s a y ´ ] d y d s Z ³ d ] q ¹ Y \ ¹ Y \ q Y ¬ Y a } d ] ] Y d ] f E ] d <br />
R U<br />
³ s s d ] Y ¹ « s T ] d y d s<br />
p03 p01 • X Z « a Z q y d | ² « Y v a ] d y d s ² q Y s Z Y \ ³ ] d \ s d ³ Y s Z d ² \ Z X • • v Y a ] f<br />
a v<br />
p01 s ] Y a Z s d ] a q } « s « a y d | y a ³ d ] a s « q \ p03 G \ Y Z « a T • ] d X } Y \ ¹ s « a \ q } d v v Y Z Y d \<br />
` b ¢ I b a b K k ¤ 7 F Ê ? E Ò ? H 3 ã<br />
e<br />
? + Ê F Ö ? H ? Î 7 F ? @ = + Ê È ? F 7 Ñ ? 5 = + Ê H = 1 Ñ ? 5 È 7 + 3 F Ñ Ø Ç ? Ö 7 + Ê ? @ Ê = ? E Ò 1 = H ? Ê È ?<br />
Ñ<br />
= F F 3 Î 3 1 3 Ê 3 ? F = Í 3 + @ 3 Ó 3 @ : 7 1 Î = E ã Ò : F È 3 + - 7 + @ Ê ? F Ê Ê È ? H = Î : F Ê + ? F F 7 + @ Ö ? 7 Ð + ? F F = Í<br />
Ò<br />
- ? + ? H 7 1 Î ? È 7 Ó 3 = H 3 + 7 Ñ : 1 Ê 3 ã H = Î = Ê 5 = + Ê ? E Ê Ø<br />
7<br />
Ç<br />
+ Ê H = @ : 5 ? @ × H = Î = Ê F Ö ? H ? + = Ê 7 1 Ö 7 Ë F 7 Î 1 ? Ê = 5 = = H @ 3 + 7 Ê ? Ê È ? 3 H 7 5 Ê 3 = + F Ø H ? Ó 3 = : F<br />
3<br />
? F : 1 Ê F F È = Ö ? @ Ê È 7 Ê H = Î = Ê F 7 5 Ê 3 + - Ö 3 Ê È 3 + Ê È ? F 7 Ñ ? ? + Ó 3 H = + Ñ ? + Ê + ? ? @ 7 + ? E Ò 1 3 5 3 Ê<br />
H<br />
È ? 5 = H H 3 @ = H × Î 7 H 5 = @ ? F 3 + @ 3 5 7 Ê 3 + - Ê È ? F : Ò Ò 1 3 ? H 7 + @ Ê È ? F Ê = H ? 7 H ? Ò 1 7 5 ? @ Ø + Ê È ?<br />
Ê<br />
3 @ @ 1 ? = Í Ê È ? 5 = H H 3 @ = H × 7 @ = : Î 1 ? Í 7 5 ? @ 5 : ? È 7 + - F Í H = Ñ 7 F Ê H 3 + - F 3 Ê : 7 Ê ? @<br />
Ñ<br />
Í H = Ñ Ê È ? C = = H Ø Ý È 3 F 5 : ? 3 + @ 3 5 7 Ê ? F Ê È ? F Ê = H ? Í = H Ê È ? H = Î = Ê F 3 Ê : 7 Ê ? @ 3 + Ê È ? â H F Ê<br />
60cm<br />
Ý 7 Î 1 ? æ F : Ñ Ñ 7 H 3 > ? F Ê È ? H ? F : 1 Ê F = Í Ê È H ? ? ? E Ò ? H 3 Ñ ? + Ê F Ö È ? H ? H = Î = Ê F<br />
H 7 + F Ò = H Ê ? @ Ê = Ê È ? F ? 5 = + @ F Ê = H ? Ø Ý Ö = H = Î = Ê F 3 + 7 @ 3 Ó 3 @ ? @ 5 = H H 3 @ = H F Ò ? + Ê ? , æ E .<br />
Ê<br />
+ @ ç , ç . Ê = Ê H 7 + F Ò = H Ê Ê È ? F 7 Ñ ? Î = E × = Í 7 Ê = Ê 7 1 = Í å 7 + @ æ Î = E ? F H ? F Ò ? 5 Ê 3 Ó ? 1 Ë Ø<br />
7<br />
? È 7 Ó ? F ? ? + Ê È 7 Ê × ? Ó ? + Ê È = : - È 7 + ? E Ò 1 3 5 3 Ê @ 3 Ó 3 F 3 = + = Í Ê È ? ? + Ó 3 H = + Ñ ? + Ê Ö 7 F<br />
Ñ ? 5 È 7 + 3 F Ñ<br />
Í = H 5 = = H @ 3 + 7 Ê 3 = + Ø
! / ` : ( V W Q W S X ` Q % I / W X + 1 / Q % / W ¢ I S W / W ` @ T W `<br />
<br />
X T V S W 9 # S Q W / I S W / B<br />
+<br />
+ Ê È 3 F ? E Ò ? H 3 Ñ ? + Ê × F Ë + 5 È H = + 3 > 7 Ê 3 = + 3 F 7 5 È 3 ? Ó ? @ Ê È H = : - È 7 F 3 Ñ Ò 1 ? Ñ ? 5 È 7 + 3 F Ñ<br />
<br />
Í @ 3 H ? 5 Ê 5 = Ñ Ñ : + 3 5 7 Ê 3 = + Î ? Ê Ö ? ? + H = Î = Ê F Ø ; = Î = Ê F D 5 = + Ê H = 1 1 ? H 3 F È ? H ? Ñ = @ 3 â ? @ Î Ë<br />
=<br />
+ Ê H = @ : 5 3 + - 7 Î ? È 7 Ó 3 = H Ê È 7 Ê ? + 7 Î 1 ? F = + ? H = Î = Ê ã Ê È ? ` ` ã Ê = F ? + @ 7 Ñ ? F F 7 - ? Ê =<br />
3<br />
+ = Ê È ? H H = Î = Ê ã Ê È ? Q V W ` / S ã $ F ? ? â - : H ? , & Ø<br />
7<br />
È ? H = Î = Ê 3 + 5 È 7 H - ? = Í Ê È ? â H F Ê F : Î ã 5 = H H 3 @ = H × Ê È ? F ? H Ó ? H × Î ? È 7 Ó ? F Ñ = H ? = H 1 ? F F<br />
Ý<br />
+ Ê È ? F 7 Ñ ? Ö 7 Ë @ ? F 5 H 3 Î ? @ Ò H ? Ó 3 = : F 1 Ë ¤ È = Ö ? Ó ? H Ê È 3 F H = Î = Ê F ? + @ F È ? H ? 7 Ñ ? F F 7 - ?<br />
3<br />
= 3 Ê F Ò 7 H Ê + ? H = + 5 ? 3 Ê È 7 F 5 = Ñ Ò 1 ? Ê ? @ 3 Ê F Ê 7 F Ð Ø Ý È ? H = Î = Ê 3 + 5 È 7 H - ? = Í Ê È ? F ? 5 = + @<br />
Ê<br />
: Î ã 5 = H H 3 @ = H × Ê È ? 5 1 3 ? + Ê × @ = ? F + = Ê 1 = + - ? H ? E ? 5 : Ê ? F 6 7 , 8 @ * 7 F 3 Ê F â H F Ê 7 5 Ê 3 = + Ø Ê<br />
F<br />
7 3 Ê F 7 + @ = + 1 Ë F Ê 7 H Ê F Ê = Ñ = Ó ? 3 Í 3 Ê H ? 5 ? 3 Ó ? F 7 Ñ ? F F 7 - ? = Í 3 Ê F Ò 7 H Ê + ? H 3 + @ 3 5 7 Ê 3 + -<br />
Ö<br />
È 7 Ê 7 Î = E 3 F Ö 7 3 Ê 3 + - 3 + Ê È ? Ñ 3 @ @ 1 ? = Í Ê È ? 5 = H H 3 @ = H Ø<br />
Ê<br />
È 7 Ê Ö ? H ? 5 = 1 1 ? 5 Ê ? @ × 3 + Î = 1 @ 5 È 7 H 7 5 Ê ? H F × Ö ? 5 = + â H Ñ Ê È 7 Ê H = Î = Ê F È 7 Ó ? 3 Ñ Ò H = Ó ? @<br />
Ê<br />
È ? 3 H Ò ? H Í = H Ñ 7 + 5 ? Ø Ý È ? Ë F : 5 5 ? ? @ ? @ × 3 + Ê È ? Î ? F Ê 5 7 F ? × Ê Ö = = Í â Ó ? 7 Ê Ê ? Ñ Ò Ê F Ê =<br />
Ê<br />
H 7 + F Ò = H Ê Ê È ? F 7 Ñ ? Î = E Ø Ý È 3 F 3 Ñ Ò H = Ó ? Ñ ? + Ê 3 F @ : ? Ê = Ê È ? 3 H 5 = Ñ Ò ? Ê ? + 5 ? Ê = 5 = Ñ ã<br />
Ê<br />
: + 3 5 7 Ê ? @ 3 H ? 5 Ê 1 Ë Ö 3 Ê È ? 7 5 È = Ê È ? H × Ê È 7 Ê ? + 7 Î 1 ? F Ê È ? Ñ Ê = 7 Ó = 3 @ Ê È ? 5 = 1 1 3 F 3 = + F<br />
Ñ<br />
H = @ : 5 ? @ 3 + ? E Ò ? H 3 Ñ ? + Ê æ Ø Ý È ? F : Ñ = Í 7 5 Ê : 7 1 Ê 3 Ñ ? Í = H Î = Ê È H = Î = Ê F @ 3 Ó 3 @ ? @ 3 + Ê =<br />
Ò<br />
È ? + : Ñ Î ? H = Í Î = E ? F Ê H 7 + F Ò = H Ê ? @ Í H = Ñ Ê È ? F : Ò Ò 1 3 ? H Ê = Ê È ? F Ê = H ? Ö 7 F , D æ , F Ê =<br />
Ê<br />
H 7 + F Ò = H Ê Î = E ¤ - D ç è F 7 + @ ! D æ ? F Ê = Ê H 7 + F Ò = H Ê å Î = E ? F = Í 7 Ê = Ê 7 1 = Í å 7 + @ æ Î = E ? F<br />
Ê<br />
? F Ò ? 5 Ê 3 Ó ? 1 Ë Ø H<br />
§ © <br />
<br />
% " % " " % ' <br />
©<br />
• n g g n 3 n n 4 g 3 m — 4<br />
g<br />
n 6 j n 3 n n 4 g 3 m i 4<br />
•<br />
• n g j j 3 j n 4 m 3 — Œ 4<br />
j<br />
n 6 j W n 3 m l 4 m 3 — “ 4<br />
•<br />
• n g — W n 3 g m 4 g m 3 m Œ 4<br />
6<br />
n 6 — W n 3 6 Œ 4 g m 3 m i 4<br />
•<br />
9 ¨ ¢ @ B ª S | • a ] Y a \ s j<br />
R S U ª ª E d ] q ¹ Y \ ¹ ² Y s « } d X \ Y } q s Y d \<br />
§ © <br />
<br />
% " % " " % ' <br />
©<br />
• n 6 g g n 3 j m 4 6 3 m 6 4<br />
g<br />
n g g j 3 g m 4 6 3 m l 4<br />
•<br />
• n g j g n 3 n n 4 — 3 g n 4<br />
j<br />
n 6 6 W n 3 n n 4 — 3 j l 4<br />
•<br />
• n g — j n 3 m j 4 “ 3 n — 4<br />
6<br />
n 6 m W j 3 m i 4 “ 3 n — 4<br />
•<br />
§ © <br />
<br />
% " % " " % ' <br />
©<br />
• n g j g n 3 n n 4 m 3 g “ 4<br />
g<br />
n 6 g W g 3 — l 4 m 3 g — 4<br />
•<br />
• n g 6 j g 3 j Œ 4 Œ 3 n Œ 4<br />
j<br />
n 6 j j 3 — “ 4 Œ 3 n m 4<br />
•<br />
• n g 6 j n 3 n n 4 Œ 3 n j 4<br />
6<br />
n 6 j j 3 6 g 4 — 3 — “ 4<br />
•<br />
9 ¨ ¢ @ B F ª S | • a ] Y a \ s m<br />
Ý 7 Î 1 ? ç F È = Ö F Ê È ? H ? F : 1 Ê F = Í = : H 1 7 F Ê ? E Ò ? H 3 Ñ ? + Ê F Ø à H = Ñ<br />
Ê È ? + : Ñ Î ? H = Í Î = E ? F<br />
9 ¨ ¢ @ B b ª S | • a ] Y a \ s 6
Ó ? + Ê È = : - È Ê È ? 5 = Ñ Ò ? Ê ? + 5 ? F = Í H = Î = Ê F 3 + Ó = 1 Ó ? @ 3 + Ò H ? Ó 3 = : F ? E Ò ? H 3 Ñ ? + Ê F 7 H ?<br />
Û<br />
= Ê ? E 7 5 Ê 1 Ë Ê È ? F 7 Ñ ? × Ö ? 5 7 + 5 = Ñ Ò 7 H ? 7 + @ @ 3 F 5 : F F Ê È ? 3 H H ? F : 1 Ê F Ø Ý È ? Ò : H Ò = F ? = Í<br />
+<br />
È 3 F 5 = Ñ Ò 7 H 3 F = + 3 F Ê = â - : H ? = : Ê Ê È ? H = 1 ? Ê È 7 Ê 5 = Ñ Ñ : + 3 5 7 Ê 3 = + È 7 F 3 + Ñ : 1 Ê 3 ã H = Î = Ê<br />
Ê<br />
+ Ê ? H 7 5 Ê 3 = + Ø 3<br />
3 - : H ? F - × E 7 + @ ! 3 1 1 : F Ê H 7 Ê ? Ê È ? Î ? È 7 Ó 3 = H F Ê È 7 Ê Ö ? H ? ? E ? 5 : Ê ? @ Î Ë H = Î = Ê F<br />
à<br />
: H 3 + - Ê È ? Í = H 7 - 3 + - = Í Ê È H ? ? Î = E ? F 3 + ? E Ò ? H 3 Ñ ? + Ê F å × æ 7 + @ ç $ H = Ö F è 7 + @ , = Í<br />
@<br />
+ ? E Ò ? H 3 Ñ ? + Ê å 7 5 5 = H @ 3 + - Ê = â - : H ? - × Ê È ? + : Ñ Î ? H = Í Í 7 3 1 F ã Ê È ? Ê H 3 - - ? H F = Í<br />
<br />
? È 7 Ó 3 = H A C , @ ) E 7 + @ E ) G M : 1 K Ê È 7 Ê @ 3 @ + = Ê F : 5 5 ? ? @ ã 3 F 3 Ñ Ò = H Ê 7 + Ê Ø Ý È ? H ? 7 H ?<br />
Î<br />
? F F 7 Ê Ê ? Ñ Ò Ê F Ê È 7 Ê @ 3 @ + = Ê F : 5 5 ? ? @ 3 + ? E Ò ? H 3 Ñ ? + Ê æ 7 F 3 + @ 3 5 7 Ê ? @ 3 + â - : H ? E Ø +<br />
1<br />
@ @ 3 Ê 3 = + Ê = Ê È ? Ò H = Î 1 ? Ñ F = Í 5 = = H @ 3 + 7 Ê 3 = + Ê È 7 Ê Ö ? H ? @ 3 F 5 : F F ? @ × 7 H = Î = Ê Ñ 7 Ë 1 = = F ?<br />
7<br />
+ @ Î = E ? F = : Ê = Í Ê È ? F 3 - È Ê = Í H = Î = Ê F Ø<br />
7<br />
= 1 1 3 F 3 = + F Î ? Ê Ö ? ? + H = Î = Ê F @ 3 F 7 Ò Ò ? 7 H ? @ 3 + ? E Ò ? H 3 Ñ ? + Ê ç Ö È ? + Ö ? 3 + Ê H = @ : 5 ? @<br />
<br />
F 5 = Ñ Ñ : + 3 5 7 Ê 3 = + ? F F ? + Ê 3 7 1 Ê = 7 5 È 3 ? Ó ? Ñ : 1 Ê 3 ã H = Î = Ê 5 = = H @ 3 + 7 Ê 3 = + Ï + ? E Ò ? H 3 ã<br />
<br />
? + Ê F Ö È ? H ? H = Î = Ê F @ 3 @ + = Ê 5 = Ñ Ñ : + 3 5 7 Ê ? × Ö È ? + 7 + 3 + @ 3 Ó 3 @ : 7 1 3 F Ê 3 5 Í = H 7 - 3 + - H = Î = Ê<br />
Ñ<br />
? Ê 7 Ò 7 H Ê + ? H × 3 Ê H ? 7 5 Ê ? @ 7 F 3 Í 3 Ê Ö ? H ? 7 + = Î F Ê 7 5 1 ? Ø = Ö ? Ó ? H × Ö È ? + Ê È ? Ë Ñ ? Ê Ö È 3 1 ?<br />
Ñ<br />
: F È 3 + - 7 Î = E Ê È ? Ë 3 - + = H ? @ Ê È ? Ñ F ? 1 Ó ? F 7 + @ 5 = 1 1 3 @ ? Ø<br />
Ò<br />
Ê È = H = : - È 5 = = H @ 3 + 7 Ê 3 = + = Í Ê È ? 7 5 Ê 3 = + F ? E ? 5 : Ê ? @ Î Ë H = Î = Ê F Ñ 7 Ë 7 Ó = 3 @ Ê È ? F ?<br />
*<br />
3 Ê : 7 Ê 3 = + F × 7 F Ö ? 5 7 + F ? ? 3 + ? E Ò ? H 3 Ñ ? + Ê æ Ø Ç ? Ê È 3 + Ð × È = Ö ? Ó ? H × Ê È 7 Ê Ò 7 H 7 Ñ ? Ê ? H F<br />
F<br />
: + 3 + - F È = : 1 @ ? 7 F ? Î Ë 5 = Ñ Ñ : + 3 5 7 Ê 3 = + Ø Ý È : F × Ö ? 5 = + 5 1 : @ ? Ê È 7 Ê 5 = Ñ Ñ : + 3 5 7 Ê 3 = + 3 F<br />
Ê<br />
? F 3 H 7 Î 1 ? Í = H 7 5 È 3 ? Ó 3 + - 5 = 1 1 ? 5 Ê 3 Ó ? 7 5 Ê 3 = + F × ? Ó ? + 3 Í 5 = Ñ Ñ : + 3 5 7 Ê 3 = + 3 F + = Ê + ? 5 ? F F 7 H 3 1 Ë<br />
@<br />
Ç<br />
= : H ? E Ò ? H 3 Ñ ? + Ê F = Í Í = H 7 - 3 + - H = Î = Ê F 3 + F 3 + - 1 ? 7 + @ Ñ : 1 Ê 3 ã H = Î = Ê 5 = + Ê ? E Ê F Ö ? H ? Ò H ? ã<br />
à<br />
? + Ê ? @ Ø Ç ? 5 = + @ : 5 Ê ? @ Ê È ? F ? ? E Ò ? H 3 Ñ ? + Ê F / 1 9 < 8 1 × 7 Ò H = Î 1 ? Ñ Ö 7 F @ ? â + ? @ 7 + @<br />
F<br />
+ : Ñ Î ? H = Í È Ë Ò = Ê È ? F 3 F ã 7 Ò Ò 7 H ? + Ê 1 Ë = Î Ó 3 = : F ã Ö ? H ? Í = H Ñ : 1 7 Ê ? @ × ? E Ò 1 = H ? @ 7 + @<br />
7<br />
? Ñ = + F Ê H 7 Ê ? @ ? E Ò ? H 3 Ñ ? + Ê 7 1 1 Ë × 7 + 7 1 Ë > 3 + - Ê È ? = : Ê 5 = Ñ ? F = Í F ? Ó ? H 7 1 Ê ? F Ê F Ø<br />
@<br />
? 5 = + F 3 @ ? H Ê È 7 Ê Ê È 3 F 7 Ò Ò H = 7 5 È 3 F : F ? Í : 1 Ö È ? + 7 + 7 1 Ë > 3 + - Ñ : 1 Ê 3 ã H = Î = Ê 5 = = H ã<br />
Ç<br />
3 + 7 Ê 3 = + F Ê H 7 Ê ? - 3 ? F Ø Ý È ? Ñ 7 3 + 5 = + Ê H 3 Î : Ê 3 = + = Í = : H ? E Ò ? H 3 Ñ ? + Ê F 3 F Ê È 7 Ê Ê È ? H ? ã<br />
@<br />
: 3 H ? Ñ ? + Ê F = Í 7 Ñ : 1 Ê 3 ã H = Î = Ê F Ë F Ê ? Ñ Ö ? H ? @ ? Ê ? 5 Ê ? @ ? E Ò ? H 3 Ñ ? + Ê 7 1 1 Ë × H 7 Ê È ? H Ê È 7 +<br />
á<br />
Ñ Ò = F ? @ 1 ( 9 9 Î Ë @ ? F 3 - + ? H F Ø<br />
3<br />
: Ê : H ? Ö = H Ð Ö 3 1 1 Í = 5 : F = + ? E Ê ? + @ 3 + - = : H Î = E ã Ò : F È 3 + - Ñ ? 5 È 7 + 3 F Ñ F Ê = @ ? 7 1<br />
à<br />
3 Ê È 5 = 1 1 ? 5 Ê 3 Ó ? Î = E ã Ò : F È 3 + - × 7 Ê 7 F Ð 3 + Ó = 1 Ó 3 + - Ê È ? Õ = 3 + Ê ? ä = H Ê F = Í 7 H = Î = Ê 5 = 1 = + Ë Ø<br />
Ö<br />
¡ Æ 9 Ä Ã 9 9 Æ Á ¾<br />
Ê 7 Î 1 ? F å × æ 7 + @ ç & Ø Ý È ? F ? ? E Ò ? H 3 Ñ ? + Ê F 1 7 F Ê ? @ Í = H ç , ç - . × ! , ? è .<br />
7 + @ , , ? å . Ø<br />
Î = E ? F Í = H = Ê È ? H H ? 7 F = + F F : 5 È 7 F 7 + 3 + F Ê 7 Î 3 1 3 Ê Ë Ò H = Î 1 ? Ñ<br />
5 7 : F ? @ Î Ë Î = E Ò 1 7 5 ? Ñ ? + Ê F<br />
= Ñ Ñ : + 3 5 7 Ê 3 = + × 7 F Ö ? 5 7 + F ? ? 3 + â - : H ? ! Ø Ý È 3 F â - : H ? F È = Ö F 7 1 F = Ê È 7 Ê F Ë + 5 È H = ã<br />
5<br />
3 > 7 Ê 3 = + 7 Ó = 3 @ F : F ? 1 ? F F Ñ = Ó ? Ñ ? + Ê F = Í<br />
+<br />
p03 Ø<br />
7 5 È 3 ? Ó ? @ 3 + 7 @ 3 H ? 5 Ê Í = H Ñ Ø<br />
¢ £ Á ¾ Ä Ã 9 Æ Á ¾ 9<br />
? @ ? F 5 H 3 Î ? @ = : H H ? F ? 7 H 5 È 3 + 5 = 1 1 ? 5 Ê 3 Ó ? H = Î = Ê 3 5 F 7 Ò Ò 1 Ë 3 + - 7 + 3 + Ê : 3 Ê 3 Ó ? 7 Ò Ò H = 7 5 È Ø<br />
¤ 4 4 ¾ Â Æ 2<br />
¥ a Z } ] Y • s Y d \ d ³ y a « q ¬ Y d ] Z X Z a Y \ s « a a | • a ] Y a \ s Z ¦ ³ d ] d ] a a s q Y v Z Z a a ¨ l
R S U ª ª Y a « q ¬ Y d ] Z d ³ s ² d Y \ Y ¬ Y X q v Y Z s Y } ³ d ] q ¹ Y \ ¹ ] d y d s Z<br />
R S U ª ¢ ª Y a « q ¬ Y d ] Z d ³ s ² d Z • q s Y q v v ´ } d d ] Y \ q s a ³ d ] q ¹ Y \ ¹ ] d y d s Z<br />
R S U ª ¤ ª Y a « q ¬ Y d ] d ³ s ² d Z • q s Y d s a • d ] q v v ´ } d d ] Y \ q s a ³ d ] q ¹ Y \ ¹ ] d y d s Z<br />
p01<br />
p03<br />
success<br />
go back & turn<br />
push box<br />
behaviors<br />
surround box<br />
go forward<br />
line up<br />
wan<strong>de</strong>r<br />
wait<br />
0 100 200 300 400 500 600 700 800 900<br />
time (sec)<br />
p01<br />
p03<br />
success<br />
go back & turn<br />
push box<br />
behaviors<br />
surround box<br />
go forward<br />
line up<br />
wan<strong>de</strong>r<br />
wait<br />
0 100 200 300 400 500 600 700 800 900<br />
time (sec)<br />
s<strong>en</strong>d msg<br />
p01<br />
p03<br />
success<br />
go back & turn<br />
push box<br />
behaviors<br />
surround box<br />
go forward<br />
line up<br />
wan<strong>de</strong>r<br />
wait<br />
0 100 200 300 400 500 600 700 800 900<br />
time (sec)
† € œ ‡ ‰ p « a ] d y d s a | • v d ] a Z Y s Z a \ ¬ Y ] d \ a \ s ] q \ d v ´ q ¬ d Y Y \ ¹ d y Z s q } v a Z f B d y d s<br />
¡<br />
d ¬ a Z q s q Z • a a d ³ 250mm/sec f<br />
<br />
„ € ‡ ˆ ‰ p « a ] d y d s q v Y ¹ \ Z Y s Z a v ³ ² Y s « q y q ] } d a q \ Z s q \ Z Y \ v Y \ a f<br />
¢<br />
› ¥ § © † œ › › § ‡ ‰ p « a ] d y d s • X Z « a Z q y d | a s a } s a Y \ ³ ] d \ s y ´ Y s Z Z d \ q ] Z f<br />
¤<br />
d y d s • X Z « a Z Y \ q Z s ] q Y ¹ « s v Y \ a q s q Z • a a d ³ 100mm/sec X \ s Y v Y s Y Z q s q ¹ Y ¬ a \<br />
B<br />
Y Z s q \ } a ³ ] d q ¹ Y ¬ a \ y q ] } d a f<br />
<br />
† „ § ‰ p « a ] d y d s ] a q Y \ Z q s s « a Z q a • d Z Y s Y d \ f<br />
¡<br />
€ œ Š ‰ p « a ] d y d s ¹ d a Z s d ² q ] Z q y d | q \ d ¬ a Z s d s « a d • • d Z Y s a Z Y a d ³<br />
<br />
‡ € œ † ~ ‡ › › † ž ‡ ‰ p « a ] d y d s Z a \ Z q a Z Z q ¹ a s d q ¹ Y ¬ a \ ] d y d s f B d y d s Z } d X \ Y<br />
<br />
q s a ¬ Y q Z d } º a s Z T s ] q \ Z Y s s Y \ ¹ Z Y • v a a Z Z q ¹ a Z Z X } « q Z y d | " f<br />
}<br />
f Q f Y a \ D « q « q ] T S f B Y ¬ v Y \ w ] q } s Y } q v w v q \ \ Y \ ¹ ³ d ] B a q ] ] q \ ¹ a a \ s p q Z º Z f <br />
g<br />
§ © T g m m T — m “ — — “ T g “ “ l f<br />
<br />
f S f f a q Y \ a T B f O f a q ] \ T z f d ! q \ \ w X Z « j E Y Z w D w O S d • v a s a f " $<br />
j<br />
& ( ) & + + $ + / 0 T $ g $ — T j n n j f<br />
<br />
f f 2 d v y a ] ¹ T z f – f z q s q ] Y } L \ s a ] ³ a ] a \ } a q Z q p d d v ³ d ] a Z Y ¹ \ Y \ ¹ q \ S ¬ q v X q s Y \ ¹<br />
$<br />
X v s Y B d y d s d \ s ] d v v a ] Z f " $ & 3 + $ 6 7<br />
z<br />
T Œ $ i Œ m j T g “ “ i f<br />
<br />
f z f – 9 ¹ a ] d d • a ] q s Y \ ¹ v a q \ Y \ ¹ B d y d s Z f : © § © < 0 <br />
m<br />
T f O Z q q a s q v f a Z T j $ i j m Œ f D • ] Y \ ¹ a ] > a ] v q ¹ T j n n j f<br />
=<br />
f O f p f q ´ a Z d ² z q \ ´ B d y d s Z @ 2 ] d X • D Y t a q \ S B } Y a \ } ´ Y \ d v v a } s Y ¬ a D a q ] } «<br />
—<br />
q Z º Z f : © § © < 0 = T f O Z q q a s q v f a Z T j l “ j “ l f<br />
p<br />
• ] Y \ ¹ a ] > a ] v q ¹ T j n n j f<br />
D<br />
f f B f F X y a T S f Y d \ q y a q X d d • a ] q s Y ¬ a p ] q \ Z • d ] s y ´ O \ s Z q \ B d y d s Z f § © <br />
Œ<br />
< 0 T $ n T l — g n g f S v Z a ¬ Y a ] T j n n n f<br />
<br />
f z f – f z q s q ] Y } T z f M Y v Z Z d \ T F f p f D Y Z q ] Y q \ d d • a ] q s Y ¬ a z X v s Y B d y d s Y d | w X Z « Y \ ¹ f<br />
i<br />
$ & ( I I I + $ § © < 0 T — — Œ — Œ g T g “ “ — f<br />
"<br />
f O f z X M d t z a v { \ a t d d • { ] q s Y d \ D Y s X { a X \ a O • • ] d } « a d \ Z s ] X } s Y ¬ Y Z s a a v q d \<br />
l<br />
a • s Y d \ a d v d \ Y a Z a B d y d s Z f w « s « a Z Y Z T Ž \ Y ¬ a ] Z Y s ´ w Y a ] ] a a s z q ] Y a X ] Y a T j n n $ f<br />
}<br />
f V f S f w q ] º a ] a s a ] d ¹ a \ a d X Z X v s Y ] d y d s } d d • a ] q s Y d \ f w « s « a Z Y Z T z L p T g “ “ m f<br />
“<br />
n f D f w Y } q X v s T O f ] d ¹ d X v p « a z L B d y S D w ] d X a } s T q \ S | • a ] Y a \ s q v O • • ] d q } « s d<br />
g<br />
q ] Z Q • a \ d v v a } s Y ¬ a B d y d s Y } Z f : © § © < 0 ) T V f S f<br />
²<br />
q ] º a ] a s q v f a Z T m l g m l j f D • ] Y \ ¹ a ] > a ] v q ¹ T j n n n f<br />
w<br />
g f D f P X s X y T B f O v q Y T E f L \ ¹ ] q \ d ² s d D d v ¬ a a q v d } º D Y s X q s Y d \ Z ² Y s « Y \ s « a w v q \<br />
g<br />
a ] ¹ Y \ ¹ w q ] q Y ¹ ³ d ] z X v s Y ] d y d s d d • a ] q s Y d \ f R § < S + $ § © <br />
<br />
T g Œ g n g Œ g — T g “ “ i f<br />
<br />
j f O f D X Z q \ ¹ T E f B d s « ¹ q \ ¹ a ] T – f w d \ } a z d s Y d \ w v q \ \ Y \ ¹ ³ d ] Y Z } Z « q • a B d y d s Z<br />
g<br />
X Z « Y \ ¹ q w d v ´ ¹ d \ q v Q y X a } s Y \ s « a w v q \ a f § © V<br />
w<br />
T g l m T — — n — Œ j T j n n j f<br />
<br />
$ f S f p d s T 2 f B q X Z « f T B f D X X ] a t O \ q v ´ Z Y Z q \ v q Z Z Y G } q s Y d \ d ³ z X v s Y • v a B d y d s d d ]<br />
g<br />
Y \ q s Y d \ z a s « d Z f " $ & Y Z Z Z + $ § © T<br />
<br />
g — l $ g Œ $ T j n n n f<br />
$<br />
m f w f S f > Y a v B a } d \ \ q Y Z Z q \ } a L \ Y ¬ Y X q v Y Z { a a B d y d s Z a s a ] d \ a Z f z<br />
g<br />
a B d y d s Y _ X a a s D ´ Z s ^ a Z L \ s a v v Y ¹ a \ s Z T Ž \ Y ¬ a ] Z Y s ´ w Y a ] ] a a s z q ] Y a X ] Y a T j n n g f<br />
<br />
— f D f ` q q q T – f D q Y s d O q • s Y ¬ a O } s Y d \ D a v a } s Y d \ ² Y s « d X s S | • v Y } Y s d X \ Y } q s Y d \<br />
g<br />
d ] z X v s Y ] d y d s Y d | • X Z « Y \ ¹ f " $ & ( I I I R § < S + $ <br />
³<br />
© < 0 T g m m m g m m “ T g “ “ “ f<br />
§<br />
s « a y q ] } d a Z Y a f B d y d s d ¬ a Z q s q Z • a a <br />
d ³ 200mm/sec f<br />
À ¾ Ä 9<br />
D } s « a Z Y Z S O
Curr<strong>en</strong>t work at the Robotics group of the<br />
Universidad <strong>de</strong> Guanajuato<br />
Víctor Aya<strong>la</strong> Ramírez and Raúl E. Sánchez Yañez<br />
Universidad <strong>de</strong> Guanajuato FIMEE<br />
Tampico 912, Col. Bel<strong>la</strong>vista<br />
Sa<strong>la</strong>manca, Gto.<br />
{aya<strong>la</strong>v,sanchezy}@sa<strong>la</strong>manca.ugto.mx<br />
1 Introduction<br />
At Universidad <strong>de</strong> Guanajuato at Sa<strong>la</strong>manca, robotic techniques are <strong>de</strong>veloped<br />
in LaViRIA (Laboratory of Vision, Robotics and Artificial Intellig<strong>en</strong>ce). Our<br />
work is directed towards <strong>de</strong>veloping methods that integrate computer vision<br />
techniques and artificial intellig<strong>en</strong>ce techniques (mainly based in soft computing)<br />
in robotics applications and its implem<strong>en</strong>tations in the real robots. Main<br />
applications we are pursuing are re<strong>la</strong>ted with agricultural robotics and minirobotics.<br />
Our group is composed of three researchers and two others in formation and<br />
about fifte<strong>en</strong> stud<strong>en</strong>ts <strong>de</strong>veloping thesis for the two aca<strong>de</strong>mic programs to whom<br />
our <strong>la</strong>boratory contributes, to know: the B. Eng. program in Electronics and<br />
Communications, where it is possible to follow a Computer Engineering major;<br />
and the Master program in Electrical Engineering option Instrum<strong>en</strong>tation and<br />
Digital Systems that inclu<strong>de</strong>s a research theme on signal processing.<br />
2 Main research themes<br />
2.1 Computer vision<br />
– Texture analysis (<strong>de</strong>tection, c<strong>la</strong>ssification and segm<strong>en</strong>tation).<br />
Texture analysis is ess<strong>en</strong>tial for sc<strong>en</strong>e interpretation in outdoor images.<br />
We have <strong>de</strong>veloped works [1] on texture <strong>de</strong>tection, where the main concern<br />
is to <strong>de</strong>tect if there is some texture on an image. Regions where texture is<br />
<strong>de</strong>tected can th<strong>en</strong> be segm<strong>en</strong>ted and processed in the sc<strong>en</strong>e interpretation<br />
stage. Our approach is based on the application of fuzzy infer<strong>en</strong>ce rules to the<br />
homog<strong>en</strong>eity measures over some neighboorhood window of the images. Our<br />
method has be<strong>en</strong> validated on synthetic compo<strong>sitio</strong>ns of texture patches.<br />
Concerning texture c<strong>la</strong>ssification, we have <strong>de</strong>veloped two approaches: one<br />
that uses fuzzy infer<strong>en</strong>ce rules [2] and another that uses GLCM but interpreting<br />
them using a Bayesian framework [3]. Both methods were tested on<br />
images from the Brodatz texture database.
– Object recognition and mo<strong>de</strong>ling.<br />
Object recognition is very important in robotic vision applications as in visual<br />
servoing or visual tracking tasks. We have <strong>de</strong>veloped some methods<br />
using Hausdorff distance to compare object mo<strong>de</strong>ls [4]. Another method [5]<br />
[6] <strong>de</strong>scribes regions in an image as color patches in the CIELab color space.<br />
We have also worked in active object recognition using mutual information<br />
[7] where we take advantage of an active s<strong>en</strong>sor to assign a c<strong>la</strong>ss <strong>la</strong>bel for an<br />
object by choosing views that provi<strong>de</strong> optimal information to reduce ambiguity.<br />
This procedure is carried out using a mutual information framework<br />
and a Markovian <strong>de</strong>cision process.<br />
– Motion analysis.<br />
Motion analysis is the main compon<strong>en</strong>t of dynamic tasks in robotic vision.<br />
We work on the motion <strong>de</strong>tection problem [8] where we use a Gaussian<br />
mixture approach to <strong>de</strong>tect motion zones that could be used as target initializations<br />
in a target tracking system.<br />
Another work [9] <strong>de</strong>als with the problem of interaction of several modalities<br />
of tracking methods in or<strong>de</strong>r to optimize the visual tracking task of a mobile<br />
robot by following target characteristics and tracking performance over the<br />
temporal evolution of the sc<strong>en</strong>es acquired by a mobile robot.<br />
2.2 Soft computing<br />
– Soft computing libraries.<br />
We have <strong>de</strong>veloped object-ori<strong>en</strong>ted libraries that implem<strong>en</strong>t basic functionalities<br />
of soft computing techniques. Fuzzy logic and g<strong>en</strong>etic algorithms [10]<br />
can th<strong>en</strong> be implem<strong>en</strong>ted in our sytems easily in or<strong>de</strong>r to <strong>de</strong>velop intellig<strong>en</strong>t<br />
systems for robotics applications.<br />
– Mo<strong>de</strong>l id<strong>en</strong>tification using fuzzy systems.<br />
We have also woked on mo<strong>de</strong>ling systems from input/output numerical evid<strong>en</strong>ce<br />
[11]. This has lead us to <strong>de</strong>velop some original methods in fuzzy<br />
clustering and to implem<strong>en</strong>t some other c<strong>la</strong>ssical methods as the Fuzzy-C<br />
means method.<br />
– G<strong>en</strong>etic algorithm (GA) applications.<br />
Some work is in progress to solve a packaging problem of arbitrary shapes by<br />
using g<strong>en</strong>etic algorithms [12]. This approach is int<strong>en</strong><strong>de</strong>d to help leather and<br />
textile industries, two very important manufacturing sectors in our region.<br />
We are <strong>de</strong>veloping also methods for path p<strong>la</strong>nning in robotics that optimize<br />
trajectories for mini-robots by consi<strong>de</strong>ring uncertainty in tha actual path<br />
execution in the fitness function.<br />
2.3 Robotic applications<br />
– Mini-robotics navigation and mapping<br />
In this subject, we have worked on handling uncertainty in robot po<strong>sitio</strong>n<br />
[13] and how to implem<strong>en</strong>t in mini-robots from the Lego Mindstorms series<br />
[14]. We have also used in the past a robot simu<strong>la</strong>tor <strong>en</strong>vironm<strong>en</strong>t <strong>de</strong>veloped
at our <strong>la</strong>boratory that uses a reactive navigation strategy using fuzzy logic.<br />
In the near future, we will have an all-terrain robot that will serve us to<br />
validate our previous approaches to robot navigation and mapping.<br />
– Visual servoing and tracking<br />
A fuzzy approach to visual servoing and its optimization by means of g<strong>en</strong>etic<br />
algorithms has be<strong>en</strong> <strong>de</strong>alt by Pérez [15]. Color target tracking has be<strong>en</strong><br />
<strong>de</strong>veloped by Montecillo [5]. In its work, target has b<strong>en</strong> repres<strong>en</strong>ted by fuzzy<br />
rules that use values in the CIELab color space.<br />
– Parametric shape <strong>de</strong>tection using GA<br />
G<strong>en</strong>etic algorithms were used in a parametric object recognition problem by<br />
Garcia [16]. In this work, circle and ellipses are <strong>de</strong>tected in real-world images.<br />
Some ext<strong>en</strong>sions for this method will be applied in industrial metrology<br />
problems.<br />
– Modality control of active s<strong>en</strong>sors.<br />
We have worked in the rec<strong>en</strong>t years in the modality selection problem for<br />
active s<strong>en</strong>sors (also known as active s<strong>en</strong>sing). Our initial were directed towards<br />
path servoing problems [17] [18]. We have rec<strong>en</strong>tly addressed the active<br />
object recognition problem [19] [7].<br />
– Robot architectures<br />
Some works have <strong>de</strong>alt the s<strong>en</strong>sor/actuator interaction in a robot architecture<br />
[20] [21] [22]. Our approach is based on the concept of the intellig<strong>en</strong>t<br />
s<strong>en</strong>sor(actuator) that can be in charge of high level tasks. This <strong>en</strong>ables the<br />
robot to use low bandwidth wh<strong>en</strong> communicating with these <strong>de</strong>vices.<br />
3 Main research projects<br />
– Topological navigation in structured and semi-structured <strong>en</strong>vironm<strong>en</strong>ts.<br />
We are participants of the Fr<strong>en</strong>ch-Mexican Laboratory on Informatics (LAFMI).<br />
We are partners with the Laboratory of System Analysis and Architecture in<br />
Toulouse, France to <strong>de</strong>velop techniques for the topological navigation of mobile<br />
robots [23]. A first application of these techniques will be <strong>de</strong>mostrated<br />
on a high-cleareance agricultural vehicle <strong>de</strong>signed at FIMEE.<br />
– Fuzzy texture <strong>de</strong>tection for topological navigation.<br />
In this project, we use fuzzy approaches for texture <strong>de</strong>tection, segm<strong>en</strong>tation<br />
and c<strong>la</strong>ssification in natural <strong>en</strong>vironm<strong>en</strong>ts [24]. Main tasks inclu<strong>de</strong> road<br />
extraction and p<strong>la</strong>ce recognition.<br />
– Active perception in robotics.<br />
Active perception for outdoor robotics has be<strong>en</strong> the object of a Ecos Nord<br />
project [25]. This project has contributed mainly to fund mobility programs<br />
for researchers in the partner robotics teams during four years.<br />
Some active perception functionalities for mobile robots have be<strong>en</strong> <strong>de</strong>veloped<br />
in a CONACYT project [26]. This project has contributed with funding to<br />
buy some vision and computing processing equipm<strong>en</strong>t.
4 Conclusions and prospectives<br />
Our group has established a steady flow of human resources trained in our <strong>la</strong>boratory.<br />
We are working to set up a doctoral program and, in parallel, to build<br />
some partnerships with other programs in Mexico and abroad to have doctoral<br />
stud<strong>en</strong>ts that could help us in the <strong>de</strong>velopm<strong>en</strong>t of our <strong>la</strong>boratory. We are working<br />
towards our consolidation as a research group in robotics applications. We have<br />
already <strong>de</strong>veloped some aca<strong>de</strong>mic research and we have established some partnerships<br />
with other <strong>la</strong>boratories around the world. We need however to <strong>de</strong>velop<br />
knowledge transfert skills in or<strong>de</strong>r to impact Mexican industrial <strong>en</strong>vironm<strong>en</strong>t<br />
and to become more in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t with re<strong>la</strong>tion to funding issues by obtaining<br />
some contracts with Mexican industries.<br />
Refer<strong>en</strong>ces<br />
1. Del Moral Perea, A.: Detección <strong>de</strong> textura <strong>en</strong> img<strong>en</strong>es usando un mo<strong>de</strong>lo difuso<br />
<strong>de</strong> infer<strong>en</strong>cia. M.E.E. thesis, Universidad <strong>de</strong> Guanajuato FIMEE (2004)<br />
2. Ramírez Chiu, M.A.: Una aproximación difusa a <strong>la</strong> caracterización <strong>de</strong> propieda<strong>de</strong>s<br />
<strong>de</strong> texturas visuales. M.E.E. thesis, Universidad <strong>de</strong> Guanajuato FIMEE (2004)<br />
3. Aya<strong>la</strong>-Ramirez, V., Obara-Kepowicz, M., Sánchez-Yáñez, R.E., Jaime-Rivas, R.:<br />
Bayesian texture c<strong>la</strong>ssification method using a random sampling scheme. In: Proc.<br />
of the 2003 IEEE Int. Conf. on Systems, Man and Cybernetics, Washington, DC,<br />
IEEE Press (2003) 2065–2069<br />
4. Aya<strong>la</strong>-Ramírez, V., Parra, C., Devy, M.: Active tracking based on hausdorff matching.<br />
In: Proc. 15th Int. Conf. on Pattern Recognition (ICPR’2000). Volume 4.,<br />
Barcelona, Spain, IEEE Computer Society Press (2000) 706–709<br />
5. Montecillo Pu<strong>en</strong>te, F.J.: Sistema <strong>de</strong> seguimi<strong>en</strong>to <strong>de</strong> objetos <strong>en</strong> tiempo real mediante<br />
caracterización difusa <strong>de</strong>l color. B. Eng. thesis, Universidad <strong>de</strong> Guanajuato (2003)<br />
6. Montecillo-Pu<strong>en</strong>te, F.J., Aya<strong>la</strong>-Ramírez, V., Pérez-García, A., Sánchez-Yáñez,<br />
R.E.: Fuzzy color tracking for robotic tasks. In: Proc. of the 2003 IEEE Int.<br />
Conf. on Systems, Man and Cybernetics, Washington, DC, IEEE Press (2003)<br />
2769–2773<br />
7. Trujillo-Romero, F., Aya<strong>la</strong>-Ramírez, V., Marín-Hernán<strong>de</strong>z, A., Devy, M.: Active<br />
object recognition using mutual information. In: Proc. MICAI 2004: Advances in<br />
Artificial Intellig<strong>en</strong>ce. Volume 2972 of LNAI., Mexico City, Mexico, Springer Ver<strong>la</strong>g<br />
(2004) 672–678<br />
8. Rincón Casián, J.A.: Detección <strong>de</strong> movimi<strong>en</strong>to usando mezc<strong>la</strong>s <strong>de</strong> gaussianas (in<br />
progress). B. Eng. thesis, Universidad <strong>de</strong> Guanajuato (2004)<br />
9. Marín-Hernán<strong>de</strong>z, A., Aya<strong>la</strong>-Ramírez, V., Devy, M.: Col<strong>la</strong>borative tracking for<br />
robotic tasks. In: Proc. of the IEEE/RSJ Int. Conf. on Intellig<strong>en</strong>t Robots and<br />
Systems (IROS’2003). Volume 1., Las Vegas, NE, IEEE Press (2004) 272–277<br />
10. Pérez-García, A., Aya<strong>la</strong>-Ramírez, V., Jaime-Rivas, R.: Una librería g<strong>en</strong>érica <strong>de</strong><br />
algoritmos g<strong>en</strong>éticos para aplicación <strong>en</strong>problemas <strong>de</strong> optimización. In: Memoria<br />
5to. Congreso Mexicano <strong>de</strong> Robótica, San Luis Potosí, Mexico (2003) 141–146<br />
11. Sánchez-Yáñez, R.E., Aya<strong>la</strong>-Ramírez, V., Jaime-Rivas, R.: Fuzzy mo<strong>de</strong>ls for system<br />
id<strong>en</strong>tification. In: Proc. of the 2003 IEEE Int. Conf. on Systems, Man and<br />
Cybernetics, Washington, DC, IEEE Press (2003) 3330–3335<br />
12. Ponce Pérez, A.: Empaquetami<strong>en</strong>to <strong>de</strong> formas arbitrarias usando algoritmos<br />
g<strong>en</strong>éticos (in progress). B. Eng. thesis, Universidad <strong>de</strong> Guanajuato (2004)
13. López Padil<strong>la</strong>, R.: Tareas <strong>de</strong> navegación <strong>de</strong> un robot móvil bajo incertidumbre. B.<br />
Eng. thesis, Universidad <strong>de</strong> Guanajuato (2004)<br />
14. Martínez Labrada, E.: Estrategias <strong>de</strong> navegación y construcción <strong>de</strong> mapas usando<br />
mini-robots (in progress). B. Eng. thesis, Universidad <strong>de</strong> Guanajuato (2004)<br />
15. Pérez García, A.: Servocontrol <strong>de</strong> una cámara activa usando técnicas g<strong>en</strong>o-difusas.<br />
B. Eng. thesis, Universidad <strong>de</strong> Guanajuato (2002)<br />
16. García Capulín, C.H.: Detección <strong>de</strong> formas paramétricas <strong>en</strong> imág<strong>en</strong>es (in progress).<br />
M.e.e. thesis, Universidad <strong>de</strong> Guanajuato FIMEE (2004)<br />
17. Razo-Razo, M.A., Aya<strong>la</strong>-Ramírez, V.: Exploración coordinada <strong>de</strong> un ambi<strong>en</strong>te mediante<br />
métodos <strong>de</strong> pot<strong>en</strong>cial. In: Memoria CONIELECOMP 2003, Pueb<strong>la</strong>, Mexico,<br />
IEEE Mexico (2003) 201–205<br />
18. Trujillo Romero, F.: Control <strong>de</strong> modalida<strong>de</strong>s <strong>de</strong> una cámara activa usando funciones<br />
<strong>de</strong> utilidad. M.E.E. thesis, Universidad <strong>de</strong> Guanajuato (2002)<br />
19. Pérez-M<strong>en</strong>doza, S., Aya<strong>la</strong>-Ramirez, V., Pérez-García, A., Sánchez-Yáñez, R.E.:<br />
Visual servoing for micro-robotic p<strong>la</strong>tforms. In: Proc. 14th Int. Conf. on Electronics,<br />
Communications and Computers (CONIELECOMP’2004), Veracruz, Mexico,<br />
IEEE Computer Society Press (2004) 18–22<br />
20. Dorado Prieto, A.: Interfaz <strong>de</strong> comunicación <strong>de</strong>l sistema <strong>de</strong> instrum<strong>en</strong>tación <strong>de</strong> un<br />
robot móvil. M.E.E. thesis, Universidad <strong>de</strong> Guanajuato (2002)<br />
21. Alvarado Martínez, T.: Especificación <strong>de</strong> un actuador intelig<strong>en</strong>te para tareas<br />
robóticas. M.E.E. thesis, Universidad <strong>de</strong> Guanajuato (2003)<br />
22. Pérez M<strong>en</strong>doza, J.S.: Servocontrol visual para p<strong>la</strong>taformas mini-robóticas. B. Eng.<br />
thesis, Universidad <strong>de</strong> Guanajuato (2003)<br />
23. Aya<strong>la</strong> Ramírez, V., Devy, M.: Concepción <strong>de</strong> funciones <strong>de</strong> navegación topológica <strong>de</strong><br />
robots móviles <strong>en</strong> ambi<strong>en</strong>tes estructurados y semi-estructurados. Project fun<strong>de</strong>d by<br />
LAFMI, Universidad <strong>de</strong> Guanajuato and Laboratoire d’Analyse et d’Architecture<br />
<strong>de</strong>s Systèmes (2002-2004)<br />
24. Sánchez Yáñez, R.E.: Navegación topológica <strong>de</strong> robots utilizando análisis difuso<br />
<strong>de</strong> textura. Project fun<strong>de</strong>d by SEP-PROMEP, Universidad <strong>de</strong> Guanajuato (2003-<br />
2005)<br />
25. Jaime Rivas, R., Devy, M.: Percepción activa para robótica <strong>de</strong> exterior. Project<br />
fun<strong>de</strong>d by ANUIES (México) and Comité ECOS (France) No. M99M01, Universidad<br />
<strong>de</strong> Guanajuato and Laboratoire d’Analyse et d’Architecture <strong>de</strong>s Systèmes<br />
(1999-2003)<br />
26. Aya<strong>la</strong> Ramírez, V.: Concepción <strong>de</strong> funciones <strong>de</strong> percepción activa. Project fun<strong>de</strong>d<br />
by CONACYT I-39328A, Universidad <strong>de</strong> Guanajuato (2002)
¡ £ ¥ § © § © ! " #<br />
% & ( * , . 0 1 3 5 7 8 9 3 ; , * & > ; 9<br />
B D F H I K M N P R M T V K W X Y Z [ T R M W P T ^ N V<br />
A<br />
Z M V H P b M d Z N H b b W B W h i<br />
_<br />
k l m n p W P T P [ s M P [ ^ T u Z N v ^ T w x y z M R W<br />
j<br />
| } ~ € } ƒ ~ „ … † { ‡ {<br />
ˆ ‰ Š ‹ Œ ‰<br />
H P N V [ N T b [ R Z ^ W V N Y b N V N P [ T P ^ W V M P [ N b N V N V ’ ^ T V T R [ M – M — T — N V<br />
N ^ ˜ b Z Y W — N œ W v [ M R T — N ^ A P V [ M [ Z [ W B T R M W P T ^ — N D V [ b W ¢ V M R T w £ Y [ M R T ’<br />
—<br />
^ N R [ b P M R T h H V [ N ^ T v W b T [ W b M W ¢ W b X T Y T b [ N — N ^ T K W W b — M P T R M P — N K M N P I<br />
H<br />
M T V K W X Y Z [ T R M W P T ^ N V — N ^ M P V [ M [ Z [ W ’ N P y ^ Y T b [ M R M Y T P [ b N V M P – N V [ M § T — W b N V<br />
R<br />
b M P R M Y T ^ N V ’ V M N [ N N V [ Z — M T P [ N V — N X T N V [ b T [ b T v T © T P — W Y b M P R M Y T ^ X N P [ N N P<br />
Y<br />
ª b N T V b N ^ T R M W P T — T V R W P ^ T b W v [ M R T X – M ^ h<br />
¬ ® ¯ ° ± ² ³ ´ µ µ · ¯<br />
^ ˜ b Z Y W — N œ W v [ M R T — N ^ A B D F H [ M N P N R W X W W v © N [ M – W ^ T v ¸ V d Z N — T — N<br />
H<br />
W ^ Z R M W P N V P W – N — W V T V T Y b W v ^ N X T V — N b W v [ M R T N P ª b N T V R W X W Y N b R N Y R M P<br />
V<br />
R W P [ b W ^ — N b W v W [ V X – M ^ N V w R W P R N Y R M P — N b W v W [ V T — T Y [ T [ M – W V w ’ — M V N º W<br />
’<br />
R W P [ b W ^ — N V M V [ N X T V X Z ^ [ M I b W v W [ h<br />
’<br />
^ § b Z Y W V N R W X Y W P N — N [ b N V M P – N V [ M § T — W b N V Y b M P R M Y T ^ N V ’ V M N [ N N V [ Z — M T P I<br />
H<br />
N V — N X T N V [ b T T V W R M T — W V w d Z M N P N V — N V T b b W ^ ^ T P T R [ Z T ^ X N P [ N V Z [ b T v T © W — N<br />
[<br />
b T — W v T © W ^ T V Z Y N b – M V M P — N ^ W V Y b M X N b W V h H ^ § b Z Y W R W X W [ T ^ V N R W P ¢ W b X<br />
§<br />
N R M N P [ N X N P [ N R W P ^ T M P R W b Y W b T R M P — N — W V P Z N – W V X M N X v b W V T ^ T Y ^ T P [ T<br />
b<br />
N M P – N V [ M § T — W b N V — N ^ T K W W b — M P T R M P — N K M N P R M T V K W X Y Z [ T R M W P T ^ N V — N ^<br />
—<br />
P V [ M [ Z [ W h M<br />
T V T R [ M – M — T — N V — N ^ W V X M N X v b W V — N ^ § b Z Y W V N T b [ M R Z ^ T P T ^ b N — N — W b — N<br />
_<br />
W V N © N V w ^ T M P – N V [ M § T R M P ’ w ^ T — W R N P R M T ’ ^ T — M ¢ Z V M P — N ^ R W P W R M X M N P [ W w<br />
—<br />
^ T V R Z T ^ N V V N — N V R b M v N P T R W P [ M P Z T R M P h<br />
¼ <br />
® ¯ ½ ¾ ¿ ° À Á µ · ¯<br />
T V T R [ M – M — T — N V — N ^ § b Z Y W — N b W v W [ M R M V [ T V — N ^ T K W W b — M P T R M P — N K M N P R M T V<br />
_<br />
W X Y Z [ T R M W P T ^ N V — N ^ A B D F H V N R N P [ b T P N V N P R M T ^ X N P [ N N P N ^ — N V T b b W ^ ^ W<br />
K<br />
N M P – N V [ M § T R M P v ª V M R T ’ T Y ^ M R T — T N P [ N X T V R W X W Y N b R N Y R M P b W v [ M R T w<br />
—<br />
b d Z M [ N R [ Z b T V — N R W P [ b W ^ w [ y R P M R T V — N T Y b N P — M s T © N ’ R W W b — M P T R M P X Z ^ [ M I<br />
T<br />
W v W [ h b<br />
^ § b Z Y W v Z V R T Y b W Y W P N b Y b W ’ N R [ W V d Z N Y N b X M [ T P ^ T M P [ N § b T R M P — N<br />
H<br />
V [ Z — M T P [ N V — N ^ A B D F H ’ N z [ N b P W V T V Z V T R [ M – M — T — N V — N M P – N V [ M § T R M P h<br />
N<br />
W V V W P ^ T V ª b N T V N P ^ T V d Z N V N — N V T b b W ^ ^ T P Y b M P R M Y T ^ X N P [ N N V [ W V Y b W ’ N R [ W V Ç<br />
Æ<br />
[ y R P M R T V — N T Y b N P — M s T © N T Z [ W X ª [ M R W ’ b W v [ M R T R W ^ N R [ M – T h
P N V [ T ª b N T V N v Z V R T Y b W Y W P N b X y [ W — W V d Z N Y N b X M [ T P T Z P b W v W [ — N I<br />
H<br />
T b b W ^ ^ T b W T © Z V [ T b V Z V , T v M ^ M — T — N V N P M P [ N b T R R M P R W P V Z X N — M W T X v M N P [ N w<br />
V<br />
W P X P M X T W P Z ^ T M P [ N b – N P R M P — N ^ Y b W § b T X T — W b h<br />
R<br />
W V [ b T v T © W V — N V T b b W ^ ^ T — W V Y W b ^ W V M P – N V [ M § T — W b N V d Z N [ b T v T © T P N P N V [ T<br />
_<br />
b N T V N R N P [ b T P N P N ^ — N V T b b W ^ ^ W — N [ y R P M R T V d Z N Y N b X M [ T P T ^ V M V [ N X T — N<br />
ª<br />
W P [ b W ^ — N Z P b W v W [ T Y b N P — N b T X T Y N T b ^ T V N P [ b T — T V — N V Z V V N P V W b N V R W P<br />
R<br />
T V V T ^ M — T V — N V Z V N ¢ N R [ W b N V Y T b T Y b W — Z R M b R W X Y W b [ T X M N P [ W V R W X Y ^ N © W V w<br />
^<br />
W X W ^ T X T P M Y Z ^ T R M P - i . W ^ T N – T V M P — N W v V [ ª R Z ^ W V - m . h<br />
R<br />
W V M P – N V [ M § T — W b N V — N N V [ T ª b N T , T P T Y ^ M R T — W [ T X v M y P — M – N b V T V [ y R P M R T V<br />
_<br />
N T Y b N P — M s T © N T Z [ W X ª [ M R W N P ^ T P T – N § T R M P — N b W v W [ V X – M ^ N V v T V T — T N P<br />
—<br />
T b W v [ M R T R W ^ N R [ M – T v Z V R T — M V N º T b V M V [ N X T V R W X Y Z N V [ W V — N X ¸ ^ [ M Y ^ N V<br />
_<br />
W v W [ V R T Y T R N V — N b N V W ^ – N b R W P © Z P [ T X N P [ N Z P Y b W v ^ N X T h H P N ^ ^ T R W P – N b § N P<br />
b<br />
M V R M Y ^ M P T V [ T ^ N V R W X W ^ T M P [ N ^ M § N P R M T T b [ M C R M T ^ — M V [ b M v Z M — T ’ ^ T b W v [ M R T<br />
—<br />
– M ^ h X<br />
P V M V [ N X T X Z ^ [ M I b W v W [ N V [ ª R W X Y Z N V [ W b N § Z ^ T b X N P [ N Y W b – T b M W V b W v W [ V<br />
E<br />
W X W § y P N W V ’ — N v T © W R W V [ W h H V [ W V V M V [ N X T V N V [ ª P W b M N P [ T — W V T ^ T b N V W ^ Z I<br />
,<br />
M P — N Y b W v ^ N X T V Y T b T R Z ’ T V W ^ Z R M P Z P ¸ P M R W b W v W [ P W N V V Z C R M N P [ N W<br />
R<br />
N V Z ^ [ T X Z ’ R W V [ W V W I N P [ y b X M P W V — N — M V N º W ’ — N [ M N X Y W Y W b N © N X Y ^ W I w<br />
b<br />
W X W Y Z N — N P V N b N ^ [ b T P V Y W b [ N — N W v © N [ W V – W ^ Z X M P W V W V w ^ T X T P M Y Z ^ T R M P<br />
R<br />
N X T [ N b M T ^ Y N ^ M § b W V W w ^ T N z Y ^ W b T R M P ’ – M § M ^ T P R M T — N [ N b b N P W h<br />
—<br />
W V Y b W ’ N R [ W V — N b W v [ M R T R W ^ N R [ M – T — N ^ ^ T v W b T [ W b M W V W P — W V Ç<br />
_<br />
N P N b T R M P ’ X T P [ N P M X M N P [ W — N ¢ W b X T R M W P N V N P b W v [ M R T R W ^ N R [ M – T<br />
˜<br />
M V N º W — N X N R T P M V X W V T Z [ W I b N R W P C § Z b T v ^ N V<br />
Æ<br />
^ Y b M X N b Y b W ’ N R [ W V N M P [ N b N V T Y W b ^ T V ¢ W b X T R M W P N V — N b W v W [ V V M X Z I<br />
H<br />
T — W V h _ T V ¢ W b X T R M W P N V V W P N V [ b Z R [ Z b T V N V Y T R M T ^ N V [ Y M R T X N P [ N ^ P N T ^ N V W<br />
^<br />
W ^ § W P T ^ N V R W P V [ M [ Z M — T V Y W b Z P R W P © Z P [ W — N b W v W [ V N P — W P — N R T — T Z P W<br />
Y<br />
N Y b N V N P [ T Z P Y Z P [ W W – y b [ M R N — N ^ T N V [ b Z R [ Z b T N P R Z N V [ M P w ’ ^ T V ^ P N T V<br />
b<br />
P [ b N ^ W V – y b [ M R N V b N Y b N V N P [ T P ^ W V R W P [ W b P W V — N ^ T N V [ b Z R [ Z b T h<br />
N<br />
^ V N § Z P — W Y b W ’ N R [ W V N M P [ N b N V T Y W b N ^ — M V N º W ’ N ^ R W P [ b W ^ — N Y b W I<br />
H<br />
W [ M Y W V ¢ V M R W V — N V M V [ N X T V R W P R T Y T R M — T — N V — N T Z [ W I b N R W P C § Z b T R M P w V M V I<br />
[<br />
N X T V X Z ^ [ M I b W v W [ R T Y T R N V — N X W — M C R T b ’ — N b N W b § T P M s T b V Z X W b ¢ W ^ W § T<br />
[<br />
T b T T — T Y [ T b V N T ^ T X v M N P [ N N P N ^ d Z N N V [ ª P M P X N b V W V w V M P M P [ N b – N P R M P<br />
Y<br />
Z X T P T h ,<br />
T R W W b — M P T R M P — N X W – M X M N P [ W V N V Z P T V Y N R [ W R ^ T – N — N ^ W V V M V [ N X T V<br />
_<br />
Z ^ [ M I b W v W [ h _ W V M P – N V [ M § T — W b N V — N N V [ T ª b N T V N M P [ N b N V T P N P N ^ — N V T b b W ^ ^ W<br />
X<br />
N X y [ W — W V — N V R N P [ b T ^ M s T — W V — N R W W b — M P T R M P — N V M V [ N X T V X Z ^ [ M I b W v W [ - G . h<br />
—<br />
^ M P [ N b y V Y W b N z Y ^ W b T b N V [ W V X y [ W — W V b T — M R T N P V Z Y W [ N P R M T ^ Y T b T R W W b I<br />
H<br />
M P T b V M V [ N X T V X Z ^ [ M I b W v W [ N P T X v M N P [ N V Y T b R M T ^ X N P [ N — N V R W P W R M — W V ’ N P<br />
—<br />
P [ b N ^ T V T R [ M – M — T — N V — N ^ W V M P – N V [ M § T — W b N V d Z N Y T b [ M R M Y T P N P N ^ ˜ b Z Y W — N<br />
H<br />
W v [ M R T w ^ T — W R N P R M T ’ ^ T — M ¢ Z V M P W R Z Y T P [ T X v M y P Z P ^ Z § T b M X Y W b [ T P [ N h<br />
œ<br />
¡ £ ¡ ¦ ¨ " $ & ' ( $ &<br />
– M V M P - k . ’ v T V T — T N P X ¸ ^ [ M Y ^ N V V N P V W b N V - 4 . h<br />
¡ ¡ 7 & 8 9 $ < & ? $ A <br />
T X v M N P [ N V R W P [ N P M N P — W W v V [ ª R Z ^ W V h<br />
H I ² µ ¾ ¯ µ Á J I M ´ ¿ · ¯
P ^ W d Z N V N b N C N b N T ^ T Y W ’ W T ^ W V Y W V § b T — W V N P R M N P R M T V R W X Y Z [ T I<br />
H<br />
M W P T ^ N V d Z N W ¢ b N R N T ^ A B D F H w ^ W V M P – N V [ M § T — W b N V — N ^ § b Z Y W N V [ ª P T R T b § W<br />
R<br />
N ^ T M X Y T b [ M R M P — N X T [ N b M T V R W X W ¡ £ ¥ § © £ © ¥ ! # § & £ )<br />
—<br />
* , & ! ¥ © 2 3 ¥ © ’ 5 § © & 7 2 & £ ¥ © 9 < ¥ & A & D & 7 h F [ b T V X T [ N b M T V<br />
<br />
Z N [ T X v M y P V N M X Y T b [ N P N P ^ W V Y W V § b T — W V b N ^ T R M W P T — T V R W P ^ T b W v [ M R T<br />
d<br />
W P ¡ £ ¥ & § £ F 2 £ © ) J © 2 # ¥ © § ¡ £ ¥ § © £ 7 P & £ © © < R 7<br />
V<br />
& S & £ < , & ’ ! £ 3 7 7 9 < ¥ & ¡ 2 3 < & £ & 7 h H V [ W V R Z b V W V V W P ¢ T R Z ^ [ T I<br />
<br />
M – W V ’ V N M X Y T b [ N P — Z b T P [ N N ^ Y b M X N b T º W — N N V [ Z — M W V — N ^ T X T N V [ b T W<br />
[<br />
N ^ — W R [ W b T — W h<br />
—<br />
W V M P – N V [ M § T — W b N V — N ^ § b Z Y W V N M P [ N b N V T P [ T X v M y P Y W b ^ T W b § T P M s T R M P<br />
_<br />
N N – N P [ W V d Z N R W P [ b M v Z ’ T P T ^ T — M ¢ Z V M P — N ^ R W P W R M X M N P [ W h _ W V R W P R Z b V W V<br />
—<br />
W v [ M R W V w Y W b N © N X Y ^ W w , T P Y b W v T — W V N b Z P T N z R N ^ N P [ N – T Y T b T — M ¢ Z P — M b<br />
b<br />
^ [ b T v T © W b N T ^ M s T — W N P ^ T V T Z ^ T V ’ N P ^ W V ^ T v W b T [ W b M W V Y W b M P – N V [ M § T — W b N V<br />
N<br />
P [ N b N V T — W V N P ª b N T V — N ^ R W P W R M X M N P [ W [ T P — M – N b V T V R W X W ^ T V X T [ N X ª [ M R T V w<br />
M<br />
T ¢ V M R T w ^ T N ^ N R [ b P M R T ’ ^ T R W X Y Z [ T R M P h D [ b T – y V — N N V [ W V N – N P [ W V N V<br />
^<br />
W V M v ^ N T R R N — N b T Z P § b T P Y ¸ v ^ M R W M P [ N § b T — W Y W b P M º W V ’ © – N P N V d Z N<br />
Y<br />
N V N P [ M b ª d Z M s ª V T [ b T — W Y W b N V [ T X T P N b T — N Z T Y b N P — N b © Z § T P — W [ ’ X ª V<br />
V<br />
T b — N w Y W b ^ T R M N P R M T h<br />
[<br />
P T § W V [ W — N k n n m w N ^ ˜ b Z Y W — N œ W v [ M R T R W I W b § T P M s T R W P ^ T x T N V [ b T<br />
H<br />
P A P [ N ^ M § N P R M T D b [ M C R M T ^ — N ^ T E P M – N b V M — T — \ N b T R b Z s T P T N ^ 5 § 2 & § P © § £ & ©<br />
N<br />
& ^ £ © & © © ¥ 7 S 2 # © § & 7 - a . h Æ M N R M V M N [ N N d Z M Y W V Y b W – N P M N P [ N V — N<br />
]<br />
W R N M P V [ M [ Z R M W P N V Z P M – N b V M [ T b M T V — N ^ Y T V R W P ¢ b W P [ T b ª P T X M V [ W V T X N P [ N ^ T V<br />
—<br />
y R P M R T V ’ ^ W V N P ¢ W d Z N V Y b W Y Z N V [ W V Y T b T Y b W § b T X T b b W v W [ V d Z N — N v N P<br />
[<br />
M X Y M T b Z P T , T v M [ T R M P V M X Z ^ T — T h<br />
^<br />
P [ b N ^ T V Y N b V Y N R [ M – T V — N ^ § b Z Y W — N V [ T R T P ^ T M P R W b Y W b T R M P — N Z P X T I<br />
H<br />
W b P ¸ X N b W — N N V [ Z — M T P [ N V T ^ W V Y b W ’ N R [ W V T R T b § W — N ^ W V M P – N V [ M § T — W b N V<br />
’<br />
b M P R M Y T ^ N V h Y<br />
T M P [ N b T R R M P R W P W [ b W V § b Z Y W V — N b W v W [ M R M V [ T V [ b T v T © T P — W N P x y z M R W<br />
_<br />
§ Z b T [ T X v M y P N P [ b N P Z N V [ b T V Y N b V Y N R [ M – T V h B Z N V [ b W § b Z Y W N V [ ª — M V Y Z N V [ W<br />
C<br />
Y T b [ M R M Y T b ’ T R W ^ T v W b T b N P ^ T R W P V [ M [ Z R M P — N b N — N V [ N X ª [ M R T V ’ — N<br />
T<br />
z R N ^ N P R M T N P N ^ ª b N T — N b W v [ M R T w ’ T V Z X T b V N N P § N P N b T ^ T [ W — W N V ¢ Z N b s W<br />
N<br />
P R T X M P T — W T R b N T b ¢ W b W V — N M P [ N b R T X v M W — N M — N T V N P [ b N M P – N V [ M § T — W b N V<br />
N<br />
h f Z N P [ N V F h w B N ^ V W P œ h K h g i h l l i _ N T b P M P § Æ N z [ b W Z V x T P M Y Z ^ T [ M W P<br />
i<br />
[ b T [ N § M N V ¢ W b x Z ^ [ M C P § N b N — œ W v W [ k T P — V E V M P § [ , N H – W ^ Z [ M W P j [ b T [ I<br />
j<br />
§ ’ h ] n £ & S & § £ £ < \ W ^ h G i g i I G i w Y Y h k k G I k G j h q ^ Z r N b D R T — N X M R<br />
N<br />
Z v h u<br />
h _ T b T œ T X b N s s h H h g k n n m i œ W v W [ B T – M § T [ M W P T P — x T Y K W P V [ b Z R [ M W P<br />
k<br />
V M P § x T R , M P N _ N T b P M P § T P — u b W v T v M ^ M V [ M R x W — N ^ V h p N V M V — N x T N V [ b T<br />
E<br />
P K M N P R M T V K W X Y Z [ T R M W P T ^ N V w A B D F H h<br />
N<br />
h x Z º W s x N ^ y P — N s D h w Æ b W § W Z ^ D h w \ M N ^ u h I H h g k n n m i K W ^ ^ N R [ M – N t N I<br />
G<br />
, T – M W b T V D V V N X v ^ M P § W ¢ j Y T [ M T ^ u Z s s ^ N V h ] ¡ J ! ¡ x y y { | ! } £ & 7 £<br />
b c ¾ ± ¿ d ¾ µ ° ½ Á ¿<br />
b W v W [ M R M V [ T V X N z M R T P W V ’ — N ^ T b N § M P h<br />
e ¾ M ¾ ± ¾ ¯ µ Á ¿
& < & & w Y Y h h n i I h i n w x W P b W ’ œ h N [ T ^ h g N — V i h _ N R [ Z b N<br />
!<br />
W [ N V M P D b [ M C R M T ^ A P [ N ^ ^ M § N P R N w j Y b M P § N b I \ N b ^ T § h<br />
B<br />
h j T ^ M X D h w f Z N P [ N V F h w x Z º W s D h g k n n m i Æ N – N ^ W Y X N P [ W ¢ _ W R T ^<br />
m<br />
N b R N Y [ M W P I t T V N — t N , T – M W b V ¢ W b T œ W v W [ M R j W R R N b u ^ T ’ N b h u W b Y Z v ^ M I<br />
u<br />
T b V N N P 5 & & < 7 ¡ n & £ & ) ! 2 & J ¡ & & & ! )<br />
R<br />
& < & & ¥ § © ! ] ! h _ N R [ Z b N B W [ N V M P D b [ M C R M T ^ A P [ N ^ ^ M I<br />
<br />
N P R N w j Y b M P § N b I \ N b ^ T § h<br />
§<br />
h œ T W œ h u h B h w f Z N P [ N V F h g i h h l i k M N b T b R , M R T ^ _ N T b P M P § W ¢ B T – M § T [ M W P I<br />
4<br />
^ t N , T – M W b V M P T P D Z [ W P W X W Z V œ W v W [ Z V M P § T u b N — M R [ M – N j Y T b V N<br />
T<br />
M V [ b M v Z [ N — x N X W b ’ h ] n & S & < \ W ^ h G i g i I G i w Y Y h l j I i i G h<br />
Æ<br />
^ Z r N b D R T — N X M R u Z v h<br />
q<br />
h u b M X N b p W b P N W x N z M R T P W — N œ W v W [ V _ M X Y M T — W b N V Ç<br />
a<br />
n # | & # 2 ^ & ) & )
Cómputo móvil<br />
José Antonio García Macías<br />
Oscar Iván Lepe Aldama<br />
Ro<strong>la</strong>ndo M<strong>en</strong>chaca Mén<strong>de</strong>z<br />
(Editores)
Introducción<br />
Las computadoras fijas han <strong>de</strong>jado <strong>de</strong> ser el medio prepon<strong>de</strong>rante para procesar y<br />
comunicar información. En <strong>la</strong> actualidad son comunes los dispositivos móviles tales<br />
como organizadores personales, computadoras portátiles (<strong>la</strong>ptops, tablets), teléfonos<br />
celu<strong>la</strong>res intelig<strong>en</strong>tes y otros nuevos dispositivos que aparec<strong>en</strong> día con día. Nos <strong>en</strong>contramos<br />
con dispositivos que se comunican a través <strong>de</strong> re<strong>de</strong>s inalámbricas y que<br />
permit<strong>en</strong> <strong>la</strong> movilidad <strong>de</strong> sus usuarios. Esta movilidad ti<strong>en</strong>e gran impacto no so<strong>la</strong>m<strong>en</strong>te<br />
<strong>en</strong> <strong>la</strong>s re<strong>de</strong>s y sus protocolos, sino también <strong>en</strong> <strong>la</strong>s aplicaciones, <strong>en</strong> <strong>la</strong> formas <strong>de</strong><br />
co<strong>la</strong>boración utilizando <strong>la</strong> tecnología, <strong>en</strong> <strong>la</strong> interacción con los dispositivos, etc. El<br />
cómputo móvil es <strong>la</strong> rama <strong>de</strong> <strong>la</strong>s ci<strong>en</strong>cias computacionales que investiga <strong>la</strong>s arquitecturas,<br />
organizaciones, algoritmos, estructuras <strong>de</strong> datos, protocolos <strong>de</strong> comunicaciones<br />
y técnicas <strong>de</strong> construcción <strong>de</strong> sistemas (ing<strong>en</strong>iería <strong>de</strong> software) que eficazm<strong>en</strong>te permitan<br />
sacar el mejor provecho <strong>de</strong> los dispositivos móviles y <strong>la</strong>s re<strong>de</strong>s inalámbricas<br />
para ofrecer don<strong>de</strong> y cuando sea servicios <strong>de</strong> información particu<strong>la</strong>rizados a <strong>la</strong>s condiciones<br />
<strong>de</strong>l <strong>en</strong>torno <strong>de</strong>l usuario. Y <strong>en</strong> este s<strong>en</strong>tido el cómputo móvil es hoy todavía<br />
un ámbito emerg<strong>en</strong>te, que pres<strong>en</strong>ta un número importante <strong>de</strong> retos ci<strong>en</strong>tíficos y tecnológicos.<br />
Algunos <strong>de</strong> los tópicos relevantes que se tratan <strong>en</strong> el taller son: cómputo ubicuo,<br />
mo<strong>de</strong><strong>la</strong>do <strong>de</strong> usuarios y personalización, cómputo consci<strong>en</strong>te <strong>de</strong>l contexto, funcionami<strong>en</strong>to<br />
<strong>de</strong>sconectado y débilm<strong>en</strong>te conectado, ag<strong>en</strong>tes, re<strong>de</strong>s ad-hoc, microarquitecturas<br />
para ahorro <strong>de</strong> <strong>en</strong>ergía, por nombrar solo unos cuantos. El propósito <strong>de</strong>l taller es<br />
reunir a investigadores, estudiantes y profesionales <strong>de</strong>l cómputo móvil, y proveer un<br />
foro para que miembros <strong>de</strong> <strong>la</strong>s comunida<strong>de</strong>s académica e industrial discutan y pres<strong>en</strong>t<strong>en</strong><br />
trabajos o propuestas <strong>de</strong> trabajo sobre tópicos refer<strong>en</strong>tes al cómputo móvil, re<strong>de</strong>s<br />
inalámbricas y temas re<strong>la</strong>cionados. En principio, el alcance <strong>de</strong>l taller es <strong>de</strong> carácter<br />
nacional, pero son bi<strong>en</strong>v<strong>en</strong>idas <strong>la</strong>s contribuciones que se puedan recibir <strong>de</strong>l extranjero.<br />
Este taller es una continuación <strong>de</strong> los esfuerzos que iniciaron <strong>en</strong> el primer taller, el<br />
cual se llevó a cabo durante el ENC 2003 <strong>en</strong> T<strong>la</strong>xca<strong>la</strong>. En este segundo taller se recibieron<br />
15 trabajos, <strong>de</strong> los cuales tras un proceso <strong>de</strong> revisión se han aceptado 10 para<br />
su pres<strong>en</strong>tación.
Comité Ci<strong>en</strong>tífico<br />
Copresid<strong>en</strong>tes:<br />
Oscar Iván Lepe Aldama, CICESE, Ens<strong>en</strong>ada, México<br />
J. Antonio García Macías, CICESE, Ens<strong>en</strong>ada, México<br />
Ro<strong>la</strong>ndo M<strong>en</strong>chaca Mén<strong>de</strong>z, CIC-IPN, D.F., México<br />
Jesús Fave<strong>la</strong>, CICESE, Ens<strong>en</strong>ada, México<br />
Gabriel González, CENIDET, Cuernavaca, México<br />
Guillermo Licea, UABC, Tijuana, México<br />
Bárbaro J. Ferro Castro, ITESM-CCM, D.F., México<br />
Victor Sosa - CENIDET, Cuernavaca, México<br />
Matías Alvarado M<strong>en</strong>tado, IMP, D.F., México<br />
Felipe Ro<strong>la</strong>ndo M<strong>en</strong>chaca García, CENAC-IPN, D.F., México<br />
Luis Enrique Vizcarra Corral, UABC, Ens<strong>en</strong>ada, México<br />
Roberto Gómez Cárd<strong>en</strong>as, ITESM-CEM, Edo. <strong>de</strong> México, México<br />
Luis Vil<strong>la</strong>señor González, CICESE, Ens<strong>en</strong>ada, México
Service Discovery in Mobile Ad-hoc Networks by Ext<strong>en</strong>ding<br />
the AODV Protocol<br />
Dante Arias-Torres, José Antonio García-Macias<br />
Departam<strong>en</strong>to <strong>de</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong><br />
C<strong>en</strong>tro <strong>de</strong> Investigación Ci<strong>en</strong>tífica y Educación Superior <strong>de</strong> Ens<strong>en</strong>ada, CICESE.<br />
e-mail : {darias, jagm}@cicese.mx<br />
Km. 107 Carretera Tijuana – Ens<strong>en</strong>ada, CP 22860, Ens<strong>en</strong>ada, B.C. México.<br />
Abstract: In rec<strong>en</strong>t years, mobile <strong>de</strong>vices have become increasingly popu<strong>la</strong>r;<br />
also, wireless communication technologies such as WiFi and Bluetooth have<br />
achieved commercial success. These facts have ma<strong>de</strong> possible the creation of<br />
networks with mobility support, such as mobile ad-hoc networks (MANETs). In<br />
this field, there are still several chall<strong>en</strong>ges that need to be overcome; one of these<br />
is automatic service discovery. Existing solutions such as Jini, SLP, and others<br />
can not be applied to MANETs, mainly due to the frequ<strong>en</strong>t motion of no<strong>de</strong>s. In<br />
this paper we propose a service discovery architecture based on ext<strong>en</strong>sion to the<br />
AODV routing protocol that takes advantage of the route discovery mechanisms<br />
to also perform service discovery. 1<br />
Resum<strong>en</strong>: En los últimos años, los dispositivos móviles se han popu<strong>la</strong>rizado, así<br />
mismo, <strong>la</strong>s tecnologías <strong>de</strong> comunicación inalámbricas como WiFi y Bluetooth han<br />
logrado éxito comercial. Estos acontecimi<strong>en</strong>tos han hecho posible <strong>la</strong> creación <strong>de</strong><br />
re<strong>de</strong>s con soporte a <strong>la</strong> movilidad, como <strong>la</strong>s re<strong>de</strong>s ad hoc móviles (MANETs). En<br />
este campo, aun exist<strong>en</strong> muchos retos que ti<strong>en</strong><strong>en</strong> que ser superados; uno <strong>de</strong> estos<br />
es el <strong>de</strong>scubrimi<strong>en</strong>to automático <strong>de</strong> servicios. Soluciones exist<strong>en</strong>tes tales como<br />
Jini, SLP, y otras no pued<strong>en</strong> ser aplicadas a <strong>la</strong>s MANETs, principalm<strong>en</strong>te <strong>de</strong>bido<br />
al frecu<strong>en</strong>te movimi<strong>en</strong>to <strong>de</strong> los nodos. En este artículo se propone una<br />
arquitectura para el <strong>de</strong>scubrimi<strong>en</strong>to <strong>de</strong> servicios basada <strong>en</strong> <strong>la</strong> ext<strong>en</strong>sión <strong>de</strong>l<br />
protocolo <strong>de</strong> <strong>en</strong>rutami<strong>en</strong>to AODV que toma v<strong>en</strong>taja <strong>de</strong> los mecanismos <strong>de</strong><br />
<strong>de</strong>scubrimi<strong>en</strong>to <strong>de</strong> rutas <strong>de</strong> este protocolo para realizar el <strong>de</strong>scubrimi<strong>en</strong>to <strong>de</strong><br />
servicios.<br />
Keywords: Mobile Ad-hoc Networks, Service Discovery, AODV.<br />
1. Introduction.<br />
The technological revolution of rec<strong>en</strong>t years <strong>en</strong>compasses a radical change in society;<br />
we are in the tran<strong>sitio</strong>n from the personal computer era (one <strong>de</strong>vice per person) to the<br />
era of ubiquitous computing where people will use, at the same time and sometimes<br />
1 We wish to acknowledge the financial support provi<strong>de</strong>d by the Mexican Sci<strong>en</strong>ce and<br />
Technology Council (CONACyT).
without knowing it, many digital p<strong>la</strong>tforms, anywhere, anytime [16]. In such an<br />
<strong>en</strong>vironm<strong>en</strong>t, interactions betwe<strong>en</strong> <strong>de</strong>vices will be carried out spontaneously and<br />
transpar<strong>en</strong>tly, being very common the formation of mobile ad-hoc networks<br />
(MANETs) [2] with these <strong>de</strong>vices. In these sc<strong>en</strong>arios, the resources (shared or not) can<br />
be repres<strong>en</strong>ted as services, which can be offered by <strong>de</strong>vices (such as printers, s<strong>en</strong>sors,<br />
personal computers, etc.) or by specialized software [10]. The pres<strong>en</strong>ce of ad-hoc<br />
networks betwe<strong>en</strong> <strong>de</strong>vices and the repres<strong>en</strong>tation of resources as services does not<br />
suffice to have an ubiquitous computing <strong>en</strong>vironm<strong>en</strong>t; it is also necessary to have a<br />
mechanism that allows discovering avai<strong>la</strong>ble resources. The problem of service<br />
discovery has be<strong>en</strong> studied ext<strong>en</strong>sively, and there are existing solutions such as Jini<br />
[12], SLP [8], UPnP [6], etc. These mechanisms have be<strong>en</strong> <strong>de</strong>veloped for fixed<br />
networks with pre-established infrastructure, thus, they can not be applied to networks<br />
with limited resources, where no<strong>de</strong>s move frequ<strong>en</strong>tly and where there is not a fixed<br />
computing infrastructure avai<strong>la</strong>ble (e.g., ad-hoc networks) [1]. For this reason, the<br />
interest of provi<strong>de</strong> solutions to service discovery in this networks have increased, and<br />
there are existing solutions like NOM [4], Konark [10], etc. In this paper we pres<strong>en</strong>t a<br />
solution that ext<strong>en</strong>ds a routing protocol for mobile ad-hoc networks (i.e., the AODV<br />
protocol) in such way that it also performs service discovery. This docum<strong>en</strong>t is<br />
organized as follows: section 2 <strong>de</strong>scribes the AODV protocol, focusing on unicast<br />
routing; section 3 <strong>de</strong>scribes service discovery by ext<strong>en</strong>ding AODV, section 4 <strong>de</strong>scribes<br />
a service discovery architecture that uses the mechanism proposed in section 3, while<br />
section 5 pres<strong>en</strong>ts future work and conclusions.<br />
2. AODV.<br />
Ad-hoc On Demand Vector (AODV) routing was <strong>de</strong>signed specifically to be used in<br />
mobile ad-hoc networks. This protocol is categorized as an on-<strong>de</strong>mand routing<br />
protocol, which means that routes betwe<strong>en</strong> no<strong>de</strong>s are constructed only wh<strong>en</strong> they are<br />
required by the no<strong>de</strong>s. These routes are maintained as long as required. To <strong>en</strong>sure the<br />
validity of routes, AODV uses sequ<strong>en</strong>ce numbers, much in the same way as DSDV<br />
[14]. Additionally, it is a cycle-free, autonomous protocol, which can scale to a high<br />
number of no<strong>de</strong>s [15].<br />
TypeJRGDUReservedHopCount<br />
RREQID<br />
DestinationIPAddress<br />
DestinationSequ<strong>en</strong>ceNumber<br />
OriginatorIPAddress<br />
OriginatorSequ<strong>en</strong>ceNumber<br />
Fig.1 Format of an RREQ message.<br />
As in all on-<strong>de</strong>mand protocols, routes in AODV are discovered by a request/respond<br />
process. Each time a route is required betwe<strong>en</strong> two no<strong>de</strong>s, the requesting no<strong>de</strong> s<strong>en</strong>ds a<br />
route-request (RREQ) message through the network. No<strong>de</strong>s receiving this RREQ<br />
update their information about the requesting no<strong>de</strong> and set pointers in their routing
tables towards the no<strong>de</strong> from which they received the first copy of RREQ; this reverse<br />
route is set to s<strong>en</strong>d back a route-reply (RREP) message, from the <strong>de</strong>stination no<strong>de</strong> (or<br />
from an intermediary no<strong>de</strong> that knows a route to the <strong>de</strong>stination). The format of RREQ<br />
messages is shown in Figure 1. For more <strong>de</strong>tailed information refer to RFC 3561[13].<br />
TypeRAReservedPrefixSzHopCount<br />
DestinationIPaddress<br />
DestinationSequ<strong>en</strong>ceNumber<br />
OriginatorIPaddress<br />
LifeTime<br />
Fig.2 Format of an RREP message.<br />
A no<strong>de</strong> receiving a RREQ message can transmit (by unicast) a route reply message<br />
(RREP) to the requesting no<strong>de</strong> if: it is the <strong>de</strong>stination no<strong>de</strong>, or if it has a valid route to<br />
the <strong>de</strong>stination no<strong>de</strong> (the sequ<strong>en</strong>ce number is greater or equal to the one contained in<br />
the RREQ message). Otherwise, the no<strong>de</strong> retransmits the RREQ message. All no<strong>de</strong>s<br />
keep track of the RREQs they have processed. If the same RREQ is received again, it is<br />
th<strong>en</strong> discar<strong>de</strong>d. RREP messages have the format shown in Figure 2. For more <strong>de</strong>tailed<br />
information refer to RFC 3561 [13]. As an RREP is propagated back to the requesting<br />
no<strong>de</strong>, all no<strong>de</strong>s along the way set pointers to the <strong>de</strong>stination no<strong>de</strong> (a forward route is set<br />
to s<strong>en</strong>d packets from the requesting to the <strong>de</strong>stination no<strong>de</strong>). In the route discovery<br />
process, pointers that are set but are not in the forward route, are eliminated. Once the<br />
requesting no<strong>de</strong> receives the RREP, it can s<strong>en</strong>d packets to the <strong>de</strong>stination no<strong>de</strong> using<br />
the forward route set by this message. Later, if the requesting no<strong>de</strong> receives an RREP<br />
with a greater sequ<strong>en</strong>ce number or an RREP with the same sequ<strong>en</strong>ce number but with a<br />
lower hop count, it updates its routing information to the <strong>de</strong>stination no<strong>de</strong> and starts<br />
using that route.<br />
3. Service Discovery with AODV.<br />
To achieve service discovery, we take and ext<strong>en</strong>d the i<strong>de</strong>as proposed by Charles<br />
Perkins and Rajeev Koodli[11]. To take advantage of AODV's route discovery process,<br />
summarily <strong>de</strong>scribed above, to also perform service discovery. It is necessary to ext<strong>en</strong>d<br />
the formats of the RREQ and RREP messages; new fields should be <strong>de</strong>fined, but also<br />
actions that no<strong>de</strong>s along the network should perform wh<strong>en</strong> receiving these ext<strong>en</strong><strong>de</strong>d<br />
messages. With this proposal, resources are effici<strong>en</strong>tly used, as an already existing<br />
process (route discovery) is used to perform an additional one (service discovery). The<br />
proposed solution is as follows: wh<strong>en</strong>ever a no<strong>de</strong> requires a service, it should lookup<br />
its services table, which contains information about services it provi<strong>de</strong>s as well as those<br />
provi<strong>de</strong>d by other no<strong>de</strong>s. The information about others' services is acquired wh<strong>en</strong> the<br />
no<strong>de</strong> participates in a service discovery process, while the information about the<br />
services it offers is set wh<strong>en</strong> the no<strong>de</strong> is initialized (or wh<strong>en</strong> a new service is initialized<br />
within the no<strong>de</strong>). Figure 3 shows the structure of the services table. Each row in this<br />
table contains the service id<strong>en</strong>tifier (a string that uniquely id<strong>en</strong>tifies the service), its IP<br />
address, a lifetime, and a list of attributes according to the service. Giv<strong>en</strong> the great
variety of existing schemas for naming services [5][7][9], we do not assume the use of<br />
any particu<strong>la</strong>r schema. A lifetime is used to keep information up to date, which is<br />
mandatory in ad-hoc networks where there are frequ<strong>en</strong>t changes in topology.<br />
ServiceIDIPAddressLifeTimeAttributesList<br />
Fig.3 Service table.<br />
If a no<strong>de</strong> meets the following conditions: it has in its services table the information<br />
about the service it requires, it has a valid route to the service provi<strong>de</strong>r, and the service<br />
lifetime is still valid, th<strong>en</strong> it can contact the service provi<strong>de</strong>r to use the service (the way<br />
to invoke the service is out of the scope of this article); otherwise, the no<strong>de</strong>s initiates a<br />
service discovery process, s<strong>en</strong>ding an RREQ message with ext<strong>en</strong>sions, known as<br />
SREQ. Recall that these ext<strong>en</strong>sions are fields ad<strong>de</strong>d to a regu<strong>la</strong>r RREQ, so it is possible<br />
to locate the service (IP address of the service provi<strong>de</strong>r), as well as a route to it,<br />
simultaneously.<br />
TypeL<strong>en</strong>gthServiceIDL<strong>en</strong>gth<br />
ServiceID<br />
AttributesList<br />
Fig.4 Format of ext<strong>en</strong>sions to RREQ messages for service discovery.<br />
In Figure 4 we show the format of ext<strong>en</strong>sions to RREQ messages, which inclu<strong>de</strong> a<br />
Type field to id<strong>en</strong>tify a SREQ message (it has a value of 20), the L<strong>en</strong>gth of the<br />
ext<strong>en</strong>sion, the Service ID L<strong>en</strong>gth, a Service Id<strong>en</strong>tifier and <strong>la</strong>stly an Attributes List with<br />
optional value, used to inclu<strong>de</strong> restrictions in the service. Wh<strong>en</strong> a no<strong>de</strong> receives an<br />
SREQ it executes the following actions. First, it should <strong>de</strong>termine if it has in its<br />
services table a valid association (service name, IP address) for the required service;<br />
that is, if it provi<strong>de</strong>s the service or if it knows a valid route to a no<strong>de</strong> that can provi<strong>de</strong> it.<br />
If any of these criteria are met, the no<strong>de</strong> should issue an RREP message with<br />
ext<strong>en</strong>sions for service discovery, also known as SREP, and s<strong>en</strong>d it to the requesting<br />
no<strong>de</strong>. Of course, both SREQ and SREP messages are transmitted through the network<br />
according to the rules of the AODV protocol, so the route to the provi<strong>de</strong>r of the service<br />
will be found, as well as the reverse route. The format of the ext<strong>en</strong>sion to RREP<br />
messages for service discovery is shown in Figure 5. The fields inclu<strong>de</strong>d in the<br />
ext<strong>en</strong>sions are: a Type to id<strong>en</strong>tify SREP messages (with a value of 21), the L<strong>en</strong>gth of<br />
the ext<strong>en</strong>sions, a service Lifetime, the L<strong>en</strong>gth of the service URL, and finally the URL<br />
itself. If a no<strong>de</strong> contains an association (service name, IP address) to a service, but<br />
does not have a valid route to it, th<strong>en</strong> it assigns this IP address as the address to resolve<br />
issuing an SREQ.<br />
TypeL<strong>en</strong>gthLifeTime<br />
URLL<strong>en</strong>gthURL<br />
Fig.5 Format of ext<strong>en</strong>sions to RREP messages for service discovery.
Any no<strong>de</strong> receiving an SREQ with a valid <strong>de</strong>stination address should s<strong>en</strong>d an SREP<br />
if it has a route to the <strong>de</strong>stination no<strong>de</strong>, or if it knows an equival<strong>en</strong>t route to the service<br />
required. Otherwise, if it does not have information about the service required, or a<br />
route to the <strong>de</strong>stination no<strong>de</strong>, it will only forward the SREQ message. If a no<strong>de</strong><br />
receives an SREP an has information about the service required, it should compare its<br />
lifetime with the one contained in its services table; if the information in the table is<br />
more updated, th<strong>en</strong> it should discard the message received and issue an SREP with that<br />
information. Otherwise, it will simply s<strong>en</strong>d the message to its <strong>de</strong>stination.<br />
4. Service Discovery Architecture.<br />
The on-<strong>de</strong>mand service discovery mechanisms that we propose are avai<strong>la</strong>ble to<br />
application programmers through an API that can <strong>en</strong>able applications to request,<br />
register, and <strong>de</strong>register services. The overall architecture is shown in Figure 6.<br />
Applications<br />
APIfor Services Discovery<br />
AODVServices<br />
Discovery<br />
CCRS<br />
ODRM<br />
Kernel<br />
Fig.6 Service Discovery Architecture.<br />
At the top are applications that require the use of services, so they can call functions in<br />
the API for service discovery (API-SD); this will allow access to mechanisms and<br />
information found in AODV with ext<strong>en</strong>sions for service discovery (AODV-SD) and in<br />
the Common Cache Registry Server (CCRS). AODV-SD is responsible for locating<br />
services and routes to them, as <strong>de</strong>scribed in the previous section, while the CCRS<br />
manages the services table. The On Demand Routing Module (ODRM) is located at the<br />
bottom, and handles the interaction betwe<strong>en</strong> AODV-SD and the operating system's<br />
kernel. This architecture is based on MobileMAN [3], a framework for protocol<br />
<strong>de</strong>velopm<strong>en</strong>t and test for mobile ad-hoc networks, proposed by Helsinki University of<br />
Technology (HUT). We are curr<strong>en</strong>tly testing this architecture, which uses Linux as the<br />
<strong>de</strong>velopm<strong>en</strong>t p<strong>la</strong>tform. The next step is to build applications that take advantage of this<br />
p<strong>la</strong>tform, in or<strong>de</strong>r to evaluate their b<strong>en</strong>efits and performance.<br />
5. Conclusions and future work.<br />
Giv<strong>en</strong> their wi<strong>de</strong> range of application, mobile ad-hoc networks will be increasingly<br />
used in differ<strong>en</strong>t <strong>en</strong>vironm<strong>en</strong>ts. Service discovery is an important feature in this type of
networks. We have pres<strong>en</strong>ted a proposal for service discovery in ad-hoc networks,<br />
which does not incur additional traffic, as it takes advantage of the already pres<strong>en</strong>t<br />
process of route discovery to ext<strong>en</strong>d it and also discover services. The curr<strong>en</strong>t<br />
implem<strong>en</strong>tation of our proposal still needs to be tested in or<strong>de</strong>r to evaluate its<br />
performance and allow us to experim<strong>en</strong>t with variations of the mechanisms proposed.<br />
Refer<strong>en</strong>ces<br />
[1] Liang Ch<strong>en</strong>g. Service advertisem<strong>en</strong>t and discovery in mobile ad hoc networks. In Workshop<br />
on Ad hoc Communications and Col<strong>la</strong>boration in Ubiquitous Computing Environm<strong>en</strong>ts,<br />
New Orleans, Louisiana, USA,2002.<br />
[2] Scott Corson and Joseph Macker. Mobile Ad hoc Networking (MANET): Routing Protocol<br />
Performance Issues and Evaluation Consi<strong>de</strong>rations. RFC 2501 IETF 1999..<br />
[3] Jose Costa-Requ<strong>en</strong>a. Mobileman ad hoc framework. In Technical Report, Helsinki<br />
University of Technology,2004.<br />
[4] Diego Doval and Donald O’ Mahony. Nom: Resource location and discovery for ad hoc<br />
mobile networks. Proceedings of the first annual Mediterranean ad hoc networking<br />
workshop, Med-hoc-Net, Italy 2002.<br />
[5] UPnP Forum. UPnPTM ServiceType:V Service Temp<strong>la</strong>te Version 1.01. 2004.<br />
[6] UPnP Forum. UPnP Device Architecture v1.0.1 Draft, 2004.<br />
[7] Arnt Gulbrands<strong>en</strong>, Paul Vixie, and Levon Esibov. A DNS RR for specifying the location of<br />
services (DNS SRV). RFC 2782 IETF 2000.<br />
[8] Erik Guttman and Charles Perkins et al. Service Location Protocol, Version 2. RFC 2608<br />
IETF 1999.<br />
[9] Erik Guttman, Charles Perkins, and James Kempf. Service Temp<strong>la</strong>tes and Service Schemes.<br />
RFC 2609 IETF 1999.<br />
[10] Sumi He<strong>la</strong>l, Nitin Desai, Varun Verma, and Choonhwa Lee. Konark – a service discovery<br />
and <strong>de</strong>livery protocol for ad-hoc networks. In Proceedings of the Third IEEE Confer<strong>en</strong>ce on<br />
Wireless Communication Networks (WCNC), New Orleans, Louisiana, USA, 2003.<br />
[11] Rajeev Koodli and Charles E. Perkins. Service Discovery in On-<strong>de</strong>mand Ad Hoc Networks.<br />
Internet-draft IETF. 2002.<br />
[12] Sun Microsystems. Jini Specifications v2.0, 2004.<br />
[13] Charles Perkins, Elizabeth M. Royer, and Samir Das. Ad Hoc On Demand Distance Vector<br />
(AODV) Routing. RFC 3561 IETF 2003.<br />
[14] Charles E. Perkins and Pravin Bhagwat. Highly dynamic <strong>de</strong>stination-sequ<strong>en</strong>ced distancevector<br />
routing (dsdv) for mobile computers. In ACM SIGCOMM’94, Computer Communications<br />
Review 24, 1994.<br />
[15] Charles E. Perkins and Elizabeth M. Royer. Ad hoc on-<strong>de</strong>mand distance vector routing. In<br />
Proceedings of the 2nd IEEE Workshop on Mobile Computing Systems and Applications<br />
New Orleans, Louisiana, USA, 1999.<br />
[16] Mark Weiser. The computer for the tw<strong>en</strong>ty-first c<strong>en</strong>tury. In Sci<strong>en</strong>tific American, 1991.
Lucrn: A middleware for application <strong>de</strong>velopm<strong>en</strong>t in<br />
spontaneous networks of Bluetooth <strong>de</strong>vices<br />
J. Alfonso Briones-García ‡ , Silvana Bravo-Hernán<strong>de</strong>z,<br />
J. Oscar Olmedo-Aguirre<br />
Departam<strong>en</strong>to <strong>de</strong> Aplicación <strong>de</strong> Microcomputadoras ‡ ,<br />
Instituto <strong>de</strong> Ci<strong>en</strong>cias, Universidad Autónoma <strong>de</strong> Pueb<strong>la</strong>,<br />
e-mail: jabriones@mac.com, 49 Poni<strong>en</strong>te 1102. Col Reforma Agua azul,<br />
Apdo. Postal 461,CP 72000, Pueb<strong>la</strong>, Pueb<strong>la</strong>, México.<br />
Departam<strong>en</strong>to <strong>de</strong> Ing<strong>en</strong>ieria Eléctrica, Sección <strong>Computación</strong>,<br />
C<strong>en</strong>tro <strong>de</strong> Investigación y <strong>de</strong> Estudios Avanzados <strong>de</strong>l IPN, CINVESTAV.<br />
e-mail: sbravo@computacion.cs.cinvestav.mx, oolmedo@<strong>de</strong>lta.cs.cinvestav.mx<br />
Av. IPN 2508, CP 07300, DF, México.<br />
Abstract: A spontaneous network is a wireless network that operates without the<br />
support of any fixed infrastructure and where the mobile no<strong>de</strong>s --<strong>la</strong>ptops, pda, cell<br />
phones-- configure themselves to form the network. The main problem in this<br />
kind of network is that applications do not have mechanisms to support: the<br />
casual creation of the network, the no<strong>de</strong>s mobility, and the exchange of<br />
information betwe<strong>en</strong> them. In this paper we pres<strong>en</strong>t the middleware Lucrn. The<br />
middleware comprises a suite of protocols that ext<strong>en</strong>ds the Bluetooth stack,<br />
providing to applications the means to support the dynamic <strong>en</strong>vironm<strong>en</strong>t imposed<br />
by the spontaneous network. The middleware has be<strong>en</strong> implem<strong>en</strong>ted in Mac OS X<br />
and Palm OS, and has be<strong>en</strong> used to create several applications, one of them is a<br />
shared whiteboard that works betwe<strong>en</strong> Bluetooth <strong>en</strong>abled <strong>la</strong>ptops and personal<br />
digital assistants.<br />
Resum<strong>en</strong>: Las re<strong>de</strong>s espontáneas son re<strong>de</strong>s inalámbricas que sin t<strong>en</strong>er que<br />
<strong>de</strong>p<strong>en</strong><strong>de</strong>r <strong>de</strong> una infraestructura física o <strong>de</strong> servicios preestablecida pued<strong>en</strong><br />
formarse <strong>en</strong>tre dispositivos móviles como computadoras portátiles, teléfonos<br />
celu<strong>la</strong>res y asist<strong>en</strong>tes digitales. El principal problema que se pres<strong>en</strong>ta <strong>en</strong> estas<br />
re<strong>de</strong>s es que <strong>la</strong>s aplicaciones no cu<strong>en</strong>tan con los mecanismos necesarios para<br />
tratar con: <strong>la</strong> formación casual <strong>de</strong> <strong>la</strong> red, <strong>la</strong> movilidad <strong>de</strong> los nodos, y el<br />
intercambio <strong>de</strong> información <strong>en</strong>tre ellos. En este artículo se explica el middleware<br />
Lucrn el cual está compuesto por un conjunto <strong>de</strong> protocolos que exti<strong>en</strong>d<strong>en</strong> <strong>la</strong> pi<strong>la</strong><br />
<strong>de</strong> protocolos <strong>de</strong> Bluetooth y proporcionan a <strong>la</strong>s aplicaciones los mecanismos<br />
necesarios para soportar el ambi<strong>en</strong>te <strong>de</strong> red dinámico impuesto por <strong>la</strong>s re<strong>de</strong>s<br />
espontáneas. El middleware ha sido implem<strong>en</strong>tado <strong>en</strong> <strong>la</strong>s p<strong>la</strong>taformas Mac OS X<br />
y Palm OS, y ha sido usado para el <strong>de</strong>sarrollo <strong>de</strong> difer<strong>en</strong>tes aplicaciones, una <strong>de</strong><br />
<strong>la</strong>s cuales es un pizarrón electrónico compartido el cual funciona <strong>en</strong>tre<br />
computadoras portátiles y asist<strong>en</strong>tes digitales equipados con tecnología<br />
inalámbrica Bluetooth.<br />
Pa<strong>la</strong>bras C<strong>la</strong>ve: Middleware, Bluetooth, Spontaneous Networks, Ad-hoc<br />
networks.
1. Introduction<br />
In rec<strong>en</strong>t years, due to technological advances in VLSI, microelectronics and<br />
telecommunications it has be<strong>en</strong> possible to build mobile <strong>de</strong>vices equipped with<br />
wireless technology. This converg<strong>en</strong>ce betwe<strong>en</strong> wireless communications and mobile<br />
<strong>de</strong>vices has created a new area in computer sci<strong>en</strong>ce known as mobile computing. This<br />
area try to solve the problems that rise wh<strong>en</strong> the communication <strong>de</strong>vices are mobile,<br />
resource limited and the communication technology is wireless [1].<br />
In this area we found a special kind of network called ad-hoc network. This network<br />
consists of a collection of wireless no<strong>de</strong>s that cooperatively form a network that<br />
operates with no support of any prep<strong>la</strong>nned (wired) infrastructure or (DHCP) services.<br />
An important subc<strong>la</strong>ss of ad-hoc networks is spontaneous networks that has well<br />
<strong>de</strong>fined properties [2]:<br />
• These networks are formed in a casual way.<br />
• These networks have a limited ext<strong>en</strong>t in both space and time.<br />
• The no<strong>de</strong>s of the network are computer <strong>la</strong>ptops, PDAs, and cell phones.<br />
• The communication technology inclu<strong>de</strong>s Bluetooth, IEEE 802.11 and infrared.<br />
Spontaneous networks have be<strong>en</strong> proposed for sc<strong>en</strong>arios where a group of people come<br />
together and use wireless computing <strong>de</strong>vices for some computer-based col<strong>la</strong>borative<br />
application. For example, applications like a shared whiteboard could be very useful<br />
for meetings and educational sc<strong>en</strong>arios [2]. Nowadays a wireless communication<br />
standard that has the mechanisms nee<strong>de</strong>d to create spontaneous networks is Bluetooth<br />
[3]. However, <strong>de</strong>spite that this wireless communication technology has proliferated,<br />
applications like shared whiteboards are difficult to find in spontaneous networks of<br />
mobile <strong>de</strong>vices. This problem is due to the <strong>la</strong>ck of mechanisms that applications need<br />
to interoperate in a mobile <strong>en</strong>vironm<strong>en</strong>t.<br />
The article is organized as follows. In the next section we pres<strong>en</strong>t the problems that<br />
application <strong>de</strong>velopers have to face in a spontaneous network <strong>en</strong>vironm<strong>en</strong>t. Th<strong>en</strong>, we<br />
discuss the middleware and the suite of protocols that comprises the middleware. Next,<br />
we exp<strong>la</strong>in the middleware implem<strong>en</strong>ted in Mac OS X and Palm OS. Finally, we<br />
pres<strong>en</strong>t our results and some concluding remarks.<br />
2. Spontaneous networks chall<strong>en</strong>ges<br />
Applications running on a spontaneous network are characterized by problems that are<br />
not pres<strong>en</strong>t in, for example, local area networks based on IEEE 802.3. We have<br />
c<strong>la</strong>ssified these problems in three groups:<br />
• Problems g<strong>en</strong>erated by the spontaneous network formation. In a<br />
spontaneous network, we cannot assume that a computer provi<strong>de</strong>s a service<br />
like DHCP for automatic network interface configuration, because it cannot be
<strong>de</strong>termined before hand neither the no<strong>de</strong>s belonging to the network nor the<br />
services they offer. To cope with this problem we use some of the mechanisms<br />
that Bluetooth technology offers supplem<strong>en</strong>ted with some protocols that<br />
announce the addition of a Bluetooth <strong>de</strong>vice into the spontaneous network.<br />
• Problems g<strong>en</strong>erated by the no<strong>de</strong> mobility. No<strong>de</strong> mobility conveys some<br />
problems to applications because the limits of the network are loosely <strong>de</strong>fined<br />
and it is possible that the network could be fragm<strong>en</strong>ted. Therefore, application<br />
<strong>de</strong>velopers cannot assume that some services are always avai<strong>la</strong>ble and<br />
therefore they need mechanisms to know wh<strong>en</strong> a no<strong>de</strong> has <strong>en</strong>tered or left the<br />
spontaneous network.<br />
• Problems g<strong>en</strong>erated by the communication technology. Communication<br />
technology very oft<strong>en</strong> has characteristics that can limit the performance of<br />
spontaneous network applications. For example, Bluetooth technology only<br />
offers the creation of both point-to-point links and point-to-multipoint links.<br />
These kinds of links imply that is not possible to exchange information among<br />
all the no<strong>de</strong>s of the spontaneous network. Consequ<strong>en</strong>tly some mechanisms are<br />
nee<strong>de</strong>d for exchange of information among the no<strong>de</strong>s of the network.<br />
In summary, the main problem is the <strong>la</strong>ck of a middleware that could be implem<strong>en</strong>ted<br />
in mobile <strong>de</strong>vices to support interoperation among applications running on spontaneous<br />
networks. In the next section, we pres<strong>en</strong>t the <strong>de</strong>sign of Lucrn, a middleware that<br />
comprises a suite of protocols that ext<strong>en</strong>d the Bluetooth stack and provi<strong>de</strong>s to mobile<br />
<strong>de</strong>vice applications the means to interoperate on a spontaneous network.<br />
3. The middleware Lucrn<br />
In a high level context we id<strong>en</strong>tify Lucrn as a software <strong>la</strong>yer that sits betwe<strong>en</strong> the<br />
applications and the operating system. The middleware has be<strong>en</strong> <strong>de</strong>signed and built<br />
upon the mechanisms offered by the Bluetooth technology. Ess<strong>en</strong>tially, Bluetooth is a<br />
suite of protocols <strong>de</strong>signed to <strong>en</strong>able wireless communication on <strong>de</strong>vices like portable<br />
digital assistants, <strong>la</strong>ptop computers and cell phones, among others. Actually, Bluetooth<br />
is a public specification [4] [5] that is the base of the standard IEEE 802.15.1[6].<br />
Bluetooth introduces novel mechanisms like Device discovery [9] and Service<br />
discovery [10]. These two mechanisms are used by the middleware to establish in an<br />
ad-hoc manner the wireless links betwe<strong>en</strong> <strong>de</strong>vices.<br />
The middleware comprises four protocols that we exp<strong>la</strong>in in the following sections.
3.1 Device Announcem<strong>en</strong>t Protocol<br />
This protocol suppose that a L2CAP (logical link and adaptation protocol) channel [10]<br />
has be<strong>en</strong> established and once the channel is created it s<strong>en</strong>ds special messages in or<strong>de</strong>r<br />
to:<br />
• Announce the creation of a new L2CAP channel in the network.<br />
• Synchronize the Bluetooth active <strong>de</strong>vices with the new no<strong>de</strong>.<br />
To perform these actions it s<strong>en</strong>ds the messages: LUCRN_NEW_DEVICE and<br />
LUCRN_SYNC_DEVICES.<br />
3.2 Routing Protocol<br />
Bluetooth allows the creation of point-to-point and point-to-multipoint communication<br />
links that is not a broadcast medium like IEEE 802.11 or IEEE 802.3. In Blueooth, the<br />
communication is bidirectional betwe<strong>en</strong> the master and the s<strong>la</strong>ve that share the channel.<br />
The same happ<strong>en</strong>s in point to multipoint links the communication is betwe<strong>en</strong> the s<strong>la</strong>ves<br />
and the master but could not be betwe<strong>en</strong> the s<strong>la</strong>ves.<br />
Taking this into account we create a routing protocol that allows the exchange of<br />
information betwe<strong>en</strong> any no<strong>de</strong>s that belong to the network. The protocol works along<br />
with the <strong>de</strong>vice announcem<strong>en</strong>t protocol and the mobility protocol in or<strong>de</strong>r to update<br />
the routing tables that each <strong>de</strong>vice holds.<br />
The valid message for this protocol is LUCRN_DATA_MSG.<br />
3.3 Mobility Protocol<br />
The goal of the mobility protocol is to announce that a no<strong>de</strong> has left the network. Each<br />
time that a no<strong>de</strong> receives this message it must update its routing table. This protocol<br />
only works for single no<strong>de</strong>s that only have one adjac<strong>en</strong>t link. This is important because<br />
if the <strong>de</strong>vice has more than one adjac<strong>en</strong>t link it means that is the master of a piconet.<br />
The valid message for this protocol is LUCRN_DISCONNECTING_DEVICE.<br />
3.4 Col<strong>la</strong>boration Protocol<br />
This is an high level protocol <strong>de</strong>signed to provi<strong>de</strong> mechanisms that facilitate<br />
col<strong>la</strong>boration among applications running on spontaneous networks. The protocol was<br />
<strong>de</strong>signed to allow the exchange of actions that control applications. For example, if a<br />
user has drawn or erased a figure this action will be forwar<strong>de</strong>d to all the members of<br />
the spontaneous network.<br />
This message is <strong>en</strong>capsu<strong>la</strong>ted in the payload area of LUCRN_DATA_MSG. The<br />
message valid for this protocol is LUCRN_COLL_ACTION.
Once the protocols that conforms the middleware were <strong>de</strong>signed, they were<br />
implem<strong>en</strong>ted on Mac OS X and Palm OS p<strong>la</strong>tforms. In the next section we exp<strong>la</strong>in the<br />
main compon<strong>en</strong>ts of these implem<strong>en</strong>tations.<br />
4. Middleware implem<strong>en</strong>tations<br />
The middleware has be<strong>en</strong> implem<strong>en</strong>ted in Mac OS X and Palm OS p<strong>la</strong>tforms.<br />
4.1 Mac OS X implem<strong>en</strong>tation<br />
The Mac OS X implem<strong>en</strong>tation was <strong>de</strong>veloped using the object-ori<strong>en</strong>ted <strong>la</strong>nguage<br />
Objective-C. The implem<strong>en</strong>tation comprises a set of c<strong>la</strong>sses that handles publishing of<br />
services, the communications channels and the exchange of information among the<br />
no<strong>de</strong>s. The main c<strong>la</strong>ss is Lucrn that provi<strong>de</strong>s methods to discover and to connect to<br />
services, to publish services, to s<strong>en</strong>d unicast and broadcast messages and to query the<br />
<strong>de</strong>vices curr<strong>en</strong>tly avai<strong>la</strong>ble in the network. From a <strong>de</strong>veloper point of view, the<br />
implem<strong>en</strong>tation is an object-ori<strong>en</strong>ted framework that can be easily integrated in<br />
programming projects to <strong>de</strong>velop applications for spontaneous network.<br />
4.2 Palm OS implem<strong>en</strong>tation<br />
In Palm OS, the implem<strong>en</strong>tation was done using the C programming <strong>la</strong>nguage, an<br />
important issue because of the minimal size required for the executable program to<br />
meet the severe memory constraints. The implem<strong>en</strong>tation consists of a library that<br />
allows to the programmer to discover and connect to a service, to s<strong>en</strong>d unicast and<br />
broadcast messages, and to query about the <strong>de</strong>vices pres<strong>en</strong>t in the network.<br />
The exchange of information betwe<strong>en</strong> differ<strong>en</strong>t <strong>la</strong>yers of the implem<strong>en</strong>tation is done<br />
through function pointers, which are assigned and implem<strong>en</strong>ted by the modules that<br />
form the application.<br />
5. Results<br />
The results obtained so far are very <strong>en</strong>couraging. Lucrn is a middlware composed of a<br />
set of protocols used to <strong>de</strong>velop applications to be <strong>de</strong>ployed in spontaneous networks<br />
of heterog<strong>en</strong>eous <strong>de</strong>vices. With this middleware we have <strong>de</strong>veloped several<br />
applications exploiting the wireless capabilities of each <strong>de</strong>vice.<br />
By using the middleware we have <strong>de</strong>veloped the following applications:<br />
• A system to exchange messages betwe<strong>en</strong> heterog<strong>en</strong>eous <strong>de</strong>vices.<br />
• A remote control for the Mac OS X iTunes and Keynote applications.<br />
• A shared whiteboard. (Figure 1)
6. Conclusions<br />
Fig. 1. A shared whiteboard betwe<strong>en</strong> <strong>la</strong>ptops and PDAs<br />
In this paper, we have <strong>de</strong>scribed Lucrn, a middleware that ext<strong>en</strong>ds the Bluetooth<br />
protocol stack to offer <strong>en</strong>hanced services to applications <strong>de</strong>ployed on mobile<br />
spontaneous networks. The <strong>en</strong>hanced functionality provi<strong>de</strong>d by Lucrn greatly<br />
simplifies the formation of networks that do not require any pre-p<strong>la</strong>nned infrastructure<br />
nor perman<strong>en</strong>t user interv<strong>en</strong>tion for <strong>de</strong>vice reconfiguration. The applications <strong>de</strong>veloped<br />
so far have shown that Lucrn can be used for a number of application domains like<br />
distributed information systems, computer supported col<strong>la</strong>borative work and pervasive<br />
computing. The results obtained are <strong>en</strong>couraging and a number of directions for further<br />
research are being discussed and explored.<br />
Refer<strong>en</strong>ces<br />
[1] M. Satyanarayanan, “Fundam<strong>en</strong>tal chall<strong>en</strong>ges in mobile computing” , Proc. 15th ACM<br />
Symp. Principles of Dist. Comp, May 1996<br />
[2] L.Fe<strong>en</strong>ey and B. Ahlgr<strong>en</strong> and A. WesterLud, “Spontaneous networking: An Application<br />
Ori<strong>en</strong>ted Approach to ad-hoc networking”, IEEE Comm. Magazine, June, 2001.<br />
[3] R.Bruno and M.Conti and E. Gregori, “WLAN technologies for Mobile Ad-Hoc Networks”,<br />
Proceedings of the 34th Hawaii International Confer<strong>en</strong>ce on Systems Sci<strong>en</strong>ces, 2001.<br />
[4] Bluetooth SIG, “Specification of the Bluetooth System. Core”, Version 1.1, February 2001,<br />
http://www.bluetooth.com/pdf/Bluetooth_11_Specifications_Book.pdf<br />
[5] Bluetooth SIG, “Specification of the Bluetooth System. Profiles”, Version 1.1, February<br />
2001, http://www.bluetooth.com/pdf/Bluetooth_11_Profile_Book.pdf<br />
[6] Chatschik Bisdikian, “An overview of the Bluetooth Wireless Technology”, IEEE Comm.<br />
Magazine, December 2001<br />
[7] Rajeev Shorey and Br<strong>en</strong>t A. Miller, “The Bluetooth technology: Merits and Limits”, IEEE<br />
Proceedings of ICPWC'2000, 2000<br />
[8] BlueZ, “Official Linux Bluetooth protocol stack”, http://www.bluez.org/<br />
[9] T. Salonidies et al, “Proximity awar<strong>en</strong>ess and fast connection establishm<strong>en</strong>t in Bluetooth”,<br />
Mobile and Ad Hoc Networking and Computing, 2000. MobiHOC. 2000 First Annual<br />
Workshop on , 2000 , Page(s): 141 –14<br />
[10] Br<strong>en</strong>t A. Miller and Chatschik Bisdikian, “Bluetooth Revealed. The insi<strong>de</strong>r's gui<strong>de</strong> to an<br />
op<strong>en</strong> specification for Global Wireless Communication”, Pr<strong>en</strong>tice Hall PTR, Upper Saddle<br />
River, NJ 07458, 2001
Arquitectura <strong>de</strong> Co<strong>la</strong>boración Mediante Dispositivos<br />
Móviles Aplicada a <strong>la</strong> Administración <strong>de</strong>l Conocimi<strong>en</strong>to<br />
Chadwick Carreto Arel<strong>la</strong>no 1 , Ro<strong>la</strong>ndo M<strong>en</strong>chaca García 2 , Ro<strong>la</strong>ndo M<strong>en</strong>chaca<br />
M<strong>en</strong><strong>de</strong>z 2 , Agustín Gutiérrez Tornes 2<br />
1 Escue<strong>la</strong> Superior <strong>de</strong> Computo, 2 C<strong>en</strong>tro <strong>de</strong> Investigación <strong>en</strong> <strong>Computación</strong><br />
Instituto Politécnico Nacional<br />
e-mail : 1 ccarretoa@ipn.mx, 2 fm<strong>en</strong>chac@ipn.mx, 2 rm<strong>en</strong>@ipn.mx<br />
Av. Juan <strong>de</strong> Dios Bátiz s/n esq. Miguel Othón <strong>de</strong> M<strong>en</strong>dizábal,<br />
Unidad Profesional Adolfo López Mateos, C.P. 07738, México D.F.<br />
Resum<strong>en</strong>: En el pres<strong>en</strong>te trabajo se muestra el <strong>de</strong>sarrollo <strong>de</strong> una arquitectura<br />
que permita trabajar <strong>en</strong> un ambi<strong>en</strong>te co<strong>la</strong>borativo <strong>de</strong>s<strong>de</strong> dispositivos móviles,<br />
apoyada <strong>en</strong> el uso <strong>de</strong> ag<strong>en</strong>tes <strong>de</strong> software, para brindar una funcionalidad<br />
ori<strong>en</strong>tada a <strong>la</strong> administración <strong>de</strong>l conocimi<strong>en</strong>to aplicable a cualquier proceso <strong>de</strong><br />
<strong>en</strong>señanza-apr<strong>en</strong>dizaje. La arquitectura permitirá administrar el conocimi<strong>en</strong>to,<br />
<strong>de</strong> tal forma que automatice el proceso <strong>de</strong> recopi<strong>la</strong>ción <strong>de</strong> información, realice<br />
búsquedas <strong>de</strong> <strong>la</strong> información <strong>de</strong> acuerdo a un perfil y necesida<strong>de</strong>s específicas, y<br />
<strong>la</strong> pres<strong>en</strong>te, ya sea <strong>en</strong> un formato para dispositivo móvil o <strong>en</strong> un formato<br />
tradicional para PC. La arquitectura pret<strong>en</strong><strong>de</strong> poner a disposición <strong>de</strong> los<br />
usuarios, herrami<strong>en</strong>tas para el trabajo <strong>en</strong> grupo que pued<strong>en</strong> ser utilizadas <strong>en</strong><br />
cualquier mom<strong>en</strong>to y lugar a través <strong>de</strong> un dispositivo <strong>de</strong> capacidad limitada con<br />
conexión a Internet.<br />
Pa<strong>la</strong>bras C<strong>la</strong>ve: Trabajo Co<strong>la</strong>borativo, Dispositivo Móvil, Ag<strong>en</strong>te <strong>de</strong> Software,<br />
Administración <strong>de</strong> Conocimi<strong>en</strong>to, e- learning.<br />
1. Introducción.<br />
Actualm<strong>en</strong>te el apr<strong>en</strong>dizaje y el conocimi<strong>en</strong>to son parte es<strong>en</strong>cial <strong>en</strong> toda organización y<br />
comunidad; y al hab<strong>la</strong>r <strong>de</strong> comunidad es necesario que el conocimi<strong>en</strong>to se distribuya y<br />
se aplique, <strong>de</strong> otra forma es inútil. La c<strong>la</strong>ve <strong>de</strong> <strong>la</strong> evolución social radica <strong>en</strong> <strong>la</strong><br />
g<strong>en</strong>eración, difusión y distribución <strong>de</strong>l conocimi<strong>en</strong>to.<br />
A través <strong>de</strong>l tiempo esta distribución <strong>de</strong> información (comunicación) se ha dado por<br />
difer<strong>en</strong>tes medios. En los últimos años, <strong>la</strong> comunicación inalámbrica (wireless) está<br />
experim<strong>en</strong>tando un crecimi<strong>en</strong>to acelerado. Las nuevas tecnologías permit<strong>en</strong> aum<strong>en</strong>tar<br />
<strong>la</strong> calidad no sólo <strong>en</strong> el sector productivo, sino también <strong>en</strong> el sector educativo que ha<br />
sufrido un cambio drástico <strong>de</strong>s<strong>de</strong> <strong>la</strong> aparición <strong>de</strong> <strong>la</strong> computación y últimam<strong>en</strong>te <strong>la</strong><br />
Internet; esto ha permitido <strong>la</strong> creación <strong>de</strong> innovadoras técnicas <strong>de</strong> <strong>en</strong>señanza y <strong>la</strong><br />
aparición <strong>de</strong> material <strong>de</strong> apoyo y refer<strong>en</strong>cias <strong>de</strong> fácil acceso.<br />
Las tecnologías inalámbricas permit<strong>en</strong> a mayor número <strong>de</strong> personas comunicarse e<br />
intercambiar información sin <strong>la</strong> necesidad <strong>de</strong> un au<strong>la</strong> <strong>de</strong> cómputo o una computadora;<br />
esto permite introducir el concepto <strong>de</strong> co<strong>la</strong>boración digital, que complem<strong>en</strong>ta a <strong>la</strong><br />
pres<strong>en</strong>cial.
El apr<strong>en</strong>dizaje es un campo <strong>en</strong> el que bi<strong>en</strong> se podría aplicar <strong>la</strong> tecnología inalámbrica,<br />
ya que permite establecer un ambi<strong>en</strong>te <strong>de</strong> co<strong>la</strong>boración que no se reduce a un au<strong>la</strong> o a<br />
estar s<strong>en</strong>tado fr<strong>en</strong>te a una computadora; incluso el salón se podría convertir <strong>en</strong><br />
<strong>la</strong>boratorio o <strong>la</strong> cafetería <strong>en</strong> biblioteca.<br />
Esta tecnología proporciona cambios fundam<strong>en</strong>tales <strong>en</strong> <strong>la</strong> forma <strong>en</strong> que se difund<strong>en</strong> <strong>la</strong>s<br />
i<strong>de</strong>as, el conocimi<strong>en</strong>to y <strong>la</strong> compr<strong>en</strong>sión [1]. La co<strong>la</strong>boración <strong>en</strong>tre alumnos pue<strong>de</strong><br />
g<strong>en</strong>erar gran<strong>de</strong>s v<strong>en</strong>tajas educativas si se manejan a<strong>de</strong>cuadam<strong>en</strong>te, a través <strong>de</strong> un<br />
esquema <strong>de</strong> apr<strong>en</strong>dizaje co<strong>la</strong>borativo apropiado para <strong>la</strong> interacción con tecnología<br />
móvil. El esquema g<strong>en</strong>eral <strong>de</strong> apr<strong>en</strong>dizaje co<strong>la</strong>borativo es (Figura 1):<br />
Coordinación y<br />
Motivación<br />
Maestro / Tutor<br />
Interre<strong>la</strong>ción<br />
Aplicaciones<br />
Practicas<br />
Alumno Alumno Alumno<br />
Objetivos<br />
Figura 1. Esquema <strong>de</strong> apr<strong>en</strong>dizaje tradicional<br />
En este esquema c<strong>la</strong>ram<strong>en</strong>te se observa <strong>la</strong> necesidad <strong>de</strong> que <strong>la</strong>s <strong>en</strong>tida<strong>de</strong>s se<br />
interre<strong>la</strong>cion<strong>en</strong> <strong>de</strong> manera directa <strong>en</strong> un espacio cerrado. Se propone <strong>en</strong>tonces una<br />
reestructuración <strong>de</strong>l esquema anterior para omitir esta necesidad aplicando tecnologías<br />
móviles (Figura 2).<br />
Alumno / Tutor<br />
Alumno / Tutor<br />
Tecnología <strong>de</strong><br />
Información<br />
Alumno / Tutor<br />
Conocimi<strong>en</strong>to<br />
Figura 2. Nuevo esquema <strong>de</strong> apr<strong>en</strong>dizaje<br />
La comunicación inalámbrica (<strong>en</strong> especial <strong>en</strong> México) está <strong>en</strong> sus primeros pasos,<br />
mi<strong>en</strong>tras que <strong>la</strong> educación a través <strong>de</strong> estos dispositivos (móviles o inalámbricos) está<br />
<strong>en</strong> su etapa embrionaria a nivel mundial. Hasta ahora los conceptos e-learning y
co<strong>la</strong>boración digital no se han g<strong>en</strong>eralizado para dispositivos móviles inalámbricos,<br />
pero es <strong>de</strong>seable dado que <strong>la</strong> principal v<strong>en</strong>taja <strong>de</strong> su aplicación <strong>en</strong> <strong>la</strong> educación es <strong>la</strong><br />
transpar<strong>en</strong>cia; es <strong>de</strong>cir, el acceso anytime, anywhere (a cualquier hora y <strong>en</strong> cualquier<br />
lugar) a una fu<strong>en</strong>te <strong>de</strong> conocimi<strong>en</strong>to [2].<br />
La razón <strong>de</strong> que se dificulta esta interacción a través <strong>de</strong> tecnologías inalámbricas es<br />
precisam<strong>en</strong>te sus limitantes: ancho <strong>de</strong> banda, pres<strong>en</strong>tación <strong>de</strong> <strong>la</strong> información, capacidad<br />
<strong>de</strong> procesami<strong>en</strong>to y memoria, <strong>en</strong>tre otras. Algunas empresas propon<strong>en</strong> soluciones como<br />
<strong>la</strong> creación <strong>de</strong> un protocolo (WAP) que permite incorporar estándares internacionales<br />
como HTML y JavaScript; <strong>la</strong>s compañías <strong>de</strong> telefonía celu<strong>la</strong>r han aportado soluciones<br />
como <strong>la</strong> creación <strong>de</strong> re<strong>de</strong>s con mayores servicios y dispositivos con mejores<br />
capacida<strong>de</strong>s. Sin embargo, sigue <strong>la</strong>t<strong>en</strong>te <strong>la</strong> problemática <strong>de</strong> adaptar aplicaciones que<br />
sean útiles y aceptadas por los usuarios.<br />
Exist<strong>en</strong> algunos trabajos [3] [4] [5] que pret<strong>en</strong>d<strong>en</strong> resolver, no propiam<strong>en</strong>te <strong>la</strong><br />
problemática que p<strong>la</strong>nteamos, pero si alguno <strong>de</strong> sus aspectos, ya sea promover <strong>la</strong><br />
administración <strong>de</strong> información o conocimi<strong>en</strong>to, manejar grupos <strong>de</strong> trabajo<br />
co<strong>la</strong>borativo, o trabajar alguno <strong>de</strong> los aspecto con dispositivos móviles.<br />
A continuación, <strong>en</strong> <strong>la</strong> sección 2 se <strong>de</strong>scribe <strong>la</strong> Arquitectura Propuesta, así como <strong>la</strong>s<br />
características <strong>de</strong> los elem<strong>en</strong>tos que <strong>la</strong> compon<strong>en</strong>. La sección 3 explica el diseño y <strong>la</strong><br />
forma <strong>de</strong> implem<strong>en</strong>tación técnica <strong>de</strong>l mo<strong>de</strong>lo. Finalm<strong>en</strong>te, <strong>en</strong> <strong>la</strong> sección 4 da una<br />
conclusión <strong>de</strong> trabajo expuesto y establece el trabajo a futuro.<br />
2. Arquitectura <strong>de</strong>l Sistema <strong>de</strong> Co<strong>la</strong>boración.<br />
Se busca que <strong>la</strong> arquitectura proporcione una funcionalidad para los usuarios <strong>de</strong><br />
búsqueda <strong>de</strong> información, recuperación <strong>de</strong> docum<strong>en</strong>tos, publicación <strong>de</strong> docum<strong>en</strong>tos y<br />
<strong>en</strong>vío <strong>de</strong> m<strong>en</strong>sajes d<strong>en</strong>tro <strong>de</strong> un grupo <strong>de</strong> trabajo. Lo cual le permitirá establecer un<br />
esquema <strong>de</strong> cooperación que apoye el <strong>de</strong>sarrollo <strong>de</strong> su apr<strong>en</strong>dizaje a través <strong>de</strong> <strong>la</strong><br />
adquisición <strong>de</strong> conocimi<strong>en</strong>to <strong>de</strong> manera autodirigida, responsable y consci<strong>en</strong>te. Esté<br />
proyecto utiliza <strong>la</strong>s tecnologías inalámbricas <strong>en</strong> una aplicación que permita <strong>la</strong><br />
administración <strong>de</strong>l conocimi<strong>en</strong>to, <strong>en</strong>tiéndase por ello el proceso mediante el cual se<br />
alcanza el objetivo (p<strong>la</strong>neación, organización, dirección, control) <strong>de</strong> manejar <strong>la</strong><br />
información (docum<strong>en</strong>tos, publicaciones, com<strong>en</strong>tarios, m<strong>en</strong>sajes) construida a partir<br />
<strong>de</strong>l conocimi<strong>en</strong>to <strong>de</strong> los usuarios previ<strong>en</strong>do sus necesida<strong>de</strong>s futuras <strong>de</strong> apr<strong>en</strong>dizaje.<br />
Como se observa <strong>en</strong> <strong>la</strong> figura 3, <strong>la</strong> arquitectura <strong>de</strong>l sistema esta dividida <strong>en</strong> cinco<br />
módulos, <strong>de</strong> los cuales dos forman el servidor <strong>de</strong>l sistema, dos módulos <strong>en</strong> los cli<strong>en</strong>tes<br />
y el módulo correspondi<strong>en</strong>te a <strong>la</strong> base <strong>de</strong> datos se subdivi<strong>de</strong> para crear un repositorio<br />
<strong>en</strong> cli<strong>en</strong>te PC y <strong>en</strong> el servidor, con algunas difer<strong>en</strong>cias <strong>en</strong>tre ambos. A continuación se<br />
<strong>de</strong>scribe el funcionami<strong>en</strong>to <strong>de</strong> los módulos que conforman <strong>la</strong> arquitectura:<br />
2.1 Módulo <strong>de</strong> Administración<br />
En este módulo es don<strong>de</strong> llegan <strong>la</strong>s peticiones <strong>de</strong> los miembros <strong>de</strong> un grupo <strong>de</strong> trabajo<br />
y se <strong>en</strong>carga <strong>de</strong> at<strong>en</strong><strong>de</strong>r<strong>la</strong>s, por esta razón ti<strong>en</strong>e acceso a Internet. Aquí también se<br />
reconoce <strong>de</strong>s<strong>de</strong> que tipo <strong>de</strong> dispositivo se conecta el miembro <strong>de</strong>l grupo <strong>de</strong> trabajo ya
sea <strong>de</strong>s<strong>de</strong> una PC o una PDA, a<strong>de</strong>más <strong>de</strong> esta comunicación, existe otra con el módulo<br />
<strong>de</strong> recolección y análisis <strong>de</strong> información, <strong>la</strong> cual se utiliza para realizar, <strong>de</strong> manera<br />
indirecta, consultas a <strong>la</strong> base <strong>de</strong> datos <strong>de</strong>l sistema y búsquedas <strong>en</strong> Internet. La<br />
administración <strong>de</strong> perfiles y aut<strong>en</strong>ticación <strong>de</strong> miembros se realizará <strong>en</strong> este módulo<br />
haci<strong>en</strong>do peticiones <strong>de</strong> consulta o modificaciones a <strong>la</strong> Base <strong>de</strong> Datos <strong>de</strong>l grupo don<strong>de</strong><br />
están almac<strong>en</strong>ados los perfiles <strong>de</strong> los miembros <strong>de</strong>l grupo.<br />
PDA<br />
Interfaz <strong>de</strong><br />
Usuario<br />
SERVIDOR<br />
Modulo <strong>de</strong><br />
Monitoreo<br />
Cont<strong>en</strong>edor<br />
<strong>de</strong> Ag<strong>en</strong>te<br />
Modulo <strong>de</strong><br />
Control<br />
PC<br />
Interfaz <strong>de</strong><br />
Usuario<br />
Internet/<br />
Intranet<br />
Adm. De<br />
Ag<strong>en</strong>te <strong>de</strong><br />
Búsqueda<br />
Repositorio<br />
Local<br />
Cont<strong>en</strong>edor<br />
<strong>de</strong> Ag<strong>en</strong>te<br />
Modulo <strong>de</strong><br />
Búsqueda<br />
Repositorio<br />
Grupal<br />
Fig.3 Arquitectura <strong>de</strong>l Sistema <strong>de</strong> Co<strong>la</strong>boración.<br />
2.2 Módulo <strong>de</strong> Búsqueda<br />
Encargado <strong>de</strong> hacer <strong>la</strong>s consultas a <strong>la</strong> Base <strong>de</strong> Datos <strong>de</strong>l grupo, ya que es el único<br />
módulo que ti<strong>en</strong>e conexión directa a <strong>la</strong> Base <strong>de</strong> Datos, y regresar los datos al módulo<br />
<strong>de</strong> administración. También ti<strong>en</strong>e <strong>la</strong> función <strong>de</strong> darle un formato estándar a <strong>la</strong><br />
información (XML) para ser almac<strong>en</strong>ada y que pueda ser regresada <strong>en</strong> difer<strong>en</strong>tes<br />
formatos (HTML ó WML); el módulo no cu<strong>en</strong>ta con acceso a Internet por lo que<br />
necesita establecer comunicación con el modulo <strong>de</strong> búsqueda <strong>en</strong> Internet para hacer<br />
búsquedas <strong>de</strong> este tipo, estos docum<strong>en</strong>tos prov<strong>en</strong>i<strong>en</strong>tes <strong>de</strong> Internet son analizados por<br />
el módulo <strong>de</strong> administración basándose <strong>en</strong> el perfil <strong>de</strong>l usuario. Este modulo también<br />
ti<strong>en</strong>e <strong>la</strong> función <strong>de</strong> realizar búsquedas <strong>en</strong> Internet y regresar<strong>la</strong>s al modulo <strong>de</strong><br />
administración.<br />
2.3 Módulo <strong>de</strong>l Ag<strong>en</strong>te <strong>de</strong> Usuario<br />
Se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> ambos tipos <strong>de</strong> cli<strong>en</strong>tes (PDA y PC). Debido a que ti<strong>en</strong>e comunicación<br />
con el servidor, vía Internet, se <strong>en</strong>carga <strong>de</strong> hacerle llegar <strong>la</strong>s peticiones <strong>de</strong>l usuario,<br />
a<strong>de</strong>más es don<strong>de</strong> se almac<strong>en</strong>a temporalm<strong>en</strong>te (lo que dure <strong>la</strong> sesión) un id<strong>en</strong>tificador <strong>de</strong><br />
usuario.
2.4 Módulo <strong>de</strong> Interfaz <strong>de</strong> Usuario<br />
Conti<strong>en</strong>e <strong>la</strong>s herrami<strong>en</strong>tas disponibles para el usuario: búsqueda <strong>de</strong> información,<br />
recuperación <strong>de</strong> docum<strong>en</strong>tos, publicación <strong>de</strong> docum<strong>en</strong>tos y <strong>en</strong>vío <strong>de</strong> m<strong>en</strong>sajes. Se<br />
comunica con el módulo <strong>de</strong>l Ag<strong>en</strong>te <strong>de</strong>l usuario para llevar a cabo estas funciones.<br />
2.5 Modulo <strong>de</strong> Base <strong>de</strong> Datos y Conocimi<strong>en</strong>to<br />
Esté modulo se divi<strong>de</strong> <strong>en</strong> dos partes, una que trabaja <strong>en</strong> el servidor y <strong>la</strong> otra que opera<br />
sobre los cli<strong>en</strong>tes <strong>de</strong>l sistema. La que está pres<strong>en</strong>te <strong>en</strong> el servidor conti<strong>en</strong>e <strong>la</strong><br />
información y perfiles <strong>de</strong> los miembros y los docum<strong>en</strong>tos <strong>de</strong>l grupo y <strong>la</strong> que se<br />
<strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> el cli<strong>en</strong>te <strong>de</strong> tipo PC y conti<strong>en</strong>e los docum<strong>en</strong>tos reci<strong>en</strong>tes <strong>de</strong> un miembro<br />
<strong>en</strong> particu<strong>la</strong>r para que puedan ser examinados sin estar <strong>en</strong> línea.<br />
Una vez <strong>de</strong>finida <strong>la</strong> Arquitectura <strong>en</strong> <strong>la</strong> sigui<strong>en</strong>te sección se pres<strong>en</strong>tara su diseño y <strong>la</strong><br />
implem<strong>en</strong>tación <strong>de</strong> <strong>la</strong> misma.<br />
3. Diseño e Imp<strong>la</strong>ntación <strong>de</strong> <strong>la</strong> Arquitectura<br />
El diseño <strong>de</strong> <strong>la</strong> Arquitectura se basa <strong>en</strong> <strong>la</strong> Arquitectura <strong>de</strong>l sistema y <strong>la</strong> implem<strong>en</strong>tación<br />
sobre una p<strong>la</strong>taforma <strong>de</strong> Ag<strong>en</strong>tes Móviles que trabajan para administrar <strong>la</strong> información<br />
y docum<strong>en</strong>tos que se guardan, consultan y g<strong>en</strong>eran <strong>en</strong> el sistema.<br />
La imp<strong>la</strong>ntación es un problema sustancial que hasta ahora se ha resuelto con <strong>la</strong><br />
utilización <strong>de</strong> una infraestructura <strong>de</strong> ag<strong>en</strong>tes que permitan id<strong>en</strong>tificar pot<strong>en</strong>ciales<br />
co<strong>la</strong>boradores y realizar tareas <strong>de</strong> búsqueda <strong>de</strong> manera autónoma. Se <strong>de</strong>fine un<br />
ambi<strong>en</strong>te co<strong>la</strong>borativo que maneje dos tipos <strong>de</strong> ag<strong>en</strong>tes intelig<strong>en</strong>tes, los ag<strong>en</strong>tes <strong>de</strong><br />
usuario y los ag<strong>en</strong>tes mediadores.<br />
Estos ag<strong>en</strong>tes trabajan sobre una p<strong>la</strong>taforma <strong>de</strong> movilidad permiti<strong>en</strong>do <strong>la</strong> comunicación<br />
con múltiples usuarios y el manejo <strong>de</strong> múltiples docum<strong>en</strong>tos e información. La<br />
habilidad <strong>de</strong> interactuar, esto es, <strong>de</strong> intercambiar información y conocimi<strong>en</strong>to <strong>de</strong> los<br />
ag<strong>en</strong>tes es lo que nos lleva a su aplicación <strong>en</strong> <strong>en</strong>tornos co<strong>la</strong>borativos.<br />
La implem<strong>en</strong>tación muestra el <strong>de</strong>sarrollo y codificación <strong>de</strong> <strong>la</strong> arquitectura p<strong>la</strong>nteada<br />
con base <strong>en</strong> su diseño y mo<strong>de</strong><strong>la</strong>do, dándole una funcionalidad a través <strong>de</strong> herrami<strong>en</strong>tas<br />
para el trabajo <strong>en</strong> grupo. La arquitectura se <strong>de</strong>sarrollo completam<strong>en</strong>te <strong>en</strong> Java<br />
trabajando con <strong>la</strong> funcionalidad <strong>de</strong> Ja<strong>de</strong> para <strong>la</strong> creación <strong>de</strong> lo ag<strong>en</strong>tes y con <strong>la</strong> API <strong>de</strong><br />
Google para permitirnos realizar búsquedas mas especializadas sobre <strong>la</strong> información<br />
solicitada y requerida <strong>de</strong> acuerdo al perfil <strong>de</strong> nuestro usuario.<br />
La Arquitectura se ha implem<strong>en</strong>tado para su prueba <strong>en</strong> un <strong>en</strong>torno real d<strong>en</strong>tro <strong>de</strong> <strong>la</strong><br />
Escue<strong>la</strong> Superior <strong>de</strong> <strong>Computación</strong> <strong>de</strong>l Instituto Politécnico Nacional, don<strong>de</strong> ha<br />
permitido (<strong>en</strong> una fase experim<strong>en</strong>tal) <strong>la</strong> comunicación e intercambio <strong>de</strong> información<br />
<strong>en</strong>tre una comunidad <strong>de</strong> alumnos y maestros lo cual permite asegurar <strong>la</strong> aplicabilidad<br />
<strong>de</strong> <strong>la</strong> arquitectura así como su flexibilidad para adaptarse a distintos tipos <strong>de</strong><br />
intercambio <strong>de</strong> información sobre difer<strong>en</strong>tes grupos <strong>de</strong> co<strong>la</strong>boración.
4. Conclusiones y Trabajo a Futuro<br />
Esta arquitectura resulta <strong>de</strong> un proyecto <strong>de</strong> investigación que <strong>en</strong>globa dos aspectos<br />
importantes <strong>de</strong> <strong>la</strong>s tecnologías <strong>de</strong> <strong>la</strong> información; por un <strong>la</strong>do los ambi<strong>en</strong>tes<br />
co<strong>la</strong>borativos <strong>de</strong> trabajo y por el otro, <strong>la</strong>s tecnologías <strong>de</strong> cómputo Móvil. Los primeros<br />
son útiles <strong>de</strong>bido a que permit<strong>en</strong> a los usuarios <strong>de</strong> un sistema o aplicación t<strong>en</strong>er<br />
conci<strong>en</strong>cia <strong>de</strong> que aún estando <strong>en</strong> su propia estación <strong>de</strong> trabajo forman parte <strong>de</strong> un<br />
grupo y <strong>la</strong>s activida<strong>de</strong>s se pued<strong>en</strong> realizar conjuntam<strong>en</strong>te. En un ambi<strong>en</strong>te co<strong>la</strong>borativo,<br />
los usuarios pued<strong>en</strong> estar <strong>en</strong> constante interacción lo que brinda retroalim<strong>en</strong>tación,<br />
fom<strong>en</strong>ta discusiones y agiliza el cumplimi<strong>en</strong>to <strong>de</strong> un mismo fin. Las tecnologías <strong>de</strong><br />
cómputo móvil, por su parte, nos brindan <strong>la</strong> capacidad <strong>de</strong> tras<strong>la</strong>dar el ambi<strong>en</strong>te a<br />
cualquier lugar y <strong>en</strong> cualquier mom<strong>en</strong>to lo que <strong>de</strong>saparece <strong>la</strong> limitante <strong>de</strong> <strong>en</strong>contrarse<br />
fr<strong>en</strong>te a una computadora para po<strong>de</strong>r ingresar al sistema. El tipo <strong>de</strong> arquitectura<br />
<strong>de</strong>sarrol<strong>la</strong>da pue<strong>de</strong> ser útil a varios propósitos. En esta ocasión se <strong>de</strong>mostró su<br />
funcionalidad a través <strong>de</strong> una aplicación ori<strong>en</strong>tada al apr<strong>en</strong>dizaje co<strong>la</strong>borativo, sin<br />
embargo cambiando los módulos <strong>de</strong> base <strong>de</strong> datos y <strong>de</strong> interfaces se pue<strong>de</strong> cambiar el<br />
tipo <strong>de</strong> aplicación. Se p<strong>en</strong>só <strong>en</strong> una aplicación ori<strong>en</strong>tada al conocimi<strong>en</strong>to <strong>de</strong>bido a <strong>la</strong><br />
convicción <strong>de</strong> que el crecimi<strong>en</strong>to social, cultural, económico, está fuertem<strong>en</strong>te asociado<br />
con el nivel <strong>de</strong> conocimi<strong>en</strong>to adquirido y aplicado. Asimismo, el pres<strong>en</strong>te trabajo se<br />
<strong>en</strong>foca a <strong>la</strong> adquisición <strong>de</strong> conocimi<strong>en</strong>to o apr<strong>en</strong>dizaje <strong>en</strong> un nivel <strong>de</strong> estudios<br />
superiores o apr<strong>en</strong>dizaje <strong>en</strong> adultos, ya que el apr<strong>en</strong>dizaje co<strong>la</strong>borativo se adapta a <strong>la</strong>s<br />
necesida<strong>de</strong>s <strong>de</strong> este sector. Así, una conclusión importante a <strong>la</strong> que se ha llegado es que<br />
<strong>la</strong> arquitectura es totalm<strong>en</strong>te flexible y aplicable a múltiples áreas y difer<strong>en</strong>tes<br />
necesida<strong>de</strong>s <strong>de</strong> usuarios. La aplicabilidad, <strong>en</strong>tonces, podrá cambiar <strong>de</strong> manera s<strong>en</strong>cil<strong>la</strong>.<br />
Como trabajo a Futuro es importante resaltar que esta arquitectura por su flexibilidad<br />
modu<strong>la</strong>r pue<strong>de</strong> implem<strong>en</strong>tarse sobre diversos campos <strong>de</strong> investigación y educación<br />
pero no se <strong>de</strong>scarta que también pueda emplearse <strong>en</strong> áreas <strong>de</strong> distribución <strong>de</strong><br />
información a grupos.<br />
Refer<strong>en</strong>cias<br />
[1] T Román Julián, Rebeca, Domínguez López Alejandro (2002). “Integración Efectiva <strong>de</strong> los<br />
Sistemas <strong>de</strong> Información, un mo<strong>de</strong>lo <strong>de</strong> apoyo”. CNCIIC Octubre 2002. Guada<strong>la</strong>jara,<br />
México.<br />
[2] Aya<strong>la</strong> Gerardo, Intellig<strong>en</strong>t Ag<strong>en</strong>ts for a Lifelong Learning Environm<strong>en</strong>t in Information<br />
Technologies, International Journal of Continuing Engineering Education and Life-Long<br />
Learning, 2002.<br />
[3] Kutay Cat, Interact Software Arquitechture, University of New South Wales, Australia<br />
2003.<br />
[4] Peredo Rubén, Et. al., Arquitectura Computacional para Sistemas <strong>de</strong> Apr<strong>en</strong>dizaje<br />
Co<strong>la</strong>borativo, Instituto Politécnico Nacional-C<strong>en</strong>tro <strong>de</strong> Investigación <strong>en</strong> <strong>Computación</strong>,<br />
México.<br />
[5] Rebollo Miguel, Et. al., CALIOPE: Una Arquitectura para Apr<strong>en</strong>dizaje Autónomo<br />
Co<strong>la</strong>borativo <strong>en</strong> Entornos no Presénciales, Universidad Politécnica <strong>de</strong> Val<strong>en</strong>cia, 2000.
Mobile Access to Digital Libraries via G<strong>en</strong>eric<br />
Interfaces<br />
Nohema Castel<strong>la</strong>nos, J. Alfredo Sánchez<br />
Universidad <strong>de</strong> <strong>la</strong>s Américas-Pueb<strong>la</strong>,<br />
e-mail : {sp089077, alfredo}@mail.ud<strong>la</strong>p.mx<br />
Cholu<strong>la</strong>, Pueb<strong>la</strong>, C.P. 72820, Mexico<br />
Abstract: We have <strong>de</strong>signed an architecture aimed at facilitating access to<br />
digital library (DL) resources from mobile <strong>de</strong>vices. Our architecture inclu<strong>de</strong>s<br />
the notion of a unique specification used to dynamically build interfaces for<br />
an appropriate <strong>de</strong>ploym<strong>en</strong>t on each of various target mobile <strong>de</strong>vices in an<br />
automated fashion. We <strong>de</strong>scribe our architecture and report on the results<br />
being obtained for its first instantiation.<br />
Resum<strong>en</strong>: Se <strong>de</strong>scribe una arquitectura que facilita el acceso a recursos <strong>de</strong><br />
bibliotecas digitales (BDs) <strong>de</strong>s<strong>de</strong> dispositivos móviles. La arquitectura<br />
incluye <strong>la</strong> noción <strong>de</strong> una especificación única que se usa para construir<br />
interfaces dinámicam<strong>en</strong>te y se <strong>de</strong>spliegan a<strong>de</strong>cuadam<strong>en</strong>te <strong>en</strong> cada uno <strong>de</strong> los<br />
diversos dispositivos móviles objetivo <strong>de</strong> manera automática. Este<br />
docum<strong>en</strong>to <strong>de</strong>scribe <strong>la</strong> arquitectura propuesta y reporta los resultados que se<br />
han obt<strong>en</strong>ido con una primera instancia <strong>de</strong> este concepto.<br />
Keywords: Digital libraries, g<strong>en</strong>eric interfaces, XML, mobile<br />
<strong>de</strong>vices, OAI.<br />
1. Introduction<br />
Digital libraries (DLs) are virtual spaces that comprise huge digital repositories and<br />
a wi<strong>de</strong> range of services, user <strong>en</strong>vironm<strong>en</strong>ts and interfaces, int<strong>en</strong><strong>de</strong>d to support<br />
learning and col<strong>la</strong>borative research activities. In or<strong>de</strong>r to assist DL users in <strong>de</strong>aling<br />
with such a complex system, we posit that they should be able to create virtual<br />
spaces from which they can access DL resources, manage cont<strong>en</strong>ts relevant to their<br />
interests and organize them according to their needs and prefer<strong>en</strong>ces. We term<br />
these <strong>en</strong>vironm<strong>en</strong>ts personal spaces. We have be<strong>en</strong> exploring the notion of<br />
fe<strong>de</strong>rated personal spaces in the context of fe<strong>de</strong>ration of DLs that operate un<strong>de</strong>r<br />
OAI-PMH [5]. Three cooperating institutions participate curr<strong>en</strong>tly in our project,<br />
[6] but the approach is ext<strong>en</strong>sible to all OAI-PMH collections.<br />
Although we have instantiated successfully the concept of personal space for<br />
<strong>de</strong>ploym<strong>en</strong>t with conv<strong>en</strong>tional workstations, we would like to make our DL<br />
resources accessible to users from a wi<strong>de</strong> range of wireless and portable <strong>de</strong>vices as<br />
well. However, various differ<strong>en</strong>ces of mobile <strong>de</strong>vices with respect to conv<strong>en</strong>tional<br />
computers make existing user interfaces difficult to use and would make it<br />
necessary to re<strong>de</strong>sign user interfaces for each kind of <strong>de</strong>vice. Thus, we have
<strong>de</strong>signed a system architecture that inclu<strong>de</strong>s the notion of “g<strong>en</strong>eric” user interfaces<br />
and automates the g<strong>en</strong>eration of user interfaces for diverse portable <strong>de</strong>vices, such<br />
as PDAs and cellu<strong>la</strong>r phones.<br />
2. Re<strong>la</strong>ted Work<br />
The increasing importance of mobile <strong>de</strong>vices has motivated research regarding<br />
their use for accessing digital libraries. Important work has focused on usability<br />
issues. For example, [11] and [12] pres<strong>en</strong>t results of a study on the usefulness of<br />
handheld <strong>de</strong>vices in reading. [9] outlines the need for user-c<strong>en</strong>tered <strong>de</strong>sign in<br />
mobile computing and pres<strong>en</strong>ts the results from two preliminary studies aiming to<br />
solicit user feedback regarding mobile DL applications. [8] discusses some cultural<br />
and socio-technical concerns which arose with two small-scre<strong>en</strong> <strong>de</strong>mos<br />
implem<strong>en</strong>ted on the Gre<strong>en</strong>stone Digital Library. The user interface <strong>de</strong>sign of a<br />
cli<strong>en</strong>t system for Digital Vi<strong>de</strong>o Libraries access and pres<strong>en</strong>tation in a PDA was<br />
discussed in [10].<br />
In addition to usability issues, supporting mobile access to DLs involves the<br />
provision of dynamic interfaces that r<strong>en</strong><strong>de</strong>r appropriately on disp<strong>la</strong>ys smaller than<br />
those of <strong>de</strong>sktop. This makes it difficult to use existing user interfaces and would<br />
make it necessary to re<strong>de</strong>sign user interfaces for each kind of <strong>de</strong>vice. To provi<strong>de</strong><br />
users with web pages that are well-suited to the limited scre<strong>en</strong> and capabilities, [1]<br />
<strong>de</strong>scribes four major approaches: <strong>de</strong>vice-specific authoring; multiple-<strong>de</strong>vice<br />
authoring; cli<strong>en</strong>t-si<strong>de</strong> navigation; and automatic re-authoring. Device-specific<br />
authoring involves <strong>de</strong>signing user interfaces for each kind of <strong>de</strong>vice; in multiple<strong>de</strong>vice<br />
authoring, a range of target <strong>de</strong>vices is id<strong>en</strong>tified, and mappings from a<br />
single source docum<strong>en</strong>t to a set of r<strong>en</strong><strong>de</strong>red docum<strong>en</strong>ts are <strong>de</strong>fined to cover the<br />
<strong>de</strong>vices within the range; in cli<strong>en</strong>t-si<strong>de</strong> navigation, the user is giv<strong>en</strong> the ability to<br />
interactively navigate a single web page by altering the portion of it that is<br />
disp<strong>la</strong>yed at any giv<strong>en</strong> time; finally, automatic re-authoring involves <strong>de</strong>veloping<br />
software which can take an arbitrary web docum<strong>en</strong>t <strong>de</strong>signed for the <strong>de</strong>sktop,<br />
along with characteristics of the target disp<strong>la</strong>y <strong>de</strong>vice, and re-author the docum<strong>en</strong>t<br />
through a series of transformation. This transformation is referred to as transcoding<br />
[4].<br />
A new approach has emerged rec<strong>en</strong>tly which proposes XML-based markup<br />
<strong>la</strong>nguages as the basis for creating g<strong>en</strong>eric interfaces. A g<strong>en</strong>eric interface is<br />
specified in such a way that its appearance may vary from <strong>de</strong>vice to <strong>de</strong>vice while<br />
its functionality remains the same for each of the involved <strong>de</strong>vices [3]. UIML<br />
(User Interface Markup Language) [2] is repres<strong>en</strong>tative of this approach. UIML<br />
<strong>de</strong>scribes g<strong>en</strong>eric user interfaces in a <strong>de</strong>vice-in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t manner and mapped to a<br />
specific target <strong>la</strong>nguage. As many versions of the g<strong>en</strong>eric interface have to be<br />
constructed as target <strong>la</strong>nguages are <strong>de</strong>sired. These multiple <strong>de</strong>scriptions constrain<br />
the g<strong>en</strong>erality in the <strong>de</strong>sign of user interfaces [10]. We address some of these<br />
drawbacks in our approach.
3. Dynamic G<strong>en</strong>eration of Interfaces for Digital Libraries<br />
We have <strong>de</strong>signed a conceptual architecture aimed at accessing DL resources from<br />
mobile <strong>de</strong>vices. Our approach to create dynamic interfaces that <strong>de</strong>ploy correctly on<br />
small scre<strong>en</strong>s combines the notion of g<strong>en</strong>eric interface and the automatic reauthoring<br />
approach, as a transcoding process is applied to a unique specification—<br />
which we term g<strong>en</strong>eric interface—to dynamically build interfaces for appropriate<br />
<strong>de</strong>ploym<strong>en</strong>t on each of various target mobile <strong>de</strong>vices. In contrast with the approach<br />
of UIML, these interface specifications should not need to be mapped to the<br />
specific target <strong>la</strong>nguages, as our interface specifications are <strong>de</strong>vice-in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t.<br />
As noted in Fig. 1, the architecture consists of three main compon<strong>en</strong>ts, namely:<br />
Fig. 1 Conceptual architecture for interface g<strong>en</strong>eration<br />
G<strong>en</strong>eric interfaces contain the <strong>de</strong>scriptions of user interfaces. These <strong>de</strong>scriptions<br />
must be writt<strong>en</strong> in a g<strong>en</strong>eric format and in a <strong>de</strong>vice-in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t manner.<br />
Converters transform the interface <strong>de</strong>scriptions into the specific target <strong>la</strong>nguages.<br />
This compon<strong>en</strong>t contains one converter for each target <strong>la</strong>nguage.<br />
The interface g<strong>en</strong>erator builds the interfaces that are ultimately pres<strong>en</strong>ted to the<br />
user. This compon<strong>en</strong>t g<strong>en</strong>erates interfaces by adapting the co<strong>de</strong> produced by the<br />
converter to the corresponding DL service and the personal configuration of the<br />
users. This is what provi<strong>de</strong>s our g<strong>en</strong>eric interfaces with in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>ce from a<br />
specific target <strong>la</strong>nguage. We conceive the interface g<strong>en</strong>erator as consisting of three<br />
major sub-compon<strong>en</strong>ts: (1) Device profiles: Each <strong>de</strong>vice has its own profile, which<br />
<strong>de</strong>scribes its features: family (cellu<strong>la</strong>r phone, PDA, voice browser, etc), v<strong>en</strong>dor,<br />
mo<strong>de</strong>l, scre<strong>en</strong> size, interaction modality (keyboard, touch scre<strong>en</strong>, etc), <strong>la</strong>nguages<br />
and browser; (2) DL service drivers: Each module provi<strong>de</strong>s functionality for<br />
accessing a specific service provi<strong>de</strong>d of the DL; and (3) Interface buil<strong>de</strong>rs: These<br />
modules adapt the interfaces produced by the converter to the <strong>de</strong>vice features, the<br />
corresponding DL service and the user configuration.
4. Prototypical Implem<strong>en</strong>tation<br />
We have produced a prototypical implem<strong>en</strong>tation of the proposed architecture for<br />
providing mobile access to our personal space <strong>en</strong>vironm<strong>en</strong>t, h<strong>en</strong>ce we refer to this<br />
implem<strong>en</strong>tation as Portable Personal Spaces (PoPS). PoPS fosters mobile access to<br />
DLs using XML technologies and a cli<strong>en</strong>t-server approach for accessing our DL’s<br />
services. In correspond<strong>en</strong>ce to the proposed architecture, our prototype consists of<br />
the following major compon<strong>en</strong>ts:<br />
G<strong>en</strong>eric personal space (GPS):Thisisthesetofg<strong>en</strong>ericinterfacesforthepersonal<br />
space <strong>en</strong>vironm<strong>en</strong>t. Device in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>ce for these interfaces is accomplished by<br />
using a g<strong>en</strong>eric XML format.<br />
Converter: This compon<strong>en</strong>t transforms the interface <strong>de</strong>scriptions into co<strong>de</strong> which<br />
is writt<strong>en</strong> in the <strong>la</strong>nguage used by the target <strong>de</strong>vice. It comprises two subcompon<strong>en</strong>ts:<br />
XSL stylesheets and an XSLT processor.<br />
Interface g<strong>en</strong>erator: This compon<strong>en</strong>t builds the interfaces that ultimately are<br />
pres<strong>en</strong>ted to the user. It consists of three elem<strong>en</strong>ts:<br />
Device profiles, which are writt<strong>en</strong> in XML. Each profile is kept in one single<br />
XML file. At pres<strong>en</strong>t, PoPS contemp<strong>la</strong>tes three <strong>de</strong>vices (iPAQ Pocket PC, Palm<br />
Tungst<strong>en</strong> C and Siem<strong>en</strong>s S45) and five features: family, v<strong>en</strong>dor, mo<strong>de</strong>l,<br />
<strong>la</strong>nguage and browser.<br />
DL service drivers, which allow for accessing the differ<strong>en</strong>t services provi<strong>de</strong>d by<br />
the fe<strong>de</strong>rated DLs. Access to fe<strong>de</strong>rated collections is accomplished by relying<br />
on a distributed search p<strong>la</strong>tform we refer to as MAIDL. This p<strong>la</strong>tform<br />
implem<strong>en</strong>ts distributed information retrieval services through mobile ag<strong>en</strong>ts that<br />
travel around the no<strong>de</strong>s in the fe<strong>de</strong>ration seeking information that may be<br />
relevantforuserqueries[7].<br />
Interfaces buil<strong>de</strong>rs (IB) adapt the interfaces produced by the converter to the<br />
<strong>de</strong>vices features <strong>de</strong>scribed in the profiles, the respective service of the fe<strong>de</strong>rated<br />
DLs (for instance, search results) and the user configuration.<br />
5. G<strong>en</strong>erating interfaces for PDAs and mobile phones<br />
We have successfully implem<strong>en</strong>ted the key architectural compon<strong>en</strong>ts of PoPS,<br />
which in turn have produced prototypical interfaces for personal spaces that can be<br />
disp<strong>la</strong>yed on PDAs and cellu<strong>la</strong>r phones. PoPS works as follows:<br />
Each of the elem<strong>en</strong>ts of the GPS interface is kept in a single XML file. The<br />
converter transforms GPS these elem<strong>en</strong>ts into their XHTML (for PDAs) or WML<br />
(for WAP phones) equival<strong>en</strong>ts. An XSLT processor transforms each XML file of<br />
the GPS into WML or XHTML according to the instructions provi<strong>de</strong>d by the<br />
respective XSL stylesheet. Each of the target <strong>la</strong>nguages requires its own XSL<br />
stylesheet. Thus, the converter has two XSL stylesheets: one for XHTML and<br />
another for WML. Therefore, in or<strong>de</strong>r to convert the GPS to a new <strong>la</strong>nguage, only<br />
the appropriate XSL stylesheet of the new <strong>la</strong>nguage needs to be <strong>de</strong>signed. There is
no need to update any of the GPS specifications. Finally, the interface g<strong>en</strong>erator<br />
builds interfaces for personal spaces by adapting the co<strong>de</strong> produced by the<br />
converter to the user prefer<strong>en</strong>ces taking <strong>de</strong>vice limitations into account. A<br />
controller (implem<strong>en</strong>ted as a server) receives the requests from the cli<strong>en</strong>t, <strong>de</strong>tects<br />
what kind of <strong>de</strong>vice it is and instructs where that request should be forwar<strong>de</strong>d.<br />
6. Evaluation<br />
We applied PoPS to the 23 g<strong>en</strong>eric interface elem<strong>en</strong>ts that make up the personal<br />
space <strong>en</strong>vironm<strong>en</strong>ts <strong>de</strong>scribed previously. PoPS was able to g<strong>en</strong>erate the 46<br />
specific interfaces (23 in WML and 23 in XHTML) using the g<strong>en</strong>eric<br />
specifications. In all cases the conversion was successful and the g<strong>en</strong>erated<br />
interfaces were r<strong>en</strong><strong>de</strong>red correctly in the corresponding mobile <strong>de</strong>vice. Thus, we<br />
have successfully produced interfaces for personal spaces that can be disp<strong>la</strong>yed on<br />
PDAs and cellu<strong>la</strong>r phones. This prototypical implem<strong>en</strong>tation makes it possible to<br />
search information, using PDAs or mobile phones, in the fe<strong>de</strong>ration of digital<br />
collections discussed earlier. Users personalize the resulting interfaces by choosing<br />
from a list of icons (in a PDA) or <strong>la</strong>bels (in a cellu<strong>la</strong>r phone) that repres<strong>en</strong>t the<br />
various services provi<strong>de</strong>d by the fe<strong>de</strong>rated DLs. This is illustrated in Fig. 2.<br />
Fig. 2 Interfaces g<strong>en</strong>erated by PoPS<br />
Also, our prototypical implem<strong>en</strong>tations have un<strong>de</strong>rgone usability tests focused<br />
on our primary target community of users. The testing <strong>en</strong>vironm<strong>en</strong>t for the PDA<br />
interfaces was an iPaq H3870 Pocket PC that accesses PoPS through our<br />
university’s wireless network. For the cellu<strong>la</strong>r phone interfaces, the testing<br />
<strong>en</strong>vironm<strong>en</strong>t was the Siem<strong>en</strong>s S45 5.0.2 browser provi<strong>de</strong>d by the Op<strong>en</strong>wave SDK<br />
5.1 emu<strong>la</strong>tor to access PoPS via the Internet. During the tests using a PDA, we<br />
observed that participants adapted quickly to the mouseless interaction and were<br />
able to perform the tasks they int<strong>en</strong><strong>de</strong>d or were asked to do with only minimal<br />
guidance. Most of the users showed a great <strong>en</strong>thusiasm and curiosity about the use<br />
of mobile <strong>de</strong>vices to access our DL.
7. Conclusion<br />
At pres<strong>en</strong>t, our research group is col<strong>la</strong>borating in a joint project to create an<br />
infrastructure for distributed digital libraries to allow mobile access to multimedia<br />
collections. Also, we are working in an online converter that extracts HTML co<strong>de</strong><br />
from arbitrary web pages and transforms them into their XHTML, WML and<br />
VoiceXML equival<strong>en</strong>ts.<br />
The contribution of this work is re<strong>la</strong>ted not only to porting our personal space<br />
<strong>en</strong>vironm<strong>en</strong>ts to wireless <strong>de</strong>vices but also to <strong>de</strong>fining an architecture for facilitating<br />
the g<strong>en</strong>eration of user interfaces that can be disp<strong>la</strong>yed on a variety of mobile<br />
<strong>de</strong>vices. Our preliminary results show that PoPS is a promising approach to make<br />
DL resources accessible from mobile <strong>de</strong>vices.<br />
Acknowledgm<strong>en</strong>ts<br />
This work has be<strong>en</strong> supported by the University Corporation for Internet<br />
Developm<strong>en</strong>t (CUDI) through its Program for Advanced Applications 2004<br />
CONACyT (Project number 35804-A and G33009-A).<br />
Refer<strong>en</strong>ces<br />
[1] Bickmore, T.W., Schilit, B.N., “Digestor: Device-in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t Access to the World<br />
Wi<strong>de</strong> Web”, Proc. of the 6th International WWW Confer<strong>en</strong>ce, 1997.<br />
[2] Harmonia, Introduction to UIML. http://www.uiml.org, 2000.<br />
[3] Mayora-Ibarra, O., “G<strong>en</strong>eration of Device In<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t User Interfaces”, Proc. of<br />
International Workshop on Research & Developm<strong>en</strong>t of Human Communication<br />
Technologies for Conversational Interaction and Learning, 2002, pp 1-3.<br />
[4] Mohan, R. J., Smith, C.S., “Adapting Multimedia Internet Cont<strong>en</strong>t For Universal<br />
Access”, IEEE Transactions on Multimedia, 1999, pp 104-114.<br />
[5] OAI, “Op<strong>en</strong> Archives Initiative”, Avai<strong>la</strong>ble at: http://www.op<strong>en</strong>archives.org, 2003.<br />
[6] Reyes-Farfán, N., Sánchez, J.A., “Personal Spaces in the Context of OAI”, Proc. of the<br />
JCDL, Houston, Tex., May 2003, pp 182-183.<br />
[7] Sánchez, J. A., Nava, S., Fernán<strong>de</strong>z, L. Chevalier, G., “Distributed information<br />
retrieval from web-accessible digital libraries using mobile ag<strong>en</strong>ts” Upgra<strong>de</strong> 3, 2,<br />
Special Issue on Information Retrieval and the Web, April 2002, pp 37–43.<br />
[8] Buchanan, G., Jones, M., Marsd<strong>en</strong>, G., “Exploring Small Scre<strong>en</strong> Digital Library Access<br />
with the Gre<strong>en</strong>stone Digital Library”, Proc. ECDL, Springer-Ver<strong>la</strong>g, 2002, pp 583-596.<br />
[9] Jones, M. L. W., R. Rieger, Treadwell, P., Gay, G., “Live from the Stacks: User<br />
Feedback on Mobile Computers and Wireless Tools for Library Patrons”. Proc. of the<br />
Fifth Confer<strong>en</strong>ce on digital libraries, ACM, San Antonio, TX USA, 2000, pp 95-102.<br />
[10] Lyu, M., Y<strong>en</strong>, J., Yau, E., Sze, S., “A Wireless Handheld Multi-modal Digital Vi<strong>de</strong>o<br />
Library Cli<strong>en</strong>t System”, MIR’03, November 7, 2003, Berkeley, USA, pp 231-238.<br />
[11] Marshall, C, Ruotolo, C. “Reading-in-the-Small: a study of reading on small form<br />
factor <strong>de</strong>vices”, Proc. of the JCDL, ACM, Port<strong>la</strong>nd, USA, July 2002, pp 56-64.<br />
[12] Marshall, C., Price, M., Golovchinsky, G., Schilit, B., “Introducing a Digital Library<br />
Reading Appliance into a Reading Group”, ACM DL 1999, pp 77-84.
µCronos: Un micro Núcleo con Soporte para<br />
Adaptabilidad Segura <strong>de</strong> Bajo Nivel<br />
Víctor D. Castillo Díaz, Ro<strong>la</strong>ndo M<strong>en</strong>chaca-Mén<strong>de</strong>z<br />
C<strong>en</strong>tro <strong>de</strong> Investigación <strong>en</strong> <strong>Computación</strong><br />
Instituto Politécnico Nacional<br />
e-mail : VictorCastilloEn@acm.org, rm<strong>en</strong>@cic.ipn.mx<br />
Unidad Profesional “Adolfo López Mateos”. D.F., México.<br />
Abstract: A microkernel is composed of a minimum set of abstractions that are<br />
closely re<strong>la</strong>ted to the un<strong>de</strong>rlying hardware. These abstractions can be used as an<br />
infrastructure to build over them more specialized services that meet particu<strong>la</strong>r<br />
necessities. This kind of architectures allows operating systems to dynamically<br />
change its structure because all these specialized services are in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>tly<br />
implem<strong>en</strong>ted. This characteristic is particu<strong>la</strong>rly valuable wh<strong>en</strong> we have to meet<br />
the requirem<strong>en</strong>ts of applications executed in mobile <strong>de</strong>vices with limited<br />
resources that are <strong>de</strong>ployed in dynamic <strong>en</strong>vironm<strong>en</strong>ts such as those <strong>de</strong>scribed in<br />
ubiquitous sc<strong>en</strong>arios. In this paper we pres<strong>en</strong>t some key issues in the <strong>de</strong>sign and<br />
implem<strong>en</strong>tation of operating systems for ubiquitous <strong>en</strong>vironm<strong>en</strong>ts. We also<br />
purpose a microkernel <strong>de</strong>signed to solve these problems. We also show the results<br />
of the tests applied to our system.<br />
Resum<strong>en</strong>: Un micro núcleo está compuesto <strong>de</strong> un conjunto mínimo <strong>de</strong><br />
abstracciones que están fuertem<strong>en</strong>te ligadas al hardware subyac<strong>en</strong>te. Estas<br />
abstracciones pued<strong>en</strong> ser usadas como una infraestructura sobre <strong>la</strong> cual se pued<strong>en</strong><br />
construir servicios más especializados que cubran necesida<strong>de</strong>s particu<strong>la</strong>res. Este<br />
tipo <strong>de</strong> arquitecturas permit<strong>en</strong> a los sistemas operativos que <strong>la</strong>s utilizan, cambiar<br />
dinámicam<strong>en</strong>te su estructura. Esta característica es particu<strong>la</strong>rm<strong>en</strong>te valiosa<br />
cuando se quiere cumplir con los requerimi<strong>en</strong>tos <strong>de</strong> aplicaciones que se ejecutan<br />
<strong>en</strong> dispositivos móviles con recursos limitados y que interactúan <strong>en</strong> ambi<strong>en</strong>tes<br />
altam<strong>en</strong>te dinámicos como los <strong>de</strong>scritos <strong>en</strong> los esc<strong>en</strong>arios <strong>de</strong> cómputo ubicuo. En<br />
este artículo se pres<strong>en</strong>tan algunos <strong>de</strong> los problemas c<strong>la</strong>ve que se pres<strong>en</strong>tan <strong>en</strong> el<br />
diseño e implem<strong>en</strong>tación <strong>de</strong> sistemas operativos para ambi<strong>en</strong>tes ubicuos y se<br />
pres<strong>en</strong>ta un micro núcleo diseñado para solucionar estos problemas. Se pres<strong>en</strong>tan<br />
los resultados <strong>de</strong> pruebas comparativas <strong>de</strong> <strong>de</strong>sempeño.<br />
Pa<strong>la</strong>bras C<strong>la</strong>ve: Micro Núcleo, Ext<strong>en</strong>siones Confiables, Seguridad.<br />
1. Introducción<br />
Los primeros micro núcleos (µNúcleo) ofrecían flexibilidad, seguridad y modu<strong>la</strong>ridad,<br />
sin embargo no tuvieron el éxito esperado <strong>de</strong>bido principalm<strong>en</strong>te al pobre <strong>de</strong>sempeño<br />
que el paso <strong>de</strong> m<strong>en</strong>sajes g<strong>en</strong>eraba durante <strong>la</strong> transición <strong>de</strong> un espacio <strong>de</strong> direcciones<br />
protegido a otro.
Una segunda g<strong>en</strong>eración, ha logrado minimizar el problema <strong>de</strong>l <strong>de</strong>sempeño lo<br />
sufici<strong>en</strong>te como para darles viabilidad práctica [1] (se logró bajar el costo <strong>de</strong>l paso <strong>de</strong><br />
<strong>de</strong> 100 a 10 s). Sin embargo, no se ha logrado <strong>de</strong>sarrol<strong>la</strong>r un SO que cubra <strong>la</strong>s<br />
necesida<strong>de</strong>s <strong>de</strong> <strong>la</strong>s nuevas aplicaciones que se ejecutan <strong>en</strong> ambi<strong>en</strong>tes sumam<strong>en</strong>te<br />
cambiantes y con fuertes restricciones <strong>en</strong> cuanto a los recursos <strong>de</strong> cómputo. En este<br />
s<strong>en</strong>tido, consi<strong>de</strong>ramos que otro <strong>de</strong> los servicios básicos <strong>de</strong> un µNúcleo, <strong>de</strong>be ser su<br />
capacidad para reconfigurarse dinámicam<strong>en</strong>te y así ajustarse a los cambios <strong>en</strong> su<br />
<strong>en</strong>torno. Otra <strong>de</strong> <strong>la</strong>s principales limitantes para el <strong>de</strong>sempeño <strong>de</strong> los SO basados <strong>en</strong><br />
µNúcleo es <strong>la</strong> sobrecarga causada por <strong>la</strong> protección <strong>de</strong> hardware requerida para<br />
implem<strong>en</strong>tar difer<strong>en</strong>tes espacios <strong>de</strong> direcciones. Para solucionar estos problemas<br />
proponemos un esquema <strong>de</strong> ext<strong>en</strong>siones confiables, así como esquema da<br />
administración <strong>de</strong> memoria basado <strong>en</strong> un espacio <strong>de</strong> direcciones simple.<br />
El resto <strong>de</strong> este artículo está organizado <strong>de</strong> <strong>la</strong> sigui<strong>en</strong>te forma. La sección 2, <strong>de</strong>scribe<br />
<strong>la</strong>s principales propieda<strong>de</strong>s <strong>de</strong> <strong>la</strong> arquitectura <strong>de</strong> µNúcleo. En <strong>la</strong> sección 3, se pres<strong>en</strong>ta<br />
<strong>la</strong> arquitectura <strong>de</strong>l sistema. En <strong>la</strong> sección 4 pres<strong>en</strong>tamos los resultados preliminares <strong>de</strong><br />
<strong>la</strong>s pruebas realizadas a nuestro µNúcleo. Finalm<strong>en</strong>te <strong>la</strong> sección 5 pres<strong>en</strong>ta nuestras<br />
conclusiones y trabajos futuros.<br />
2. Arquitectura <strong>de</strong> µNúcleo<br />
El pobre <strong>de</strong>sempeño <strong>de</strong> los primeros micro-núcleos fue producido principalm<strong>en</strong>te por<br />
<strong>la</strong> reutilización y adaptación <strong>de</strong>l código <strong>de</strong> SO preexist<strong>en</strong>tes. Con esto <strong>en</strong> m<strong>en</strong>te, <strong>la</strong><br />
segunda g<strong>en</strong>eración fue diseñada e implem<strong>en</strong>tada a partir <strong>de</strong> cero y esta vez el<br />
<strong>de</strong>sarrollo se <strong>en</strong>focó <strong>en</strong> aprovechar <strong>la</strong>s características específicas <strong>de</strong> <strong>la</strong> arquitectura y<br />
obt<strong>en</strong>er un conjunto mínimo <strong>de</strong> mecanismos altam<strong>en</strong>te optimizados. Repres<strong>en</strong>tantes <strong>de</strong><br />
esta nueva g<strong>en</strong>eración son L4Ka [2] y QNX [3]. El conjunto mínimo <strong>de</strong> abstracciones<br />
que un µNúcleo normalm<strong>en</strong>te implem<strong>en</strong>ta está formado por: Hilos, Espacios <strong>de</strong><br />
Direcciones, y Mecanismos <strong>de</strong> Comunicación <strong>en</strong>tre Procesos (IPC).<br />
Mi<strong>en</strong>tras que los sistemas basados <strong>en</strong> <strong>la</strong> arquitectura µNúcleo ofrec<strong>en</strong> <strong>la</strong> mejor<br />
re<strong>la</strong>ción <strong>en</strong>tre protección y flexibilidad, ti<strong>en</strong><strong>en</strong> serios problemas <strong>de</strong> efici<strong>en</strong>cia. Por su<br />
parte los sistemas operativos ext<strong>en</strong>sibles ofrec<strong>en</strong> flexibilidad y efici<strong>en</strong>cia pero<br />
requier<strong>en</strong> <strong>de</strong> herrami<strong>en</strong>tas adicionales que asegur<strong>en</strong> <strong>la</strong> seguridad <strong>de</strong> <strong>la</strong>s ext<strong>en</strong>siones [4].<br />
En el diseño <strong>de</strong> <strong>la</strong> arquitectura <strong>de</strong> µCronos int<strong>en</strong>tamos conjugar <strong>la</strong>s v<strong>en</strong>tajas <strong>de</strong> ambas<br />
arquitecturas para lograr un sistema que sea a <strong>la</strong> vez confiable, flexible y efici<strong>en</strong>te.<br />
3. Arquitectura <strong>de</strong> µCronos<br />
Para <strong>de</strong>finir nuestra arquitectura partimos <strong>de</strong>l análisis <strong>de</strong> <strong>la</strong>s principales tecnologías <strong>de</strong><br />
ext<strong>en</strong>sión [4] y arquitecturas <strong>de</strong> sistemas operativos [5-10]. Como resultado, se<br />
<strong>de</strong>finieron los principales servicios <strong>de</strong> µCronos:
• Ext<strong>en</strong>siones confiables: Define el conjunto <strong>de</strong> servicios que hace posible ext<strong>en</strong><strong>de</strong>r<br />
<strong>la</strong> funcionalidad <strong>de</strong>l sistema, es responsable <strong>de</strong> obt<strong>en</strong>er módulos certificados <strong>de</strong> un<br />
repositorio, verificar si provi<strong>en</strong><strong>en</strong> <strong>de</strong> un proveedor certificado para proce<strong>de</strong>r a<br />
asignarle recursos y registrarlo d<strong>en</strong>tro <strong>de</strong> <strong>la</strong> infraestructura adaptable.<br />
• Administración <strong>de</strong> memoria simple: Permite hacer uso <strong>de</strong>l espacio <strong>de</strong> direcciones<br />
virtuales gestionado por el micro núcleo; incluye toda <strong>la</strong> funcionalidad re<strong>la</strong>cionada<br />
con el multiplexaje y administración <strong>de</strong>l espacio <strong>de</strong> direcciones.<br />
• Hilos libres: Provee <strong>la</strong> funcionalidad necesaria para gestionar <strong>la</strong> creación,<br />
administración y <strong>de</strong>strucción <strong>de</strong> hilos.<br />
• Infraestructura adaptable: Ofrece facilida<strong>de</strong>s para registrar y compartir objetos.<br />
• Acceso a repositorios <strong>de</strong> módulos <strong>de</strong> ext<strong>en</strong>sión: Por medio <strong>de</strong> este servicio, los<br />
proveedores certificados pued<strong>en</strong> publicar módulos certificados para que otros<br />
sistemas puedan hacer uso <strong>de</strong> ellos.<br />
• Almacén <strong>de</strong> l<strong>la</strong>ves: Por medio <strong>de</strong> este servicio se registran <strong>la</strong>s l<strong>la</strong>ves certificadas y<br />
sus propietarios, así como su revocación <strong>en</strong> un mom<strong>en</strong>to dado.<br />
Los <strong>de</strong>talles sobre cada una <strong>de</strong> <strong>la</strong>s abstracciones básicas serán <strong>de</strong>scritos <strong>en</strong> <strong>la</strong>s<br />
sigui<strong>en</strong>tes secciones.<br />
3.1. Ext<strong>en</strong>siones Confiables<br />
En pruebas comparativas realizadas a diversas tecnologías <strong>de</strong> ext<strong>en</strong>sión Small y Seltzer<br />
[4] concluyeron que <strong>la</strong>s tecnologías interpretadas son muy l<strong>en</strong>tas para respon<strong>de</strong>r a<br />
ev<strong>en</strong>tos <strong>de</strong>l núcleo, a su vez los sistemas basados <strong>en</strong> protección por hardware g<strong>en</strong>eran<br />
<strong>de</strong>masiada sobrecarga por causa <strong>de</strong>l constante número <strong>de</strong> m<strong>en</strong>sajes y cambios <strong>de</strong><br />
contexto, si<strong>en</strong>do <strong>en</strong>tonces <strong>la</strong>s tecnologías compi<strong>la</strong>das y con protecciones por software<br />
<strong>la</strong>s más a<strong>de</strong>cuadas para ext<strong>en</strong><strong>de</strong>r el núcleo <strong>de</strong> forma efici<strong>en</strong>te.<br />
Por lo anterior nuestra tecnología <strong>de</strong> ext<strong>en</strong>sión se basa <strong>en</strong> un esquema <strong>de</strong> confianza<br />
compuesto por un criptosistema <strong>de</strong> l<strong>la</strong>ve pública, un almacén <strong>de</strong> l<strong>la</strong>ves y repositorios<br />
<strong>de</strong> módulos. Bajo este esquema, una ext<strong>en</strong>sión confiable es implem<strong>en</strong>tada como un<br />
módulo firmado por un proveedor que a su vez es respaldado por una autoridad<br />
certificadora que ti<strong>en</strong>e <strong>la</strong> responsabilidad <strong>de</strong> aut<strong>en</strong>ticar <strong>la</strong> id<strong>en</strong>tidad <strong>de</strong> los proveedores<br />
certificados. A continuación <strong>de</strong>scribiremos con más <strong>de</strong>talle cada uno <strong>de</strong> los módulos<br />
que compon<strong>en</strong> el servicio <strong>de</strong> ext<strong>en</strong>siones confiables.<br />
Criptosistema <strong>de</strong> L<strong>la</strong>ve Pública. Las propieda<strong>de</strong>s c<strong>la</strong>ve que el criptosistema <strong>de</strong> l<strong>la</strong>ve<br />
pública [11] aporta a <strong>la</strong>s ext<strong>en</strong>siones seguras son:<br />
• Aut<strong>en</strong>ticidad: es posible validar <strong>la</strong> fu<strong>en</strong>te <strong>de</strong> un módulo; es <strong>de</strong>cir, que fue g<strong>en</strong>erado<br />
por un <strong>de</strong>sarrol<strong>la</strong>dor propiam<strong>en</strong>te id<strong>en</strong>tificado.<br />
• Integridad: se asegura que un módulo no fue modificado.<br />
• No repudiación: El creador <strong>de</strong> un módulo no pue<strong>de</strong> negar <strong>la</strong> autoría <strong>de</strong>l mismo.
Módulos. Un modulo es una <strong>en</strong>tidad ejecutable que se apega a normas <strong>de</strong><br />
construcción pre<strong>de</strong>finidas y opcionalm<strong>en</strong>te exporta una o más interfaces para que éstas<br />
sean usadas por otros módulos cooperativos. Típicam<strong>en</strong>te estos módulos conti<strong>en</strong><strong>en</strong><br />
funcionalidad extra que pue<strong>de</strong> ser adicionada dinámicam<strong>en</strong>te al núcleo <strong>de</strong>l sistema<br />
operativo. Dado que los módulos son verificados para garantizar que provi<strong>en</strong><strong>en</strong> <strong>de</strong> una<br />
fu<strong>en</strong>te confiable que asegura el correcto funcionami<strong>en</strong>to <strong>de</strong> <strong>la</strong> misma, <strong>la</strong> posibilidad <strong>de</strong><br />
que un error <strong>en</strong> un módulo pueda afectar otras partes <strong>de</strong>l sistema es reducida.<br />
Ext<strong>en</strong>siones Confiables. Por medio <strong>de</strong> un almacén <strong>de</strong> l<strong>la</strong>ves y <strong>la</strong> autoridad<br />
certificadora es posible contro<strong>la</strong>r, agregar o revocar permisos a los proveedores <strong>de</strong><br />
servicios que estén certificados. El mo<strong>de</strong>lo soporta 3 niveles <strong>de</strong> confianza: total,<br />
restringido o nulo. Es <strong>de</strong>cir, po<strong>de</strong>mos permitir que se <strong>de</strong>scargu<strong>en</strong> módulos <strong>de</strong> cualquier<br />
proveedor certificado, <strong>de</strong>finir un grupo restringido <strong>de</strong> ellos o no permitir <strong>la</strong>s<br />
ext<strong>en</strong>siones. Para realizar una ext<strong>en</strong>sión confiable se necesita:<br />
• Localizar el módulo que implem<strong>en</strong>ta <strong>la</strong> ext<strong>en</strong>sión <strong>de</strong>seada.<br />
• Verificar que el módulo cont<strong>en</strong>ga <strong>la</strong> firma digital <strong>de</strong> un proveedor certificado y que<br />
su l<strong>la</strong>ve pública se <strong>en</strong>cu<strong>en</strong>tre <strong>en</strong> el almacén <strong>de</strong> l<strong>la</strong>ves autorizadas.<br />
• Cargar el módulo certificado <strong>en</strong> el sistema.<br />
• Registrar el módulo <strong>en</strong> <strong>la</strong> tab<strong>la</strong> <strong>de</strong> objetos <strong>de</strong> <strong>la</strong> infraestructura adaptable.<br />
3.2. Espacio <strong>de</strong> Memoria Simple<br />
Nuestra arquitectura propone el uso <strong>de</strong> un espacio <strong>de</strong> direcciones simple (Single<br />
Address Space) que complem<strong>en</strong>tado con <strong>la</strong>s ext<strong>en</strong>siones confiables (Trusted<br />
Ext<strong>en</strong>sions) permite un mo<strong>de</strong>lo <strong>de</strong> protección fuerte no intrusivo <strong>en</strong> el que <strong>la</strong>s<br />
ext<strong>en</strong>siones no ti<strong>en</strong><strong>en</strong> que <strong>en</strong>fr<strong>en</strong>tarse con <strong>la</strong> sobrecarga causada por el esquema <strong>de</strong><br />
protección por hardware. Esto hace factible mejorar el <strong>de</strong>sempeño y flexibilidad<br />
mi<strong>en</strong>tras que por medio <strong>de</strong>l esquema <strong>de</strong> confianza se disminuye <strong>la</strong> posibilidad <strong>de</strong> que<br />
<strong>la</strong>s ext<strong>en</strong>siones realic<strong>en</strong> operaciones invalidas.<br />
En nuestro esquema, un fragm<strong>en</strong>to <strong>de</strong>l espacio <strong>de</strong> direcciones es consi<strong>de</strong>rado como<br />
el cont<strong>en</strong>edor <strong>de</strong> un objeto [12]. El sistema manti<strong>en</strong>e información re<strong>la</strong>cionada con los<br />
cont<strong>en</strong>edores <strong>de</strong> objetos <strong>en</strong> dos partes: La primera <strong>en</strong> el mapa <strong>de</strong> espacios <strong>de</strong><br />
direcciones gestionado por el administrador <strong>de</strong> memoria (don<strong>de</strong> se maneja información<br />
administrativa como posición, tamaño, etc.). La segunda <strong>en</strong> <strong>la</strong> tab<strong>la</strong> <strong>de</strong> objetos que es<br />
gestionada por el administrador <strong>de</strong> <strong>la</strong> configuración y que contro<strong>la</strong> <strong>la</strong>s refer<strong>en</strong>cias a<br />
objetos <strong>en</strong>tre diversas <strong>en</strong>tida<strong>de</strong>s <strong>de</strong>l sistema.<br />
3.3. Hilos Libres<br />
En nuestra arquitectura no existe el concepto <strong>de</strong> proceso y los hilos compart<strong>en</strong> un<br />
único espacio <strong>de</strong> direcciones. De esta manera los hilos pued<strong>en</strong> compartir código y datos<br />
(objetos) sin <strong>la</strong> sobrecarga impuesta por atravesar espacios <strong>de</strong> direcciones protegidos<br />
que caracteriza a los procesos. Este esquema favorece <strong>la</strong> adaptabilidad pues trata al hilo
como <strong>la</strong> unidad básica <strong>de</strong> ext<strong>en</strong>sión, haci<strong>en</strong>do posible <strong>la</strong>s ext<strong>en</strong>siones <strong>de</strong> grano fino<br />
[13] <strong>en</strong> el sistema. Por otro <strong>la</strong>do, si es requerido, un hilo pue<strong>de</strong> ser ext<strong>en</strong>dido hasta<br />
convertirse <strong>en</strong> un proceso. El mo<strong>de</strong>lo <strong>de</strong> hilos libres, ofrece v<strong>en</strong>tajas importantes sobre<br />
los hilos conv<strong>en</strong>cionales:<br />
• Ti<strong>en</strong><strong>en</strong> pocos problemas <strong>de</strong> cont<strong>en</strong>ción gracias a que compart<strong>en</strong> un espacio <strong>de</strong><br />
direcciones único.<br />
• Promuev<strong>en</strong> un mayor promedio <strong>de</strong> aciertos <strong>en</strong> el TLB por medio <strong>de</strong> un conjunto<br />
único <strong>de</strong> refer<strong>en</strong>cias a páginas frecu<strong>en</strong>tem<strong>en</strong>te usadas por todo el sistema y no <strong>la</strong>s<br />
<strong>de</strong> un conjunto por cada aplicación como suce<strong>de</strong> normalm<strong>en</strong>te <strong>en</strong> los procesos.<br />
• Se eliminan los costosos TLBs flushing.<br />
• Estos hilos pued<strong>en</strong> <strong>en</strong><strong>la</strong>zar y usar cualquier procedimi<strong>en</strong>to o estructura <strong>de</strong> datos.<br />
3.4. Infraestructura Adaptable<br />
Esta abstracción <strong>de</strong>fine a una estructura <strong>de</strong> datos responsable <strong>de</strong> almac<strong>en</strong>ar <strong>la</strong>s<br />
interfaces <strong>de</strong> los módulos cargados y <strong>de</strong>scargados sobre <strong>de</strong>manda. Actúa como un<br />
repositorio <strong>de</strong> interfaces por medio <strong>de</strong>l cual se manti<strong>en</strong>e <strong>la</strong> visibilidad global <strong>de</strong> los<br />
módulos <strong>en</strong><strong>la</strong>zados <strong>en</strong> el sistema. Las ext<strong>en</strong>siones son implem<strong>en</strong>tadas como módulos<br />
bi<strong>en</strong> <strong>de</strong>finidos que sólo interactúan por medio <strong>de</strong> sus interfaces. Una vez que se permite<br />
insta<strong>la</strong>r una ext<strong>en</strong>sión, ésta pue<strong>de</strong> acce<strong>de</strong>r sólo a los compon<strong>en</strong>tes publicados <strong>en</strong> <strong>la</strong><br />
tab<strong>la</strong> <strong>de</strong> objetos que es contro<strong>la</strong>da por el administrador <strong>de</strong> <strong>la</strong> configuración.<br />
4. Pruebas<br />
Actualm<strong>en</strong>te se cu<strong>en</strong>ta con una versión funcional para arquitectura IA-32 y se p<strong>la</strong>nea<br />
<strong>de</strong>sarrol<strong>la</strong>r 2 más para <strong>la</strong>s arquitecturas ARM e IA-64. La versión actual logra un<br />
<strong>de</strong>sempeño aceptable con respecto <strong>de</strong> sistemas simi<strong>la</strong>res. En nuestras pruebas<br />
seleccionamos 4 sistemas: Mungi, L4Ka, Aegis y Linux para mostrar el notable<br />
increm<strong>en</strong>to <strong>en</strong> el <strong>de</strong>sempeño obt<strong>en</strong>ido gracias a los avances tanto <strong>de</strong>l hardware como<br />
<strong>de</strong>l software <strong>de</strong> sistema. Los resultados se muestran <strong>en</strong> <strong>la</strong> Tab<strong>la</strong> 1.<br />
Servicio<br />
Cronos<br />
P4m, 1.8GHz<br />
Mungi<br />
R4600,<br />
100MHz<br />
L4Ka<br />
R4600,<br />
100MHz<br />
Aegis<br />
DEC3100 16.7<br />
MHz<br />
Linux<br />
R4600,<br />
100MHz<br />
threadCreate() 1.24 48 10 N/A N/A<br />
threadDelete() 0.42 48 N/A N/A N/A<br />
objectCreate() 0.49 60 N/A N/A N/A<br />
objectDelete() 0.15 150 N/A N/A N/A<br />
bind() 0.62 N/A N/A N/A N/A<br />
call() 0.02 30 0.86 10.4 160<br />
Procedure call 0.01 N/A N/A 0.42 2.9<br />
System call 0.71 4.6 N/A 2.9 6.3<br />
Tab<strong>la</strong> 1. Desempeño <strong>de</strong> los servicios básicos.
5. Conclusiones y Trabajos Futuros<br />
Este artículo <strong>de</strong>scribe el diseño <strong>de</strong> µCronos, un µnúcleo para SO dinámicam<strong>en</strong>te<br />
ext<strong>en</strong>sibles. Este µnúcleo incorpora varias características novedosas, como el uso <strong>de</strong><br />
una infraestructura <strong>de</strong> l<strong>la</strong>ve pública para aum<strong>en</strong>tar <strong>la</strong> confiabilidad <strong>de</strong> ext<strong>en</strong>siones<br />
dinámicas, así como un espacio <strong>de</strong> direcciones simple que brinda flexibilidad y mejoras<br />
<strong>en</strong> el <strong>de</strong>sempeño; a<strong>de</strong>más <strong>de</strong>l administrador <strong>de</strong> <strong>la</strong> configuración que <strong>en</strong> co<strong>la</strong>boración<br />
con los hilos esca<strong>la</strong>bles, favorece <strong>la</strong> reconfiguración dinámica <strong>de</strong>l sistema.<br />
Finalm<strong>en</strong>te, consi<strong>de</strong>ramos que los sistemas mo<strong>de</strong>rnos y <strong>en</strong> particu<strong>la</strong>r aquellos que se<br />
ejecutan <strong>en</strong> dispositivos con recursos restringidos requier<strong>en</strong> reconfigurabilidad <strong>en</strong> el<br />
nivel <strong>de</strong>l sistema para obt<strong>en</strong>er un mejor <strong>de</strong>sempeño y flexibilidad, y <strong>la</strong> arquitectura <strong>de</strong><br />
Cronos es una alternativa para soportar estos requerimi<strong>en</strong>tos.<br />
Refer<strong>en</strong>cias<br />
[1] J. Liedtke, “Toward Real Microkernels”, Communications of the ACM, Vol. 39, No. 9,<br />
Sept. 1996, pp. 70-77.<br />
[2] J. Liedtke, et al, “The L4Ka Vision”, University of Karlsruhe, System Architecture<br />
Group, Karlsruhe, Germany, April 2001.<br />
[3] D. Hil<strong>de</strong>brand, “An architectural overview of QNX”, 1st USENIX Workshop on Microkernels<br />
and Other Kernel Architectures, Seattle, WA, April 1992, pp. 113–126.<br />
[4] Christopher A. Small and Margo Seltzer, “A Comparison of OS Ext<strong>en</strong>sion<br />
Technologies”, Proceedings of the 1996 USENIX Technical Confer<strong>en</strong>ce, San Diego, CA,<br />
January 1996.<br />
[5] Deepack Gupta, “Ext<strong>en</strong>sible Operating Systems”, Departm<strong>en</strong>t of Computer Sci<strong>en</strong>ce and<br />
Engineering, Indian Institute of Technology, Kanpur, April 2001.<br />
[6] Gernot Heiser, Kevin Elphinstone, Jerry Vochteloo, Steph<strong>en</strong> Russell and Joch<strong>en</strong> Liedtke,<br />
“The Mungi Single-Address-Space Operating System”, Software: Practice &<br />
Experi<strong>en</strong>ce, July 1998.<br />
[7] Dawson R. Engler, “The Exokernel Operating System Architecture”, Massachusetts<br />
Institute of Technology, Depto. of Electrical Engineering and Computer Sci<strong>en</strong>ce,<br />
Doctoral Thesis, October 1998.<br />
[8] Ivan Bowman, Saheem Siddiqi, Meyer C. Tanuan, “Concrete Architecture of the Linux<br />
Kernel”, Departm<strong>en</strong>t of computer Sci<strong>en</strong>ce, University of Waterloo, Feb 1998.<br />
[9] Jean-Philippe Fassino, Jean-Bernard Stefani, Julia Lawall and Gilles Muller, “THINK: A<br />
Software Framework for Compon<strong>en</strong>t-based Operating System Kernels”, USENIX<br />
Annual Technical Confer<strong>en</strong>ce, Monterey, California, USA, June 2002.<br />
[10] Andrew S. Tan<strong>en</strong>baum, “A Comparision of Three Microkernels”, Dept. of Mathematics<br />
and Computer Sci<strong>en</strong>ces, Vrije Universiteit, Amsterdam, The Nether<strong>la</strong>nds, 1995.<br />
[11] R. Rivest, A. Shamir, L. Adleman,"A Method for Obtaining Digital Signatures and<br />
Public-Key Cryptosystems, "Communications of the ACM, Vol.21, No.2, Feb. 1978, pp.<br />
120-126.<br />
[12] Daniel Cutting, “Protection Domains and Threads in Mungi”, School of Computer<br />
Sci<strong>en</strong>ce and Engineering, The University of New South Wales, Sidney2052, Australia<br />
1998.<br />
[13] Tr<strong>en</strong>t Jaeger, Joch<strong>en</strong> Liedtke and Nayeem Is<strong>la</strong>m, “Operating System Protection for Fine-<br />
Grained Programs”, Proceedings of the 7th USENIX Security Symposium, San Antonio,<br />
Texas, January 1998.
Context-Aware Middleware for Pervasive and Mobile Ad Hoc<br />
Environm<strong>en</strong>ts<br />
Hector A. Duran-Limon<br />
Departm<strong>en</strong>t of Computing Sci<strong>en</strong>ce, Tecnológico <strong>de</strong> Monterrey (ITESM), Campus<br />
Guada<strong>la</strong>jara, México.<br />
Gordon S. B<strong>la</strong>ir, Adrian Friday, Thirunavukkarasu Sivaharan, Maomao Wu, Paul<br />
Okanda, Carl-Fredrik Sør<strong>en</strong>s<strong>en</strong><br />
Computing Departm<strong>en</strong>t, Lancaster University, Bailrigg, Lancaster LA1 4YR, UK<br />
Abstract: Rec<strong>en</strong>t advances in the area of mobile ad hoc computing and pervasive computing<br />
have driv<strong>en</strong> the emerg<strong>en</strong>ce of new chall<strong>en</strong>ges. For example, the “Intellig<strong>en</strong>t Environm<strong>en</strong>t” or<br />
“Smart Environm<strong>en</strong>t” has become one of the key research areas in the pervasive computing ar<strong>en</strong>a.<br />
Mobile ad hoc sc<strong>en</strong>arios also inclu<strong>de</strong> time-critical applications such as an autonomous vehicle<br />
system in which vehicles are able to operate in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>tly and cooperate with each other to avoid<br />
collisions. In this paper, we pres<strong>en</strong>t a context-aware middleware architecture for the support of<br />
both pervasive and mobile ad hoc <strong>en</strong>vironm<strong>en</strong>ts.<br />
Resum<strong>en</strong>: <strong>Avances</strong> reci<strong>en</strong>tes <strong>en</strong> el área <strong>de</strong> computación móvil ad hoc y cómputo p<strong>en</strong>etrante<br />
(pervasive computing) han dado cauce al surgimi<strong>en</strong>to <strong>de</strong> nuevos retos. Por ejemplo, el “Ambi<strong>en</strong>te<br />
Intelig<strong>en</strong>te” se ha convertido <strong>en</strong> una <strong>de</strong> <strong>la</strong>s áreas c<strong>la</strong>ves <strong>de</strong> investigación <strong>en</strong> cuanto a cómputo<br />
p<strong>en</strong>etrante se refiere. Por otro <strong>la</strong>do, esc<strong>en</strong>arios <strong>de</strong> computación móvil ad hoc incluy<strong>en</strong><br />
aplicaciones <strong>de</strong> tiempo real tales como sistemas autónomos <strong>de</strong> vehículos, mismos <strong>en</strong> los que los<br />
vehículos son capaces <strong>de</strong> operar <strong>de</strong> manera in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te y cooperar <strong>en</strong>tre ellos para evitar<br />
colisiones. En este artículo pres<strong>en</strong>tamos una arquitectura <strong>de</strong> middleware para el apoyo <strong>de</strong><br />
cómputo p<strong>en</strong>etrante y ambi<strong>en</strong>tes móviles ad hoc.<br />
Keywords: mobile ad hoc networks, pervasive systems, real-time systems, middleware<br />
1. Introduction<br />
Rec<strong>en</strong>t years have witnessed advances in the <strong>en</strong>abling technologies for mobile<br />
computing, such as the increasingly mature <strong>en</strong>d-systems, various kinds of wireless<br />
communication protocols, and mobile networking technologies. As a result new<br />
chall<strong>en</strong>ges have emerged in both the pervasive and mobile ad hoc computing ar<strong>en</strong>as.<br />
Regarding the former, one of the key research areas in rec<strong>en</strong>t years is the “Intellig<strong>en</strong>t<br />
Environm<strong>en</strong>t” or “Smart Environm<strong>en</strong>t”. A personalized intellig<strong>en</strong>t room, for example,<br />
can set the room temperature according to the occupier’s prefer<strong>en</strong>ce, p<strong>la</strong>y his beloved<br />
music, and make his favourite coffee, etc.<br />
In addition, examples of mobile ad hoc applications inclu<strong>de</strong> air traffic control<br />
systems whereby thousands of aircraft are proactively coordinated to keep them at safe<br />
distance from each other, direct them during takeoff and <strong>la</strong>nding from airports, and<br />
<strong>en</strong>sure that traffic congestions are avoi<strong>de</strong>d. Another example is an autonomous vehicle<br />
system in which vehicles are able to operate in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>tly and cooperate with each<br />
other to avoid collisions. This kind of systems is time-critical and needs to be provi<strong>de</strong>d<br />
with both timeliness assurances and adaptation mechanisms that lead the system to a<br />
safe state in case of unexpected changes introduced in the <strong>en</strong>vironm<strong>en</strong>t.<br />
This paper provi<strong>de</strong>s a solution to three important issues: a) support for s<strong>en</strong>ti<strong>en</strong>ce and<br />
intellig<strong>en</strong>t behaviour, b) support for high mobility and pervasiv<strong>en</strong>ess, and c) real-time<br />
support for mobile ad hoc <strong>en</strong>vironm<strong>en</strong>ts. These chall<strong>en</strong>ges are addressed in an<br />
integrated manner by our middleware architecture as shown below. We are not aware of<br />
any work addressing the three issues altogether.
The paper is structured as follows. Section 2 introduces the main chall<strong>en</strong>ges of the<br />
targeted applications. Relevant re<strong>la</strong>ted work is m<strong>en</strong>tioned in section 3. Section 4 th<strong>en</strong><br />
pres<strong>en</strong>ts the overall middleware architecture. Section 5 shows how the chall<strong>en</strong>ges are<br />
addressed by our middleware architecture. The implem<strong>en</strong>tation of a prototype is<br />
pres<strong>en</strong>ted in section 6. Finally, some concluding remarks are provi<strong>de</strong>d in section 7.<br />
2. Chall<strong>en</strong>ges<br />
2.1 Chall<strong>en</strong>ge 1: Provi<strong>de</strong> intellig<strong>en</strong>t behaviour to pervasive systems<br />
In or<strong>de</strong>r to make pervasive computing systems intellig<strong>en</strong>t, it is crucial for them to<br />
first be s<strong>en</strong>ti<strong>en</strong>t – they should be able to s<strong>en</strong>se the changes in the <strong>en</strong>vironm<strong>en</strong>t and make<br />
autonomous <strong>de</strong>cisions on how to react. For example, a “smart room” should be able to<br />
obtain the room temperature, the noise level, the light int<strong>en</strong>sity, how many persons are<br />
in the room, etc. Moreover, they should also have the capability to process and analyse<br />
the s<strong>en</strong>sory data to <strong>de</strong>duce high-level context and infer long-term personal prefer<strong>en</strong>ces<br />
of the users. By utilising the contextual information and personal prefer<strong>en</strong>ces, the<br />
pervasive computing <strong>en</strong>vironm<strong>en</strong>ts can make autonomous <strong>de</strong>cision according to their<br />
own control logic. This <strong>de</strong>cision making process might need certain <strong>de</strong>gree of<br />
intellig<strong>en</strong>ce, and it might also need to resolve conflicts in the pervasive computing<br />
<strong>en</strong>vironm<strong>en</strong>t. For example, if there are more than two persons in a “smart room”, the<br />
system should be able to <strong>de</strong>ci<strong>de</strong> what temperature to set to minimize the disturbance,<br />
what kind of music to p<strong>la</strong>y to maximize satisfaction, etc.<br />
2.2 Chall<strong>en</strong>ge 2: Provi<strong>de</strong> support for high mobility and pervasiv<strong>en</strong>ess<br />
We <strong>en</strong>visage hundreds and ev<strong>en</strong> thousands of autonomous <strong>en</strong>tities being involved in<br />
the targeted applications. Therefore, suitable communication mo<strong>de</strong>ls are required to<br />
handle a many-to-many type of communication. The communication service should be<br />
reliable and effici<strong>en</strong>t, i.e. the amount of resources used by the communication protocol<br />
should be maintained at acceptable levels. These systems should also be sca<strong>la</strong>ble due to<br />
the fact that the number of participants may increase consi<strong>de</strong>rably over time.<br />
Furthermore, the level of mobility used by the system should be consi<strong>de</strong>red as this can<br />
have an impact on the communication system. For instance, research has shown that<br />
communication protocols used in low mobility conditions are not optimal for high<br />
mobility sc<strong>en</strong>arios [1]. In addition, mobile ad hoc networks are characterised by being<br />
highly unpredictable. Communication <strong>de</strong><strong>la</strong>ys betwe<strong>en</strong> no<strong>de</strong>s may vary unexpectedly as<br />
the number of hops to reach the <strong>de</strong>stination changes. Moreover, a geographical area<br />
may unexpectedly become congested, resulting in <strong>la</strong>ck of communication resources.<br />
Periods of disconnection are also likely to happ<strong>en</strong> at any time due to the conditions of<br />
the geographical area.<br />
2.3 Chall<strong>en</strong>ge 3: Provi<strong>de</strong> QoS guarantees in mobile ad hoc <strong>en</strong>vironm<strong>en</strong>ts<br />
In the curr<strong>en</strong>t state-of-the-art in mobile ad hoc network technologies, it is not<br />
feasible to offer hard real-time guarantees for communication resources except in<br />
special cases. Such guarantees can only be offered if certain specific conditions are met<br />
such as a sc<strong>en</strong>ario whereby a limited number of no<strong>de</strong>s are moving in an obstacle-free<br />
area at the same speed and direction. Although, hard real-time guarantees can still be<br />
provi<strong>de</strong>d for local resources such as CPU, only soft real-time guarantees can be offered<br />
for communication resources in most cases whereby these resources are dynamically<br />
allocated according to <strong>de</strong>adlines. Another tough chall<strong>en</strong>ge arises here: how can we <strong>de</strong>al<br />
with applications <strong>de</strong>manding hard real-time guarantees wh<strong>en</strong> the un<strong>de</strong>rlying<br />
infrastructure is only capable of offering soft real-time guarantees.
3. Re<strong>la</strong>ted work<br />
The Gaia project [2] <strong>de</strong>veloped at the University of Illinois is a distributed<br />
middleware infrastructure that provi<strong>de</strong>s support for ubiquitous computing. Although<br />
Gaia shares several common <strong>de</strong>sign goals with CORTEX, Gaia’s main int<strong>en</strong><strong>de</strong>d<br />
application domain is confined to fixed intellig<strong>en</strong>t <strong>en</strong>vironm<strong>en</strong>ts and <strong>la</strong>cks the support<br />
for real-time mobile ad hoc application sc<strong>en</strong>arios. The EasyLiving project [3] from<br />
Microsoft focuses on <strong>de</strong>velopm<strong>en</strong>t of architectures and technologies for intellig<strong>en</strong>t<br />
<strong>en</strong>vironm<strong>en</strong>ts. It id<strong>en</strong>tifies several research efforts required on a variety of fronts,<br />
including middleware, geometric world mo<strong>de</strong>lling, s<strong>en</strong>sing capabilities, and service<br />
<strong>de</strong>scription. The middleware, called InConcert, id<strong>en</strong>tifies the importance of having an<br />
asynchronous communication mo<strong>de</strong>l for the coordination of <strong>en</strong>tities contained in the<br />
<strong>en</strong>vironm<strong>en</strong>t. However, this approach does not fully address the concerns of real-time<br />
mobile ad hoc <strong>en</strong>vironm<strong>en</strong>ts and pervasive application sc<strong>en</strong>arios.<br />
Regarding multicast in mobile ad hoc networks, previous research [1] has<br />
recognised that most existing algorithms perform ina<strong>de</strong>quately wh<strong>en</strong> high mobility is<br />
pres<strong>en</strong>t in the <strong>en</strong>vironm<strong>en</strong>t. The main reason for these protocols to fail is that these<br />
protocols maintain shared state in the no<strong>de</strong>s in the form of routes and adjac<strong>en</strong>t<br />
information, which are rapidly outdated due to high no<strong>de</strong> mobility. In contrast, our<br />
multicast protocol is based on a probabilistic flooding algorithm with damping, which<br />
does not maintain shared state in no<strong>de</strong>s.<br />
Finally, to the best of our knowledge, no previous work pres<strong>en</strong>ts an integrated<br />
solution to the areas of autonomous intellig<strong>en</strong>t behaviour, pervasive mobile systems and<br />
real-time mobile ad hoc computing.<br />
4. Overall Middleware Architecture<br />
C<strong>en</strong>tral to the CORTEX architecture is the notion of a s<strong>en</strong>ti<strong>en</strong>t object [4-6], which is<br />
<strong>de</strong>fined as an <strong>en</strong>tity that is able to both consume and produce ev<strong>en</strong>ts. That is, s<strong>en</strong>ti<strong>en</strong>t<br />
objects are <strong>en</strong>tities that receive ev<strong>en</strong>ts, process them and g<strong>en</strong>erate further ev<strong>en</strong>ts. Input<br />
ev<strong>en</strong>ts are received from either s<strong>en</strong>sors or other s<strong>en</strong>ti<strong>en</strong>t objects (local or remote).<br />
Simi<strong>la</strong>rly, output ev<strong>en</strong>ts are s<strong>en</strong>t either to actuators or other s<strong>en</strong>ti<strong>en</strong>t objects (local or<br />
remote). S<strong>en</strong>ti<strong>en</strong>t objects are autonomous <strong>en</strong>tities that are able to s<strong>en</strong>se their<br />
<strong>en</strong>vironm<strong>en</strong>t. Interestingly, s<strong>en</strong>ti<strong>en</strong>t objects have a proactive role in that they are capable<br />
of making <strong>de</strong>cisions and performing some actions (i.e. g<strong>en</strong>erate further ev<strong>en</strong>ts) based on<br />
the information s<strong>en</strong>sed. H<strong>en</strong>ce, s<strong>en</strong>ti<strong>en</strong>t objects inclu<strong>de</strong> a control logic which realises<br />
the <strong>de</strong>cision-making mechanism.<br />
The <strong>en</strong>vironm<strong>en</strong>t support for the interaction of s<strong>en</strong>ti<strong>en</strong>t objects is also<br />
conceptualised as a compon<strong>en</strong>tised middleware p<strong>la</strong>tform. In fact, the middleware is<br />
structured in terms of compon<strong>en</strong>t frameworks (CFs) [7]. Ess<strong>en</strong>tially, compon<strong>en</strong>t<br />
frameworks are “collections of rules and interfaces that govern the interaction of<br />
compon<strong>en</strong>ts ‘plugged into’ them” [7]. In other words, a compon<strong>en</strong>t framework is a<br />
reusable architectural <strong>de</strong>sign targeting a specific domain whereby <strong>de</strong>sired architectural<br />
properties and invariants are <strong>en</strong>forced. The publish/subscribe CF realises the CORTEX<br />
ev<strong>en</strong>t mo<strong>de</strong>l [8]. The functionality of the control <strong>en</strong>gine of a s<strong>en</strong>ti<strong>en</strong>t object is provi<strong>de</strong>d<br />
by the context CF. Facilities for multicast in ad hoc <strong>en</strong>vironm<strong>en</strong>ts are th<strong>en</strong> provi<strong>de</strong>d by<br />
the multicast CF. The QoS managem<strong>en</strong>t CF arbitrates the allocation of resources and<br />
provi<strong>de</strong>s facilities for monitoring and adaptation of QoS. Lastly, the resource<br />
managem<strong>en</strong>t CF controls the resources used by all the CFs [9]. The following section<br />
shows how the chall<strong>en</strong>ges outlined in section 2 are addressed by our middleware<br />
architecture.
5. Approach to Chall<strong>en</strong>ges<br />
5.1 Support for Autonomous Intellig<strong>en</strong>t Behaviour<br />
The autonomous intellig<strong>en</strong>t behaviour is achieved by the s<strong>en</strong>ti<strong>en</strong>t objects. A s<strong>en</strong>ti<strong>en</strong>t<br />
object has be<strong>en</strong> <strong>de</strong>fined as “an <strong>en</strong>tity that both consumes and produces software ev<strong>en</strong>ts,<br />
and lies in some control path betwe<strong>en</strong> at least one s<strong>en</strong>sor and actuator” [9]. The internal<br />
architecture of a s<strong>en</strong>ti<strong>en</strong>t object is realised by the context CF, which consists of four<br />
compon<strong>en</strong>ts: s<strong>en</strong>sory capture, context managem<strong>en</strong>t, infer<strong>en</strong>ce <strong>en</strong>gine and the learning<br />
<strong>en</strong>gine. Getting contextual information from raw s<strong>en</strong>sory data is the main task of<br />
context acqui<strong>sitio</strong>n, and the major issues in the area of s<strong>en</strong>sory capture are data filtering<br />
and s<strong>en</strong>sor fusion. The context managem<strong>en</strong>t compon<strong>en</strong>t <strong>de</strong>als with the repres<strong>en</strong>tation of<br />
context information. The infer<strong>en</strong>ce <strong>en</strong>gine compon<strong>en</strong>t is actually the brain of a s<strong>en</strong>ti<strong>en</strong>t<br />
object, and it has some form of a <strong>de</strong>cision-making ability and intellig<strong>en</strong>ce. In or<strong>de</strong>r to<br />
make <strong>de</strong>cisions, some rules need to be applied on the curr<strong>en</strong>t context.<br />
The learning <strong>en</strong>gine compon<strong>en</strong>t is complem<strong>en</strong>tary to the infer<strong>en</strong>ce <strong>en</strong>gine<br />
compon<strong>en</strong>t, and it can dynamically plug-in differ<strong>en</strong>t machine learning algorithms that<br />
make the system able to learn rules from previous context states and from interaction<br />
with the user. The learned rules can either be injected into the infer<strong>en</strong>ce <strong>en</strong>gine or used<br />
by the learning compon<strong>en</strong>t itself to make <strong>de</strong>cisions.<br />
5.2 Support for High Mobility and Pervasiv<strong>en</strong>ess<br />
We believe the publish/subscribe or ev<strong>en</strong>t based communication paradigm is well<br />
suited to address the issues of pervasive systems in a mobile ad hoc <strong>en</strong>vironm<strong>en</strong>t.<br />
Moreover, the publish/subscribe mo<strong>de</strong>l is well recognised to support anonymous and<br />
asynchronous communication requirem<strong>en</strong>ts [10-12]. H<strong>en</strong>ce, many-to-many<br />
communication sc<strong>en</strong>arios are well supported by the anonymous dissemination of<br />
information. In addition, asynchronous communication is i<strong>de</strong>al in systems where<br />
frequ<strong>en</strong>t disconnections are likely to happ<strong>en</strong> thus to avoid blocking conditions. We have<br />
adopted the ev<strong>en</strong>t mo<strong>de</strong>l STEAM [8] as it addresses a number of core issues with regard<br />
to publish/subscribe systems in mobile ad hoc networks. Briefly, an implicit ev<strong>en</strong>t<br />
mo<strong>de</strong>l for ad hoc networks is <strong>de</strong>fined in which there is not an ev<strong>en</strong>t broker or mediator,<br />
instead brokering functions are implem<strong>en</strong>ted at both the consumer and the producer<br />
si<strong>de</strong>.<br />
The issues of high mobility in ad hoc <strong>en</strong>vironm<strong>en</strong>ts are tackled by our probabilistic<br />
multicast protocol. This protocol specifically targets ad hoc <strong>en</strong>vironm<strong>en</strong>ts where high<br />
no<strong>de</strong> mobility and a frequ<strong>en</strong>tly changing number of group members are pres<strong>en</strong>t. Each<br />
no<strong>de</strong> <strong>de</strong>ci<strong>de</strong>s if it should forward a flooding message according to a probability p∈(0,1]<br />
which is updated according to the number of duplicates that a no<strong>de</strong> has received from its<br />
neighbouring no<strong>de</strong>s. This effectively minimises the number of unnecessary duplicate<br />
messages without sacrificing reliability as we have found experim<strong>en</strong>tally through<br />
simu<strong>la</strong>tions. The second mechanism, which is called damping, aims to eliminate the<br />
number of unnee<strong>de</strong>d duplicates by allowing no<strong>de</strong>s to wait for a random, small time<br />
interval before they will actually forward a message.<br />
5.3 Real-Time Support for Mobile Ad Hoc Environm<strong>en</strong>ts<br />
In or<strong>de</strong>r to support QoS guarantees in mobile ad hoc <strong>en</strong>vironm<strong>en</strong>ts, a high<br />
probability of meeting <strong>de</strong>adlines has to be offered. We also believe that such<br />
infrastructure has to be adaptable and flexible to <strong>de</strong>al with the highly dynamic and<br />
unpredictable nature of the <strong>en</strong>vironm<strong>en</strong>t. Resource managem<strong>en</strong>t p<strong>la</strong>ys an important role<br />
in this adaptation process in terms of both resource awar<strong>en</strong>ess and dynamic reallocation<br />
of resources. Crucially, fail-safe mechanisms are nee<strong>de</strong>d to bring the application to a<br />
safe state wh<strong>en</strong> timing failures are <strong>de</strong>tected. Therefore, QoS managem<strong>en</strong>t support is<br />
required for monitoring QoS vio<strong>la</strong>tions and triggering both adaptation and fail-safe
procedures wh<strong>en</strong> required. In addition, QoS managem<strong>en</strong>t is required to arbitrate the<br />
allocation of network resources whereby admission control tests are performed and<br />
more resources are conce<strong>de</strong>d to tasks with shorter <strong>de</strong>adlines and higher criticality..<br />
Monitoring of QoS vio<strong>la</strong>tions and adaptation procedures are carried out by the QoS<br />
managem<strong>en</strong>t CF. This is achieved by the use of the timely computing base (TCB) [13]<br />
which is a framework that provi<strong>de</strong>s crucial time-re<strong>la</strong>ted services. More specifically,<br />
TCB supports the <strong>de</strong>tection of timing failures and <strong>en</strong>forces the timely execution of failsafe<br />
procedures and adaptation strategies. Fail-safe procedures <strong>en</strong>sure that the system is<br />
tak<strong>en</strong> to a safe state wh<strong>en</strong> a critical failure is <strong>de</strong>tected. A coverage stability facility is<br />
provi<strong>de</strong>d where a high probability of meeting a <strong>de</strong>adline can be <strong>de</strong>fined. In the case of<br />
going below a specified value, adaptation procedures are triggered (e.g. a redistribution<br />
of network and CPU resources).<br />
Network QoS managem<strong>en</strong>t is achieved as follows. Firstly, every no<strong>de</strong> is able to<br />
list<strong>en</strong> to traffic as the dissemination of packets is carried out by using an application<br />
level multicast protocol. Secondly, avai<strong>la</strong>ble bandwidth is fairly distributed among the<br />
no<strong>de</strong>s within a transmission area. For this purpose, a fully distributed protocol is used.<br />
Thirdly, a weighted fair scheduling policy [14] is used to allocate bandwidth within a<br />
single no<strong>de</strong> to multiple service c<strong>la</strong>sses, each one of them associated with a particu<strong>la</strong>r<br />
task. A task [15] is a logical unit of computation which has an amount of resources<br />
allocated. A service c<strong>la</strong>ss (i.e., a task) can be partitioned into sub c<strong>la</strong>sses (i.e., subtasks).<br />
In addition, c<strong>la</strong>sses and subc<strong>la</strong>sses have a priority value. More critical c<strong>la</strong>sses have a<br />
higher priority. Differ<strong>en</strong>t policies can be <strong>de</strong>fined in case of resource cont<strong>en</strong>tion. A<br />
<strong>de</strong>tailed <strong>de</strong>scription of the network QoS managem<strong>en</strong>t protocol can be found in [15].<br />
6. Implem<strong>en</strong>tation<br />
As m<strong>en</strong>tioned earlier, the implem<strong>en</strong>tation has be<strong>en</strong> carried out using Op<strong>en</strong>COM and<br />
running on Windows CE 3.0. A prototype of a STEAM-like publish/subscribe system<br />
has be<strong>en</strong> built. A particu<strong>la</strong>r instantiation of the resource framework was also <strong>de</strong>veloped<br />
to ext<strong>en</strong>d the ev<strong>en</strong>t system with resource managem<strong>en</strong>t capabilities. Support for the<br />
managem<strong>en</strong>t of CPU resources is provi<strong>de</strong>d at this stage. The resource managem<strong>en</strong>t<br />
system offers dispatching predictability of real-time ev<strong>en</strong>ts. CPU reservations are<br />
organised in rounds. A round (or dispatch table) contains a number of time slots which<br />
are assigned to hard and soft real-time tasks. The framework has be<strong>en</strong> realised by a twolevel<br />
scheduling mo<strong>de</strong>l implem<strong>en</strong>ted in Windows CE. A prototype of the Context CF<br />
provi<strong>de</strong>s the facility for the infer<strong>en</strong>ce <strong>en</strong>gine functionality implem<strong>en</strong>ted in CLIPS and<br />
s<strong>en</strong>sor fusion functionality based on differ<strong>en</strong>t fusion algorithms [16].<br />
These CFs form parts of a cooperating s<strong>en</strong>ti<strong>en</strong>t vehicle test bed [16] that has be<strong>en</strong><br />
built. The autonomous vehicles have the objective of travelling along any giv<strong>en</strong> path,<br />
<strong>de</strong>fined by a set of GPS waypoints, i.e. a virtual circuit. Every vehicle that travels along<br />
the virtual circuit cooperates with other vehicles by inter-vehicle communication in<br />
or<strong>de</strong>r to avoid collisions.<br />
The s<strong>en</strong>ti<strong>en</strong>t vehicle is a modified Juggernaut 2 (Ford F-350) RC Car. The RC<br />
module has be<strong>en</strong> removed and the car is self-controlled by an HP iPAQ Pocket PC via a<br />
RS232 connector. The car is augm<strong>en</strong>ted with a GPS module for location s<strong>en</strong>sing, a<br />
electronic compass for s<strong>en</strong>sing its ori<strong>en</strong>tation, and 8 units of ultrasonic s<strong>en</strong>sors (with<br />
3cm to 3m range) to s<strong>en</strong>se the pres<strong>en</strong>ce of physical objects. The Pocket PC has 2<br />
WLAN cards in ad hoc mo<strong>de</strong>. The more powerful WLAN card is for the exclusive use<br />
of TCB control channel and the other WLAN card is for the ev<strong>en</strong>t channels (payload)<br />
used for inter-vehicle communications. The two WLAN operate in non-over<strong>la</strong>pping<br />
802.11b channels. The on-board network is used on the s<strong>en</strong>ti<strong>en</strong>t vehicle to broker data<br />
betwe<strong>en</strong> the s<strong>en</strong>sors, actuators and iPAQ. The on-board network is a bespoke ring
topology with single break failure resili<strong>en</strong>ce. Importantly, the <strong>de</strong>sign <strong>en</strong>ables addition of<br />
further <strong>de</strong>vices onto the ring in a plug-and-p<strong>la</strong>y fashion making it ext<strong>en</strong>sible. The test<br />
bed contains s<strong>en</strong>ti<strong>en</strong>t vehicles and a <strong>la</strong>ptop-based traffic light.<br />
7. Concluding remarks<br />
We have pres<strong>en</strong>ted a middleware architecture for the support of both pervasive and<br />
mobile ad hoc computing <strong>en</strong>vironm<strong>en</strong>ts. More specifically, the s<strong>en</strong>ti<strong>en</strong>t object mo<strong>de</strong>l<br />
has be<strong>en</strong> introduced as a c<strong>en</strong>tral concept in the CORTEX architecture. This mo<strong>de</strong>l<br />
provi<strong>de</strong>s key features for allowing both context-awar<strong>en</strong>ess and intellig<strong>en</strong>t autonomous<br />
behaviour. In addition, the middleware is constituted by a number of compon<strong>en</strong>t<br />
frameworks. Autonomous intellig<strong>en</strong>t behaviour is addressed by both the s<strong>en</strong>ti<strong>en</strong>t CF and<br />
the context CF. In addition, mobility and pervasiv<strong>en</strong>ess issues are tackled by the<br />
publish/subscribe CF, the multicast CF and the service discovery CF. Lastly, the issues<br />
of time criticality in mobile ad hoc <strong>en</strong>vironm<strong>en</strong>ts are addressed by both the QoS<br />
managem<strong>en</strong>t CF and the resource managem<strong>en</strong>t CF.<br />
We are curr<strong>en</strong>tly using the vehicle test bed to evaluate the middleware architecture.<br />
Ongoing work also inclu<strong>de</strong>s the simu<strong>la</strong>tion of the network QoS managem<strong>en</strong>t protocol<br />
and the experim<strong>en</strong>tal evaluation of the scheduling system.<br />
Refer<strong>en</strong>ce<br />
[1] Lee, S.-J., et al. A Performance Comparison Study of Ad Hoc Wireless Multicast Protocols. in<br />
Proceedings of IEEE INFOCOM 2000. 2000. Tel Aviv, Israel.<br />
[2] Roman, M., et al., Gaia: A Middleware Infrastructure to Enable Active Spaces. IEEE Pervasive<br />
Computing, 2002. Oct-Dec: p. pp. 74-83.<br />
[3] Brumitt, B., et al., EasyLiving: Technologies for Intellig<strong>en</strong>t <strong>en</strong>vironm<strong>en</strong>t. Handheld and<br />
Ubiquitous Computing, 2000. September.<br />
[4] CORTEX. Preliminary Definition of the CORTEX Programming Mo<strong>de</strong>l. CORTEX Project.<br />
IST-2000-26031, Deliberable D2. March 2002.<br />
[5] Veríssimo, P., et al. CORTEX: Towards Supporting Autonomous and Cooperating S<strong>en</strong>ti<strong>en</strong>t<br />
Entities (2002). in In Proceedings of European Wireless 2002. 2002. Flor<strong>en</strong>ce, Italy.<br />
[6] Verissimo, P. and A. Casimiro. Ev<strong>en</strong>t-Driv<strong>en</strong> Support of Real-Time S<strong>en</strong>ti<strong>en</strong>t Objects. in Eighth<br />
IEEE International Workshop on Object-ori<strong>en</strong>ted Realtime Dep<strong>en</strong>dable Systems (WORDS 2003).<br />
2003. Guada<strong>la</strong>jara, Mexico.<br />
[7] Szyperski, C., Compon<strong>en</strong>t Software: Beyond Object-Ori<strong>en</strong>ted Programming. 1998, Harlow,<br />
Eng<strong>la</strong>nd: Addison-Wesley.<br />
[8] Meier, R. and V. Cahill. Steam: Ev<strong>en</strong>t-based Middleware for Wireless Ad Hoc Networks. in In<br />
Proceeding of the International Workshop on Distributed Ev<strong>en</strong>t-Based Systems<br />
(ICDSC/DEBS'02). 2002. Vi<strong>en</strong>na, Austria.<br />
[9] CORTEX. Preliminary Specification of Basic Services and Protocols. CORTEX Project. IST-<br />
2000-26031. Deliverable D5. February 2003.<br />
[10] OMG, CORBAServices: Common Object Services Specification. 95-3-31. 1998, Object<br />
Managem<strong>en</strong>t Group.<br />
[11] Sun, Java Distributed Ev<strong>en</strong>t Specification. 1998, Sun Microsystems, Inc.<br />
http://www.javasoft.com/products/javaspaces/specs.<br />
[12] Carzaniga, A., Ros<strong>en</strong>blum, D. and Wolf, A., Design and Evaluation of a Wi<strong>de</strong>-Area Ev<strong>en</strong>t<br />
Notification Service. ACM Transactions on Computer Systems, 2001. 19(3): p. pp 332-383.<br />
[13] Verissimo, P. and A. Casimiro, The Timely Computing Base Mo<strong>de</strong>l and Architecture.<br />
Transaction on Computers - Special Issue on Asynchronous Real-Time Systems, 2002. 51(8).<br />
[14] Demers, A., S. Keshav, and S. Sch<strong>en</strong>ker, Analysis and simu<strong>la</strong>tion of a fair queueing algorithm.<br />
Journal of Internetworking Research and Experi<strong>en</strong>ce, 1990: p. pp. 3-26.<br />
[15] Duran-Limon, H.A. and G.S. B<strong>la</strong>ir. A Resource and QoS Managem<strong>en</strong>t Framework for Real-<br />
Time Ev<strong>en</strong>t Systems in Mobile Ad Hoc Environm<strong>en</strong>ts. in In 9th IEEE International Workshop<br />
on Object-ori<strong>en</strong>ted Real-time Dep<strong>en</strong>dable Systems (WORDS 2003F). 2003. Capri Is<strong>la</strong>nd, Italy.<br />
[16] Sivaharan, T., et al. Cooperating S<strong>en</strong>ti<strong>en</strong>t Vehicles for Next G<strong>en</strong>eration Automobiles. in MobiSys<br />
2004 Workshop on Applications of Mobile Embed<strong>de</strong>d Systems. 2004. Boston, MA, USA.
Seamless IP micro-mobility<br />
Christian P. García-Martinez, J. Antonio García-Macías<br />
Departam<strong>en</strong>to <strong>de</strong> Ci<strong>en</strong>cias <strong>de</strong> <strong>la</strong> <strong>Computación</strong><br />
C<strong>en</strong>tro <strong>de</strong> Investigación Ci<strong>en</strong>tífica y Educación Superior <strong>de</strong> Ens<strong>en</strong>ada, CICESE.<br />
e-mail : {cpgarcia, jagm}@cicese.mx<br />
Km. 107 Carretera Tijuana – Ens<strong>en</strong>ada, CP 22860 AP 2732 Ens<strong>en</strong>ada, B.C. México<br />
Abstract: Mobility protocols allow mobile <strong>de</strong>vices to roam within networks,<br />
performing handovers betwe<strong>en</strong> wireless cells. Context transfer mechanisms aim<br />
for performance improvem<strong>en</strong>ts in the process of handover, so that the applications<br />
running on mobile no<strong>de</strong>s can operate with minimal disruption, thus allowing<br />
seamless mobility. In this paper we propose mechanisms that <strong>en</strong>able context<br />
transfer betwe<strong>en</strong> access routers offering internet connectivity for mobile no<strong>de</strong>s;<br />
our proposal inclu<strong>de</strong>s means for repres<strong>en</strong>tation of contexts for services. We use<br />
two candidate services (MLD and hea<strong>de</strong>r compression) as examples to evid<strong>en</strong>ce<br />
the b<strong>en</strong>efits of context transfer. 1<br />
Resum<strong>en</strong>: Los protocolos <strong>de</strong> movilidad permit<strong>en</strong> a los nodos moverse <strong>en</strong>tre re<strong>de</strong>s<br />
realizando handovers <strong>en</strong>tre célu<strong>la</strong>s inalámbricas. El mecanismo <strong>de</strong> transfer<strong>en</strong>cia<br />
<strong>de</strong> contexto int<strong>en</strong>ta realizar mejoras al proceso <strong>de</strong> handover, <strong>de</strong> tal forma que <strong>la</strong>s<br />
aplicaciones que están corri<strong>en</strong>do <strong>en</strong> el nodo móvil sigan operando con <strong>la</strong> m<strong>en</strong>or<br />
alteración posible, logrando así una movilidad transpar<strong>en</strong>te. En este artículo<br />
proponemos mecanismos que permit<strong>en</strong> llevar a cabo <strong>la</strong> transfer<strong>en</strong>cia <strong>de</strong> contexto<br />
<strong>en</strong>tre <strong>en</strong>rutadores <strong>de</strong> acceso; nuestra propuesta incluye <strong>la</strong> repres<strong>en</strong>tación <strong>de</strong>l<br />
contexto <strong>de</strong> los servicios. Pres<strong>en</strong>tamos dos servicios candidatos como ejemplo<br />
para evid<strong>en</strong>ciar los b<strong>en</strong>eficios <strong>de</strong> <strong>la</strong> transfer<strong>en</strong>cia <strong>de</strong> contexto.<br />
Pa<strong>la</strong>bras C<strong>la</strong>ve: Context Transfer, Micro-mobility, Seamless mobility.<br />
1. Introduction.<br />
The Internet Protocol (IP) has become the <strong>de</strong> facto standard for connectivity of<br />
differ<strong>en</strong>t types of no<strong>de</strong>s all over the world. Mobile <strong>de</strong>vices that move within an IPbased<br />
network introduce new problems, such as, the problem of how to route the<br />
packets to Mobile No<strong>de</strong>s (MNs) wh<strong>en</strong> these change their point of attachm<strong>en</strong>t to the<br />
network. Mobile IP [3] proposes a mechanism that solves this problem, however, it is<br />
not possible to achieve seamless mobility due to the high cost of signaling and<br />
registration procedures incurred. That is why, many people are working on how to<br />
improve the effici<strong>en</strong>cy of mobile IP, <strong>de</strong>signing ext<strong>en</strong>sions that aim at better<br />
performance in certain sc<strong>en</strong>arios. Specific characteristics have be<strong>en</strong> id<strong>en</strong>tified wh<strong>en</strong><br />
1 Financial support for this project has be<strong>en</strong> provi<strong>de</strong>d by the Mexican Council for Sci<strong>en</strong>ce and Technology<br />
(CONACyT).
the mobility is within an administrative domain; this has led the research toward the<br />
study of micro-mobility [1].<br />
Context transfer has emerged as one of the problems that must be solved to achieve<br />
seamless mobility in IP networks. In g<strong>en</strong>eral, context is the information on the curr<strong>en</strong>t<br />
state of a service, required to re-establish the service on a new subnet without having to<br />
perform the <strong>en</strong>tire protocol exchange betwe<strong>en</strong> the MN and the Access Router (AR)<br />
from scratch. In this paper we propose mechanisms that <strong>en</strong>able context transfer<br />
betwe<strong>en</strong> access routers offering Internet connectivity for mobile no<strong>de</strong>s; our proposal<br />
inclu<strong>de</strong>s means for repres<strong>en</strong>tation of contexts for services. RFC 3374 [8] <strong>de</strong>scribes the<br />
main reasons why Context Transfer procedures may be useful in IP networks.<br />
The remain<strong>de</strong>r of the paper is organized as follows: Section 2 overviews re<strong>la</strong>ted<br />
work. Section 3 <strong>de</strong>scribes pot<strong>en</strong>tial customers for Context Transfer Protocol (CTP).<br />
Section 4 <strong>de</strong>scribes the CTP; there, we also propose a format to repres<strong>en</strong>t the context of<br />
two candidate services (MLD and HC). Section 5 discusses our experi<strong>en</strong>ce with its<br />
implem<strong>en</strong>tation; we provi<strong>de</strong> conclusions and m<strong>en</strong>tion some future work.<br />
2. Re<strong>la</strong>ted Work.<br />
The work of Koodli and Perkins [12] was one of the first that m<strong>en</strong>tioned context<br />
transfer in mobile networks. There are a couple of Internet drafts on g<strong>en</strong>eric context<br />
transfer protocols [9, 11] proposed by the IETF Seamless Mobility (Seamoby) working<br />
group [5]. These proposals have not be<strong>en</strong> evaluated through analytical, simu<strong>la</strong>tion or<br />
test bed means; the exact <strong>de</strong>ploym<strong>en</strong>t sc<strong>en</strong>arios are not clear yet. It is also unclear how<br />
these protocols repres<strong>en</strong>t the differ<strong>en</strong>t types of context meant to be transferred. The<br />
IRTF Micro-mobility research group was working on these topics, but they have be<strong>en</strong><br />
dormant for about a year. There is a new IRTF Mobility Optimizations (MOBOPTS)<br />
[6] research group that is working on this but to date, they hav<strong>en</strong>’t pres<strong>en</strong>ted any<br />
re<strong>la</strong>ted proposal.<br />
3. Candidate services for context transfer.<br />
Mobile no<strong>de</strong>s improve the performance of their connections across wireless media by<br />
establishing various kinds of state (context), in or<strong>de</strong>r to use the avai<strong>la</strong>ble bandwidth<br />
securely and economically [8]. For example, a particu<strong>la</strong>r no<strong>de</strong> establishes the Hea<strong>de</strong>r<br />
Compression (HC) service by collecting <strong>en</strong>ough information about its data streams to<br />
get synchronized with its AR and th<strong>en</strong> be able to s<strong>en</strong>d and receive compressed packets.<br />
This state information is nee<strong>de</strong>d to keep the service avai<strong>la</strong>ble. Once the mobile move to<br />
another subnet, it is required to re-establish the service by the same process it used to<br />
initially establish it, and <strong>de</strong><strong>la</strong>y-s<strong>en</strong>sitive traffic may be seriously impacted. An<br />
alternative is to transfer the context of the service to the new subnet so that the service<br />
can be re-established quickly, rather than establish it from scratch. The context transfer<br />
may be advantageous in minimizing the impact of host mobility on certain cases. In the
following paragraphs we <strong>de</strong>scribe two of the candidate services we consi<strong>de</strong>r good<br />
examples to evid<strong>en</strong>ce the b<strong>en</strong>efits of context transfers.<br />
Multicast List<strong>en</strong>ing Discovery (MLD). We consi<strong>de</strong>r the transfer of context of MLD<br />
[13] as an example of how context transfer can improve the performance of an IP <strong>la</strong>yer<br />
handover. The purpose of MLD is to <strong>en</strong>able each IPv6 router to discover the pres<strong>en</strong>ce<br />
of multicast list<strong>en</strong>ers on its directly attached links, and to discover specifically which<br />
multicast addresses are of interest to those neighboring no<strong>de</strong>s. This information is th<strong>en</strong><br />
provi<strong>de</strong>d to whichever multicast routing protocol is being used by the router, in or<strong>de</strong>r<br />
to <strong>en</strong>sure that multicast packets are <strong>de</strong>livered to all links where there are interested<br />
receivers. MLD is a good example to show the b<strong>en</strong>efits of context transfer because<br />
every no<strong>de</strong> must perform two MLD messaging sequ<strong>en</strong>ces per subscription on the<br />
wireless link to establish itself as an MLD list<strong>en</strong>er. If this state information is<br />
transferred to the new router it is possible to avoid these messaging sequ<strong>en</strong>ces.<br />
Hea<strong>de</strong>r Compression (HC). The use of bandwidth constrained links in wireless<br />
networks suggests the use of bandwidth saving HC schemes. A number of HC schemes<br />
have be<strong>en</strong> proposed for existing Internet protocols, one of them is Robust Hea<strong>de</strong>r<br />
Compression (RoHC) [2]. In some cases, for example using IPv6/UDP/RTP, the<br />
hea<strong>de</strong>rs can be reduced from 84 bytes to 1 byte, and therefore, can reduce the load on<br />
the wireless link by 50-70% [4]. The HC process is stateful; the compressor and the<br />
<strong>de</strong>compressor, both maintain records to repres<strong>en</strong>t the expected cont<strong>en</strong>t of protocol<br />
hea<strong>de</strong>rs, so that hea<strong>de</strong>rs fields that have the expected values do not need to be<br />
retransmitted, since they can be inferred. Establishing HC g<strong>en</strong>erally requires from 1 to<br />
5 packets exchanges betwe<strong>en</strong> the <strong>la</strong>st hop router and the mobile no<strong>de</strong> with full or<br />
partially compressed hea<strong>de</strong>rs before full compression is avai<strong>la</strong>ble [2]. During this<br />
period, the MN will experi<strong>en</strong>ce an effective reduction in the avai<strong>la</strong>ble bandwidth<br />
equival<strong>en</strong>t to the uncompressed hea<strong>de</strong>r information s<strong>en</strong>t over the air. An approximate<br />
quantitative estimate for the amount of savings in handover time can be obtained as<br />
follows. A RTP/UDP/IPv6 message contains 84 bytes only in their hea<strong>de</strong>rs; as we said<br />
before, from 1 to 5 messages with full hea<strong>de</strong>rs are required. Let’s say 3 messages are<br />
s<strong>en</strong>t before the MN and the AR are synchronized, that means about 252 bytes in<br />
hea<strong>de</strong>rs. Some repres<strong>en</strong>tative numbers can be obtained by assuming bandwidths of 20<br />
kbps or 100 kbps. With these two bit rates, the savings from not having to s<strong>en</strong>d these<br />
messages with full hea<strong>de</strong>rs are 110 and 20 ms. If there are more data streams being<br />
compressed, the amount of time saved could be significantly more.<br />
4. Context Transfer Protocol<br />
We believe that it may be advantageous to bundle the context transfer signaling<br />
betwe<strong>en</strong> the MN and network, or betwe<strong>en</strong> access routers, together with other handover<br />
signaling. We use a micro-mobility protocol that had simplicity as one of its main<br />
<strong>de</strong>sign requirem<strong>en</strong>ts [7]. Wh<strong>en</strong> a handoff request is s<strong>en</strong>t, specific information is<br />
piggybacked to the new access router indicating that context transfer will take p<strong>la</strong>ce (if<br />
any). Previous work has explored the issue of finding out if it is possible to perform
context transfer [10]; it also <strong>de</strong>scribes mechanisms for Candidate Access Router<br />
Discovery (CARD), which allows knowing the characteristics of the new access router<br />
before the handover.<br />
4.1. CTP overview<br />
Context transfer takes p<strong>la</strong>ce in response to a context transfer trigger; which could be a<br />
handoff request or an explicit context transfer request s<strong>en</strong>t to the previous AR (pAR).<br />
The MN initiates the process by s<strong>en</strong>ding a Context Transfer Request (CTR) message to<br />
the pAR. Once the pAR has received the message, it g<strong>en</strong>erates a Context Transfer (CT)<br />
message, which contains all the state information associated to the mobile no<strong>de</strong> and<br />
capable of being interpreted by the nAR. The nAR receives the context and relocates<br />
the state information in or<strong>de</strong>r to offer the same treatm<strong>en</strong>t to the data flows as the pAR<br />
did. Performing context transfer in advance of the MN attaching to the new AR (nAR)<br />
can increase handover performance. In or<strong>de</strong>r to make this happ<strong>en</strong>, certain conditions<br />
must be met. For example, pAR must have suffici<strong>en</strong>t time and knowledge about the<br />
imp<strong>en</strong>ding handover. This has prov<strong>en</strong> to be feasible [10].<br />
Every messsage has the format illustrated in figure 1, the hea<strong>de</strong>r is the same for all<br />
messages and is comprised by a Type field, which indicates the type of the message (e.<br />
g. CTR); a L<strong>en</strong>gth field that contains the size of the complete message; a F<strong>la</strong>gs field<br />
that contains indicators as Version, need for Acknowledgem<strong>en</strong>t, sequ<strong>en</strong>ce number; and<br />
an authorization tok<strong>en</strong> required to <strong>en</strong>sure that the MN has the rights to exchange<br />
messages within the domain. The Data Block varies <strong>de</strong>p<strong>en</strong>ding on the type of message.<br />
Message Hea<strong>de</strong>r<br />
Data Block 1<br />
Data Block 2<br />
…<br />
0 1 2 3<br />
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1<br />
Type<br />
L<strong>en</strong>gth<br />
F<strong>la</strong>gs<br />
Reserved<br />
Authorization Tok<strong>en</strong><br />
Fig. 1: G<strong>en</strong>eric message format.<br />
The context data structure needs appropriate <strong>en</strong>capsu<strong>la</strong>tion for communication and<br />
processing, figure 2 shows the format of a data block for a CT message. The field<br />
Context Type indicates the interpretation of the next context blocks. The context type<br />
<strong>de</strong>fines how the state information is organized. In section 4.2 we pres<strong>en</strong>t a specific<br />
repres<strong>en</strong>tation for the state information of MLD and Robust Hea<strong>de</strong>r Compression. The<br />
amount of information in a Context Data Block is not fixed, due to the fact that a no<strong>de</strong><br />
could have any number of data streams being treated by the same service. For instance:<br />
multiples audio/vi<strong>de</strong>o sessions using RoHC.<br />
0 1 2 3<br />
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1<br />
Context Type L<strong>en</strong>gth<br />
First Context Block ~<br />
Next Context Block…<br />
~<br />
~ ~<br />
Fig. 2: Context Data Block format.
The messages will use UDP as the transport protocol for the Context Transfer<br />
Request and Context Transfer Data messages. Signaling messages will use ICMP.<br />
4.2. Feature Context Repres<strong>en</strong>tation<br />
Every context type requires a differ<strong>en</strong>t way of repres<strong>en</strong>tation due to the differ<strong>en</strong>ces<br />
betwe<strong>en</strong> the state information of the services. Despite these differ<strong>en</strong>ces, we can<br />
organize the context in a g<strong>en</strong>eric way as follows: a MN has associated data streams,<br />
data streams could have associated differ<strong>en</strong>t services, and each service has associated<br />
state information which is called service context. We have id<strong>en</strong>tified and repres<strong>en</strong>ted<br />
the context of two candidate services (MLD and RoHC). Figure 3a shows the specific<br />
data that need to be transferred to <strong>en</strong>able the MLD service in a nAR; this is what is<br />
carried on the Context Block field showed in figure 2. The Subnet Prefix on the nAR<br />
Wireless Interface field contains a subnet prefix that id<strong>en</strong>tifies the interface on which<br />
multicast routing should be established, as sometimes a router has more than one<br />
interface to the same link and it is necessary to perform the router part of MLD only<br />
over one of those interfaces. The Subscribed IPv6 Multicast Address field contains the<br />
multicast address for which multicast routing should be established.<br />
0 1 2 3<br />
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1<br />
~ Subset Prefix on nAR ~<br />
Multicast Address<br />
~<br />
~ ~<br />
a) b)<br />
0 1 2 3<br />
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1<br />
Stream Id D L<strong>en</strong>gth Reserved<br />
“Known values”<br />
~<br />
Fig. 3: a) Repres<strong>en</strong>tation of MLD context. b) Repres<strong>en</strong>tation of RoHC context.<br />
In or<strong>de</strong>r to <strong>de</strong>termine the information that needs to be transferred to <strong>en</strong>able the<br />
RoHC service in the nAR, it is necessary to know how the hea<strong>de</strong>r fields can be<br />
c<strong>la</strong>ssified based on their behavior during the session lifetime. RFC 3095 [2] allow us to<br />
distinguish those fields that can be inferred and those that are known. Once they are<br />
id<strong>en</strong>tified it is necessary to get the values for each instance of the fields, and th<strong>en</strong><br />
associate each instance with a data stream ID. This is how the context feature data for<br />
this service is built. This information is s<strong>en</strong>t to the nAR so it can reconstruct the<br />
hea<strong>de</strong>rs, gathering the data received in the context transfer, the data inferred by the<br />
service and the data contained in the compressed hea<strong>de</strong>rs.<br />
5. Conclusions<br />
To date, many interesting proposals have be<strong>en</strong> ma<strong>de</strong> for using context transfer to speed<br />
up handovers. Some of them are complex <strong>en</strong>ough to discard any short-time<br />
applicability. That is why our proposal is meant to be simple but functional for a<br />
controlled <strong>en</strong>vironm<strong>en</strong>t, <strong>en</strong>abling the id<strong>en</strong>tification of requirem<strong>en</strong>ts that only<br />
experim<strong>en</strong>tal tests can provi<strong>de</strong>. We also take advantage of the way the micro-mobility<br />
protocol works, reducing the traffic during the handover. The reason why we use<br />
RoHC instead of other proposed schemes for HC is because its <strong>de</strong>sign and performance
[4] helps to evid<strong>en</strong>ce the b<strong>en</strong>efits of context transfer. On the other hand, due to the fact<br />
that, curr<strong>en</strong>tly, there is not any freely avai<strong>la</strong>ble implem<strong>en</strong>tation of a RoHC scheme,<br />
<strong>de</strong>termining the advantages of context transfer for hea<strong>de</strong>r compression through test bed<br />
means, requires carefully <strong>de</strong>signed experim<strong>en</strong>ts. We believe that more experim<strong>en</strong>tal<br />
results are nee<strong>de</strong>d to lead the research in this area. We are working on the <strong>de</strong>ploym<strong>en</strong>t<br />
of this framework in or<strong>de</strong>r to evaluate our proposal through simu<strong>la</strong>tions and<br />
experim<strong>en</strong>tal means; this has led us to face new problems that must be solved in or<strong>de</strong>r<br />
to achieve seamless mobility. The curr<strong>en</strong>t work can be ext<strong>en</strong><strong>de</strong>d by applying our<br />
approach to differ<strong>en</strong>t candidate services, which also implies id<strong>en</strong>tifying the context of<br />
the candidate services, as well as <strong>de</strong>fining structures to carry it trough the network.<br />
Refer<strong>en</strong>ces<br />
[1] A.T. Campbell, J. Gomez, S. Kim, C.Y. Wan, Z.R. Turanyi, and A.G. Valko, “Comparison<br />
of IP micromobility Protocols”, IEEE Wireless Communications, 9(1):72–82, 2002.<br />
[2] C. Bormann, “Robust Hea<strong>de</strong>r Compression (ROHC)”, RFC 3095, IETF, July 2001.<br />
[3] C.E. Perkins, “Mobile IP Support”, RFC 2002, IETF, October 1996.<br />
[4] C. Westphal and R. Koodli, “IP Hea<strong>de</strong>r Compression: A Study of Context Establishm<strong>en</strong>t”,<br />
IEEE Wireless Communications and Networking Confer<strong>en</strong>ce, New Orleans, USA, 2003.<br />
[5] IETF. Seamless Mobility (SeaMoby) Working Group.<br />
Homepage:http://www.ietf.org/html.charters/seamobycharter.html.<br />
[6] IETF. IP Mobility Optimizations (Mobopts) Research Group.<br />
Homepage:http://www.irtf.org/charters/mobopts.html<br />
[7] J. Antonio García Macias, “Mobile Communication Architecture with Quality of Service”,<br />
Ph. D. Thesis, Institute National Polytechnique <strong>de</strong> Gr<strong>en</strong>oble, January 2002.<br />
[8] J. Kempf, “Problem Description: Reasons for Performing Context Transfers betwe<strong>en</strong> No<strong>de</strong>s<br />
in an IP Access Network”, RFC 3374, IETF, September 2002.<br />
[9] J. Loughney, “Context Transfer Protocol”, Internet Draft, IETF, January 2004.<br />
[10] Juan M. Oyoqui and J. Antonio Garcia Macias, “Context Transfer for Seamless Mobility”,<br />
4th Mexican International Confer<strong>en</strong>ce on Computer Sci<strong>en</strong>ce, (ENC) T<strong>la</strong>xca<strong>la</strong>, Mexico, Sept.<br />
2003.<br />
[11] R. Koodli R. and C. E. Perkins, “A Context Transfer Protocol for Seamless Mobility”,<br />
Internet Draft, IETF, August 2002.<br />
[12] R. Koodli R. and C. E. Perkins, “Fast Handovers and Context Transfers in Mobile<br />
Networks”, ACM Computer Communication Review, vol. 31, number 5, 2001.<br />
[13] S. Deering, “Multicast List<strong>en</strong>er Discovery for IPv6”, RFC 2710, IETF, October 1999.
Requirem<strong>en</strong>ts analysis for ubiquitous computing system<br />
to be used during a congress *<br />
Oscar-Iván Lepe-Aldama ‡ , Luis-Enrique Vizcarra-Corral † , Edgar Arrio<strong>la</strong>-Arreo<strong>la</strong> ‡§ ,<br />
Angel Galindo-Rodríguez ‡§ , Frankli-Augusto Pérez-Navidad ‡§<br />
‡ C<strong>en</strong>tro <strong>de</strong> Investigación Ci<strong>en</strong>tífica y <strong>de</strong> Educación Superior <strong>de</strong> Ens<strong>en</strong>ada<br />
Dirección <strong>de</strong> Telemática<br />
Km. 107 Carretera Tijuana-Ens<strong>en</strong>ada, Ens<strong>en</strong>ada 22860, Baja California, México<br />
[olepe,earrio<strong>la</strong>,agalindo,anavidad]@cicese.mx<br />
† Universidad Autónoma <strong>de</strong> Baja California, Facultad <strong>de</strong> Ci<strong>en</strong>cias<br />
Km. 104 Carretera Tijuana-Ens<strong>en</strong>ada, Ens<strong>en</strong>ada 22860, Baja California, México<br />
luisvi@uabc.mx<br />
Abstract. In this paper we pres<strong>en</strong>t a sc<strong>en</strong>ario-based requirem<strong>en</strong>ts analysis for a prototype of an<br />
ubiquitous computing system: a handheld-computing supported cooperative work system to be<br />
used during a congress or any other kind of technical or sci<strong>en</strong>tific people gathering. The prototype<br />
is working on several iPAQ h3955 running JVM for Windows CE and on some Zaurus SL-<br />
5600 running JVM for Linux Embed<strong>de</strong>d; all connected by a WiFi WLAN.<br />
1. Introduction<br />
In a provocative article [1], Arnold Kling questions: “Where is the next g<strong>en</strong>eration of<br />
‘killer applications’ that will drive mainstream adoption of technologies that are tantalizingly<br />
close to realization, such as wireless Internet access, pervasive computing, and<br />
radio on a chip?... A reasonable guess is that the next wave of compelling applications<br />
will be in the realm of what [some] call social software;” where social software is, basically,<br />
software that supports group communications. Our research col<strong>la</strong>boration betwe<strong>en</strong><br />
CICESE and UABC exploits this i<strong>de</strong>a and proposes the construction of a handheld<br />
computer-supported cooperative work system for driving our investigations on<br />
ubiquitous computing. Mark Wiser in its seminal article [2] calls ubiquitous computing<br />
“the next wave” in computing. Computers will perva<strong>de</strong> the user surroundings, becoming<br />
an integral part of the physical <strong>en</strong>vironm<strong>en</strong>t in a non intrusive way, and will use<br />
context information to dynamically build appropriate computing mo<strong>de</strong>ls for provi<strong>de</strong> information<br />
and services at the right p<strong>la</strong>ce in the right time. The main i<strong>de</strong>a of our investigation<br />
in ubiquitous computing is to use applications as beacons for signaling technology<br />
improvem<strong>en</strong>t opportunities.<br />
This paper pres<strong>en</strong>ts our experi<strong>en</strong>ces building a research experim<strong>en</strong>tal <strong>en</strong>vironm<strong>en</strong>t—<br />
* Financial support for this work has be<strong>en</strong> provi<strong>de</strong>d in part by a grant from Mexico’s University Consortium<br />
for the Developm<strong>en</strong>t of Internet (CUDI), and the National Council for Sci<strong>en</strong>ce and Technology (CONACyT).<br />
§ Mr. Arrio<strong>la</strong>-Arreo<strong>la</strong>, Mr. Galindo-Rodriguez and Mr. Pérez-Navidad are Bachelor stud<strong>en</strong>ts from UABC’s<br />
Computer Sci<strong>en</strong>ce program carrying out a bachelor thesis fellowship at CICESE.
a social software to be use during a congress or any other kind of technical or sci<strong>en</strong>tific<br />
people gathering. Congress sc<strong>en</strong>arios <strong>de</strong>fine no trivial col<strong>la</strong>boration and communication<br />
processes betwe<strong>en</strong> people, which impose infrastructure requirem<strong>en</strong>ts, both hardware<br />
and software, not well provisioned nowadays. In a re<strong>la</strong>ted paper [3], one of our colleagues<br />
explores some of these infrastructure <strong>de</strong>fici<strong>en</strong>cies and proposes a technology<br />
improvem<strong>en</strong>t. The application prototype, here pres<strong>en</strong>ted, relies on handheld computing,<br />
wireless networking, and multiag<strong>en</strong>t middleware, aimed at constructing a ubiquitous<br />
computing <strong>en</strong>vironm<strong>en</strong>t for a congress. The main contributions of this paper are to discuss<br />
the requirem<strong>en</strong>ts analysis of this social software.<br />
2. Social software for a congress <strong>en</strong>vironm<strong>en</strong>t<br />
Congresses provi<strong>de</strong> to att<strong>en</strong>dants opportunities to meet with colleagues, to interchange<br />
information with them, and to set work re<strong>la</strong>tionships, all this for improving professional<br />
performance and accelerate knowledge advancem<strong>en</strong>t. However, it is well known that it<br />
is difficult to exploit all these opportunities within a regu<strong>la</strong>r congress time frame, because<br />
it is not easy to find people with corresponding interests or personal profile; or to<br />
select the right paper pres<strong>en</strong>tation at multitrack congresses. Moreover, congress managem<strong>en</strong>t<br />
(i.e., att<strong>en</strong>dants sign-in; <strong>la</strong>st-minute schedule changes; localization of people<br />
and sites; congress re<strong>la</strong>ted leisure activities coordination) also requires col<strong>la</strong>boration<br />
and communication betwe<strong>en</strong> selected people. All these problems get acc<strong>en</strong>tuated because<br />
people in a congress moves freely around the congress building. From this it<br />
should be evid<strong>en</strong>t that congress att<strong>en</strong>dants would greatly improve congress results if<br />
they could count with a computing system that assists them with all this information<br />
technology requirem<strong>en</strong>ts. The computing system we refer must support user mobility<br />
and provi<strong>de</strong> the right information at the right time.<br />
Fortunately, handheld computing is mainstream nowadays. Most if not all congress<br />
att<strong>en</strong>dants count with handheld computing <strong>de</strong>vices like personal digital assistants, advanced<br />
cellu<strong>la</strong>r phones, and pocket or tablet personal computers. These handheld <strong>de</strong>vices<br />
are equipped with Personal Information Managem<strong>en</strong>t software—ag<strong>en</strong>da, cal<strong>en</strong>dar,<br />
and to-do list—which provi<strong>de</strong>s a ubiquitous software infrastructure upon which<br />
one may build social software. On the other hand, most if not all of these <strong>de</strong>vices carry<br />
some type of wireless data communications hardware and software—Bluetooth, WLAN<br />
(802.11a/b/g) or WMAN (GPRS). At the same time, WMAN networks cover all of the<br />
busiest cities in the world and business buildings there are equipped with WLAN base<br />
stations. All this provi<strong>de</strong>s a ubiquitous data communications infrastructure upon which<br />
one may build social software.<br />
3. Typical sc<strong>en</strong>arios for a congress <strong>en</strong>vironm<strong>en</strong>t<br />
Here we pres<strong>en</strong>t three of the sc<strong>en</strong>arios we id<strong>en</strong>tified may take p<strong>la</strong>ce in a not far future<br />
congress. We use these sc<strong>en</strong>arios, and some others, for driving the <strong>de</strong>sign of the application<br />
prototype. Clearly, a ubiquitous computing <strong>en</strong>vironm<strong>en</strong>t could be ma<strong>de</strong> to pro-
vi<strong>de</strong> the following functionality.<br />
Arriving to the congress. Upon arriving to the congress location, a congress att<strong>en</strong>dant<br />
must perform a series of time consuming activities in or<strong>de</strong>r to get registered and<br />
schedule its work and leisure activities. Registration involves filling out forms with personal<br />
information, ev<strong>en</strong> in the case att<strong>en</strong>dants registered itself in advance. Surely, in<br />
this <strong>la</strong>st case the registration procedure takes less time but the processes cannot be<br />
avoi<strong>de</strong>d—the congress’ organization requires to have precise information of who has<br />
come a who has not.<br />
Scheduling activities. Att<strong>en</strong>dants, after registering and receiving the congress program,<br />
should start to schedule its work and leisure activities. Most of the times, the differ<strong>en</strong>ce<br />
betwe<strong>en</strong> obtaining excell<strong>en</strong>t results and obtaining just good or bad ones is having<br />
a good congress schedule. Making a schedule for a small congress may not be a<br />
problem, if one only consi<strong>de</strong>rs the size of the information at hand. But things may get<br />
complicated if we consi<strong>de</strong>r that almost always there is at least one paper pres<strong>en</strong>tation<br />
that gets cancelled after the congress program was printed. On the other hand, for <strong>la</strong>rge<br />
congresses, it should be evid<strong>en</strong>t that att<strong>en</strong>dants would greatly appreciate if they could<br />
have an automatic tool for scheduling its time based on her profile and curr<strong>en</strong>t interests.<br />
Moving around congress location. As stated before, meeting with people, known<br />
and unknown, is one of the things congress att<strong>en</strong>dants look forward to do. But how<br />
could a congress att<strong>en</strong>dant easily find his peers, specially the ones he doesn’t know?<br />
One can argue that he could do it at paper pres<strong>en</strong>tation rooms. After all, all of the att<strong>en</strong>dants<br />
to a particu<strong>la</strong>r paper pres<strong>en</strong>tation should share interests and profiles. However,<br />
during the time span of a paper pres<strong>en</strong>tation there may not be <strong>en</strong>ough time to meet all<br />
the interesting people att<strong>en</strong>ding. Consequ<strong>en</strong>tly, we think it is important to have a tool<br />
that would facilitate a person to locate peers based on her profile and curr<strong>en</strong>t interest<br />
in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>tly of people location. Besi<strong>de</strong>s, if the congress inclu<strong>de</strong>s a commercial exhibition,<br />
congress att<strong>en</strong>dants expect to locate just products they care about, as well as exhibitors<br />
expect to show their products only to pot<strong>en</strong>tial cli<strong>en</strong>ts. On the other hand, in<br />
g<strong>en</strong>eral, congress att<strong>en</strong>dants are not acquainted with the curr<strong>en</strong>t congress location.<br />
Thus, the congress organization must provi<strong>de</strong> proper <strong>en</strong>vironm<strong>en</strong>t signals and indications<br />
to easy the localization of p<strong>la</strong>ces to congress att<strong>en</strong>dants.<br />
Att<strong>en</strong>ding to paper pres<strong>en</strong>tations. During a paper pres<strong>en</strong>tation, att<strong>en</strong>dants take<br />
notes and acquire an opinion of the speaker. Wouldn’t it be nice if att<strong>en</strong>dants could instantly<br />
and quietly share, on their command, notes and opinions? Moreover, this notes<br />
and opinions could be shared with congress att<strong>en</strong>dants with simi<strong>la</strong>r interests and profiles<br />
but not att<strong>en</strong>ding to the particu<strong>la</strong>r paper pres<strong>en</strong>tation.<br />
4. Use cases<br />
Upon the sc<strong>en</strong>arios we id<strong>en</strong>tified, we came up with the Use Cases Mo<strong>de</strong>l shown in<br />
Figure 1. This Mo<strong>de</strong>l is based on the assumption that an autonomous ag<strong>en</strong>t middleware<br />
will be used. Autonomous ag<strong>en</strong>ts are technologies from the field of Artificial Intellig<strong>en</strong>ce<br />
that have be<strong>en</strong> successfully applied in several domains, including ubiquitous<br />
computing. For instance, ag<strong>en</strong>t technologies have be<strong>en</strong> consi<strong>de</strong>red as an alternative for
service discovery in pervasive<br />
computing <strong>en</strong>vironm<strong>en</strong>ts [4].<br />
Other research [5] has proposed<br />
the use of ag<strong>en</strong>t technology to<br />
wrap functionality to obtain context<br />
information (such as user’s<br />
profile, prefer<strong>en</strong>ces, activity, location<br />
and used <strong>de</strong>vices), which<br />
influ<strong>en</strong>ce the way a service is accessed<br />
or service results are pres<strong>en</strong>ted<br />
to the user. Other authors<br />
[6] use ag<strong>en</strong>t technologies to<br />
manage and keep mobile user’s<br />
data in a secure and safe space in<br />
a network’s fixed no<strong>de</strong>.<br />
A personal ag<strong>en</strong>t is a person’s<br />
software proxy. It must be a g<strong>en</strong>eric<br />
ag<strong>en</strong>t in the s<strong>en</strong>se that we<br />
expect there good be millions of<br />
these ag<strong>en</strong>ts within a global ubiquitous<br />
computing infrastructure.<br />
Figure 1—Use cases mo<strong>de</strong>l<br />
It is responsible of managing the<br />
user‘s PIM; <strong>de</strong>tecting the user state within the infrastructure; superseding the user wh<strong>en</strong><br />
the user is off-line; and maintaining communication channels with <strong>de</strong>vice ag<strong>en</strong>ts located<br />
at <strong>de</strong>vices near the user’s physical location. We <strong>en</strong>vision these personal ag<strong>en</strong>ts would<br />
be hosted by computer hardware of some Ubiquitous Computing Service Provi<strong>de</strong>r.<br />
An att<strong>en</strong>dant ag<strong>en</strong>t is a congress att<strong>en</strong>dant’s software proxy. It implem<strong>en</strong>ts knowledge<br />
and algorithms specially <strong>de</strong>sign for a congress <strong>en</strong>vironm<strong>en</strong>t: congress scheduling,<br />
locating peers, and interfaces with the congress ag<strong>en</strong>t. It <strong>de</strong>fines and maintains a tight<br />
bound with the corresponding personal ag<strong>en</strong>t for getting access to the congress att<strong>en</strong>dant’s<br />
PIM, state and location.<br />
We <strong>en</strong>vision each computing <strong>de</strong>vice hosting a <strong>de</strong>vice ag<strong>en</strong>t implem<strong>en</strong>ting knowledge<br />
and algorithms specially <strong>de</strong>sign for conveying information betwe<strong>en</strong> any other ag<strong>en</strong>t and<br />
the input/output hardware. It must implem<strong>en</strong>t an ontology for publishing <strong>de</strong>vice capabilities<br />
so that the information it s<strong>en</strong>ds and receives has appropriate formats. This is important<br />
for not having to convert data formats locally at the exp<strong>en</strong>se of draining computer<br />
power and battery lifetime. It also provi<strong>de</strong>s secure means for id<strong>en</strong>tifying persons<br />
and bounding the <strong>de</strong>vice with the id<strong>en</strong>tified person’s personal ag<strong>en</strong>t. This scheme supports<br />
the paradigm of application on <strong>de</strong>mand, like .NET, where no application program<br />
is required to be perman<strong>en</strong>tly installed within the <strong>de</strong>vice. Applications are accessed<br />
through the infrastructure by means of the bound betwe<strong>en</strong> the <strong>de</strong>vice ag<strong>en</strong>t and the<br />
user’s personal ag<strong>en</strong>t.<br />
The confer<strong>en</strong>ce ag<strong>en</strong>t is the software compon<strong>en</strong>t implem<strong>en</strong>ting knowledge and algorithms<br />
for managing the confer<strong>en</strong>ce. It holds the knowledge of people registered in advanced,<br />
registered congress att<strong>en</strong>dants, and congress services. It implem<strong>en</strong>ts an interface<br />
with personal ag<strong>en</strong>ts for signing on tasks. After signing on its user, personal ag<strong>en</strong>ts
Figure 2—Sequ<strong>en</strong>ce diagram for the Registration Use Case<br />
interact with the congress ag<strong>en</strong>t by means of an att<strong>en</strong>dant ag<strong>en</strong>t. It is responsible of<br />
spawning att<strong>en</strong>dant ag<strong>en</strong>ts.<br />
We <strong>en</strong>vision a network of interacting localization ag<strong>en</strong>ts within the global ubiquitous<br />
computing infrastructure implem<strong>en</strong>ting knowledge and algorithms for providing location<br />
context to ag<strong>en</strong>ts, and for localizing persons and <strong>de</strong>vices. One can argue that GPS<br />
equipped handheld <strong>de</strong>vices and proper software would be suffici<strong>en</strong>t for implem<strong>en</strong>ting<br />
these functionalities. However, one thing is for a <strong>de</strong>vice to know its p<strong>la</strong>ce on Earth and<br />
another is to provi<strong>de</strong> the user (and the <strong>de</strong>vice ag<strong>en</strong>t) with timely and <strong>de</strong>tailed information<br />
of people and services around him. GPS, or any other hardware mean for <strong>de</strong>termine<br />
Earth coordinates, is a first step. Localization ag<strong>en</strong>ts would trans<strong>la</strong>te longitu<strong>de</strong>,<br />
<strong>la</strong>titu<strong>de</strong> and altitu<strong>de</strong> measurem<strong>en</strong>ts to information like: “Welcome to Auroras Hotel,<br />
host of the annual XYZ congress. Here is your site map. You are here.”
5. Sequ<strong>en</strong>ce diagrams<br />
We have <strong>de</strong>sign sequ<strong>en</strong>ce diagrams for all use cases. Due to space constraints, here we<br />
only show the one for the Registration Use case—see Figure 2. The user <strong>en</strong>ters the congress<br />
building and his <strong>de</strong>vice’s WLAN networking hardware <strong>de</strong>tects a new signal and<br />
thus establishes a new network session, including sessions with local services. Th<strong>en</strong>, the<br />
<strong>de</strong>vice ag<strong>en</strong>t queries the local localization ag<strong>en</strong>t and informs the user’s personal ag<strong>en</strong>t<br />
of the new <strong>en</strong>vironm<strong>en</strong>t, possible including its curr<strong>en</strong>t GPS readings. Upon knowing the<br />
new <strong>en</strong>vironm<strong>en</strong>t the user’s personal ag<strong>en</strong>t communicates with the confer<strong>en</strong>ce ag<strong>en</strong>t.<br />
The personal ag<strong>en</strong>t knows by context that it should communicate with a confer<strong>en</strong>ce<br />
ag<strong>en</strong>t; for instance, the user had annotated in its ag<strong>en</strong>da it is att<strong>en</strong>ding a confer<strong>en</strong>ce at<br />
its pres<strong>en</strong>t location, or the local localization ag<strong>en</strong>t informs the personal ag<strong>en</strong>t there is a<br />
confer<strong>en</strong>ce going on and the <strong>la</strong>tter <strong>de</strong>termines the congress’ topic matches its user profile.<br />
The user’s personal ag<strong>en</strong>t negotiates with the confer<strong>en</strong>ce ag<strong>en</strong>t the user registration,<br />
including any input required by the user. Upon successful completion, the confer<strong>en</strong>ce<br />
ag<strong>en</strong>t spawns a new att<strong>en</strong>dant ag<strong>en</strong>t and binds it to the user’s personal ag<strong>en</strong>t. The<br />
first task for the att<strong>en</strong>dant ag<strong>en</strong>t is to negotiate with the user’s personal ag<strong>en</strong>t and the<br />
user <strong>de</strong>vice’s <strong>de</strong>vice ag<strong>en</strong>t the pres<strong>en</strong>tation to the user of a personalized welcome message.<br />
6. Concluding remarks<br />
Today’s successful histories in information technology research and innovation come<br />
from research projects aiming at providing people with solutions to better its life. Our<br />
research group is aiming at building social software applications and ubiquitous computing<br />
<strong>en</strong>vironm<strong>en</strong>ts that will drive our investigations in software <strong>en</strong>gineering and computer<br />
networking.<br />
Refer<strong>en</strong>ces<br />
[1] Kling, A. “Social Software,” Tech C<strong>en</strong>tral Station, www.techc<strong>en</strong>tralstation.com/<br />
04103C.html, 2000.<br />
[2] Weiser, M. “Some computer sci<strong>en</strong>ce issues in ubiquitous computing,” Communications of<br />
the ACM, Special issue on computer augm<strong>en</strong>ted <strong>en</strong>vironm<strong>en</strong>ts, Vol.36, No.7, pp.75-84,<br />
July 1993.<br />
[3] Macías-Estrada, A.; et-al. “An analysis of the communications support of the JADE/LEAP<br />
ag<strong>en</strong>t p<strong>la</strong>tform,” submitted 2004.<br />
[4] Campo C. “Service discovery in pervasive multi-ag<strong>en</strong>t systems”, In Proceedings of the<br />
First International Joint Confer<strong>en</strong>ce on Autonomous Ag<strong>en</strong>ts and Multiag<strong>en</strong>ts Systems,<br />
AAMAS 2002, Bologna Italy (2002).<br />
[5] Laukkan<strong>en</strong> M.; et al. “Tourists on the move”, In Proceedings of CIA 2002, LNAI 2246,<br />
Springer-Ver<strong>la</strong>g, Berlin Heidlgerg New York, 2002, 36-50.<br />
[6] Vil<strong>la</strong>te Y.; et al. “Keep your data safe and avai<strong>la</strong>ble while roaming”, Mobile Networks and<br />
Applications, MONET’02, Special issue on pervasive computing, Vol. 7 No. 4, 315-328,<br />
ACM Press, New York, 2002
Administrador <strong>de</strong> Candados para Transacciones<br />
Anidadas sobre Dispositivos Móviles<br />
Jorge Martínez-Muñoz 1 , Luis A. Gama-Mor<strong>en</strong>o 1,2 ,<br />
1 Laboratorio <strong>de</strong> Intelig<strong>en</strong>cia Artificial<br />
C<strong>en</strong>tro <strong>de</strong> Investigación <strong>en</strong> <strong>Computación</strong>, IPN.<br />
e-mail : {george, lgama}@correo.cic.ipn.mx<br />
Juan <strong>de</strong> Dios Bátiz esq. Othón <strong>de</strong> M<strong>en</strong>dizábal S/N Uni. Prof. Adolfo López Mateos,<br />
CP 07738, México, D.F., México.<br />
2 Instituto Tecnológico <strong>de</strong> Zacatepec<br />
Calzada Tecnológico S/N, Zacatepec, Mor. C.P. 62780, México<br />
Abstract: Transaction processing is a Distributed Systems branch aimed to study<br />
and preserve data consist<strong>en</strong>cy. Beyond f<strong>la</strong>t mo<strong>de</strong>ls –where objects are stored at<br />
the same host, there is the distributed approach <strong>en</strong>closing Nested Transactions.<br />
Executing these <strong>la</strong>tter over mobile <strong>de</strong>vices instead of fixed hosts, implies the<br />
necessity for new mo<strong>de</strong>ls capable of <strong>de</strong>aling with mobile computing traits. In this<br />
work, we introduce a lock manager supporting concurr<strong>en</strong>cy control, the<br />
transaction processing compon<strong>en</strong>t that manages multiple access requests over<br />
shared resources.<br />
Resum<strong>en</strong>: El procesami<strong>en</strong>to <strong>de</strong> transacciones es una rama <strong>de</strong> Sistemas<br />
Distribuidos ori<strong>en</strong>tada al estudio y preservación <strong>de</strong> <strong>la</strong> consist<strong>en</strong>cia <strong>de</strong> datos. Más<br />
allá <strong>de</strong> los mo<strong>de</strong>los tradicionales –don<strong>de</strong> los objetos están <strong>en</strong> un mismo servidor,<br />
se <strong>en</strong>cu<strong>en</strong>tran los mo<strong>de</strong>los distribuidos al que pert<strong>en</strong>ec<strong>en</strong> <strong>la</strong>s transacciones<br />
anidadas. La ejecución <strong>de</strong> estas últimas sobre dispositivos móviles <strong>en</strong> lugar <strong>de</strong><br />
estaciones <strong>de</strong> trabajo fijas, conlleva <strong>la</strong> necesidad <strong>de</strong> nuevos mo<strong>de</strong>los que se<br />
adapt<strong>en</strong> a <strong>la</strong>s características <strong>de</strong>l cómputo móvil. Este trabajo pres<strong>en</strong>ta un<br />
administrador <strong>de</strong> candados como soporte el control <strong>de</strong> concurr<strong>en</strong>cia, elem<strong>en</strong>to que<br />
permite coordinar <strong>la</strong> ejecución simultánea <strong>de</strong> múltiples peticiones <strong>de</strong> acceso para<br />
un recurso compartido.<br />
Pa<strong>la</strong>bras C<strong>la</strong>ve: Transacción anidada, Administrador <strong>de</strong> Candados,<br />
Control <strong>de</strong> Concurr<strong>en</strong>cia.<br />
1. Introducción.<br />
El concepto <strong>de</strong> transacción pue<strong>de</strong> ser <strong>en</strong>contrado <strong>en</strong> casi cualquier tipo <strong>de</strong> procesos <strong>de</strong><br />
negocios. En [2] se pres<strong>en</strong>ta una <strong>de</strong>finición <strong>de</strong> transacción <strong>la</strong> cual es un mecanismo<br />
para preservar <strong>la</strong> consist<strong>en</strong>cia <strong>de</strong> un grupo <strong>de</strong> objetos <strong>en</strong> proceso. En [1] se introduce<br />
una <strong>de</strong>finición formal <strong>de</strong> transacción como un conjunto <strong>de</strong> operaciones <strong>de</strong><br />
lectura/escritura <strong>de</strong>finidas bajo un ord<strong>en</strong> parcial. Los mo<strong>de</strong>los <strong>de</strong> transacciones están<br />
<strong>en</strong>focados <strong>en</strong> <strong>la</strong> preservación <strong>de</strong> <strong>la</strong>s propieda<strong>de</strong>s ACID: atomicidad, consist<strong>en</strong>cia,<br />
ais<strong>la</strong>mi<strong>en</strong>to y durabilidad [5]. Sin embargo, <strong>en</strong> reci<strong>en</strong>tes trabajos [3] se ha propuesto <strong>la</strong>
e<strong>la</strong>jación <strong>de</strong> los niveles <strong>de</strong> ais<strong>la</strong>mi<strong>en</strong>to, con el objetivo <strong>de</strong> increm<strong>en</strong>tar el número<br />
transacciones concurr<strong>en</strong>tes a <strong>la</strong> vez que se manti<strong>en</strong>e <strong>la</strong> consist<strong>en</strong>cia <strong>de</strong> los datos.<br />
En el pres<strong>en</strong>te trabajo, se <strong>de</strong>scribe un administrador <strong>de</strong> candados ori<strong>en</strong>tado a resolver<br />
conflictos por acceso concurr<strong>en</strong>te <strong>en</strong> un grupo <strong>de</strong> dispositivo móviles que ejecuta<br />
transacciones anidadas. Este mecanismo introduce una noción <strong>de</strong> persist<strong>en</strong>cia <strong>en</strong> el<br />
s<strong>en</strong>tido que transacciones fallidas, realizarán nuevos int<strong>en</strong>tos d<strong>en</strong>tro <strong>de</strong> restricciones <strong>de</strong><br />
tiempo real para completar sus operaciones, sin <strong>de</strong>jar <strong>de</strong> <strong>la</strong>do <strong>la</strong> condición <strong>de</strong> que<br />
exist<strong>en</strong> transacciones adicionales ejecutándose <strong>de</strong> manera simultánea. El mecanismo <strong>de</strong><br />
control forma parte <strong>de</strong> un monitor para transacciones anidadas actualm<strong>en</strong>te <strong>en</strong><br />
<strong>de</strong>sarrollo.<br />
2. Estado <strong>de</strong>l arte.<br />
2.1 Transacciones Anidadas.<br />
En [9] se introduce el concepto <strong>de</strong> transacciones anidadas (TA). En dicho mo<strong>de</strong>lo, una<br />
transacción pue<strong>de</strong> cont<strong>en</strong>er cierto número <strong>de</strong> sub-transacciones y cada sub-transacción,<br />
a su vez, pue<strong>de</strong> cont<strong>en</strong>er sub-transacciones. La transacción completa conforma una<br />
estructura arbórea, don<strong>de</strong> el nodo <strong>en</strong> el tope <strong>de</strong>l árbol es l<strong>la</strong>mada raíz [4][10]. La<br />
principal v<strong>en</strong>taja <strong>en</strong> TA es que <strong>la</strong> transacción raíz es capaz <strong>de</strong> validar con el trabajo<br />
confirmado <strong>de</strong> algunas <strong>de</strong> sus sub-transacciones aunque otras pres<strong>en</strong>t<strong>en</strong> fal<strong>la</strong>s. El<br />
abandono <strong>de</strong> una sub-transacción <strong>en</strong> cualquier nivel <strong>de</strong> <strong>la</strong> TA, causará que todas <strong>la</strong>s<br />
sub-transacciones hijas abandon<strong>en</strong>, esta es <strong>la</strong> razón <strong>de</strong>l por qué <strong>la</strong>s sub-transacciones<br />
hijas sólo ti<strong>en</strong><strong>en</strong> <strong>la</strong>s propieda<strong>de</strong>s Atomicidad, Consist<strong>en</strong>cia y Ais<strong>la</strong>mi<strong>en</strong>to pero no <strong>la</strong> <strong>de</strong><br />
Durabilidad [4]. Únicam<strong>en</strong>te <strong>la</strong> transacción raíz pue<strong>de</strong> cumplir con <strong>la</strong>s propieda<strong>de</strong>s<br />
ACID. La Figura 1.a. muestra un ejemplo <strong>de</strong> una transacción anidada.<br />
12/21<br />
T 11<br />
T 12<br />
T<br />
T<br />
T 11<br />
T<br />
T 1<br />
T 2<br />
T 3<br />
T 4<br />
T 1<br />
T 2<br />
T 3<br />
Fig. 1 (a) Transacción Anidada.<br />
(b). Transacción Anidada Móvil.
El mo<strong>de</strong>lo TA es a<strong>de</strong>cuado para aplicaciones que involucran aplicaciones móviles ya<br />
sea mediante conexiones celu<strong>la</strong>res o inalámbricas [4]. Por ejemplo, una transacción<br />
formada por sub-transacciones, ofrece mayor r<strong>en</strong>dimi<strong>en</strong>to y tolerancia a fal<strong>la</strong>s. Las<br />
sub-transacciones pued<strong>en</strong> ser ejecutadas <strong>en</strong> paralelo a <strong>la</strong> vez que manti<strong>en</strong><strong>en</strong> control<br />
local <strong>de</strong> su confirmación o cance<strong>la</strong>ción.<br />
2.3 Transacciones Anidadas Móviles.<br />
En [3] se introduce el mo<strong>de</strong>lo <strong>de</strong> Transacciones Anidadas Móviles (TAM). Éste es una<br />
combinación <strong>de</strong> los conceptos <strong>de</strong> TA y computación móvil (CM), <strong>en</strong> particu<strong>la</strong>r<br />
<strong>en</strong>focado a un grupo <strong>de</strong> dispositivos (hosts) móviles (HM). En [9], se m<strong>en</strong>ciona que<br />
únicam<strong>en</strong>te los nodos <strong>en</strong> el nivel inferior (hojas), pued<strong>en</strong> acce<strong>de</strong>r a objetos <strong>de</strong> <strong>la</strong> base<br />
<strong>de</strong> datos, mi<strong>en</strong>tras que <strong>la</strong> <strong>de</strong>finición <strong>en</strong> [5], permite también a los nodos intermedios<br />
ejecutar operaciones <strong>de</strong> lectura/escritura sobre datos. Esta es <strong>la</strong> difer<strong>en</strong>cia principal que<br />
pue<strong>de</strong> ser apreciada <strong>en</strong> <strong>la</strong> Fig. 1.b.<br />
2.4 Trabajos re<strong>la</strong>cionados.<br />
En [7] se pres<strong>en</strong>ta un mo<strong>de</strong>lo <strong>de</strong> simu<strong>la</strong>ción para medir el impacto <strong>de</strong> ciertas<br />
características <strong>en</strong> <strong>la</strong>s transacciones tales como número <strong>de</strong> hojas y niveles <strong>de</strong><br />
profundidad con respecto al <strong>de</strong>sempeño <strong>de</strong>l sistema. En [8] se introduce el concepto <strong>de</strong><br />
lista <strong>de</strong> requerimi<strong>en</strong>tos, con el objetivo <strong>de</strong> proveer tiempos <strong>de</strong> ejecución cortos y un<br />
mejor r<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l sistema basándose <strong>en</strong> intra-transacciones. En [6] se propon<strong>en</strong><br />
mecanismos <strong>de</strong> cooperación y comunicación para explotar el paralelismo <strong>en</strong> intratransacciones,<br />
y se introduce el concepto “Her<strong>en</strong>cia <strong>de</strong>sc<strong>en</strong>d<strong>en</strong>te <strong>de</strong> bloqueos”. En [11]<br />
se propon<strong>en</strong> soluciones a tópicos <strong>de</strong> control <strong>de</strong> concurr<strong>en</strong>cia y recuperación basadas <strong>en</strong><br />
ag<strong>en</strong>tes.<br />
3. Control <strong>de</strong> concurr<strong>en</strong>cia<br />
3.1 Control <strong>de</strong> concurr<strong>en</strong>cia basado <strong>en</strong> candados.<br />
El mecanismo <strong>de</strong> control que pres<strong>en</strong>tamos, está ori<strong>en</strong>tado a resolver conflictos que se<br />
originan si dos o más nodos <strong>de</strong> alguna transacción int<strong>en</strong>tan acce<strong>de</strong>r al mismo objeto. Se<br />
ti<strong>en</strong><strong>en</strong> pres<strong>en</strong>tes <strong>la</strong>s condiciones que pon<strong>en</strong> <strong>en</strong> riesgo <strong>la</strong> operación <strong>de</strong> un dispositivo<br />
móvil. Por ello, el control <strong>de</strong> concurr<strong>en</strong>cia <strong>de</strong>be estar diseñado para administrar<br />
efici<strong>en</strong>tem<strong>en</strong>te recursos compartidos bajo restricciones <strong>de</strong> tiempo. El mecanismo,<br />
permite a<strong>de</strong>más tratar con posibles <strong>de</strong>sconexiones y baterías agotadas. El <strong>de</strong>sempeño<br />
global, resultado <strong>de</strong> aplicar el control <strong>de</strong> concurr<strong>en</strong>cia basado <strong>en</strong> candados, resulta <strong>de</strong> <strong>la</strong><br />
ejecución <strong>de</strong> operaciones simples implem<strong>en</strong>tadas localm<strong>en</strong>te por cada nodo. Estas son<br />
activadas durante <strong>la</strong> interacción <strong>de</strong>l sistema <strong>en</strong> el procesami<strong>en</strong>to <strong>de</strong> <strong>la</strong> transacción.
T 1<br />
T 2<br />
T 11<br />
T 12<br />
T 21<br />
T 22<br />
T 111<br />
T 112<br />
T 13<br />
T 211<br />
T 212<br />
A<br />
Fig. 2. Ejemplo <strong>de</strong> acceso concurr<strong>en</strong>te. T 13 se <strong>en</strong>cu<strong>en</strong>tra usando A cuando T 211 int<strong>en</strong>ta acce<strong>de</strong>r el<br />
mismo objeto. El Administrador <strong>de</strong> Candados permite resolver el conflicto por medio <strong>de</strong> algunas<br />
s<strong>en</strong>cil<strong>la</strong>s reg<strong>la</strong>s.<br />
El mecanismo propuesto se ilustra <strong>en</strong> <strong>la</strong> Figura 2. Don<strong>de</strong>, <strong>la</strong> sub-transacción T 13 <strong>de</strong><br />
T 1 ya ha bloqueado un objeto <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos, posteriorm<strong>en</strong>te una segunda subtransacción<br />
T 211 <strong>de</strong> T 2 int<strong>en</strong>ta acce<strong>de</strong>r al mismo objeto.<br />
El Administrador <strong>de</strong> Candados cu<strong>en</strong>ta con una tab<strong>la</strong> don<strong>de</strong> se almac<strong>en</strong>a información<br />
sobre los objetos <strong>en</strong> uso y los candados correspondi<strong>en</strong>tes <strong>en</strong> el dispositivo anfitrión.<br />
Los candados se manti<strong>en</strong><strong>en</strong> durante el tiempo que requiera <strong>la</strong> transacción global para<br />
concluir y son inmediatam<strong>en</strong>te liberados cuando se recibe el commit o abort final <strong>de</strong>s<strong>de</strong><br />
el Nodo Raíz.<br />
Supongamos que existe una petición <strong>de</strong> candado compartido para acceso <strong>de</strong> lectura<br />
por parte <strong>de</strong> T 13 , el Administrador registrará qué transacción y objetos se <strong>en</strong>cu<strong>en</strong>tran<br />
ligados durante el tiempo necesario hasta que se complete <strong>la</strong> transacción. Si T 211 quiere<br />
leer el mismo objeto, el Administrador le conce<strong>de</strong>rá acceso compartido dado que no<br />
hay conflictos <strong>en</strong>tre ambas peticiones.<br />
Los problemas surg<strong>en</strong> cuando al m<strong>en</strong>os una <strong>de</strong> <strong>la</strong>s transacciones requiere acceso<br />
exclusivo dado que necesita escribir sobre los datos. Bajo tales condiciones, se<br />
introduc<strong>en</strong> <strong>la</strong>s sigui<strong>en</strong>tes reg<strong>la</strong>s para tratar con peticiones <strong>de</strong> acceso que <strong>en</strong>tran <strong>en</strong><br />
conflicto por su naturaleza.<br />
Para ilustrar el ejemplo arriba m<strong>en</strong>cionado, supongamos que <strong>en</strong> <strong>la</strong> Figura 4, el<br />
Administrador <strong>de</strong>l nodo T 13 ya ha registrado a <strong>la</strong> transacción para acceso exclusivo<br />
sobre A. Ahora, si una segunda transacción T 211 llega con <strong>la</strong> int<strong>en</strong>ción <strong>de</strong> usar A, ésta<br />
recibirá una notificación <strong>de</strong> rechazo por lo que T 211 <strong>en</strong>trará <strong>en</strong> un estado <strong>de</strong> espera.<br />
A continuación, dos ev<strong>en</strong>tos pued<strong>en</strong> ocurrir: T 13 libera el objeto A y T 211 es<br />
notificado para que continúe con sus operaciones asignadas por su padre T 21 ; o bi<strong>en</strong>,<br />
T 21 alcanza el fin <strong>de</strong> <strong>la</strong>pso <strong>de</strong>spués <strong>de</strong>l cual verifica si T 211 pudo completar sus<br />
operaciones o no, pues esta información es requerida para que T 21 <strong>la</strong> <strong>en</strong>víe hacia su<br />
respectivo superior. Dado que T 211 no tuvo éxito <strong>en</strong> <strong>la</strong> ejecución <strong>de</strong> sus operaciones, <strong>la</strong><br />
sub-transacción será abortada y T 21 tomará una <strong>de</strong>cisión sobre si aún es posible ejecutar
commit a pesar <strong>de</strong> <strong>la</strong> fal<strong>la</strong> <strong>de</strong> T 211 . Esta <strong>de</strong>cisión se realiza consi<strong>de</strong>rando <strong>la</strong> c<strong>la</strong>sificación<br />
<strong>de</strong> acciones y operaciones que se introduce <strong>en</strong> <strong>la</strong> sigui<strong>en</strong>te sub-sección.<br />
La información <strong>de</strong> todas <strong>la</strong>s sub-transacciones, ev<strong>en</strong>tualm<strong>en</strong>te llega al Nodo Raíz T 2 .<br />
Si el nodo fallido (T 211 ) <strong>de</strong>s<strong>en</strong>cad<strong>en</strong>ó un abort global <strong>de</strong>bido a su prioridad, <strong>en</strong>tonces el<br />
coordinador raíz <strong>de</strong>be programar un nuevo int<strong>en</strong>to para completar <strong>la</strong>s tareas<br />
inconclusas. Antes <strong>de</strong> ejecutar <strong>la</strong> sigui<strong>en</strong>te transacción, <strong>de</strong>be revisarse <strong>la</strong> configuración<br />
<strong>de</strong>finida por el usuario. De esta última <strong>de</strong>p<strong>en</strong><strong>de</strong> si <strong>la</strong> ejecución se realiza <strong>de</strong> manera<br />
automática o habrá necesidad <strong>de</strong> autorización por parte <strong>de</strong>l usuario.<br />
3.2 Toma <strong>de</strong> <strong>de</strong>cisiones <strong>en</strong> solución <strong>de</strong> conflictos por concurr<strong>en</strong>cia.<br />
Durante el procesami<strong>en</strong>to <strong>de</strong> <strong>la</strong> transacción, se pued<strong>en</strong> <strong>en</strong>contrar objetos <strong>de</strong> <strong>la</strong> base <strong>de</strong><br />
datos que ya han sido bloqueados por otros cli<strong>en</strong>tes. Para resolver este tipo <strong>de</strong><br />
conflictos, se propone el sigui<strong>en</strong>te mecanismo. Se trata <strong>de</strong> una c<strong>la</strong>sificación <strong>de</strong><br />
acciones y operaciones <strong>en</strong>: obligatorias y opcionales, fuertes y débiles. La combinación<br />
<strong>de</strong> estas características y <strong>la</strong> <strong>de</strong>cisión que aplica cuando alguna <strong>de</strong> <strong>la</strong>s operaciones<br />
pert<strong>en</strong>eci<strong>en</strong>tes a una sub-transacción no pue<strong>de</strong> ser ejecutada exitosam<strong>en</strong>te se muestran<br />
<strong>en</strong> <strong>la</strong> Tab<strong>la</strong> 1.<br />
Tipo Subtipo Descripción<br />
Obligatoria Fuerte Se aborta <strong>la</strong> transacción.<br />
Obligatoria Débil<br />
Se realiza un nuevo int<strong>en</strong>to inmediatam<strong>en</strong>te, a<br />
m<strong>en</strong>os que el usuario cancele <strong>la</strong> operación.<br />
Opcional Fuerte Se ignoran <strong>la</strong>s operaciones fallidas para esta<br />
transacción, pero se programa una transacción<br />
posterior a m<strong>en</strong>os que el usuario cancele <strong>la</strong><br />
operación.<br />
Opcional Débil No se realizan int<strong>en</strong>tos adicionales.<br />
Tab<strong>la</strong> 1. C<strong>la</strong>sificación <strong>de</strong> acciones para dar soporte al control <strong>de</strong> concurr<strong>en</strong>cia <strong>en</strong> el<br />
procesami<strong>en</strong>to <strong>de</strong> transacciones anidadas. La columna <strong>de</strong> <strong>de</strong>scripción muestra qué <strong>de</strong>be<br />
realizarse <strong>en</strong> caso <strong>de</strong> que <strong>la</strong>s operaciones y sub-transacciones fall<strong>en</strong>.<br />
La c<strong>la</strong>sificación anterior auxilia <strong>en</strong> <strong>la</strong> toma <strong>de</strong> <strong>de</strong>cisiones <strong>de</strong> los nodos <strong>de</strong> <strong>la</strong><br />
transacción. Esto pue<strong>de</strong> ocurrir cuando se int<strong>en</strong>ta acce<strong>de</strong>r a un objeto que ya ha sido<br />
asegurado por otro nodo, e incluso cuando se pier<strong>de</strong> <strong>la</strong> comunicación con alguno <strong>de</strong> los<br />
participantes. El nodo padre pue<strong>de</strong> seleccionar una vía alterna para operar con un<br />
conjunto <strong>de</strong> <strong>de</strong>sc<strong>en</strong>di<strong>en</strong>tes distinto al original. Si <strong>la</strong> operación fallida es obligatoriadébil<br />
u opcional-fuerte, se pue<strong>de</strong> realizar un nuevo int<strong>en</strong>to, ya sea d<strong>en</strong>tro <strong>de</strong> <strong>la</strong> misma<br />
transacción o programando una transacción futura. Aquí se introduce <strong>la</strong> noción <strong>de</strong><br />
persist<strong>en</strong>cia <strong>en</strong> el s<strong>en</strong>tido <strong>de</strong> que se realizarán nuevos int<strong>en</strong>tos para completar<br />
transacciones fallidas, siempre que esto sea posible y así lo <strong>de</strong>see el usuario. El<br />
mecanismo propuesto opera como auxiliar para el control <strong>de</strong> bitácoras <strong>de</strong> operación y<br />
recuperación <strong>de</strong>spués <strong>de</strong> una fal<strong>la</strong>.
4. Conclusiones<br />
En este artículo se <strong>de</strong>scribieron mo<strong>de</strong>los para mejorar el r<strong>en</strong>dimi<strong>en</strong>to y tolerancia a<br />
fal<strong>la</strong>s <strong>de</strong> aplicaciones que procesan transacciones <strong>en</strong> dispositivos móviles. El mo<strong>de</strong>lo<br />
<strong>de</strong> transacciones anidadas <strong>en</strong> particu<strong>la</strong>r, permite <strong>la</strong> división <strong>de</strong> una transacción <strong>en</strong> subtransacciones<br />
increm<strong>en</strong>tando <strong>de</strong> esta forma, <strong>la</strong> concurr<strong>en</strong>cia <strong>en</strong> <strong>la</strong>s aplicaciones. Se<br />
introdujo un administrador <strong>de</strong> candados para <strong>la</strong> coordinación <strong>de</strong> transacciones que<br />
int<strong>en</strong>tan acce<strong>de</strong>r a objetos previam<strong>en</strong>te bloqueados con acceso exclusivo. Con ello se<br />
busca disminuir los efectos <strong>de</strong> “abrazos mortales”. Finalm<strong>en</strong>te, se pres<strong>en</strong>taron políticas<br />
para <strong>la</strong> solución <strong>de</strong> conflictos d<strong>en</strong>tro <strong>de</strong>l árbol <strong>de</strong> transacciones c<strong>la</strong>sificando <strong>la</strong>s<br />
operaciones <strong>en</strong> obligatorias u opcionales.<br />
Refer<strong>en</strong>cias<br />
[1] P. E. Bertino, B. Catania, A. Vinai. “Transaction Mo<strong>de</strong>ls And Architectures. Encyclopedia<br />
of Computer Sci<strong>en</strong>ce and Technology”, Vol.38, Marcel Dekker, 1998, pp. 316-400.<br />
[2] G. Coulouris, J. Dollimore, T. Kindberg T. “Distributed Systems”. Addison Wesley, 2002.<br />
[3] L. A. Gama, M. Alvarado. “Concurr<strong>en</strong>cy control for Read-Only in Mobile Nested<br />
Transactions”. Proc. of Intellig<strong>en</strong>t Computing in the Petroleum Industry ICPI’03,<br />
associated with IJCAI’03, 2003.<br />
[4] L. A. Gama, M. Alvarado. “Mobile Nested Transactions for Nomadic Teams”. Special Issue<br />
on Intellig<strong>en</strong>t Computing for Petroleum Industry. Expert Systems with Applications, Vol.<br />
26-4. Elsevier, 2004.<br />
[5] J. Gray, A. Reuter. “Transaction Processing: Concepts and Techniques”. Morgan Kaufmann<br />
Publishers, Inc., 1993.<br />
[6] T. Här<strong>de</strong>r, K. Rothermel. “Concurr<strong>en</strong>cy Control Issues in Nested Transactions”. The VLDB<br />
Journal - The International Journal on Very Large Data Bases, Vol. 2, Issue 1, Springer-<br />
Ver<strong>la</strong>g New York, Inc., January 1993, pp. 39-74.<br />
[7] H. S. Hassanein, M. E. El-Sharkawi. “Performance Mo<strong>de</strong>ling of Nested Transactions in<br />
Database Systems. Proc. of the 2000 confer<strong>en</strong>ce of the C<strong>en</strong>tre for Advanced Studies on<br />
Col<strong>la</strong>borative research, IBM Press, 2000, p. 4.<br />
[8] M.L. Lo, C.V. Ravishankar. “A Concurr<strong>en</strong>cy Control Protocol for Nested Transactions”.<br />
IBM C<strong>en</strong>tre for Advanced Studies Confer<strong>en</strong>ce. Proc. of the 1992 confer<strong>en</strong>ce of the C<strong>en</strong>tre<br />
for Advanced Studies on Col<strong>la</strong>borative research, Vol.2, IBM Press, 1992, pp. 67-80.<br />
[9] J.E.B. Moss. “Nested Transactions: An Approach to Reliable Distributed Computing”. MIT<br />
Press, Cambridge, MA, 1985.<br />
[10] J. Martinez, M. Alvarado. “Mobile Nested Transaction Monitor based on MultiAg<strong>en</strong>t<br />
Systems: Workflow Layer and JADE ontologies”. Proc. of Workshop on Intellig<strong>en</strong>t<br />
Computing ’04, associated with MICAI ‘04, 2004.<br />
[11] E. Pitoura, B. Bhargava. “A Framework for Providing Consist<strong>en</strong>t and Recoverable Ag<strong>en</strong>t-<br />
Based Access to Heterog<strong>en</strong>eous Mobile Databases”. ACM SIGMOD Record, Vol. 24, Issue<br />
3, ACM Press, September 1995, pp. 44-49.
Autonomous Ag<strong>en</strong>ts for Supporting Mobility in AmI<br />
Environm<strong>en</strong>ts<br />
Marce<strong>la</strong> Rodríguez Urrea 1,2 ,JesúsFave<strong>la</strong> 1 , Edgar A. Martínez 1<br />
1 C<strong>en</strong>tro <strong>de</strong> Investigación Ci<strong>en</strong>tífica y <strong>de</strong> Educación Superior <strong>de</strong> Ens<strong>en</strong>ada<br />
{marcerod,fave<strong>la</strong>,edgar}@cicese.mx<br />
2 Universidad Autónoma <strong>de</strong> Baja California<br />
Abstract. In this paper, we pres<strong>en</strong>t how we use autonomous ag<strong>en</strong>ts as a useful<br />
abstraction for the <strong>de</strong>sign and <strong>de</strong>velopm<strong>en</strong>t of an Ambi<strong>en</strong>t Intellig<strong>en</strong>ce medical<br />
<strong>en</strong>vironm<strong>en</strong>t. Hospitals are characterized by the high mobility of their medical staff<br />
which need to opportunistically access information and services. Our system inclu<strong>de</strong>s a<br />
handheld computer with an ag<strong>en</strong>t wrapping a trained backpropagation neural-network<br />
that estimates the user’s location, and a cli<strong>en</strong>t to access information from the Hospital<br />
Information System that is relevant to the user’s curr<strong>en</strong>t location. We illustrate how we<br />
implem<strong>en</strong>ted the location-estimation ag<strong>en</strong>t by using the SALSA middleware which<br />
<strong>en</strong>ables <strong>de</strong>velopers to implem<strong>en</strong>t systems that support ambi<strong>en</strong>t intellig<strong>en</strong>ce.<br />
Keywords. Ambi<strong>en</strong>t intellig<strong>en</strong>ce, autonomous ag<strong>en</strong>ts, location-aware services<br />
1 Introduction<br />
Ambi<strong>en</strong>t Intellig<strong>en</strong>ce (AmI) is the vision of smart spaces in which computational<br />
artifacts become invisible, pres<strong>en</strong>t wh<strong>en</strong>ever we need it, adaptive to mobile users and<br />
context, <strong>en</strong>abled by simple and effortless interactions, and autonomously acting to<br />
support users’ activities and goals [3]. For this, AmI systems need intellig<strong>en</strong>t<br />
capabilities to be reactive to context and learn from users’ behavior in or<strong>de</strong>r to provi<strong>de</strong><br />
high quality services based on their prefer<strong>en</strong>ces. For this, AI techniques such as<br />
learning algorithms, pattern matchers and ag<strong>en</strong>t technology, may be used in the<br />
implem<strong>en</strong>tation of these intellig<strong>en</strong>t systems. We realized that AmI <strong>en</strong>vironm<strong>en</strong>ts are<br />
characterized for the autonomy, reactivity, distribution, col<strong>la</strong>boration and adaptation of<br />
its artifacts, and in this s<strong>en</strong>se, they share the same characteristics as ag<strong>en</strong>ts. Ag<strong>en</strong>ts<br />
have be<strong>en</strong> consi<strong>de</strong>red as a technological alternative to cope with some of the chall<strong>en</strong>ges<br />
in implem<strong>en</strong>ting smart spaces, such as problems re<strong>la</strong>ted with the discovery of services,<br />
security and adaptation of information. However, the use of autonomous ag<strong>en</strong>ts has<br />
not be<strong>en</strong> explored as an abstraction tool for the <strong>de</strong>sign and construction of ambi<strong>en</strong>t<br />
intellig<strong>en</strong>ce <strong>en</strong>vironm<strong>en</strong>ts. To <strong>de</strong>termine if autonomous ag<strong>en</strong>ts are the appropriate<br />
metaphor for implem<strong>en</strong>ting intellig<strong>en</strong>t <strong>en</strong>vironm<strong>en</strong>ts, we <strong>de</strong>signed and built a<br />
handheld-based system to support the location-aware access to medical information in<br />
hospitals. In hospital <strong>en</strong>vironm<strong>en</strong>ts, medical workers are highly mobile. They need to<br />
move to locate other colleagues, pati<strong>en</strong>ts and resources, such as medical equipm<strong>en</strong>t.<br />
Additionally, the information required by these specialists <strong>de</strong>p<strong>en</strong>ds of their location. It<br />
has be<strong>en</strong> consi<strong>de</strong>red that mobility is a key concept that <strong>de</strong>serves special att<strong>en</strong>tion wh<strong>en</strong>
<strong>de</strong>signing AmI spaces [3]. In this paper, we <strong>de</strong>scribe how we use autonomous ag<strong>en</strong>ts to<br />
address mobility issues, in particu<strong>la</strong>r, the estimation of the user’s location. We illustrate<br />
how the location-aware hospital information system was built by using the SALSA<br />
ag<strong>en</strong>t middleware, which is flexible <strong>en</strong>ough to <strong>en</strong>able the implem<strong>en</strong>tation and evolution<br />
of AmI applications [4][5].<br />
In the next Section, we illustrate with a sc<strong>en</strong>ario our vision of AmI in hospitals, in<br />
which mobile users opportunistically access information and services. Section 3<br />
<strong>de</strong>scribes rec<strong>en</strong>t efforts aimed at estimating users’ location, and Section 4 <strong>de</strong>scribes our<br />
approach based on a wireless LAN and a back-propagation neural network which is<br />
wrapped in an autonomous ag<strong>en</strong>t. Section 5 illustrates the implem<strong>en</strong>tation of the<br />
location-estimation ag<strong>en</strong>t, and its integration of the location-aware hospital system.<br />
Finally, Section 6 pres<strong>en</strong>ts our conclusions.<br />
2 AmI in Healthcare Environm<strong>en</strong>ts<br />
The AmI vision was shaped through a set of sc<strong>en</strong>arios in which people are at the<br />
forefront of the Information Society [3]. Following this approach, we have id<strong>en</strong>tified<br />
sc<strong>en</strong>arios with the purpose of discovering how AmI systems can support the activities<br />
of medical staff in their working <strong>en</strong>vironm<strong>en</strong>t [4]. Next, we pres<strong>en</strong>t one of the<br />
sc<strong>en</strong>arios that gui<strong>de</strong>d our <strong>de</strong>sign of the location-aware hospital information system<br />
CHIS system.<br />
While Dr. Diaz is checking the status of a pati<strong>en</strong>t (bed 222), he realizes that he<br />
should request a <strong>la</strong>boratory study. Using his handheld, he makes this request through<br />
the pati<strong>en</strong>t’s electronic clinical record. Wh<strong>en</strong> the chemist responsible for taking<br />
samples for the analysis, visits the internal medicine area, the application in his<br />
handheld realizes he is in a differ<strong>en</strong>t hospital floor and informs him that in bed 222 a<br />
pati<strong>en</strong>t requires <strong>la</strong>boratory analysis. Wh<strong>en</strong> the chemist stands in front of the pati<strong>en</strong>t,<br />
his handheld lists the samples he must take and the type of analysis to be performed.<br />
Once he performs these analyses, he adds the results to the pati<strong>en</strong>t’s clinical record.<br />
Afterwards, wh<strong>en</strong> Dr. Diaz visits the pati<strong>en</strong>t on his next round, the <strong>la</strong>b results will be<br />
disp<strong>la</strong>yed on his handheld. On the basis of these results, he re-evaluates the pati<strong>en</strong>t and<br />
<strong>de</strong>ci<strong>de</strong>s to fill a medical note requesting the nurse in charge to increase the doses of the<br />
pati<strong>en</strong>t’s medication.<br />
In this sc<strong>en</strong>ario, the system is continuously estimating the location of Dr. Diaz and<br />
communicating this information to the Hospital Information System, which updates the<br />
physician’s location on all other users’ handhelds. After a few seconds of Dr. Diaz<br />
being near bed 222 the medical record of this pati<strong>en</strong>t is disp<strong>la</strong>yed on his PDA. In the<br />
case of the chemist, wh<strong>en</strong> he moves to the floor where the pati<strong>en</strong>ts are located, his<br />
handheld updates his location, and th<strong>en</strong>, provi<strong>de</strong>s him with information of the pati<strong>en</strong>ts<br />
p<strong>en</strong>ding <strong>la</strong>boratory analysis on that floor. Thus, the system adapts to the context, and in<br />
particu<strong>la</strong>r to the location of its user. Undoubtedly, location is important to un<strong>de</strong>rstand<br />
the context of mobile users. Location becomes a useful in<strong>de</strong>xing information from<br />
which to infer the overall context that a system will use to provi<strong>de</strong> services and<br />
information to mobile users.
3 Curr<strong>en</strong>t Approaches to Location-estimation<br />
Estimating the location of a user has be<strong>en</strong> a subject of consi<strong>de</strong>rable att<strong>en</strong>tion in rec<strong>en</strong>t<br />
years. Advances in Global Po<strong>sitio</strong>ning Systems (GPS) allow mobile computers to<br />
<strong>de</strong>termine its location with an approximate accuracy of 10 meters by using<br />
triangu<strong>la</strong>tion of the signals received from multiple satellites. Passive RFID tags have<br />
become increasingly popu<strong>la</strong>r to track and id<strong>en</strong>tify products and people. With a read<br />
distance g<strong>en</strong>erally limited to three feet, a high conc<strong>en</strong>tration of tags would be required<br />
to continuously track the location of people. There are also active RFID tags with<br />
transmission distances of over 100 feet that use a battery to power the chip’s circuitry<br />
and broadcast a signal to a rea<strong>de</strong>r. This solution however, requires the instal<strong>la</strong>tion of a<br />
<strong>de</strong>dicated infrastructure besi<strong>de</strong>s the computer network as is the case with most of the<br />
solutions discussed above.<br />
Of particu<strong>la</strong>r interest are location estimation techniques that make use of an existing<br />
wireless LAN infrastructure, since they have better sca<strong>la</strong>bility and less instal<strong>la</strong>tion and<br />
maint<strong>en</strong>ance costs than ad-hoc solutions. These methods use the RF signal str<strong>en</strong>gth<br />
betwe<strong>en</strong> a mobile <strong>de</strong>vice and several access points of the wireless LAN, to estimate<br />
location. The RADAR location system uses an IEEE 802.11 wireless LAN and an<br />
empirical method based on the nearest neighbor algorithm [1]. Simi<strong>la</strong>rly, the Nibble<br />
system uses the signal-to-noise ratio, which is more stable than signal str<strong>en</strong>gth to<br />
compute the distance to the access point. Nibble uses a Bayesian network to estimate<br />
the probability of the mobile being at one of a set of discrete locations [2].<br />
4 Neural Networks for Location Estimation<br />
We are using backpropagation neural networks trained to map RF signals from a<br />
WLAN to 2D coordinates [5]. Once trained, the neural network can be used to c<strong>la</strong>ssify<br />
incoming patterns into <strong>la</strong>beled c<strong>la</strong>sses. The best results of the location estimation were<br />
obtained with an output <strong>la</strong>yer of 2 neurons corresponding to the X and Y coordinates<br />
we want to estimate, 5 neurons in the input <strong>la</strong>yer and 16 neurons in the hidd<strong>en</strong> <strong>la</strong>yer.<br />
We use the signal to noise ratio as input, and a variation of the backpropagation<br />
algorithm (conjugate gradi<strong>en</strong>t with Po<strong>la</strong>k-Ribiére updates) which fulfills several<br />
conditions that guarantee that an optimum learning coeffici<strong>en</strong>t was found. With this<br />
configuration, we obtained an average error of 2.0947 meters and we observed that<br />
80% of the output patterns are within 3 meters of their target. More <strong>de</strong>tails of the<br />
experim<strong>en</strong>tal setup and results are pres<strong>en</strong>ted in [5].<br />
5 Integrating the Location-estimation Ag<strong>en</strong>t to the Location-aware<br />
Hospital System<br />
As illustrated in Figure 1, the main compon<strong>en</strong>ts of the location-aware system are<br />
autonomous ag<strong>en</strong>ts implem<strong>en</strong>ted with the SALSA middleware [4]. These ag<strong>en</strong>ts<br />
communicate through an Ag<strong>en</strong>t Broker, which instantiates an Instant Messaging &
Pres<strong>en</strong>ce Server. In the handheld computer resi<strong>de</strong>s the Location-aware Cli<strong>en</strong>t. It was<br />
conceived as an autonomous ag<strong>en</strong>t that notifies the user’s location to other users and<br />
ag<strong>en</strong>ts, provi<strong>de</strong>s mobile users with information relevant to their location, and allows<br />
them to fill requests and communicate with other members of the staff. Its interface is<br />
based on the Instant Messaging (IM) paradigm, through which users are notified of the<br />
avai<strong>la</strong>bility of other users and their location. In the handheld also resi<strong>de</strong>s the Locationestimation<br />
Ag<strong>en</strong>t (LE-a) which obtains the user’s po<strong>sitio</strong>n (X,Y coordinates), and<br />
informs it to the Location-aware Cli<strong>en</strong>t. The Hospital Information System Ag<strong>en</strong>t (HISa)<br />
acts as proxy of the HIS, which manages and stores the pati<strong>en</strong>t’s clinical records and<br />
other data relevant to the hospital. This ag<strong>en</strong>t provi<strong>de</strong>s access to information contained<br />
in the HIS, and monitors its changes. Finally, the Context-aware ag<strong>en</strong>t (Ca-a) <strong>de</strong>livers<br />
the messages that <strong>de</strong>p<strong>en</strong>d on contextual variables for their <strong>de</strong>livery.<br />
<br />
Server<br />
PDA<br />
Locationestimation<br />
Ag<strong>en</strong>t (LE-a)<br />
Locationt-aware<br />
Location-aware<br />
Cli<strong>en</strong>t cli<strong>en</strong>t<br />
Locationestimation<br />
(LE-a)<br />
IM&P server: Ag<strong>en</strong>t Broker<br />
WLAN<br />
Server<br />
Context-aware<br />
Ag<strong>en</strong>t (CA-a)<br />
Server<br />
HIS<br />
HIS Ag<strong>en</strong>t<br />
Ag<strong>en</strong>t<br />
(HIS-a)<br />
(HIS-a)<br />
HIS<br />
HIS<br />
Fig. 1 Architecture of the Location-aware hospital system.<br />
As m<strong>en</strong>tioned above the location estimation compon<strong>en</strong>t is a SALSA ag<strong>en</strong>t that<br />
wraps in its reasoning module a trained neural network to estimate the user’s location.<br />
Figure 2a illustrates the LE-a c<strong>la</strong>ss diagram by using the AUML (Ag<strong>en</strong>t Unified<br />
Mo<strong>de</strong>ling Language) notation. It specifies the fields that <strong>de</strong>fine the state of the ag<strong>en</strong>t,<br />
which are the information perceived (SNR- Signal to Noise Ratio) and the output<br />
information (coordinates X,Y). To g<strong>en</strong>erate this output, the ag<strong>en</strong>t has the capability of<br />
estimating the user’s po<strong>sitio</strong>n, and th<strong>en</strong> it has to act by notifying the user’s po<strong>sitio</strong>n to<br />
the location-aware cli<strong>en</strong>t. To do this, the LE-a uses the communicative acts of SALSA.<br />
The ag<strong>en</strong>t may also <strong>de</strong>ci<strong>de</strong> to update his reasoning compon<strong>en</strong>t wh<strong>en</strong> it <strong>de</strong>tects that the<br />
name of the Access Points has changed<br />
Figure 2b shows how the compon<strong>en</strong>ts of the location-estimation ag<strong>en</strong>t (LE-a)<br />
interact to estimate the user’s location. These compon<strong>en</strong>ts are instances of SALSA<br />
c<strong>la</strong>sses. The ag<strong>en</strong>t’s perception module receives the SNR (Signal to Noise Ratio)<br />
through the PassiveEntityToPerceive object, which repres<strong>en</strong>ts the memory of the<br />
wireless network card. The <strong>de</strong>veloper implem<strong>en</strong>ted this interface to read data from the<br />
WLAN card, wrap the data in an Input object, and th<strong>en</strong>, notify it to the<br />
PassivePerception compon<strong>en</strong>t of the LE-a. Wh<strong>en</strong> the SNR value is changed, the<br />
PassivePerception object g<strong>en</strong>erates a StateChangeEv<strong>en</strong>t which is captured by the<br />
reasoning compon<strong>en</strong>t. Th<strong>en</strong>, the Reasoning compon<strong>en</strong>t makes a new estimation of the<br />
user’s location based on the Input received, and invokes to the Acting compon<strong>en</strong>t. It<br />
communicates this information to the location-aware application, which is also an
ag<strong>en</strong>t residing on the user’s PDA. Since the signal str<strong>en</strong>gth <strong>de</strong>cays consi<strong>de</strong>rably from<br />
floor to floor, one estimation ag<strong>en</strong>t is trained for each hospital floor. Wh<strong>en</strong> the str<strong>en</strong>gth<br />
of the signal from the access points in one floor goes below certain threshold, the LE-a<br />
asks the Ag<strong>en</strong>tDirectory to request information of the server in which the LE-a that<br />
holds the reasoning compon<strong>en</strong>t that estimate his location in that floor resi<strong>de</strong>s. Thus, by<br />
using the mobility attribute of ag<strong>en</strong>ts, the LE-a on the PDA updates its reasoning<br />
compon<strong>en</strong>t.<br />
Location-estimation ag<strong>en</strong>t<br />
<br />
LE-a<br />
<br />
input -> SNR<br />
output -> X,Y<br />
<br />
Notify po<strong>sitio</strong>n to loc-aware cli<strong>en</strong>t<br />
Update reasoning compon<strong>en</strong>t<br />
Access Points<br />
SNR<br />
: PassiveEntity<br />
ToPerceive<br />
notifying( )<br />
: Passive<br />
Perception<br />
perceive(SNR)<br />
<br />
ev: State<br />
ChangeEv<strong>en</strong>t<br />
think(ev)<br />
Reasoning<br />
act(action)<br />
acting : Acting<br />
<br />
<br />
Estimate po<strong>sitio</strong>n<br />
Communicate user’s po<strong>sitio</strong>n<br />
s<strong>en</strong>dChangeLocation()<br />
Request reasoning compon<strong>en</strong>t<br />
getCompon<strong>en</strong>t()<br />
action : Action<br />
s<strong>en</strong>dChangeLocation()<br />
Location-aware<br />
Cli<strong>en</strong>t<br />
Fig. 2 AUML c<strong>la</strong>ss diagram and sequ<strong>en</strong>ce diagram of the location-estimation ag<strong>en</strong>t<br />
The location-aware application receives the user’s X,Y coordinates through its<br />
PassivePerception object. This information will be communicated through the<br />
StateChangeEv<strong>en</strong>t. Th<strong>en</strong> the reasoning compon<strong>en</strong>t maps the X,Y coordinates to an area<br />
id<strong>en</strong>tifier (bed number, room, etc.) and the acting compon<strong>en</strong>t communicates this new<br />
location to the rest of the system’s ag<strong>en</strong>ts and users trough its instant messaging cli<strong>en</strong>t.<br />
In Figure 3(a) is <strong>de</strong>picted the implem<strong>en</strong>tation of the reasoning compon<strong>en</strong>t of the LEa<br />
by using the SALSA c<strong>la</strong>sses. For this, the <strong>de</strong>veloper created the c<strong>la</strong>ss ReasoningLE_a<br />
by ext<strong>en</strong>ding the Reasoning c<strong>la</strong>ss of SALSA. As it is an abstract c<strong>la</strong>ss, its think<br />
method was overwritt<strong>en</strong> to process the input perceived and th<strong>en</strong>, to indicate the ag<strong>en</strong>t<br />
what action should execute. For instance, if the SALSA ev<strong>en</strong>t created by the<br />
PassivePerception compon<strong>en</strong>t was a stateChangeEv<strong>en</strong>t, it indicates that a new input<br />
has to be process by the estimatesLocation() method which implem<strong>en</strong>ts the trained<br />
Neural Network. Th<strong>en</strong> the acting compon<strong>en</strong>t is invoked to execute the<br />
communicateNewLocation_Action object, which implem<strong>en</strong>ts the SALSA Action<br />
c<strong>la</strong>ss, to pass the new user’s location to the PassivePerception of the Location-aware<br />
cli<strong>en</strong>t. Once the <strong>de</strong>veloper implem<strong>en</strong>ted the Perception, Reasoning, and Action<br />
compon<strong>en</strong>ts of the ag<strong>en</strong>t, he has to create the LE-a as illustrated in Figure 3(b). The<br />
ag<strong>en</strong>t was created by ext<strong>en</strong>ding the SALSA Ag<strong>en</strong>t c<strong>la</strong>ss and by invoking its create<br />
method which will automatically produce the compon<strong>en</strong>ts of this ag<strong>en</strong>t.
6 Conclusions<br />
We used autonomous ag<strong>en</strong>ts as a technique to mo<strong>de</strong>l and <strong>de</strong>sign the system. Thus, the<br />
main compon<strong>en</strong>ts of the location-aware hospital system were id<strong>en</strong>tified as ag<strong>en</strong>ts that<br />
respond autonomously in accordance with the context surrounding the activities<br />
performed at the hospital. To implem<strong>en</strong>t the system, we used the ag<strong>en</strong>t SALSA<br />
middleware which <strong>en</strong>ables <strong>de</strong>velopers to easily add new functionality to AmI systems,<br />
by allowing the integration of compon<strong>en</strong>ts repres<strong>en</strong>ted by autonomous ag<strong>en</strong>ts. We are<br />
curr<strong>en</strong>tly evaluating the core features of SALSA by implem<strong>en</strong>ting several AmI<br />
applications. Among these applications, we are integrating to this system Wall-Sized<br />
Disp<strong>la</strong>ys to support the access of semi-public medical information that may not be<br />
a<strong>de</strong>quately disp<strong>la</strong>yed on the users’ PDA. We will need to <strong>en</strong>hance the locationestimation<br />
mechanism in or<strong>de</strong>r to predict if the user wants to use <strong>de</strong> Public Disp<strong>la</strong>y.<br />
import SALSA.*;<br />
public c<strong>la</strong>ss ReasoningLE-a ext<strong>en</strong>ds SALSA.Reasoning{<br />
public ReasoningLE-a(SALSA.Ag<strong>en</strong>t a){<br />
super(a);<br />
}<br />
public void think(Ev<strong>en</strong>tObject ev){<br />
SALSA.Ev<strong>en</strong>ts.Ev<strong>en</strong>t ev<strong>en</strong>t = (SALSA.Ev<strong>en</strong>ts.Ev<strong>en</strong>t) ev;<br />
//if the SNR changed<br />
if (ev<strong>en</strong>t.getType() == ev<strong>en</strong>t.stateChangeEv<strong>en</strong>t) {<br />
coordinates = estimatesLocation(ev.input);<br />
//Invokes the action compon<strong>en</strong>t<br />
ag<strong>en</strong>t.acting.act(new communicateNewLocation_Action());<br />
}<br />
//if the new neural network for that floor was obtained<br />
else if (ev<strong>en</strong>t.getType() == ev<strong>en</strong>t.ArriveCompon<strong>en</strong>tEv<strong>en</strong>t){<br />
ag<strong>en</strong>t.acting.act(new integrateCompon<strong>en</strong>t_Action());<br />
} ....<br />
import SALSA.*;<br />
public c<strong>la</strong>ss LE_a ext<strong>en</strong>ds Ag<strong>en</strong>t{<br />
ReasoningLE_a rsn;<br />
public LE_a(){<br />
//Specify the reasoning compon<strong>en</strong>t<br />
rsn=new ReasoningLE_a(this);<br />
...<br />
//Create the compon<strong>en</strong>ts of the ag<strong>en</strong>t<br />
this.create(rsn);<br />
}<br />
public static void main(String[] args) {<br />
//Creates an instance of the LE-a<br />
LE-a ag<strong>en</strong>t=new LE-a();<br />
}<br />
}<br />
(a)<br />
(b)<br />
Fig. 3 (a) Implem<strong>en</strong>tation of the LE-a reasoning compon<strong>en</strong>t and (b) the creation of the LE-a<br />
Refer<strong>en</strong>ces<br />
[1] P. Bahl and V.N. Padmanabhan. “RADAR: An in-building RF-based location and tracking<br />
system” in IEEE INFOCOM, 2000, Tel-Aviv, Israel.<br />
[2] P. Castro, P.Chiu,T.Krem<strong>en</strong>ek,andR.Muntz. “A Probabilistic Room Location Service<br />
for Wireless Networked Environm<strong>en</strong>ts”, In Proc. of Ubicomp Confer<strong>en</strong>ce, Springer-Ver<strong>la</strong>g,<br />
2001, pp.18-34.<br />
[3] M.Lindwer,D.Marculescu,T.Bast<strong>en</strong>,R,Zimmermann,R.Marculescu,S.Jung,<br />
E. Cantatore. “Ambi<strong>en</strong>t Intellig<strong>en</strong>ce Visions and Achievem<strong>en</strong>ts: Linking Abstract I<strong>de</strong>as<br />
to Real-World Concepts” In Proc. of Design, Automation and Test in Europe Conf., 2003.<br />
[4] M. A. Muñoz, M. Rodriguez, J. Fave<strong>la</strong>, V.M. Gonzalez, and A.I. Martinez-Garcia.<br />
"Context-aware mobile communication in hospitals," IEEE Computer, Vol. 36, 2003, pp.<br />
38-46.<br />
[5] M. Rodriguez, Jesus Fave<strong>la</strong>, Miguel A. Muñoz, and Edgar A. Martínez. "Location-aware<br />
Access to Hospital Information and Services," Submitted to IEEE Trans. on Information<br />
Technology in Biomedicine, 2004.
Bioinformática y<br />
biología computacional<br />
Jesús Antonio González Bernal<br />
Mauricio Osorio Galindo<br />
Javier Garcés Eisele<br />
(Editores)
Introducción<br />
Bioinformática y biología computacional son áreas <strong>de</strong> investigación interdisciplinarias<br />
<strong>en</strong>contrándose <strong>en</strong> <strong>la</strong> intersección <strong>en</strong>tre ci<strong>en</strong>cias naturales, ci<strong>en</strong>cias computacionales<br />
y tecnologías <strong>de</strong> <strong>la</strong> información. La bioinformática aplica principios <strong>de</strong> ci<strong>en</strong>cias y<br />
tecnologías <strong>de</strong> <strong>la</strong> información para que los datos abundantes, diversos y complejos <strong>de</strong>l<br />
área <strong>de</strong> <strong>la</strong> biología se vuelvan más fáciles <strong>de</strong> compr<strong>en</strong><strong>de</strong>r y más útiles. La biología<br />
computacional <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista matemático y computacional analiza preguntas<br />
teoréticas y experim<strong>en</strong>tales <strong>de</strong> <strong>la</strong> biología. Si bi<strong>en</strong> <strong>la</strong> bioinformática y <strong>la</strong> biología<br />
computacional son áreas separadas, existe también una intersección significativa <strong>en</strong>tre<br />
ambas. De acuerdo al NIH Biomedical Information Sci<strong>en</strong>ce and Technology Initiative<br />
Consortium se pued<strong>en</strong> <strong>de</strong>finir estas áreas como sigue:<br />
• Bioinformática: Investigación, <strong>de</strong>sarrollo o aplicación <strong>de</strong> herrami<strong>en</strong>tas y métodos<br />
computacionales para expandir el uso <strong>de</strong> datos biológicos, médicos y <strong>de</strong>l área<br />
<strong>de</strong> <strong>la</strong> salud. Esto incluye aquellos para adquirir, almac<strong>en</strong>ar, organizar, archivar,<br />
analizar o visualizar estos datos.<br />
• Biología Computacional: El <strong>de</strong>sarrollo y <strong>la</strong> aplicación <strong>de</strong> métodos teóricos y<br />
técnicas <strong>de</strong> análisis <strong>de</strong> datos, mo<strong>de</strong><strong>la</strong>do matemático y simu<strong>la</strong>ción computacional<br />
para el estudio <strong>de</strong> sistemas biológicos y sociales, <strong>de</strong> su estructura y su comportami<strong>en</strong>to.<br />
La investigación <strong>en</strong> estas áreas ha mostrado un gran crecimi<strong>en</strong>to <strong>en</strong> los últimos<br />
años, este crecimi<strong>en</strong>to se <strong>de</strong>be principalm<strong>en</strong>te a los gran<strong>de</strong>s volúm<strong>en</strong>es <strong>de</strong> datos biológicos<br />
que se han recopi<strong>la</strong>do y a <strong>la</strong> necesidad <strong>de</strong> analizarlos. El interés hacia esta<br />
área ha motivado a investigadores <strong>de</strong> difer<strong>en</strong>tes instituciones a trabajar <strong>en</strong> alguno <strong>de</strong><br />
los diversos temas <strong>de</strong>rivados <strong>de</strong> <strong>la</strong> bioinformática. El objetivo <strong>de</strong> este taller es dar<br />
oportunidad a investigadores mexicanos <strong>de</strong> reunirse a discutir temas <strong>de</strong> interés para<br />
formar <strong>la</strong>zos <strong>de</strong> co<strong>la</strong>boración cuando sea posible y al mismo tiempo fortalecer <strong>la</strong> investigación<br />
<strong>en</strong> el área <strong>de</strong> bioinformática <strong>en</strong> México.<br />
En esta primera edición <strong>de</strong>l taller <strong>de</strong> Bioinformática y Biología Computacional se<br />
recibió un total <strong>de</strong> 8 artículos, <strong>de</strong> los cuales fueron aceptados 5 <strong>de</strong>spués <strong>de</strong> un proceso<br />
<strong>de</strong> evaluación llevado a cabo por el comité revisor <strong>de</strong>l taller. Los trabajos recibidos<br />
fueron e<strong>la</strong>borados por investigadores mexicanos, abarcando diversas temáticas que<br />
podrán ser expuestas durante <strong>la</strong>s sesiones <strong>de</strong> trabajo <strong>de</strong>l taller. Con esto se busca el<br />
intercambio <strong>de</strong> i<strong>de</strong>as para fortalece <strong>la</strong> investigación <strong>en</strong> esta área.
Comité Ci<strong>en</strong>tífico<br />
Copresid<strong>en</strong>tes:<br />
Jesús Antonio González Bernal, I.N.A.O.E., Pueb<strong>la</strong>, jagonzalez@inaoep.mx<br />
Mauricio Osorio Galindo, U.D.L.A.P., Pueb<strong>la</strong>, josorio@mail.ud<strong>la</strong>p.mx<br />
Javier Garcés Eisele, U.D.L.A.P. / Lab. Clínicos <strong>de</strong> Pueb<strong>la</strong>, jgarces@mail.ud<strong>la</strong>p.mx<br />
Carolina Yo<strong>la</strong>nda Castañeda Roldán, U.D.L.A.P., ccastane@mail.ud<strong>la</strong>p.mx<br />
Nicandro Cruz Ramírez, Lab. Nac. <strong>de</strong> Informática Avanz., Xa<strong>la</strong>pa, ncruz@<strong>la</strong>nia.mx<br />
O<strong>la</strong>c Fu<strong>en</strong>tes Chávez, I.N.A.O.E., fu<strong>en</strong>tes@inaoep.mx<br />
Ma. <strong>de</strong>l Pi<strong>la</strong>r Gómez Gil, U.D.L.A.P., pgomez@mail.ud<strong>la</strong>p.mx<br />
Iván Olmos Pineda, I.N.A.O.E., iolmos@inaoep.mx<br />
G<strong>en</strong>oveva Vargas So<strong>la</strong>r, CNRS, Francia, Laboratorio Logiciels Systèmes Réseaux /<br />
investigadora invitada, CENTIA-UDLAP,<br />
g<strong>en</strong>oveva@mail.ud<strong>la</strong>p.mx, G<strong>en</strong>oveva.Vargas@imag.fr
C<strong>la</strong>sificación No Sesgada <strong>de</strong> Proteínas con Re<strong>de</strong>s<br />
Neuronales y <strong>Computación</strong> Evolutiva<br />
Angel Kuri 1 , Martha Ortiz 2 , Lucía Castel<strong>la</strong>nos 1 ,Carlos Ponce 1 , Christopher Gasca 1 ,<br />
Oscar Herrera 3<br />
1 Instituto Tecnológico Autónomo <strong>de</strong> México<br />
2 Universidad Autónoma Metropolitana<br />
3 Instituto Politécnico Nacional<br />
Abstract. The automated c<strong>la</strong>ssification of proteins has be<strong>en</strong> subject of interest for the past years.<br />
In all the attempts reported in the literature we have found that the criteria which <strong>de</strong>termine the<br />
po<strong>sitio</strong>n of a giv<strong>en</strong> protein in the purported c<strong>la</strong>ssification is a function of subjective<br />
consi<strong>de</strong>rations. In this work we report a methodology which takes advantage of the state-of-theart<br />
tools of soft computing to attempt non-biased c<strong>la</strong>ssification of proteins in E. coli and S.<br />
cerevisiae but which may be applied to, virtually, any organism. The method is based on an<br />
adaptive metric following the so-called self organizing maps and the search for patterns in the<br />
sequ<strong>en</strong>ces of aminoacids of the proteins applying g<strong>en</strong>etic algorithms.<br />
Keywords. Protein c<strong>la</strong>ssification, aminoacids, clustering, pattern id<strong>en</strong>tification, soft<br />
computing.<br />
Resum<strong>en</strong>. La c<strong>la</strong>sificación automática <strong>de</strong> proteínas ha sido un tema <strong>de</strong> interés <strong>en</strong> los últimos<br />
años. En todos los <strong>en</strong>foques reportados <strong>en</strong> <strong>la</strong> literatura hemos <strong>en</strong>contrado que los criterios que<br />
<strong>de</strong>terminan <strong>la</strong> posición <strong>de</strong> una proteína dada <strong>en</strong> <strong>la</strong> c<strong>la</strong>sificación propuesta es función <strong>de</strong><br />
consi<strong>de</strong>raciones subjetivas. En este trabajo reportamos una metodología que aprovecha <strong>la</strong>s<br />
herrami<strong>en</strong>tas <strong>de</strong> punta <strong>de</strong> <strong>la</strong> computación suave para lograr <strong>la</strong> c<strong>la</strong>sificación no sesgada <strong>de</strong><br />
proteínas <strong>en</strong> E. coli y S. cerevisiae pero que pue<strong>de</strong> ser aplicada, virtualm<strong>en</strong>te, a cualquier<br />
organismo. El método se basa <strong>en</strong> una métrica adaptativa nacida <strong>de</strong> <strong>la</strong> aplicación <strong>de</strong> los l<strong>la</strong>mados<br />
“mapas auto-organizados” y <strong>en</strong> <strong>la</strong> búsqueda <strong>de</strong> patrones <strong>en</strong> <strong>la</strong>s secu<strong>en</strong>cias <strong>de</strong> aminoácidos (AA)<br />
<strong>de</strong> <strong>la</strong>s proteínas usando algoritmos g<strong>en</strong>éticos.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve. C<strong>la</strong>sificación <strong>de</strong> proteínas, aminoácidos, agrupami<strong>en</strong>to, id<strong>en</strong>tificación<br />
<strong>de</strong> patrones, computación suave.<br />
Introducción<br />
En el ámbito <strong>de</strong> <strong>la</strong> Biología Molecu<strong>la</strong>r (BM), uno <strong>de</strong> los problemas relevantes es <strong>la</strong><br />
a<strong>de</strong>cuada c<strong>la</strong>sificación <strong>de</strong> proteínas. El <strong>de</strong>sarrollo reci<strong>en</strong>te <strong>de</strong> <strong>la</strong> BM ha permitido<br />
g<strong>en</strong>erar <strong>en</strong>ormes volúm<strong>en</strong>es <strong>de</strong> información cuyo tratami<strong>en</strong>to y explotación constituy<strong>en</strong><br />
un problema <strong>de</strong> alta complejidad. Actualm<strong>en</strong>te exist<strong>en</strong> más <strong>de</strong> 150 g<strong>en</strong>omas<br />
secu<strong>en</strong>ciados y este número continúa creci<strong>en</strong>do. Aplicando diversos métodos <strong>de</strong><br />
estadística clásica y aproximaciones apriorísticas, se han propuesto diversas
c<strong>la</strong>sificaciones <strong>de</strong> familias <strong>de</strong> proteínas, id<strong>en</strong>tificación <strong>de</strong> regiones conservadas <strong>en</strong>tre<br />
grupos (signatures) y mo<strong>de</strong>los <strong>de</strong> infer<strong>en</strong>cia <strong>de</strong> estructura tridim<strong>en</strong>sional, <strong>en</strong>tre otros.<br />
Se usan por ejemplo árboles probabilísticos <strong>de</strong> sufijos para pre<strong>de</strong>cir <strong>la</strong> probabilidad <strong>de</strong><br />
que una proteína pert<strong>en</strong>ezca a una familia, basada <strong>en</strong> una o más regiones significativas<br />
conservadas [1]. Se utilizan algoritmos tradicionales <strong>de</strong> c<strong>la</strong>sificación, como <strong>en</strong> [2],<br />
don<strong>de</strong> se pres<strong>en</strong>ta un mapeo <strong>de</strong> proteínas a un nuevo espacio <strong>de</strong> repres<strong>en</strong>tación que<br />
captura <strong>la</strong>s re<strong>la</strong>ciones secu<strong>en</strong>ciales <strong>en</strong>tre los difer<strong>en</strong>tes AAs, consi<strong>de</strong>radas como <strong>la</strong>s<br />
características significativas y posteriorm<strong>en</strong>te se aplica el algoritmo k-means para hacer<br />
el agrupami<strong>en</strong>to. En [3] se construye una matriz <strong>de</strong> similitu<strong>de</strong>s <strong>en</strong>tre pares <strong>de</strong> proteínas<br />
usando el algoritmo heurístico BLAST [4] y posteriorm<strong>en</strong>te se aplica el algoritmo <strong>de</strong><br />
clustering <strong>de</strong> Markov (MCL) para <strong>en</strong>contrar <strong>la</strong>s familias <strong>de</strong> proteínas. Otra estrategia<br />
para hacer c<strong>la</strong>sificación <strong>de</strong> proteínas ha sido el uso <strong>de</strong> re<strong>de</strong>s neuronales. Como se sabe,<br />
exist<strong>en</strong> diversos mo<strong>de</strong>los que se aplican <strong>en</strong> <strong>la</strong> solución <strong>de</strong> problemas <strong>de</strong> c<strong>la</strong>sificación<br />
supervisada, como <strong>la</strong>s re<strong>de</strong>s <strong>de</strong> perceptrones y <strong>la</strong>s máquinas <strong>de</strong> soporte vectorial [5]; o<br />
bi<strong>en</strong>, <strong>en</strong> c<strong>la</strong>sificación no supervisada, como <strong>en</strong> el caso <strong>de</strong> los mapas autoorganizados<br />
[6, 7]. En este s<strong>en</strong>tido, también se han <strong>de</strong>sarrol<strong>la</strong>do diversos trabajos que aplican re<strong>de</strong>s<br />
neuronales bayesianas [8], re<strong>de</strong>s neuronales <strong>en</strong> cascada [9], re<strong>de</strong>s neuronales<br />
jerárquicas [10] y re<strong>de</strong>s neuronales recurr<strong>en</strong>tes [11], para c<strong>la</strong>sificar proteínas. Sin<br />
embargo, es importante subrayar que todos los trabajos m<strong>en</strong>cionados se <strong>en</strong>cu<strong>en</strong>tran<br />
limitados porque <strong>la</strong>s características y propieda<strong>de</strong>s <strong>de</strong> <strong>la</strong>s proteínas que consi<strong>de</strong>ran,<br />
están <strong>de</strong>terminadas a priori por los expertos <strong>en</strong> biología molecu<strong>la</strong>r. Es <strong>de</strong>cir, el<br />
investigador propone una hipótesis que <strong>de</strong>be validar. Obviam<strong>en</strong>te, <strong>la</strong> variedad y<br />
complejidad <strong>de</strong> <strong>la</strong>s hipótesis están limitadas por <strong>la</strong>s re<strong>la</strong>ciones funcionales que el<br />
investigador es capaz <strong>de</strong> visualizar. Una alternativa a estas metodologías clásicas es<br />
aquel<strong>la</strong> (<strong>de</strong>rivada <strong>de</strong> <strong>la</strong> computación suave) <strong>en</strong> <strong>la</strong> que <strong>la</strong>s hipótesis no <strong>de</strong>p<strong>en</strong>dan <strong>de</strong>l<br />
propon<strong>en</strong>te, sino que sean “g<strong>en</strong>eradas” <strong>de</strong> manera automática. Por tanto, el objetivo <strong>de</strong><br />
este trabajo es p<strong>la</strong>ntear una metodología, utilizando <strong>la</strong>s herrami<strong>en</strong>tas <strong>de</strong> punta <strong>de</strong> <strong>la</strong><br />
computación suave, para lograr una c<strong>la</strong>sificación no sesgada <strong>de</strong> proteínas <strong>en</strong> E. coli y<br />
S. cerevisiae.<br />
Metodología<br />
El problema <strong>de</strong> c<strong>la</strong>sificación no sesgada basada <strong>en</strong> <strong>la</strong> expresión <strong>de</strong> <strong>la</strong>s proteínas <strong>en</strong> AAs<br />
pue<strong>de</strong> reducirse, conceptualm<strong>en</strong>te, a lo sigui<strong>en</strong>te: a) La id<strong>en</strong>tificación <strong>de</strong> grupos <strong>de</strong><br />
proteínas que compartan características comunes y b) La <strong>de</strong>terminación <strong>de</strong> <strong>la</strong>s razones<br />
estructurales por <strong>la</strong>s cuales <strong>la</strong>s proteínas <strong>en</strong> cuestión se agrupan <strong>de</strong> <strong>la</strong> manera indicada.<br />
La limitante fundam<strong>en</strong>tal <strong>en</strong> los <strong>en</strong>foques ya m<strong>en</strong>cionados parece po<strong>de</strong>r salvarse si<br />
abandonamos <strong>la</strong> i<strong>de</strong>a <strong>de</strong> establecer criterios <strong>de</strong> c<strong>la</strong>sificación (que d<strong>en</strong>ominamos<br />
“sesgados”) fundam<strong>en</strong>tados <strong>en</strong> i<strong>de</strong>as preconcebidas <strong>de</strong> cómo <strong>de</strong>bemos <strong>de</strong> observar <strong>la</strong>s<br />
proteínas para lograr su c<strong>la</strong>sificación. En este s<strong>en</strong>tido, hay dos asuntos que consi<strong>de</strong>rar:<br />
1) Cómo lograr <strong>la</strong> caracterización <strong>de</strong> <strong>la</strong>s proteínas <strong>de</strong> manera no sesgada y 2) Cómo<br />
lograr lo anterior sin ape<strong>la</strong>r a medidas <strong>de</strong> agrupami<strong>en</strong>to que, a su vez, impliqu<strong>en</strong> sesgos<br />
<strong>en</strong> dicho agrupami<strong>en</strong>to. La respuesta a <strong>la</strong> segunda pregunta ha sido int<strong>en</strong>tada <strong>en</strong> el<br />
pasado aplicando técnicas <strong>de</strong> c<strong>la</strong>sificación no supervisada basadas <strong>en</strong> re<strong>de</strong>s neuronales<br />
(RNs). Particu<strong>la</strong>rm<strong>en</strong>te interesante para nosotros ha sido <strong>la</strong> aplicación <strong>de</strong> los l<strong>la</strong>mados
“mapas auto-organizados” (o SOMs, por su acrónimo inglés). En este tipo <strong>de</strong> RNs el<br />
conjunto <strong>de</strong> datos se pres<strong>en</strong>ta a <strong>la</strong> red como una tab<strong>la</strong> <strong>de</strong> características <strong>de</strong> interés y<br />
ésta, vía el algoritmo <strong>de</strong> Kohon<strong>en</strong> [12], ubica <strong>en</strong> un mapa n-dim<strong>en</strong>sional (típicam<strong>en</strong>te<br />
n=2) los elem<strong>en</strong>tos que compart<strong>en</strong> características “simi<strong>la</strong>res”. Lo interesante <strong>de</strong> este<br />
método es que <strong>la</strong> medida <strong>de</strong> similitud no se explicita; el algoritmo establece una<br />
métrica dinámica que varía con los datos. La respuesta a <strong>la</strong> primera pregunta (<strong>la</strong><br />
<strong>de</strong>terminación <strong>de</strong> <strong>la</strong>s características) ha sido respondida <strong>en</strong> nuestro grupo ape<strong>la</strong>ndo a<br />
características estructurales <strong>de</strong> <strong>la</strong>s proteínas expresadas como cad<strong>en</strong>as <strong>de</strong> AAs, como se<br />
discute más a<strong>de</strong><strong>la</strong>nte. La explicación <strong>de</strong> los agrupami<strong>en</strong>tos pue<strong>de</strong> lograrse ape<strong>la</strong>ndo a<br />
un argum<strong>en</strong>to más sutil, basado <strong>en</strong> <strong>la</strong>s técnicas <strong>de</strong> compresión <strong>de</strong> datos sin pérdida.<br />
Como se m<strong>en</strong>ciona <strong>en</strong> [13] exist<strong>en</strong> dos motivaciones principales para buscar <strong>la</strong><br />
compresión <strong>en</strong> un conjunto <strong>de</strong> datos: 1) El uso efici<strong>en</strong>te <strong>de</strong> recursos <strong>de</strong> almac<strong>en</strong>ami<strong>en</strong>to<br />
y ancho <strong>de</strong> banda y 2) La posibilidad <strong>de</strong> explicitar <strong>la</strong> estructura <strong>en</strong> una secu<strong>en</strong>cia. Se<br />
sabe [14] que <strong>la</strong>s técnicas <strong>de</strong> compresión <strong>de</strong> datos tradicionales son ina<strong>de</strong>cuadas para<br />
comprimir estructuras proteínicas y que <strong>la</strong> inclusión <strong>de</strong> criterios bioquímicos muestra<br />
que hay poca <strong>de</strong>p<strong>en</strong>d<strong>en</strong>cia <strong>de</strong> Markov <strong>en</strong> <strong>la</strong> proteína. De esta manera, los esquemas <strong>de</strong><br />
compresión <strong>de</strong> datos tradicionales se reduc<strong>en</strong> a mo<strong>de</strong>los <strong>de</strong> ord<strong>en</strong> cero. Si queremos<br />
subsanar esta limitante <strong>de</strong> los métodos <strong>de</strong> compresión clásicos, <strong>de</strong>bemos abandonar los<br />
mo<strong>de</strong>los <strong>de</strong> bajo ord<strong>en</strong>. Hemos propuesto, por ello, esquemas <strong>de</strong> compresión sin<br />
pérdida basados <strong>en</strong> <strong>la</strong> <strong>de</strong>tección <strong>de</strong> patrones arbitrarios [15]. En [16] <strong>de</strong>mostramos que<br />
el problema <strong>de</strong> <strong>en</strong>contrar dichos patrones es NP-completo y su solución requiere <strong>de</strong> <strong>la</strong><br />
aplicación <strong>de</strong> meta-heurísticos [tales como los algoritmos g<strong>en</strong>éticos (AGs)]. En<br />
resum<strong>en</strong>, pues, una exitosa metodología <strong>de</strong> c<strong>la</strong>sificación <strong>de</strong> <strong>la</strong>s proteínas y <strong>la</strong><br />
explicación <strong>de</strong> dicha c<strong>la</strong>sificación <strong>de</strong>be resolver no so<strong>la</strong>m<strong>en</strong>te el problema <strong>de</strong> <strong>la</strong><br />
c<strong>la</strong>sificación no sesgada, sino también el <strong>de</strong> <strong>la</strong> <strong>de</strong>tección <strong>de</strong> patrones embebidos <strong>en</strong> <strong>la</strong>s<br />
proteínas pert<strong>en</strong>eci<strong>en</strong>tes a cada uno <strong>de</strong> los grupos. En <strong>la</strong>s sigui<strong>en</strong>tes dos secciones<br />
hacemos una breve exposición <strong>de</strong> los principios <strong>de</strong>trás <strong>de</strong> los SOMs y los AGs.<br />
Mapas Auto-Organizados<br />
El principal objetivo <strong>de</strong> un mapa auto-organizado es transformar un patrón <strong>de</strong> datos <strong>de</strong><br />
<strong>en</strong>trada con dim<strong>en</strong>siones arbitrarias <strong>en</strong> un mapa discreto multidim<strong>en</strong>sional y ejecutar<br />
esta transformación <strong>de</strong> una manera ord<strong>en</strong>ada topológicam<strong>en</strong>te. Cada patrón <strong>de</strong> <strong>en</strong>trada<br />
pres<strong>en</strong>tado a <strong>la</strong> red típicam<strong>en</strong>te consiste <strong>de</strong> una región localizada <strong>de</strong> actividad versus un<br />
fondo estable. La localización y naturaleza <strong>de</strong> cada región usualm<strong>en</strong>te cambia <strong>de</strong> una<br />
realización a otra con respecto al patrón <strong>de</strong> <strong>en</strong>trada. Todas <strong>la</strong>s neuronas <strong>en</strong> <strong>la</strong> red <strong>de</strong>b<strong>en</strong><br />
ser expuestas a un número sufici<strong>en</strong>te <strong>de</strong> realizaciones <strong>de</strong>l patrón <strong>de</strong> <strong>en</strong>trada para<br />
asegurar que el proceso <strong>de</strong> autoorganización ti<strong>en</strong>e oportunidad <strong>de</strong> madurar<br />
apropiadam<strong>en</strong>te. Con el objetivo <strong>de</strong> lograr esta organización <strong>de</strong> neuronas, éstas son<br />
colocadas <strong>de</strong> acuerdo con los patrones <strong>de</strong> <strong>en</strong>trada por medio <strong>de</strong> vecinda<strong>de</strong>s, por lo que<br />
<strong>la</strong>s neuronas no son adaptadas individual sino conjuntam<strong>en</strong>te con sus neuronas vecinas.<br />
De esta manera, <strong>la</strong>s neuronas pued<strong>en</strong>, inicialm<strong>en</strong>te, ser organizadas <strong>en</strong> grupos para<br />
repres<strong>en</strong>tar aproximadam<strong>en</strong>te patrones simi<strong>la</strong>res; <strong>en</strong> <strong>la</strong>s sigui<strong>en</strong>tes fases una estructura<br />
más fina para los grupos <strong>de</strong> neuronas es <strong>de</strong>sarrol<strong>la</strong>da [19].En nuestro caso <strong>la</strong>s c<strong>la</strong>ses<br />
correspond<strong>en</strong> a grupos <strong>de</strong> proteínas que compart<strong>en</strong> rasgos <strong>de</strong> similitud.
Algoritmos G<strong>en</strong>éticos<br />
El problema <strong>de</strong> optimización que está tácito <strong>en</strong> los procesos antes m<strong>en</strong>cionados es NPcompleto<br />
y ello hace imposible <strong>en</strong>contrar, <strong>en</strong> g<strong>en</strong>eral, <strong>la</strong> solución óptima. En años<br />
reci<strong>en</strong>tes se han <strong>de</strong>sarrol<strong>la</strong>do técnicas d<strong>en</strong>ominadas “evolutivas” que permit<strong>en</strong> abordar<br />
con éxito este tipo <strong>de</strong> problemas. Es imposible discutir <strong>la</strong>s razones teóricas <strong>de</strong>trás <strong>de</strong><br />
esta afirmación <strong>en</strong> un trabajo <strong>de</strong> esta índole. Simplem<strong>en</strong>te <strong>de</strong>jamos constado aquí que<br />
pue<strong>de</strong> <strong>de</strong>mostrarse matemáticam<strong>en</strong>te que una <strong>de</strong> dichas técnicas (los AGs) converge al<br />
óptimo global <strong>de</strong> cualquier problema <strong>de</strong> optimización estática (ver, por ejemplo, [20]).<br />
Prospectiva<br />
La solución <strong>de</strong>l problema que nos ocupa es <strong>de</strong> importancia <strong>en</strong> varios s<strong>en</strong>tidos. Des<strong>de</strong> el<br />
punto <strong>de</strong> vista teórico su solución, por supuesto, implica el <strong>de</strong>scubrimi<strong>en</strong>to <strong>de</strong><br />
re<strong>la</strong>ciones estructurales <strong>de</strong> ord<strong>en</strong> superior. Este <strong>de</strong>scubrimi<strong>en</strong>to, tácitam<strong>en</strong>te, implica el<br />
hal<strong>la</strong>zgo <strong>de</strong> re<strong>la</strong>ciones <strong>de</strong> tipo filog<strong>en</strong>ético, biológico y, <strong>en</strong> última instancia, a nivel <strong>de</strong><br />
<strong>la</strong> química subyac<strong>en</strong>te. Pero trabajos como [17] indican que, puesto que <strong>la</strong> replicación<br />
<strong>de</strong> nucleótidos es es<strong>en</strong>cialm<strong>en</strong>te un f<strong>en</strong>óm<strong>en</strong>o <strong>de</strong> transfer<strong>en</strong>cia <strong>de</strong> información, <strong>la</strong>s<br />
presiones evolutivas que dan forma a <strong>la</strong> composición <strong>de</strong>l alfabeto (A, C, G, T) <strong>de</strong> los<br />
nucleótidos pued<strong>en</strong> no estar confinadas a cuestiones físico-químicas y que <strong>la</strong><br />
codificación <strong>de</strong> los errores <strong>de</strong> transcripción pue<strong>de</strong> haber jugado un papel restrictivo <strong>en</strong><br />
los procesos evolutivos. En ese contexto, es c<strong>la</strong>ro que no po<strong>de</strong>mos buscar los oríg<strong>en</strong>es<br />
<strong>de</strong> estructuración proteínica (que nace <strong>de</strong> <strong>la</strong> codificación <strong>de</strong> los codones <strong>en</strong> AAs)<br />
apoyándonos <strong>en</strong> consi<strong>de</strong>raciones meram<strong>en</strong>te funcionales. Más aún, si, como se afirma<br />
<strong>en</strong> [13] <strong>la</strong> inclusión <strong>de</strong> criterios basados <strong>en</strong> principios bioquímicos no arroja luz acerca<br />
<strong>de</strong> <strong>la</strong> estructura <strong>de</strong> <strong>la</strong>s proteínas, es lógico buscar otros principios.<br />
C<strong>la</strong>sificación<br />
Nuestro <strong>en</strong>foque al problema consiste <strong>en</strong> buscar características estructurales <strong>en</strong> <strong>la</strong>s<br />
cad<strong>en</strong>as <strong>de</strong> AAs sin ape<strong>la</strong>r a criterios explicativos apriorísticos. En ese s<strong>en</strong>tido<br />
<strong>de</strong>cidimos establecer rasgos estructurales y: a) Trabajar con proteínas expresadas como<br />
secu<strong>en</strong>cias <strong>de</strong> AAs; b) Asignar a cada AA <strong>en</strong> una proteína un conjunto <strong>de</strong> coord<strong>en</strong>adas<br />
<strong>en</strong> espacios <strong>de</strong> 1, 2 y 3 dim<strong>en</strong>siones simultáneam<strong>en</strong>te; c) Establecer un criterio <strong>de</strong><br />
dispersión para consi<strong>de</strong>rar aquellos casos <strong>en</strong> los que los AAs <strong>en</strong> cuestión aparezcan<br />
más <strong>de</strong> una vez <strong>en</strong> <strong>la</strong> secu<strong>en</strong>cia; d) Establecer una medida <strong>de</strong>l cont<strong>en</strong>ido <strong>de</strong> información<br />
<strong>de</strong> cada AA y e) Establecer un <strong>de</strong>scriptor único para <strong>la</strong> proteína, <strong>de</strong> manera tal que<br />
dicho <strong>de</strong>scriptor consi<strong>de</strong>rara a todos los AAs caracterizados <strong>de</strong> acuerdo con (b-d). Así,<br />
cada proteína se caracteriza por un vector <strong>de</strong> 260 rasgos conformados como sigue:<br />
Consi<strong>de</strong>ramos cada proteína repres<strong>en</strong>tada <strong>en</strong> 1, 2 y 3 dim<strong>en</strong>siones; obt<strong>en</strong>emos <strong>la</strong>s<br />
coord<strong>en</strong>adas <strong>de</strong> los AAs <strong>en</strong> dichas repres<strong>en</strong>taciones y, para cada una <strong>de</strong> el<strong>la</strong>s,<br />
calcu<strong>la</strong>mos <strong>la</strong> <strong>de</strong>sviación absoluta. A<strong>de</strong>más, registramos <strong>la</strong> frecu<strong>en</strong>cia <strong>de</strong>l AA <strong>en</strong> <strong>la</strong><br />
proteína. A cada AA correspond<strong>en</strong>, pues, 13 rasgos; <strong>de</strong> manera que para una proteína<br />
t<strong>en</strong>emos un total <strong>de</strong> 260 <strong>de</strong> ellos. Este conjunto <strong>de</strong> vectores se proporciona a un SOM
el cual, <strong>de</strong> acuerdo con su <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to, aglutina conjuntos <strong>de</strong> proteínas <strong>de</strong> manera<br />
“natural”. Los resultados preliminares arrojan, a <strong>la</strong> fecha, comportami<strong>en</strong>tos<br />
estadísticam<strong>en</strong>te interesantes: para grupos <strong>de</strong> proteínas <strong>de</strong> S. cerevisiae elegidos<br />
aleatoriam<strong>en</strong>te, los clusters <strong>de</strong>terminados se repit<strong>en</strong> consist<strong>en</strong>tem<strong>en</strong>te. Es <strong>de</strong>cir, <strong>en</strong> una<br />
colección arbitraria <strong>de</strong> proteínas <strong>de</strong>l mismo organismo se repit<strong>en</strong> los mismos<br />
agrupami<strong>en</strong>tos. A<strong>de</strong>más, y <strong>de</strong> manera significativa, <strong>la</strong>s proteínas <strong>en</strong>contradas <strong>en</strong> cada<br />
uno <strong>de</strong> los clusters compart<strong>en</strong> características biológicas que no po<strong>de</strong>mos <strong>de</strong>tal<strong>la</strong>r <strong>en</strong><br />
este trabajo por razones <strong>de</strong> espacio.<br />
Patrones<br />
El segundo paso consiste <strong>en</strong> aplicar los algoritmos <strong>de</strong> compresión basados <strong>en</strong> patrones<br />
y no <strong>en</strong> colecciones <strong>de</strong> cad<strong>en</strong>as, tal como se <strong>de</strong>scribe <strong>en</strong> [16]. Este problema ha sido<br />
atacado <strong>en</strong> [18] con resultados al<strong>en</strong>tadores sobre datos diseñados ad hoc para probar <strong>la</strong><br />
efici<strong>en</strong>cia <strong>de</strong> los AGs ya discutidos. Después <strong>de</strong> aplicar el algoritmo sobre conjuntos<br />
<strong>de</strong>terminados (como se <strong>de</strong>scribió <strong>en</strong> el apartado preced<strong>en</strong>te) hemos <strong>en</strong>contrado<br />
patrones simi<strong>la</strong>res <strong>en</strong> grupos simi<strong>la</strong>res. La metodología propuesta, pues, ha quedado<br />
ampliam<strong>en</strong>te justificada y nos permite p<strong>en</strong>sar que una posible solución al problema <strong>de</strong><br />
c<strong>la</strong>sificación <strong>de</strong> proteínas es reducible a uno, fundam<strong>en</strong>talm<strong>en</strong>te, <strong>de</strong> cómputo. Una vez<br />
logrado lo anterior, <strong>la</strong> participación <strong>de</strong> expertos <strong>en</strong> BM nos llevará a una mejor<br />
compr<strong>en</strong>sión <strong>de</strong> los procesos bioquímicos y funcionales involucrados.<br />
Conclusiones<br />
Indudablem<strong>en</strong>te <strong>la</strong> ag<strong>en</strong>da p<strong>la</strong>nteada <strong>de</strong>p<strong>en</strong><strong>de</strong> <strong>de</strong>l concurso multidisciplinario <strong>en</strong> <strong>la</strong>s<br />
áreas <strong>de</strong> computación, teoría <strong>de</strong> <strong>la</strong> información, intelig<strong>en</strong>cia artificial, re<strong>de</strong>s neuronales,<br />
computación evolutiva y <strong>de</strong> <strong>la</strong> biología molecu<strong>la</strong>r <strong>en</strong> su primera etapa. Posteriorm<strong>en</strong>te<br />
requerirá <strong>de</strong> otras áreas para validar los resultados obt<strong>en</strong>idos y, <strong>en</strong> su caso, llevarlos a<br />
cristalizar aplicaciones <strong>en</strong> el área médica, biológica y química. A<strong>de</strong>más <strong>de</strong> los<br />
problemas técnicos, otro más básico con el que hemos t<strong>en</strong>ido que cont<strong>en</strong><strong>de</strong>r ha sido <strong>la</strong><br />
heterog<strong>en</strong>eidad <strong>de</strong> los dialectos técnicos que los cultivadores <strong>de</strong> cada una <strong>de</strong> <strong>la</strong>s áreas<br />
antes m<strong>en</strong>cionadas y que, directa o indirectam<strong>en</strong>te, han participado <strong>en</strong> el proyecto<br />
manejan. De <strong>la</strong> conclusión <strong>de</strong> los <strong>de</strong>sarrollos p<strong>la</strong>nteados <strong>de</strong>berá <strong>de</strong>spr<strong>en</strong><strong>de</strong>rse el diseño<br />
<strong>de</strong> sistemas <strong>de</strong> aplicación muy concretos y aplicados a problemas <strong>de</strong> interés vario.<br />
Refer<strong>en</strong>cias<br />
[1] Sun, Z., Deogun, J. S. (2004) “Local prediction approach for protein c<strong>la</strong>ssification using<br />
probabilistic suffix trees”. ACM International Confer<strong>en</strong>ce Proceeding Series. Proceedings of the<br />
second confer<strong>en</strong>ce on Asia-Pacific bioinformatics - Volume 29. Dunedin, New Zea<strong>la</strong>nd. Pages:<br />
357 - 362.
[2] Guralnik, V., Karypis, G. (2001) “A sca<strong>la</strong>ble algorithm for clustering protein sequ<strong>en</strong>ces<br />
BIOKDD01”. Workshop on Data Mining in Bioinformatics (with SIGKDD01 Confer<strong>en</strong>ce)<br />
Pages: 73-80.<br />
[3] Enright, A. J., Ghosh, J., P<strong>en</strong>g, K. (2003) “An effici<strong>en</strong>t algorithm for <strong>la</strong>rge-scale <strong>de</strong>tection of<br />
protein families”. Nucleic Acids Research, 30(7):1575-1584.<br />
[4] http://www.ncbi.nlm.nih.gov/<br />
[5] Liao, L., Stafford N. W. (2003) “Combining Pairwise Sequ<strong>en</strong>ce Simi<strong>la</strong>rity and Support<br />
Vector Machines for Detecting Remote Protein Evolutionary and Structural Re<strong>la</strong>tionships”.<br />
Journal of Computational Biology. 10 (6): 857-868.<br />
[6] Andra<strong>de</strong>, M.A.; Casari, G., Asari, C., San<strong>de</strong>r and Val<strong>en</strong>cia A. (1997) “C<strong>la</strong>ssification of<br />
protein families and <strong>de</strong>tection of the <strong>de</strong>terminant residues with an improved self-organising<br />
map”. Biol. Cybern. 76, 441-450.<br />
[7] Pollock, R., Toby, L., Watts, M. (2002) “A Kohon<strong>en</strong> Self-Organizing Map for the functional<br />
c<strong>la</strong>ssification of proteins based on one-dim<strong>en</strong>sional sequ<strong>en</strong>ce information”. Proceedings of<br />
IJCNN p. 189-192<br />
[8] Wang, JT.L.; Quich<strong>en</strong>g, M.A.; Shasha, D, Wu H., Cathy. Application of Neural Networks to<br />
Biological Data Mining: a case study in protein sequ<strong>en</strong>ce c<strong>la</strong>ssification.<br />
http://www.cs.dal.ca/~cblouin/Blouin/lectures/p305-wang.pdf .<br />
[9] Pasquier, C., Promponas, V. J., Hamodrakas, S. J. (2001) PRED-CLASS: Cascading<br />
Neural Networks for G<strong>en</strong>eralized Protein C<strong>la</strong>ssification and G<strong>en</strong>ome-Wi<strong>de</strong> Applications.<br />
PROTEINS: Structure, Function, and G<strong>en</strong>etics 44: 361-369.<br />
[10] Pasquier, C., Hamodrakas, S. J. (1999) “An hierarchical artificial neural network system<br />
for the c<strong>la</strong>ssification of transm<strong>en</strong>brane proteins”. Protein Engineering. 12 (8): 631-634.<br />
[11] Ch<strong>en</strong>, J., Chaudhari, N. S. (2003) “Protein family c<strong>la</strong>ssification using second-or<strong>de</strong>r<br />
recurr<strong>en</strong>t neural networks”. G<strong>en</strong>ome Informatics 14: 520-521.<br />
[12] Kohon<strong>en</strong>, T., (1988), “Self-Organizing and Associative Memory”, 3rd. Ed. , Springer-<br />
Ver<strong>la</strong>g.<br />
[13] Nevill-Manning, C.G. and Witt<strong>en</strong>, I.H. (1999) "Protein is incompressible" Proc. Data<br />
Compression Confer<strong>en</strong>ce, J.A. Storer and M. Cohn (Eds .) IEEE Press, Los A<strong>la</strong>mitos, CA, pp.<br />
257-266.<br />
[14] Loewerstein, D., and Yianilos, P. (1997), “Significantly lower <strong>en</strong>tropy estimates for natural<br />
DNA sequ<strong>en</strong>ces”, Proc. Data Compression Confer<strong>en</strong>ce, IEEE Press, pp. 151-160.<br />
[15] Kuri, A., (2004), “Pattern Based Lossless Data Compression”, WSEAS Transactions on<br />
Communications, Issue 1, Vol. 3, pp. 42-49.<br />
[16] Kuri, A. and Ga<strong>la</strong>viz, J.,(2004), “Pattern-based Data Compression”, Lecture Notes on<br />
Artificial Intellig<strong>en</strong>ce, LNAI 2972, Springer-Ver<strong>la</strong>g, pp. 1-7.<br />
[17] Mac Dónaill, D.A., (2003), “The Role of Error-Coding in Shaping the Nucleoti<strong>de</strong> Alphabet:<br />
Nature’s Choice of A, U, C and G”, Proc. of the 25th Annual Int. Conf. of the IEEE Eng. in<br />
Medicine and Biology Society, IEEE Press, Cancún, México.<br />
[18] Kuri, A. and Herrera, O., (2003), “Transformación <strong>de</strong> un m<strong>en</strong>saje g<strong>en</strong>erado por una Fu<strong>en</strong>te<br />
No Ergódica a otro g<strong>en</strong>erado por una Fu<strong>en</strong>te Ergódica para Compresión <strong>de</strong> Datos”, 14ª Reunión<br />
<strong>de</strong> Otoño <strong>de</strong> Comunic., Comp. y Electrónica, ROC&C 2003, IEEE, Acapulco, Nov. 2003.<br />
[19] Kohon<strong>en</strong>, T. Self-Organizing Maps, Second Edition, Springer, pp. 85 – 90, 1997.<br />
[20] Kuri, A., (2002), “Algoritmos G<strong>en</strong>éticos”, Fondo <strong>de</strong> Cultura Económica.
Experim<strong>en</strong>tal Analysis of a G<strong>en</strong>etic Algorithm for the<br />
Sequ<strong>en</strong>cing by Hybridization Problem<br />
Luis C. González-Gurro<strong>la</strong> and Carlos A. Brizue<strong>la</strong><br />
Computer Sci<strong>en</strong>ce Departm<strong>en</strong>t, CICESE Research C<strong>en</strong>ter<br />
Km 107 Carr. Tijuana-Ens<strong>en</strong>ada, Ens<strong>en</strong>ada, B.C., México<br />
{gurro<strong>la</strong>, cbrizuel } @ cicese.mx<br />
Abstract. This papers <strong>de</strong>als with the experim<strong>en</strong>tal analysis of a g<strong>en</strong>etic<br />
algorithm for a computational biology problem. The problem appears in the<br />
computational part of a new <strong>de</strong>oxyribonucleic acid (DNA) sequ<strong>en</strong>cing<br />
procedure d<strong>en</strong>ominated sequ<strong>en</strong>cing by hybridization (SBH). The method is<br />
wi<strong>de</strong>ly used for Single Nucleoti<strong>de</strong> Polymorphism analysis and its g<strong>en</strong>eral usage<br />
for sequ<strong>en</strong>cing purpose <strong>de</strong>p<strong>en</strong>ds mainly on the <strong>de</strong>velopm<strong>en</strong>t of good algorithmic<br />
procedures solving the computational phase of this approach. One of the<br />
parameters of this method is the l<strong>en</strong>gth of the oligonucleoti<strong>de</strong>s. We show by<br />
means of experim<strong>en</strong>ts, that modifying this parameter, a rec<strong>en</strong>tly proposed<br />
g<strong>en</strong>etic algorithm g<strong>en</strong>erates high quality solutions for <strong>la</strong>rge instances.<br />
Resum<strong>en</strong>. Este artículo trata sobre el análisis experim<strong>en</strong>tal <strong>de</strong> un algoritmo<br />
g<strong>en</strong>ético para un problema <strong>de</strong> biología computacional. El problema aparece <strong>en</strong><br />
<strong>la</strong> fase computacional <strong>de</strong> un nuevo procedimi<strong>en</strong>to <strong>de</strong> secu<strong>en</strong>ciación <strong>de</strong> ADN<br />
d<strong>en</strong>ominado secu<strong>en</strong>ciación por hibridación (SBH). Este método es ampliam<strong>en</strong>te<br />
utilizado para el análisis <strong>de</strong> los polimorfismos <strong>de</strong> los nucleótidos únicos (SNP’s)<br />
y su utilización para propósitos <strong>de</strong> secu<strong>en</strong>ciación <strong>de</strong> ADN <strong>de</strong>p<strong>en</strong><strong>de</strong><br />
principalm<strong>en</strong>te <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> algoritmos que resuelvan <strong>la</strong> fase computacional<br />
<strong>de</strong> este método. Uno <strong>de</strong> los parámetros <strong>de</strong> este método es <strong>la</strong> longitud <strong>de</strong> los<br />
oligonucleótidos. En este trabajo se muestra por medio <strong>de</strong> experim<strong>en</strong>tos que<br />
modificando este parámetro, un algoritmo g<strong>en</strong>ético propuesto reci<strong>en</strong>tem<strong>en</strong>te<br />
g<strong>en</strong>era soluciones <strong>de</strong> alta calidad para casos <strong>de</strong> gran tamaño.<br />
Keywords: GA's, DNA Sequ<strong>en</strong>cing by Hybridization, DNA Chip.<br />
1. Introduction<br />
The DNA sequ<strong>en</strong>cing is a very important problem in molecu<strong>la</strong>r biology. It refers to<br />
the id<strong>en</strong>tification of an unknown short DNA sequ<strong>en</strong>ce g<strong>en</strong>erally of 100 ≤ n ≤ 500 base<br />
pairs. Among the existing methods for sequ<strong>en</strong>cing we are going to conc<strong>en</strong>trate in a<br />
re<strong>la</strong>tively new one d<strong>en</strong>ominated sequ<strong>en</strong>cing by hybridization (SBH) [1]. This method<br />
has be<strong>en</strong> already wi<strong>de</strong>ly used for Single Nucleoti<strong>de</strong> Polymorphism (SNP) analysis<br />
and its g<strong>en</strong>eral usage for sequ<strong>en</strong>cing purpose <strong>de</strong>p<strong>en</strong>ds mainly on the <strong>de</strong>velopm<strong>en</strong>t of<br />
good algorithmic procedures solving the computational phase of this approach [2].<br />
The SBH problem is composed of two stages: the biochemical experim<strong>en</strong>t and the<br />
computational stage. For the biochemical experim<strong>en</strong>t we are giv<strong>en</strong> an unknown DNA
sequ<strong>en</strong>ce, composed by a sequ<strong>en</strong>ce of nucleoti<strong>de</strong>s from a set of four of them: A<br />
(ad<strong>en</strong>ine), C (cytosine), G (guanine), and T (thymine). From this sequ<strong>en</strong>ce we need to<br />
<strong>de</strong>tect all oligonucleoti<strong>de</strong>s (short sequ<strong>en</strong>ce of nucleoti<strong>de</strong>s) of l<strong>en</strong>gth l, which properly<br />
or<strong>de</strong>red compose the unknown sequ<strong>en</strong>ce. The curr<strong>en</strong>t technology allows<br />
oligonucleoti<strong>de</strong> l<strong>en</strong>gth l up to 30 nucleoti<strong>de</strong>s [10]. The <strong>de</strong>tection is performed using a<br />
DNA chip (or DNA array) which contains all fragm<strong>en</strong>ts (oligonucleoti<strong>de</strong>s) of l<strong>en</strong>gth l,<br />
i.e. 4 l fragm<strong>en</strong>ts. A single strand of the unknown DNA sequ<strong>en</strong>ce treated with a<br />
fluoresc<strong>en</strong>t substance is <strong>de</strong>posited on the DNA chip. During the biochemical<br />
experim<strong>en</strong>t, complem<strong>en</strong>tary fragm<strong>en</strong>ts (A-T and C-G) of l<strong>en</strong>gth l come together i.e.<br />
hybridize. After the hybridization experim<strong>en</strong>t and by reading a fluoresc<strong>en</strong>t image of<br />
the chip, we can obtain the spectrum, which is the set of oligonucleoti<strong>de</strong>s composing<br />
the unknown DNA sequ<strong>en</strong>ce. Here, the second stage of SBH starts, i.e. giv<strong>en</strong> the<br />
spectrum and the l<strong>en</strong>gth of the unknown DNA sequ<strong>en</strong>ce, find the or<strong>de</strong>r of the<br />
oligonucleoti<strong>de</strong>s such that consecutive elem<strong>en</strong>ts always over<strong>la</strong>p on l-1 nucleoti<strong>de</strong>s.<br />
Wh<strong>en</strong> the hybridization is performed without errors the spectrum inclu<strong>de</strong>s all l<strong>en</strong>gth l<br />
oligonucleoti<strong>de</strong>s originally in the unknown DNA sequ<strong>en</strong>ce. However, many factors<br />
do not allow the experim<strong>en</strong>t to be run error free. If the spectrum does not inclu<strong>de</strong> one<br />
or more oligonucleoti<strong>de</strong>s originally in the DNA sequ<strong>en</strong>ce, th<strong>en</strong> we have an<br />
experim<strong>en</strong>t with negative errors. On the other hand, if the spectrum inclu<strong>de</strong>s<br />
oligonucleoti<strong>de</strong>s that are not pres<strong>en</strong>t in the original sequ<strong>en</strong>ce th<strong>en</strong> we have an<br />
experim<strong>en</strong>t with positive errors.<br />
The remain<strong>de</strong>r of the paper is organized as follows. Section 2 briefly <strong>de</strong>scribes the<br />
state of the art. Section 3 states the problem we are <strong>de</strong>aling with. Section 4 indicates<br />
the methodology proposed to approximately solve the problem. Section 5 pres<strong>en</strong>ts the<br />
experim<strong>en</strong>tal setups and results. Finally, section 6 states the conclusions and points<br />
out some i<strong>de</strong>as for future research.<br />
2. State of the Art<br />
There have be<strong>en</strong> many attempts in trying to find an effici<strong>en</strong>t method to approximately<br />
solve the computational part of the SBH problem. For the i<strong>de</strong>al experim<strong>en</strong>t case it has<br />
be<strong>en</strong> shown that the problem can be solved in polynomial time [8] by reducing it to<br />
finding an Eulerian path in a directed graph. However, wh<strong>en</strong> only negative or only<br />
positive or both errors are pres<strong>en</strong>t, the problem becomes strongly NP-hard [5]. A<br />
Tabu Search based algorithm for the <strong>la</strong>tter case is proposed in [4]. Th<strong>en</strong> a<br />
sophisticated heuristics that improves the results in [4] is pres<strong>en</strong>ted in [2]. At the same<br />
time a g<strong>en</strong>etic algorithm [6] is proposed to effectively and effici<strong>en</strong>tly <strong>de</strong>al with<br />
positive and negative errors. In a previous work, B<strong>la</strong>zewicz and colleagues [3] pres<strong>en</strong>t<br />
a branch and bound method to <strong>de</strong>al with positive and negative errors. This algorithm<br />
obtains its best performance with only positive errors, however, it has problems<br />
handling negative errors produced by repetitions of oligonucleoti<strong>de</strong>s of l<strong>en</strong>gth l.<br />
Zhang et al. [10] employ a differ<strong>en</strong>t technique to effectively handle negative errors<br />
g<strong>en</strong>erated by repetitions of oligonucleoti<strong>de</strong>s of l<strong>en</strong>gth l. In the authors rec<strong>en</strong>t work [7],<br />
a g<strong>en</strong>etic algorithm d<strong>en</strong>ominated Sequ<strong>en</strong>cing GA which is an improvem<strong>en</strong>t over the<br />
g<strong>en</strong>etic algorithm proposed by B<strong>la</strong>zewicz et al. [6], is pres<strong>en</strong>ted. In the comparison of
oth algorithms, these were applied to spectra of 100 ≤ |S| ≤ 500. In this work, the<br />
spectra size is increased up to 1000 oligonucleoti<strong>de</strong>s and by modifying one parameter<br />
of the SBH method, the solution quality remains high.<br />
3. Problem Statem<strong>en</strong>t<br />
The computational part of the SBH problem consists of a set S = {s 1 , s 2 ,…, s k } of<br />
equal l<strong>en</strong>gth (l) strings s i 's over an alphabet Σ = {A,C,G,T} and a number n<br />
repres<strong>en</strong>ting the l<strong>en</strong>gth of the unknown sequ<strong>en</strong>ce. Each s i is always a fragm<strong>en</strong>t of the<br />
original sequ<strong>en</strong>ce N, wh<strong>en</strong>ever the experim<strong>en</strong>t is error free (|S| = n – l +1). However,<br />
in g<strong>en</strong>eral, s i may repres<strong>en</strong>t a fragm<strong>en</strong>t that is not in the original sequ<strong>en</strong>ce (positive<br />
errors), furthermore, there may be fragm<strong>en</strong>ts in the original sequ<strong>en</strong>ce N that do not<br />
appear as a string s i in S (negative errors). The problem is to find a sequ<strong>en</strong>ce L of<br />
l<strong>en</strong>gth no greater than n such that the number of used strings s i 's is maximized, and<br />
therefore the differ<strong>en</strong>ces betwe<strong>en</strong> N and L minimized.<br />
By means of experim<strong>en</strong>ts the Sequ<strong>en</strong>cing GA has shown its superiority over the<br />
GA proposed by B<strong>la</strong>zewicz [7]. However, wh<strong>en</strong> the spectrum size increases to<br />
|S|=600 and above, the simi<strong>la</strong>rity score of the solutions g<strong>en</strong>erated by both algorithms,<br />
regarding the original DNA sequ<strong>en</strong>ce, <strong>de</strong>creases drastically below an acceptable level.<br />
This ph<strong>en</strong>om<strong>en</strong>on can be avoi<strong>de</strong>d if the l<strong>en</strong>gth of the oligonucleoti<strong>de</strong>s used in the<br />
SBH biochemical stage is increased. Both algorithms used l=10, if we modify this<br />
l<strong>en</strong>gth, we show by means of experim<strong>en</strong>ts that the simi<strong>la</strong>rity score of the solutions<br />
g<strong>en</strong>erated by the Sequ<strong>en</strong>cing GA are over 99% using spectra up to |S|=1000.<br />
4. Methodology<br />
The algorithm is proposed in the authors rec<strong>en</strong>t work [7], it is based on the one<br />
proposed by B<strong>la</strong>zewicz and colleagues [6]. Details of this algorithm can be found in<br />
[7].<br />
5. Experim<strong>en</strong>tal Setup and Results<br />
The Sequ<strong>en</strong>cing GA has be<strong>en</strong> applied to real DNA sequ<strong>en</strong>ces. All spectra used in the<br />
experim<strong>en</strong>t have be<strong>en</strong> <strong>de</strong>rived from the DNA sequ<strong>en</strong>ces coding human proteins tak<strong>en</strong><br />
from G<strong>en</strong>Bank, National Institute of Health, USA. Their accession numbers are giv<strong>en</strong><br />
by X05908, X02994, X51841, X06537, X07820, D11428, Y00093, X02160, X14894<br />
and X06985, respectively. Each <strong>de</strong>rived spectrum was modified with the introduction<br />
of 40% of errors (20% negative and 20% positive). The spectra have be<strong>en</strong> sorted<br />
alphabetically, thus no information about the original or<strong>de</strong>r of oligonucleoti<strong>de</strong>s from<br />
its original sequ<strong>en</strong>ce is known.<br />
The l<strong>en</strong>gths of the sequ<strong>en</strong>ces have be<strong>en</strong> set to 109 ≤ n ≤ 1009. For each case, 10<br />
differ<strong>en</strong>t instances were g<strong>en</strong>erated. The algorithm was run 30 times, and it was
applied to each of the 10 instances. All the experim<strong>en</strong>ts have be<strong>en</strong> performed on a PC<br />
station with Athlon XP 2.0 GHz processor, 512 MB RAM and Linux Mandrake 9.1<br />
operating system.<br />
In or<strong>de</strong>r to know the effect of the l<strong>en</strong>gth of oligonucleoti<strong>de</strong>s in the sequ<strong>en</strong>ce<br />
reconstruction, these are set to l=10 and l=20, respectively.<br />
The main criterion we want to compare is the simi<strong>la</strong>rity score; Figure 1 shows the<br />
results for this comparison. The continue line is for l=20 and the dotted line is for<br />
l=10.<br />
Fig.1. Simi<strong>la</strong>rity score for the sequ<strong>en</strong>ces g<strong>en</strong>erated by the Sequ<strong>en</strong>cing GA using l=10 and l=20<br />
The simi<strong>la</strong>rity score indicates the perc<strong>en</strong>tage of simi<strong>la</strong>rity betwe<strong>en</strong> the sequ<strong>en</strong>ce<br />
g<strong>en</strong>erated by the Sequ<strong>en</strong>cing GA and the original sequ<strong>en</strong>ce (if both sequ<strong>en</strong>ces are<br />
id<strong>en</strong>tical, th<strong>en</strong> the simi<strong>la</strong>rity score is 100%). In or<strong>de</strong>r to compute this criterion, we<br />
compared the solutions g<strong>en</strong>erated by the GA with the original sequ<strong>en</strong>ces using a<br />
pairwise alignm<strong>en</strong>t algorithm [9]. We can see in this figure the differ<strong>en</strong>ces among the<br />
sequ<strong>en</strong>ces g<strong>en</strong>erated by the same algorithm, but using a differ<strong>en</strong>t oligonucleoti<strong>de</strong><br />
l<strong>en</strong>gth. Definitively, an increm<strong>en</strong>t in the l<strong>en</strong>gth of oligonucleoti<strong>de</strong>s can lead to very<br />
good (more than 99%) simi<strong>la</strong>rity scores for all sequ<strong>en</strong>ces. An interesting point is that<br />
no matter what the instances size are, the simi<strong>la</strong>rity score remains close to the optimal<br />
value.<br />
For the cases of l=10, the simi<strong>la</strong>rity score <strong>de</strong>creases due to the exist<strong>en</strong>ce of groups<br />
of oligonucleoti<strong>de</strong>s (adjac<strong>en</strong>t in the original DNA sequ<strong>en</strong>ce) missed in the spectrum.<br />
Therefore, false oligonucleoti<strong>de</strong>s (positive errors) or other oligonucleoti<strong>de</strong>s (which<br />
correspond to other sequ<strong>en</strong>ce location) can be selected for reconstructing the<br />
candidate DNA sequ<strong>en</strong>ce.<br />
Figure 2(A) shows the average quality obtained by the Sequ<strong>en</strong>cing GA for l=10<br />
and l=20. Here, quality is the number of oligonucleoti<strong>de</strong>s in the spectrum used by the<br />
GA for g<strong>en</strong>erating a solution. Notice that, the optimal quality is the number of real<br />
(not corresponding to positive errors) oligonucleoti<strong>de</strong>s in the spectrum for a giv<strong>en</strong><br />
case. In this figure, we can see that while the quality obtained by the Sequ<strong>en</strong>cing GA<br />
using l=10 <strong>de</strong>creases as the instance size grows, using l=20 maintains in average a<br />
99.5% of the optimal quality.
Figure 2(B) shows the number of original sequ<strong>en</strong>ces found per run at each instance<br />
size. Notice that at each run, the Sequ<strong>en</strong>cing GA is applied over 10 instances,<br />
therefore, the i<strong>de</strong>al case is to find at each run 10 original sequ<strong>en</strong>ces. From |S|=600 and<br />
above the Sequ<strong>en</strong>cing GA using l=10 does not obtain any of the original sequ<strong>en</strong>ces,<br />
whereas with l=20 it can obtain two or more of them.<br />
Fig.2. A) Average simi<strong>la</strong>rity score over 30 runs at each instance size using l=10 and l=20. B)<br />
Number of original sequ<strong>en</strong>ces found per run using l=10 and l=20<br />
Finally, a comparison of the computational time is pres<strong>en</strong>ted. Figure 3 shows the<br />
differ<strong>en</strong>ces in computational time for the cases of l=10 and l=20. Obviously the <strong>la</strong>rger<br />
the oligonucleoti<strong>de</strong>s are, the longer the computational time will become. But, at least<br />
for these instances size, we consi<strong>de</strong>r we can sacrifice the differ<strong>en</strong>ces in time in or<strong>de</strong>r<br />
to obtain more accurate sequ<strong>en</strong>ces.<br />
Fig.3. Computational time of the Sequ<strong>en</strong>cing GA using l=10 and l=20<br />
6. Conclusions<br />
A rec<strong>en</strong>tly proposed g<strong>en</strong>etic algorithm is analyzed wh<strong>en</strong> real size oligonucleoti<strong>de</strong>s are<br />
introduced to solve the sequ<strong>en</strong>cing by hybridization problem. In this previous work<br />
the candidate sequ<strong>en</strong>ces simi<strong>la</strong>rity score <strong>de</strong>creases below an acceptable level for 600
≤ |S| ≤ 1000 and l=10. We show by means of experim<strong>en</strong>ts that an increm<strong>en</strong>t in the<br />
l<strong>en</strong>gth of l improves this score.<br />
The feasibility of using this algorithm to complete both stages, biochemical and<br />
computational, in the SBH method is aimed as future research. It would also be<br />
interesting to ext<strong>en</strong>d this algorithm to <strong>de</strong>al with the shotgun sequ<strong>en</strong>cing method in<br />
or<strong>de</strong>r to reconstruct sequ<strong>en</strong>ces with repeats.<br />
Acknowledgem<strong>en</strong>ts<br />
This research has be<strong>en</strong> partially supported by LAFMI Project REF J000-0686/2003.<br />
Refer<strong>en</strong>ces<br />
[1] W. Bains and G.C. Smith. A novel method for nucleic acid sequ<strong>en</strong>ce <strong>de</strong>termination.<br />
Journal of Theoretical Biology, 135:303-307, 1988.<br />
[2] J. B<strong>la</strong>zewicz, P. Formanowicz, F. Guinand and M. Kasprzak. A Heuristic Managing Errors<br />
for DNA Sequ<strong>en</strong>cing. Journal of Bioinformatics, 18(5):652-660, 2002.<br />
[3] J. B<strong>la</strong>zewicz, P. Formanowicz, M. Kasprzak, W. Markiewicz and J. Weg<strong>la</strong>rz. DNA<br />
Sequ<strong>en</strong>cing with Positive and Negative Errors. Journal of Computational Biology, 6:113-<br />
123, 1999.<br />
[4] J. B<strong>la</strong>zewicz, P. Formanowicz, M. Kasprzak, W. Markiewicz and J. Weg<strong>la</strong>rz. Tabu search<br />
for DNA Sequ<strong>en</strong>cing with false negatives and false positives. European Journal of<br />
Operational Research, 125:257-265, 2000.<br />
[5] J. B<strong>la</strong>zewicz and M. Kasprzak. Complexity of DNA Sequ<strong>en</strong>cing ny Hybridization.<br />
Journal of Theoretical Computer Sci<strong>en</strong>ce, 290:1459-1473, 2003.<br />
[6] J. B<strong>la</strong>zewicz, M. Kasprzak and W. Kuroczycki. Hybrid G<strong>en</strong>etic Algorithm for DNA<br />
Sequ<strong>en</strong>cing with Errors. Journal of Heuristics, 8:495-502, 2002.<br />
[7] C.A. Brizue<strong>la</strong>, L.C. González and H.J. Romero. An Improved G<strong>en</strong>etic Algorithm for the<br />
Sequ<strong>en</strong>cing by Hybridization Problem. In Applications of Evolutionary Computing,<br />
LNCS, volume: 3005, pages:11-20, 2004.<br />
[8] P.A. Pevzner. l-tuple DNA Sequ<strong>en</strong>cing: Computer Analysis. Journal of Biomolecu<strong>la</strong>r<br />
Structure and Dynamics, 7:63-73, 1989.<br />
[9] J. Stoye. Multiple Sequ<strong>en</strong>ce Alignm<strong>en</strong>t with the Divi<strong>de</strong>-and-Conquer Method. G<strong>en</strong>e,<br />
211(2):GC45-GC56, 1998.<br />
[10] J. Zhang, L. Wu and X. Zhang. Reconstruction of DNA sequ<strong>en</strong>cing by hybridization.<br />
Journal of Bioinformatics, 19(1):14-21, 2003.
Optimización <strong>de</strong> <strong>la</strong> G<strong>en</strong>o-tipificación <strong>de</strong><br />
Papilomavirus Humano como un problema <strong>de</strong><br />
Selección <strong>de</strong> Características utilizando PCA y<br />
RNAs<br />
M. Rodríguez-Muro, P. Gómez-Gil, C. Castañeda-Roldán, J. Garcés-Eisele, J.<br />
Lozano-Yécora, M. Osorio-Galindo<br />
Universidad <strong>de</strong> <strong>la</strong>s Américas<br />
Sta. Catarina Mártir, Cholu<strong>la</strong>, Pueb<strong>la</strong>.<br />
72820 México<br />
marianorodriguez@mexico.com, {pgomez, ccastane, jgarces, ci205690,<br />
josorio}@mail.ud<strong>la</strong>p.mx<br />
Resum<strong>en</strong>. Se pres<strong>en</strong>ta el problema <strong>de</strong> optimizar <strong>la</strong> g<strong>en</strong>o-tipificación <strong>de</strong><br />
Papilomavirus Humanos como un problema <strong>de</strong> selección <strong>de</strong> características.<br />
Se propone el uso <strong>de</strong>l Análisis <strong>de</strong> Compon<strong>en</strong>tes Principales como técnica<br />
<strong>de</strong> selección <strong>de</strong> características sobre el problema <strong>de</strong> tipificación <strong>de</strong> ADN<br />
apoyado por el <strong>de</strong>sempeño <strong>de</strong> re<strong>de</strong>s neuronales artificiales para <strong>la</strong> evaluación<br />
<strong>de</strong> <strong>la</strong>s selecciones.<br />
1. Introducción<br />
La g<strong>en</strong>o-tipificación <strong>de</strong> Ácido Desoxirribonucleico (ADN) <strong>de</strong>l Papilomavirus<br />
Humano (VPH) se pue<strong>de</strong> realizar a través <strong>de</strong>l método conocido como Polimorfismo<br />
<strong>en</strong> <strong>la</strong> Longitud <strong>de</strong> los Fragm<strong>en</strong>tos <strong>de</strong> Restricción (RFLP). Dicha técnica se basa<br />
<strong>en</strong> <strong>la</strong> aplicación <strong>de</strong> <strong>en</strong>zimas sobre <strong>la</strong>s cad<strong>en</strong>as <strong>de</strong> ADN <strong>de</strong> <strong>la</strong> muestra <strong>de</strong>l virus [8].<br />
Exist<strong>en</strong> más <strong>de</strong> 200 difer<strong>en</strong>tes <strong>en</strong>zimas disponibles para g<strong>en</strong>o-tipificación y más<br />
<strong>de</strong> 60 variantes <strong>de</strong>l VPH. Muchas <strong>de</strong> estas <strong>en</strong>zimas g<strong>en</strong>eran información redundante<br />
<strong>en</strong>tre el<strong>la</strong>s por lo que, para id<strong>en</strong>tificar una muestra, el analista <strong>de</strong>be escoger<br />
un pequeño grupo <strong>de</strong> <strong>en</strong>zimas que sean sufici<strong>en</strong>tes para id<strong>en</strong>tificar <strong>de</strong>terminado<br />
grupo <strong>de</strong> virus; si <strong>de</strong>spués <strong>de</strong> aplicar <strong>la</strong>s <strong>en</strong>zimas sobre una muestra aún quedan<br />
dudas sobre <strong>la</strong> id<strong>en</strong>tidad <strong>de</strong>l virus, el analista escoge otra(s) <strong>en</strong>zima(s) que le<br />
permita(n) concluir <strong>la</strong> id<strong>en</strong>tificación. Es este proceso el que <strong>de</strong>seamos optimizar.<br />
El procedimi<strong>en</strong>to <strong>de</strong> selección es empírico y, <strong>de</strong>bido a que el número <strong>de</strong> variantes<br />
<strong>de</strong>l VPH y el número <strong>de</strong> <strong>en</strong>zimas para su id<strong>en</strong>tificación son elevados, escoger un<br />
conjunto <strong>de</strong> <strong>en</strong>zimas mínimo con el que sea posible id<strong>en</strong>tificar con certeza cada<br />
tipo viral resulta muy difícil y <strong>en</strong> algunos casos imposible. A<strong>de</strong>más este problema<br />
no es exclusivo <strong>de</strong> <strong>la</strong> g<strong>en</strong>o-tipificación <strong>de</strong>l VPH, y <strong>en</strong> otros casos el número <strong>de</strong><br />
reactivos y g<strong>en</strong>otipos pue<strong>de</strong> ser mayor aum<strong>en</strong>tando <strong>la</strong> dificultad <strong>de</strong> <strong>la</strong> selección<br />
empírica.
El problema se pue<strong>de</strong> atacar como un problema <strong>de</strong> selección <strong>de</strong> características,<br />
es <strong>de</strong>cir, <strong>la</strong> selección <strong>de</strong> un subconjunto <strong>de</strong> características tal que el <strong>de</strong>sempeño<br />
<strong>de</strong>l c<strong>la</strong>sificador sea máximo [6]. Proponemos utilizar el Análisis <strong>de</strong> Compon<strong>en</strong>tes<br />
Principales (Principal Compon<strong>en</strong>t Análisis, PCA) usado como técnica <strong>de</strong> selección<br />
<strong>de</strong> características [11],[3]. El PCA es una técnica <strong>de</strong> análisis multivariante que<br />
se utiliza g<strong>en</strong>eralm<strong>en</strong>te para problemas <strong>de</strong> reducción <strong>de</strong> <strong>la</strong> dim<strong>en</strong>sionalidad, es<br />
re<strong>la</strong>tivam<strong>en</strong>te simple y fácil <strong>de</strong> revisar por lo que esperamos nos dé una pauta <strong>de</strong><br />
medición para el futuro análisis <strong>de</strong> otras técnicas.<br />
2. Tipificación <strong>de</strong> VPH a través <strong>de</strong> RFLP<br />
El método <strong>de</strong> RFLP utiliza <strong>en</strong>zimas <strong>de</strong> restricción para id<strong>en</strong>tificar el ADN.<br />
Éstas reconoc<strong>en</strong> una subcad<strong>en</strong>a y cortan una cad<strong>en</strong>a <strong>de</strong> ADN <strong>en</strong> don<strong>de</strong> ocurra<br />
dicha subcad<strong>en</strong>a. Así se obti<strong>en</strong><strong>en</strong> fragm<strong>en</strong>tos <strong>de</strong> difer<strong>en</strong>tes tamaños; son el número<br />
<strong>de</strong> fragm<strong>en</strong>tos y el tamaño <strong>de</strong> éstos lo que nos permite id<strong>en</strong>tificar <strong>la</strong> muestra [8].<br />
Para obt<strong>en</strong>er el número y el tamaño <strong>de</strong> los fragm<strong>en</strong>tos se utiliza una técnica<br />
l<strong>la</strong>mada electroforesis. Dicha técnica g<strong>en</strong>era patrones <strong>de</strong> restricción como el mostrado<br />
<strong>en</strong> <strong>la</strong> figura 1, don<strong>de</strong> cada columna repres<strong>en</strong>ta un patrón <strong>de</strong> restricción.<br />
Éstos se g<strong>en</strong>eran <strong>de</strong>l <strong>de</strong>sp<strong>la</strong>zami<strong>en</strong>to <strong>de</strong> los fragm<strong>en</strong>tos <strong>de</strong> ADN <strong>en</strong> un gel <strong>de</strong>spués<br />
<strong>de</strong> aplicarles una difer<strong>en</strong>cia <strong>de</strong> pot<strong>en</strong>cial. El <strong>de</strong>sp<strong>la</strong>zami<strong>en</strong>to está <strong>en</strong> función <strong>de</strong>l<br />
tamaño <strong>de</strong> los fragm<strong>en</strong>tos por lo que po<strong>de</strong>mos basarnos <strong>en</strong> esta medición y <strong>en</strong> <strong>la</strong><br />
cantidad <strong>de</strong> fragm<strong>en</strong>tos para id<strong>en</strong>tificar parcialm<strong>en</strong>te <strong>la</strong> muestra.<br />
Fig. 1. Patrones <strong>de</strong> restricción para difer<strong>en</strong>tes tipos <strong>de</strong> VPH, g<strong>en</strong>erados con <strong>la</strong> <strong>en</strong>zima<br />
<strong>de</strong> restricción D<strong>de</strong>I [8]<br />
Debido a que los patrones <strong>de</strong> restricción se forman con base so<strong>la</strong>m<strong>en</strong>te <strong>en</strong> el<br />
tamaño <strong>de</strong> <strong>la</strong>s molécu<strong>la</strong>s, es posible t<strong>en</strong>er patrones <strong>de</strong> restricción iguales para<br />
virus difer<strong>en</strong>tes utilizando <strong>la</strong> misma <strong>en</strong>zima. De esta manera t<strong>en</strong>emos que si dos<br />
<strong>en</strong>zimas A y B g<strong>en</strong>eran el mismo patrón para cierto virus, ubicándolo <strong>en</strong> un<br />
g<strong>en</strong>otipo G1 o G2, es necesario utilizar una <strong>en</strong>zima C que sabemos que g<strong>en</strong>era un<br />
patrón difer<strong>en</strong>te para los g<strong>en</strong>otipos G1 y G2 para po<strong>de</strong>r id<strong>en</strong>tificar correctam<strong>en</strong>te<br />
<strong>la</strong> muestra.
3. Trabajo re<strong>la</strong>cionado<br />
Se ha <strong>de</strong>mostrado que <strong>en</strong>contrar el número mínimo <strong>de</strong> <strong>en</strong>zimas necesarias para<br />
id<strong>en</strong>tificar un grupo <strong>de</strong> virus, como el <strong>de</strong>l VPH, es un problema NP-completo [8].<br />
Sin embargo, pue<strong>de</strong> atacarse heurísticam<strong>en</strong>te <strong>de</strong> difer<strong>en</strong>tes maneras.<br />
En [4] se utiliza <strong>la</strong> Teoría <strong>de</strong> <strong>la</strong> Información <strong>de</strong> Shannon para crear un algoritmo<br />
<strong>de</strong> selección basándose <strong>en</strong> <strong>la</strong> cantidad <strong>de</strong> información cont<strong>en</strong>ida por <strong>en</strong>zima; <strong>en</strong><br />
este trabajo se concluye que es posible c<strong>la</strong>sificar los 50 tipos virales con los que se<br />
trabajó con so<strong>la</strong>m<strong>en</strong>te 2 <strong>en</strong>zimas. Sin embargo, <strong>en</strong> <strong>la</strong> práctica, estas <strong>en</strong>zimas son<br />
poco útiles por g<strong>en</strong>erar frecu<strong>en</strong>tem<strong>en</strong>te digestiones parciales, lo que limita su uso.<br />
En [9] se utiliza un algoritmo ávido y un algoritmo ramifica-limita para realizar<br />
<strong>la</strong> selección. En el mejor <strong>de</strong> los casos, utilizando 139 <strong>en</strong>zimas y 48 g<strong>en</strong>otipos<br />
virales, el algoritmo ávido seleccionó 2 <strong>en</strong>zimas; el algoritmo ramifica-limita no<br />
fue probado con este caso <strong>de</strong>bido a su ext<strong>en</strong>sión. En el peor <strong>de</strong> los casos, utilizando<br />
17 <strong>en</strong>zimas y 19 g<strong>en</strong>otipos virales, el algoritmo ávido seleccionó 11 <strong>en</strong>zimas; el<br />
algoritmo ramifica-limita seleccionó 6 <strong>en</strong>zimas parti<strong>en</strong>do <strong>de</strong> <strong>la</strong>s 11 <strong>en</strong>zimas seleccionadas<br />
por el algoritmo ávido.<br />
Entre los b<strong>en</strong>eficios que se obt<strong>en</strong>drían <strong>de</strong> esta investigación, y <strong>de</strong> los <strong>de</strong>más<br />
trabajos que se están efectuando sobre el tema, está <strong>la</strong> reducción <strong>de</strong> costos <strong>de</strong><br />
tiempo y recursos utilizados <strong>en</strong> <strong>la</strong> g<strong>en</strong>o-tipificación [4].<br />
4. Selección <strong>de</strong> Características <strong>en</strong> <strong>la</strong> Tipificación <strong>de</strong> VPH<br />
El problema <strong>de</strong> selección <strong>de</strong> características ha sido atacado fuertem<strong>en</strong>te <strong>en</strong><br />
los últimos años y está íntimam<strong>en</strong>te ligado con el reconocimi<strong>en</strong>to <strong>de</strong> patrones.<br />
Tsamardinos [12] seña<strong>la</strong> que no existe una <strong>de</strong>finición totalm<strong>en</strong>te aceptada <strong>de</strong>l<br />
problema pero propone una que creemos es muy a<strong>de</strong>cuada para los propósitos <strong>de</strong><br />
esta investigación:<br />
Definición 1 [12] Un problema <strong>de</strong> selección <strong>de</strong> características o variables es una<br />
tup<strong>la</strong> 〈X,Φ,T,A,M〉, don<strong>de</strong> X es una muestra <strong>de</strong> patrones <strong>de</strong> <strong>en</strong>trada <strong>de</strong>finidos<br />
sobre un conjunto <strong>de</strong> características Φ, T ∈ Φ es una variable objetivo, A es un algoritmo<br />
<strong>de</strong> c<strong>la</strong>sificación que produce un mo<strong>de</strong>lo <strong>de</strong> predicción para T dado T y X;<br />
y M es una métrica <strong>de</strong> <strong>de</strong>sempeño <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong>l c<strong>la</strong>sificador y <strong>de</strong> <strong>la</strong>s características<br />
seleccionadas. Una solución al problema es un subconjunto <strong>de</strong> características<br />
φ ⊆ Φ que maximiza M(φ,A(T,X ↓ φ)), don<strong>de</strong> X ↓ φ es <strong>la</strong> proyección <strong>de</strong> los<br />
datos X sobre <strong>la</strong>s características pert<strong>en</strong>eci<strong>en</strong>tes a φ.<br />
En estos términos, el problema <strong>de</strong> tipificación <strong>de</strong> ADN utilizando RFLP se<br />
traduce a <strong>en</strong>contrar un φ ⊆ Φ que maximice M; don<strong>de</strong> M está compuesta por<br />
2 factores, <strong>la</strong> c<strong>la</strong>sificación correcta <strong>de</strong> todos los tipos <strong>de</strong> virus y <strong>la</strong> cantidad <strong>de</strong><br />
<strong>en</strong>zimas necesarias para <strong>la</strong> c<strong>la</strong>sificación. El espacio <strong>de</strong> características Φ estará <strong>de</strong>finido<br />
por <strong>la</strong> concat<strong>en</strong>ación <strong>de</strong> espacios <strong>de</strong> 4 características por <strong>en</strong>zima, formando<br />
un vector <strong>de</strong> <strong>la</strong> forma<br />
Φ = {{R 1 } , {R 2 },...,{R k }} (1)
don<strong>de</strong> R k es el espacio reservado R para <strong>la</strong>s distancias <strong>de</strong> los fragm<strong>en</strong>tos <strong>de</strong> los<br />
patrones <strong>de</strong> restricción g<strong>en</strong>erados por <strong>la</strong> <strong>en</strong>zima k. Se escogió un tamaño <strong>de</strong> 4<br />
para cada espacio R k <strong>de</strong>bido a que el número <strong>de</strong> fragm<strong>en</strong>tos <strong>en</strong> los patrones <strong>de</strong><br />
restricción g<strong>en</strong>erados por una <strong>en</strong>zima se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong>tre 1 y 4 <strong>en</strong> los datos con los<br />
que contamos. Así, cada R k t<strong>en</strong>drá 4 datos, el primero será <strong>la</strong> distancia recorrida<br />
por el primer fragm<strong>en</strong>to, el segundo por el segundo fragm<strong>en</strong>to y así sucesivam<strong>en</strong>te.<br />
En caso <strong>de</strong> que una <strong>en</strong>zima g<strong>en</strong>ere m<strong>en</strong>os que 4 fragm<strong>en</strong>tos para cierto g<strong>en</strong>otipo<br />
se asignará una distancia <strong>de</strong> 0 a los espacios <strong>de</strong> R k sobrantes. Escoger un número<br />
m<strong>en</strong>or a 4 espacios provocaría pérdida <strong>de</strong> información. Tampoco es aconsejable<br />
utilizar un tamaño superior pues ninguno <strong>de</strong> los 48 g<strong>en</strong>otipos disponibles g<strong>en</strong>era<br />
más <strong>de</strong> 4 fragm<strong>en</strong>tos para ninguna <strong>de</strong> <strong>la</strong>s 205 <strong>en</strong>zimas con <strong>la</strong>s que contamos. De<br />
esta manera t<strong>en</strong>emos que un patrón <strong>de</strong> <strong>en</strong>trada x i ∈ X estará formado <strong>de</strong> <strong>la</strong><br />
sigui<strong>en</strong>te manera:<br />
x i = {{r i1 } , {r i2 } ,...,{r ik }} (2)<br />
don<strong>de</strong> x i es el patrón para el g<strong>en</strong>otipo viral i formado por <strong>la</strong> concat<strong>en</strong>ación <strong>de</strong><br />
todos r ik que son <strong>la</strong>s distancias recorridas por los fragm<strong>en</strong>tos <strong>de</strong>l patrón <strong>de</strong> restricción<br />
r g<strong>en</strong>erado por <strong>la</strong> <strong>en</strong>zima k para el g<strong>en</strong>otipo viral i. T es <strong>la</strong> re<strong>la</strong>ción uno a<br />
uno que existe <strong>en</strong>tre <strong>la</strong>s muestras cont<strong>en</strong>idas <strong>en</strong> X y los g<strong>en</strong>otipos que se <strong>de</strong>sean<br />
c<strong>la</strong>sificar.<br />
Una vez que el algoritmo <strong>de</strong> selección escoja ciertas características bastará con<br />
verificar a cual <strong>de</strong> los R k espacios pert<strong>en</strong>ec<strong>en</strong> estas características para saber a<br />
que <strong>en</strong>zima correspond<strong>en</strong>. T<strong>en</strong>dremos un total <strong>de</strong> 48 patrones x i <strong>en</strong> X, correspondi<strong>en</strong>tes<br />
a los 48 g<strong>en</strong>otipos virales con los que trabajaremos. Cada x i ∈ X<br />
estará formado por 820 características resultado <strong>de</strong> concat<strong>en</strong>ar los espacios R k <strong>de</strong><br />
tamaño 4 para <strong>la</strong>s 205 <strong>en</strong>zimas que usaremos.<br />
El algoritmo <strong>de</strong> c<strong>la</strong>sificación A será el Análisis <strong>de</strong> Compon<strong>en</strong>tes Principales<br />
utilizado como técnica <strong>de</strong> selección <strong>de</strong> características.<br />
5. Análisis <strong>de</strong> Compon<strong>en</strong>tes Principales<br />
También es conocido como <strong>la</strong> transformada Karhun<strong>en</strong>-Loève [2]. El Análisis<br />
<strong>de</strong> Compon<strong>en</strong>tes Principales es una <strong>de</strong> <strong>la</strong>s técnicas <strong>de</strong> análisis multivariante más<br />
s<strong>en</strong>cil<strong>la</strong>s [10]. Su objetivo es el <strong>de</strong>, dado un conjunto <strong>de</strong> variables Y 1 ,Y 2 ,Y 3 ,...,Y p ,<br />
<strong>en</strong>contrar combinaciones lineales que produzcan índices Z 1 ,Z 2 ,Z 3 ,...,Z p , l<strong>la</strong>mados<br />
compon<strong>en</strong>tes principales, tal que éstos estén incorre<strong>la</strong>cionados y <strong>la</strong> varianza<br />
esté maximizada <strong>en</strong> cada uno <strong>de</strong> ellos. La falta <strong>de</strong> corre<strong>la</strong>ción <strong>en</strong>tre los índices<br />
indica que éstos mid<strong>en</strong> dim<strong>en</strong>siones difer<strong>en</strong>tes <strong>de</strong> los datos. A<strong>de</strong>más, los nuevos<br />
índices están ord<strong>en</strong>ados <strong>en</strong> re<strong>la</strong>ción a <strong>la</strong> varianza <strong>de</strong> éstos.<br />
Esta técnica es especialm<strong>en</strong>te útil cuando hay una alta corre<strong>la</strong>ción <strong>en</strong>tre <strong>la</strong>s<br />
variables originales [10]. En estos casos es común po<strong>de</strong>r repres<strong>en</strong>tar el total <strong>de</strong> <strong>la</strong>s<br />
variables originales utilizando so<strong>la</strong>m<strong>en</strong>te una fracción <strong>de</strong> los compon<strong>en</strong>tes principales<br />
g<strong>en</strong>erados. Debido a esta propiedad se ha hecho un procedimi<strong>en</strong>to común<br />
para reducir <strong>la</strong> dim<strong>en</strong>sionalidad <strong>de</strong> los datos <strong>de</strong> <strong>en</strong>trada <strong>en</strong> una gran variedad <strong>de</strong><br />
aplicaciones.
5.1. Selección <strong>de</strong> Características utilizando PCA<br />
Aunque no es su función principal, <strong>en</strong> [10], [5], [7] se m<strong>en</strong>ciona el uso <strong>de</strong> esta<br />
técnica para evaluar <strong>la</strong> importancia <strong>de</strong> <strong>la</strong>s variables <strong>en</strong> un conjunto <strong>de</strong> datos, <strong>de</strong><br />
lo que se intuye su capacidad como técnica <strong>de</strong> selección. En [11], y [3] se hace<br />
refer<strong>en</strong>cia al PCA explícitam<strong>en</strong>te como técnica <strong>de</strong> selección <strong>de</strong> características.<br />
Cuando se aplica el PCA sobre un conjunto <strong>de</strong> datos, como nuestro grupo<br />
<strong>de</strong> patrones virales X, se obti<strong>en</strong>e una matriz <strong>de</strong> transformación W don<strong>de</strong> cada<br />
r<strong>en</strong>glón m conti<strong>en</strong>e los coefici<strong>en</strong>tes <strong>de</strong> <strong>la</strong> ecuación que permite calcu<strong>la</strong>r el m compon<strong>en</strong>te<br />
principal. Así, el cálculo <strong>de</strong> cada compon<strong>en</strong>te principal se obti<strong>en</strong>e <strong>de</strong> <strong>la</strong><br />
forma:<br />
Z m = C m1 Y 1 + C m2 Y 2 + ... + C mp Y p (3)<br />
don<strong>de</strong> Z m es el m-ésimo compon<strong>en</strong>te principal y Y p es <strong>la</strong> p-ésima característica<br />
o variable. En nuestro caso, <strong>la</strong>s características Y p serán los elem<strong>en</strong>tos <strong>de</strong>l patrón<br />
viral x i <strong>de</strong>l que queramos obt<strong>en</strong>er su m-ésimo compon<strong>en</strong>te principal.<br />
Los coefici<strong>en</strong>tes C mp resultantes <strong>de</strong>l PCA pued<strong>en</strong> verse como <strong>la</strong> importancia<br />
que ti<strong>en</strong>e <strong>la</strong> variable o característica p <strong>en</strong> el cálculo <strong>de</strong>l compon<strong>en</strong>te m. Po<strong>de</strong>mos<br />
suponer que aquel<strong>la</strong>s características o variables p cuyos coefici<strong>en</strong>tes C mp sean<br />
elevados para los primeros compon<strong>en</strong>tes principales serán aquel<strong>la</strong>s características<br />
que cont<strong>en</strong>gan <strong>la</strong> mayor información. Las características que se escojan <strong>de</strong> esta<br />
manera serán los elem<strong>en</strong>tos <strong>de</strong> φ.<br />
Es importante ac<strong>la</strong>rar que <strong>la</strong> selección <strong>de</strong> dichas características sigue t<strong>en</strong>i<strong>en</strong>do<br />
un grado <strong>de</strong> subjetividad [7], pues aunque se ti<strong>en</strong><strong>en</strong> métricas para comparar <strong>la</strong><br />
varianza <strong>de</strong> los difer<strong>en</strong>tes compon<strong>en</strong>tes principales, escoger cuantos <strong>de</strong> éstos son<br />
sufici<strong>en</strong>tes para repres<strong>en</strong>tar a<strong>de</strong>cuadam<strong>en</strong>te <strong>la</strong>s características originales no es un<br />
procedimi<strong>en</strong>to algorítmico. De igual manera, no existe una reg<strong>la</strong> fija que nos diga<br />
cuando un coefici<strong>en</strong>te C mp es lo sufici<strong>en</strong>tem<strong>en</strong>te pequeño como para <strong>de</strong>scartarlo.<br />
Para ayudar a eliminar <strong>la</strong> incertidumbre <strong>de</strong>l método <strong>de</strong> selección proponemos<br />
utilizar el <strong>de</strong>sempeño <strong>de</strong> re<strong>de</strong>s neuronales (RNA) como métrica <strong>de</strong> evaluación M<br />
<strong>de</strong> <strong>la</strong>s características escogidas φ. La selección se hace por etapas, primeram<strong>en</strong>te<br />
se escoge el número mínimo <strong>de</strong> compon<strong>en</strong>tes principales que permitan <strong>la</strong> c<strong>la</strong>sificación<br />
correcta <strong>de</strong> todos los g<strong>en</strong>otipos <strong>de</strong> VPH, <strong>la</strong> c<strong>la</strong>sificación se hace con una<br />
red neuronal. Posteriorm<strong>en</strong>te escogemos grupos <strong>de</strong> <strong>en</strong>zimas mínimas basándonos<br />
<strong>en</strong> los coefici<strong>en</strong>tes C mp <strong>de</strong> <strong>la</strong> ecuación <strong>de</strong> cálculo <strong>de</strong> estos compon<strong>en</strong>tes. Se vuelve<br />
a evaluar el <strong>de</strong>sempeño con una red utilizando no los compon<strong>en</strong>tes principales<br />
escogidos sino so<strong>la</strong>m<strong>en</strong>te <strong>la</strong>s características cont<strong>en</strong>idas <strong>en</strong> φ. Si el <strong>de</strong>sempeño es<br />
aceptable se proce<strong>de</strong> a utilizar los patrones <strong>de</strong> restricción g<strong>en</strong>erados por <strong>la</strong>s <strong>en</strong>zimas<br />
asociadas a <strong>la</strong>s características <strong>en</strong> φ para evaluar el <strong>de</strong>sempeño <strong>de</strong>l c<strong>la</strong>sificador.<br />
En todas <strong>la</strong>s etapas <strong>de</strong> <strong>la</strong> selección se usan RNAs alim<strong>en</strong>tadas hacia <strong>de</strong><strong>la</strong>nte<br />
y <strong>en</strong>tr<strong>en</strong>adas por retro-propagación. Cada red permite evaluar el <strong>de</strong>sempeño <strong>de</strong>l<br />
grupo <strong>de</strong> características seleccionado <strong>en</strong> <strong>la</strong> etapa correspondi<strong>en</strong>te. Una evaluación<br />
aceptable <strong>de</strong> un grupo <strong>de</strong> características resulta <strong>de</strong> una c<strong>la</strong>sificación correcta <strong>de</strong> los<br />
48 g<strong>en</strong>otipos <strong>de</strong>spués <strong>de</strong> realizado el <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to; una evaluación no aceptable<br />
resulta <strong>de</strong> <strong>la</strong> c<strong>la</strong>sificación incorrecta <strong>de</strong> al m<strong>en</strong>os un g<strong>en</strong>otipo. Estas re<strong>de</strong>s son <strong>de</strong><br />
una so<strong>la</strong> capa que ti<strong>en</strong>e un número <strong>de</strong> nodos j = 48 correspondi<strong>en</strong>tes a los 48
g<strong>en</strong>otipos virales con los que contamos y que <strong>de</strong>seamos c<strong>la</strong>sificar. El número <strong>de</strong><br />
<strong>en</strong>tradas i <strong>de</strong>p<strong>en</strong><strong>de</strong> <strong>de</strong>l grupo <strong>de</strong> características φ que se pret<strong>en</strong>da evaluar; si se<br />
está <strong>en</strong> <strong>la</strong> primera etapa, i correspon<strong>de</strong> al número <strong>de</strong> compon<strong>en</strong>tes principales<br />
seleccionados; si se está <strong>en</strong> <strong>la</strong> segunda etapa i correspon<strong>de</strong> al número <strong>de</strong> <strong>en</strong>zimas<br />
re<strong>la</strong>cionadas con los compon<strong>en</strong>tes principales seleccionados <strong>en</strong> <strong>la</strong> primera etapa<br />
multiplicado por 4, pues cada <strong>en</strong>zima se re<strong>la</strong>ciona a un R k que es <strong>de</strong> tamaño 4<br />
(ver 4).<br />
6. Conclusiones y trabajo a futuro<br />
Mostramos que el problema <strong>de</strong> g<strong>en</strong>o-tipificación <strong>de</strong> ADN a través <strong>de</strong> RFLP<br />
pue<strong>de</strong> ser atacado como un problema <strong>de</strong> selección <strong>de</strong> características. Proponemos<br />
el uso <strong>de</strong>l PCA combinado con una red neuronal alim<strong>en</strong>tada hacia a<strong>de</strong><strong>la</strong>nte como<br />
técnica <strong>de</strong> selección <strong>de</strong> características. Después <strong>de</strong> evaluar el <strong>de</strong>sempeño <strong>de</strong><br />
<strong>la</strong> técnica <strong>de</strong>scrita compararemos con otras técnicas <strong>de</strong> selección <strong>de</strong> características<br />
como el Análisis <strong>de</strong> Características Principales (Principal Feature Analysis,<br />
PFA) [3] y Algoritmos Secu<strong>en</strong>ciales <strong>de</strong> Selección <strong>de</strong> Características [1], específicam<strong>en</strong>te<br />
Selección Secu<strong>en</strong>cial hacia De<strong>la</strong>nte (Forward Sequ<strong>en</strong>tial Selection, FSS) y<br />
Selección Secu<strong>en</strong>cial hacia Atrás (Backward Sequ<strong>en</strong>tial Selection, BSS).<br />
Refer<strong>en</strong>cias<br />
1. D. W. Aha and R. L Bankert. A comparative evaluation of sequ<strong>en</strong>tial feature<br />
selection algorithms, 1995.<br />
2. M. Á. Carreira-Perpiñán. A review of dim<strong>en</strong>sion reduction techniques. Technical<br />
Report CS–96–09, Dept. of Computer Sci<strong>en</strong>ce, University of Sheffield, January 1997.<br />
3. I. Coh<strong>en</strong>, Q. Tian, X. Zhou, and T. Huang. Feature selection using principal feature<br />
analysis, 2002.<br />
4. R. Fernán<strong>de</strong>z. Desarrollo <strong>de</strong> algoritmos para <strong>la</strong> c<strong>la</strong>sificación <strong>de</strong> secu<strong>en</strong>cias. Master’s<br />
thesis, Universidad <strong>de</strong> <strong>la</strong>s Américas, Pueb<strong>la</strong>, 2002.<br />
5. B. Flury and H. Riedwyl. Multivariate Statistics: A practical approach. Chapmawn<br />
and Hall, 1988.<br />
6. R. Kohavi and G. H. John. Wrappers for feature subset selection. Artificial Intellig<strong>en</strong>ce,<br />
97(1-2):273–324, 1997.<br />
7. W. J. Krzanowski. Principles of Multivariate Analysis. Oxford statistical sci<strong>en</strong>ce<br />
series. Oxford University Press, 1988.<br />
8. J. Lozano-Yécora, J. Garcés-Eisele, M. Osorio-Galindo, C. Castañeda-Roldán, and<br />
P. Gómez. G<strong>en</strong>otyping of human papilloma virus (hpv): a combinatorial optimization<br />
family of np-hard problems. Docum<strong>en</strong>to interno <strong>de</strong> trabajo. Universidad <strong>de</strong> <strong>la</strong>s<br />
Américas-Pueb<strong>la</strong>, 2004.<br />
9. J. M. Lozano-Yécora. La g<strong>en</strong>otipificación <strong>de</strong>l virus <strong>de</strong>l papiloma humano: una familia<br />
<strong>de</strong> problemas <strong>de</strong> optimización combinatoria. Master’s thesis, Universidad <strong>de</strong> <strong>la</strong>s<br />
Américas, Pueb<strong>la</strong>, 2004.<br />
10. B. F. J. Manly. Multivariate Statistical Methods: A Primer. Aca<strong>de</strong>mic Press, 1986.<br />
11. K. V. Mardia, J. T. K<strong>en</strong>t, and J. M. Bibby. Multivariate Analysis. Probability and<br />
Mathematical Statistics. Chapman and Hall, 1995.<br />
12. I. Tsamardinos and C. Aliferis. Towards principled feature selection: Relevancy,<br />
2003.
Using Graph-Based Concept Learning to the Predictive<br />
Toxicology Domain<br />
Ivan Olmos and Jesus A. Gonzalez<br />
Instituto Nacional <strong>de</strong> Astrofísica, Óptica y Electrónica<br />
Luis Enrique Erro #1, Sta. Maria Tonantzint<strong>la</strong>; Pueb<strong>la</strong>; México<br />
{iolmos, jagonzalez}@ccc.inaoep.mx<br />
Abstract. The increasing amount of stored data has created the necessity of<br />
tools that are able to get patterns that cannot be found with standard tools like<br />
statistics or spreadsheets. The predictive toxicology domain is an example<br />
where the database can be so <strong>la</strong>rge that the task of finding patterns in it is not<br />
easy. This is where data mining tools are appropriate to analyze this kind of<br />
data. In this paper we use a graph-based structured concept learning system<br />
called Subdue for finding concepts in the predictive toxicology database. We<br />
show our experim<strong>en</strong>ts with five repres<strong>en</strong>tations to make clear the kind of<br />
concepts that can be found with each of them.<br />
1. Introduction<br />
For concept learning systems, data repres<strong>en</strong>tation is crucial. A good repres<strong>en</strong>tation<br />
might make possible the learning of a concept that was not learnable using other<br />
repres<strong>en</strong>tations. For example, in the case of the earthquake domain (earthquake data<br />
such as its location, epic<strong>en</strong>ter, int<strong>en</strong>sity, <strong>de</strong>pth, type, etc.) we can just use an attributevalue<br />
repres<strong>en</strong>tation. However, we are missing important information such as the<br />
distance betwe<strong>en</strong> the earthquakes’ epic<strong>en</strong>ters and the differ<strong>en</strong>ce in time betwe<strong>en</strong> the<br />
earthquakes. This information is lost in an attribute-value repres<strong>en</strong>tation; information<br />
that could make possible the learning of an important concept.<br />
Graphs [6] are a powerful and flexible knowledge repres<strong>en</strong>tation used to mo<strong>de</strong>l<br />
simple and complex structured domains. For example, in chemical compounds,<br />
vertices and edges can repres<strong>en</strong>t not only atoms and bonds but also functional groups<br />
that are formed by a set of atoms [3]. In the Web domain, vertices can repres<strong>en</strong>t web<br />
pages and edges repres<strong>en</strong>t the links betwe<strong>en</strong> them [4]. In g<strong>en</strong>eral, vertices <strong>de</strong>scribe<br />
objects or parts of objects in the domain, while edges repres<strong>en</strong>t re<strong>la</strong>tions betwe<strong>en</strong><br />
objects. The repres<strong>en</strong>tation power and flexibility is the reason of why a graph-based<br />
repres<strong>en</strong>tation mo<strong>de</strong>l has be<strong>en</strong> adopted by researchers in differ<strong>en</strong>t areas [1 and 2].<br />
In this paper we show the effectiv<strong>en</strong>ess of a graph-based concept learning system<br />
applied to the predictive toxicology domain. We use Subdue, which is a graph-based<br />
concept learning system where the concept to learn is repres<strong>en</strong>ted by graphs. Subdue<br />
uses graph operations to verify if an example belongs to a concept or not, and to find<br />
new concepts.
2. Graph-Based Discovery<br />
Subdue [1] is a re<strong>la</strong>tional learning system used to find substructures (subgraphs)<br />
that appear repetitively in the graph repres<strong>en</strong>tation of databases. Subdue starts by<br />
looking for the substructure that best compresses the graph using the Minimum<br />
Description L<strong>en</strong>gth (MDL) principle [5], which states that the best <strong>de</strong>scription of a<br />
data set is the one that minimizes the <strong>de</strong>scription l<strong>en</strong>gth of the <strong>en</strong>tire data set. In<br />
re<strong>la</strong>tion to Subdue, the best <strong>de</strong>scription of the data set is the one that minimizes I(S) +<br />
I(G|S), where S is the substructure discovered in the input graph G, I(S) is the l<strong>en</strong>gth<br />
(number of bits) required to <strong>en</strong>co<strong>de</strong> S, and I(G|S) is the l<strong>en</strong>gth of the <strong>en</strong>coding of<br />
graph G after being compressed using substructure S, i.e., every instance of S in G is<br />
rep<strong>la</strong>ced by a single vertex.<br />
We used the concept learning option of Subdue known as SubdueCL [7].<br />
SubdueCL is able to work with positive and negative examples in a supervised way<br />
using a set covering algorithm (as opposed to Subdue that uses an unsupervised<br />
algorithm and does not distinguish betwe<strong>en</strong> positive and negative graphs).<br />
2.1. Substructure Evaluation and the SubdueCL Algorithm<br />
SubdueCL uses an evaluation formu<strong>la</strong> to give a value to all the g<strong>en</strong>erated<br />
substructures. This formu<strong>la</strong> assigns a value to a substructure according to how well it<br />
<strong>de</strong>scribes the positive examples (or a subset of the positive examples) without<br />
<strong>de</strong>scribing the negative examples. Th<strong>en</strong>, positive examples covered by the<br />
substructure increase the substructure value while negative examples <strong>de</strong>crease its<br />
value. In this formu<strong>la</strong> the positive examples that are not covered and the negative<br />
examples covered by the substructure are consi<strong>de</strong>red errors, because the i<strong>de</strong>al<br />
substructure would be one covering all the positive examples without covering any<br />
negative example. Th<strong>en</strong>, the substructure value is calcu<strong>la</strong>ted as follows:<br />
value = 1 − Error<br />
where the error is calcu<strong>la</strong>ted with respect to the positive and negative examples<br />
covered by the substructure using the following formu<strong>la</strong>:<br />
# PosEgsNotCovered+<br />
# NegEgsCovered<br />
Error =<br />
# PosEgs+<br />
# NegEgs<br />
Using this formu<strong>la</strong>, SubdueCL chooses rules that maximize the substructure’s<br />
value, and in this way it minimizes the number of errors ma<strong>de</strong> by the substructures<br />
used to form the concept. The positive examples not covered by the substructure and<br />
the negative examples covered by the substructure are consi<strong>de</strong>red errors.<br />
#PosEgsNotCovered is the number of positive examples not covered by the<br />
substructure, and #NegEgsCovered is the number of negative examples covered by<br />
the substructure. #PosEgs is the number of positive examples remaining in the<br />
training set (positive examples already covered in a previous iteration were removed<br />
from the training set), and #NegEgs is the total number of negative examples. This
number does not change, because negative examples are not removed from the<br />
training set. For hypotheses with the same error, those covering more positive<br />
examples are preferred.<br />
SubdueCL(Gp, Gn, Limit, Beam)<br />
Par<strong>en</strong>tList = (All substructures of one vertex in Gp) mod Beam<br />
repeat<br />
BestList = {}<br />
Exhausted = TRUE<br />
i = Limit<br />
while ( (i > 0 ) and (Par<strong>en</strong>tList ≠ {}) )<br />
ChildList = {}<br />
foreach substucture in Par<strong>en</strong>tList<br />
C = Expand(Substructure)<br />
if CoversOnePos(C,Gp)<br />
th<strong>en</strong> BestList = BestList ∪ {C}<br />
ChildList = ( ChildList ∪ C ) mod Beam<br />
i = i – 1<br />
<strong>en</strong>dfor<br />
Par<strong>en</strong>tList = ChildList mod Beam<br />
<strong>en</strong>dwhile<br />
if BestList = {} and Par<strong>en</strong>tList ≠ {}<br />
th<strong>en</strong> Exhausted = FALSE<br />
Limit = Limit * 1.2<br />
until ( Exhausted = TRUE )<br />
return first(BestList)<br />
<strong>en</strong>d<br />
Fig. 1. SubdueCL Algorithm.<br />
The function takes as parameters the positive examples G P , the negative examples<br />
G N , the Beam l<strong>en</strong>gth (since SubdueCL’s search algorithm is a beam search), and a<br />
Limit on the number of substructures to inclu<strong>de</strong> in its search. SubdueCL starts<br />
building a Par<strong>en</strong>tList creating a substructure for each vertex in the graph with a<br />
differ<strong>en</strong>t <strong>la</strong>bel, but keeping only as many substructures as the l<strong>en</strong>gth of the Beam. The<br />
“mod Beam” qualifier means that the lists keep only as many substructures as the<br />
Beam size. Each of those substructures in the par<strong>en</strong>t list is th<strong>en</strong> expan<strong>de</strong>d by one edge<br />
or one vertex and an edge in all possible ways and evaluated according to equation<br />
pres<strong>en</strong>ted earlier. Those substructures that cover at least one positive example are kept<br />
in the BestList, but limited to the Beam size. A ChildList keeps all the substructures<br />
that were obtained from the expansion of the substructures in the Par<strong>en</strong>tList and is<br />
also limited by the Beam size. According to the evaluation formu<strong>la</strong>, only the best<br />
substructure is chos<strong>en</strong> in each iteration.<br />
3. Predictive Toxicology Domain<br />
In this section we <strong>de</strong>scribe how SubdueCL was employed to find patterns in the<br />
predictive toxicology domain. The experim<strong>en</strong>ts use data from the “Predictive<br />
Toxicology Chall<strong>en</strong>ge 2000 - 2001”.
The data contains information about experim<strong>en</strong>ts in four c<strong>la</strong>sses of animals (male<br />
rats MR, female rats FR, male mice MM, or female mice FM). The information is<br />
divi<strong>de</strong>d in positive and negative examples, where the characteristics of the<br />
compounds are <strong>de</strong>scribed. The information that we consi<strong>de</strong>red for each compound<br />
was the name (i.e., tr000), c<strong>la</strong>ss_MR (c<strong>la</strong>ssification of this compound for Male Rats),<br />
c<strong>la</strong>ss_FR, c<strong>la</strong>ss_MM, c<strong>la</strong>ss_FM, nAmine (number of Amine groups of this<br />
compound), nP_amine, nS_amine, nT_amine, nAmine_salt, nImine, nNitrile,<br />
nIso_cyanate, nNitro, nCarbonyl2, nester, nCarbonic_acid, nAnhydrid, nAmi<strong>de</strong>,<br />
nP_ami<strong>de</strong>, nS_ami<strong>de</strong>, nT_ami<strong>de</strong>, nAl<strong>de</strong>hy<strong>de</strong>, nAcetale, nKetone, nAlchohol, nF<strong>en</strong>ol,<br />
nether, nThio_ether, nSulfonic_acid, nSulfonic_ami<strong>de</strong>, nPhosphate_ester,<br />
nPhosphor_amidate, nMehyl, nAlkane, nAlk<strong>en</strong>e, nRingstruct, nAromatic, nAro2n2,<br />
and nAro2n.<br />
3.1. Graph-Based Repres<strong>en</strong>tation for Predictive Toxicology Domain<br />
Choosing the right knowledge repres<strong>en</strong>tation is fundam<strong>en</strong>tal in any concept learning<br />
process. A good repres<strong>en</strong>tation will favor the id<strong>en</strong>tification of patterns that would not<br />
be found with a differ<strong>en</strong>t one. In our research we explore five differ<strong>en</strong>t<br />
repres<strong>en</strong>tations with non-directed <strong>la</strong>beled graphs.<br />
We use one vertex to repres<strong>en</strong>t the c<strong>en</strong>tral no<strong>de</strong> of each compound as we can see in<br />
figure 5. The compound’s name and other attributes are repres<strong>en</strong>ted each with a<br />
vertex and are linked to the c<strong>en</strong>tral no<strong>de</strong> with edges in a star topology. We also<br />
inclu<strong>de</strong> information about the compound atoms and its characteristics in differ<strong>en</strong>t<br />
ways (<strong>de</strong>p<strong>en</strong>ding on the repres<strong>en</strong>tation). The bonds linking atoms were repres<strong>en</strong>ted by<br />
edges, one for each bond, where the edge <strong>la</strong>bel repres<strong>en</strong>ts the bond type. The<br />
functional groups of the compounds were consi<strong>de</strong>red in some of the repres<strong>en</strong>tations<br />
(see figures 5a, 5b, 5c and 5d).<br />
4. Experim<strong>en</strong>tal Results<br />
In our experim<strong>en</strong>ts, we created t<strong>en</strong> testing files for each c<strong>la</strong>ss of animals (MR, FR,<br />
MM and FM), where positive and negative examples are pres<strong>en</strong>t. We executed<br />
SubdueCL with these files and the five proposed repres<strong>en</strong>tations.<br />
In figure 3 we show four substructures found by SubdueCL. As we can see, the<br />
substructures in figures 3a and 3b have a star topology while the substructures shown<br />
in figures 3c and 3d are more structured. Figure 3a shows a substructure saying that a<br />
compound that contains two hali<strong>de</strong> groups of type “br” and that also has an alkane<br />
group may cause cancer (the rest of the substructures are read in a simi<strong>la</strong>r way).<br />
The figure 3c shows a compound with 2 carbon atoms, one hydrog<strong>en</strong> atom and one<br />
bromine atom. This substructure covered 9 positive examples (this compound has a<br />
high probability to cause cancer). Moreover, SubdueCL found substructures that<br />
covered not only positive examples but also some negative examples. For example,<br />
the substructure shown in figure 5d covered 12 positive examples and 1 negative<br />
example.
group_name<br />
group_name<br />
group_name<br />
group<br />
group_name<br />
type<br />
type<br />
type<br />
has_group<br />
type<br />
group<br />
compound<br />
name<br />
compound_name<br />
has_group<br />
contains<br />
compound<br />
name<br />
compound_name<br />
atom<br />
contains<br />
elem<strong>en</strong>t<br />
elem<strong>en</strong>t<br />
elem<strong>en</strong>t<br />
atom<br />
elem<strong>en</strong>t_name<br />
elem<strong>en</strong>t_name<br />
elem<strong>en</strong>t_name<br />
elem<strong>en</strong>t<br />
elem<strong>en</strong>t<br />
elem<strong>en</strong>t<br />
elem<strong>en</strong>t_name<br />
elem<strong>en</strong>t_name<br />
elem<strong>en</strong>t_name<br />
type_of_bound<br />
type_of_bound<br />
a) b)<br />
group<br />
group_name<br />
group_name<br />
group_name<br />
group_name<br />
has_group<br />
type<br />
type<br />
type<br />
type<br />
compound<br />
name<br />
compound_name<br />
group<br />
atom<br />
atom<br />
atom<br />
has_group<br />
elem<strong>en</strong>t_name<br />
elem<strong>en</strong>t_name<br />
elem<strong>en</strong>t_name<br />
compound<br />
name<br />
compound_name<br />
atom<br />
atom<br />
atom<br />
elem<strong>en</strong>t_name<br />
elem<strong>en</strong>t_name<br />
elem<strong>en</strong>t_name<br />
c) d)<br />
compound<br />
name<br />
compound_name<br />
atom<br />
atom<br />
atom<br />
elem<strong>en</strong>t_name<br />
elem<strong>en</strong>t_name<br />
elem<strong>en</strong>t_name<br />
e)<br />
Fig. 2. Five Differ<strong>en</strong>t Repres<strong>en</strong>tations for the Predictive Toxicology Domain.<br />
5. Conclusions<br />
Our results show the variety of patterns that can be found with graph-based<br />
repres<strong>en</strong>tations and the Subdue knowledge discovery system. We explored five types<br />
of repres<strong>en</strong>tations based on star and tree graph topologies. Each of these<br />
repres<strong>en</strong>tations g<strong>en</strong>erated interesting results that can be applied to differ<strong>en</strong>t<br />
compounds in the Predictive Toxicology Domain. We want to stress that choosing the<br />
right repres<strong>en</strong>tation will lead to find good quality patterns; this means that while some<br />
repres<strong>en</strong>tations may help to find a pattern others will not allow finding it.
We will continue using graph-based repres<strong>en</strong>tations because of their flexibility to<br />
repres<strong>en</strong>t f<strong>la</strong>t and structural domains and at the same time its easiness to be<br />
un<strong>de</strong>rstood by <strong>en</strong>d users. In or<strong>de</strong>r to get quality patterns we need to be creative while<br />
choosing the right repres<strong>en</strong>tation. We find graph-based concept learning for data<br />
mining as a promising research area that can be used in complex structured domains.<br />
a) b)<br />
C<br />
C<br />
C<br />
1<br />
1<br />
C<br />
C<br />
2<br />
atom<br />
atom<br />
atom<br />
atom<br />
C<br />
2<br />
1<br />
atom<br />
H<br />
C<br />
atom atom<br />
1<br />
compound<br />
Br<br />
atom<br />
2<br />
C<br />
1<br />
C<br />
2<br />
C<br />
1<br />
atom<br />
atom<br />
compound<br />
atom<br />
atom<br />
atom<br />
atom<br />
atom atom<br />
C<br />
1<br />
C<br />
2<br />
C<br />
1<br />
2<br />
C<br />
C<br />
c) d)<br />
Fig. 3. Differ<strong>en</strong>t Types of Compounds Finding in our Experim<strong>en</strong>ts.<br />
Refer<strong>en</strong>ces<br />
1. Cook, D. J.; Hol<strong>de</strong>r, L. B. Substructure discovery using minimum <strong>de</strong>scription l<strong>en</strong>gth and<br />
background knowledge. Journal of Artificial Intellig<strong>en</strong>ce Research, 1:231-255, 1994.<br />
2. Cook, D. J.; Hol<strong>de</strong>r, L. B.; and Djoko, S. Knowledge Discovery from Structural Data.<br />
Journal of Intellig<strong>en</strong>ce and Information Sci<strong>en</strong>ces, Vol. 5, Number 3. (1995). 229-245.<br />
3. R. Chittimoori, J. Gonzalez, and L. B. Hol<strong>de</strong>r. Structural Knowledge Discovery in<br />
Chemical and Spatio-Temporal Domains. Sixte<strong>en</strong>th National Confer<strong>en</strong>ce on Artificial<br />
Intellig<strong>en</strong>ce, 1999.<br />
4. Srivastava, J. Web Usage Mining: Discovery and Applications of Usage Patterns form<br />
Web Data. SIGKDD Explorations, Vol. 1, Issue 2 (2000).<br />
5. Rissan<strong>en</strong>, J. Stochastic Complexity in Statistical Inquiry. World Sci<strong>en</strong>tific Publishing<br />
Company, 1989.<br />
6. Diestel, Reinhard. Graph Theory. Springer – Ver<strong>la</strong>ng. Second Edition (2000).<br />
7. J. Gonzalez. Empirical and Theoretical Analysis of Re<strong>la</strong>tional Concept Learning Using a<br />
Graph-Based Repres<strong>en</strong>tation. Doctoral Dissertation. University of Texas at Arlington.<br />
2001.<br />
8. J. Gonzalez, Lawr<strong>en</strong>ce Hol<strong>de</strong>r, Diane Cook. Application of Graph-Based Concept<br />
Learning to the Predictive Toxicology Domain. Predictive Toxicology Chall<strong>en</strong>ge 2000 –<br />
2001.
6WHUHRVHQVLWLYH&RUWLFDO5HJLRQV,GHQWLILHG8VLQJ6KDSH<br />
'LVFULPLQDWLRQIURP6WHUHRSVLVDQI05,VWXG\<br />
Héctor-Gabriel Acosta-Mesa 1 ,Nicandro Cruz-Ramírez 1 , John Frisby 2 ,<br />
Ying Zh<strong>en</strong>g 2 , David Buckley 3 , Janet Morris 3 , and John Mayhew 2<br />
1 Faculty of Physics and Artificial Intellig<strong>en</strong>ce, Departm<strong>en</strong>t of Artificial Intellig<strong>en</strong>ce,<br />
University of Veracruz, Sebastián Camacho # 5, 91000, Xa<strong>la</strong>pa, Ver. México.<br />
^KHDFRVWDQFUX]`#XYP[<br />
2 Artificial Intellig<strong>en</strong>ce Vision Research Unit, Departm<strong>en</strong>t of Psychology,<br />
University of Sheffield, Western Bank, S10 2TP, Sheffield, UK.<br />
^MHPD\KHZMSIULVE\\LQJ]KHQJ`#VKHIILHOGDFXN<br />
3 Section of Aca<strong>de</strong>mic Radiology, Royal Hal<strong>la</strong>mshire Hospital,<br />
University of Sheffield, Glossop Road, S10 2JF, Sheffield, UK.<br />
GEXFNOH\#VKHIILHOGDFXNMDQHWPRUULV#VWKQKVXN<br />
$EVWUDFW Functional magnetic resonance images (fMRI) were analyzed using digital image<br />
processing techniques to investigate the cortical regions involved in stereoscopic vision using<br />
red/gre<strong>en</strong> anaglyphs to pres<strong>en</strong>t random dot stereograms. The methodology of fMRI data analysis<br />
is introduced. In the experim<strong>en</strong>t the subjects were instructed to follow the path of a square<br />
<strong>de</strong>fined by <strong>de</strong>pth and moving in the horizontal p<strong>la</strong>ne contrasted with a simi<strong>la</strong>r sized square<br />
<strong>de</strong>fined by a slight differ<strong>en</strong>ce in luminance. Three main regions were id<strong>en</strong>tified V3A, V3B and<br />
BA7. In agreem<strong>en</strong>t with other fMRI studies, our results suggest that areas V3A and BA7<br />
(precuneus) are involved in stereo disparity processing. We hypothesise that the activation of the<br />
V3B region was produced by the second or<strong>de</strong>r motion compon<strong>en</strong>t induced by the spatio-temporal<br />
changes in disparity (stereoscopic motion).<br />
.H\ÃZRUGV neuroimaging, physiological signals, digital image processing, functional magnetic<br />
resonance imaging, stereo vision.Ã<br />
5HVXPHQ Imág<strong>en</strong>es <strong>de</strong> resonancia magnética funcional (fMRI) fueron analizadas usando<br />
técnicas <strong>de</strong> procesami<strong>en</strong>to digital <strong>de</strong> imág<strong>en</strong>es para investigar <strong>la</strong>s regiones <strong>de</strong>l cerebro<br />
involucradas <strong>en</strong> visión estereoscópica. La metodología <strong>de</strong> análisis <strong>de</strong> datos es pres<strong>en</strong>tada. Los<br />
estímulos estereoscópicos fueron g<strong>en</strong>erados utilizando estereogramas anáglifos rojo/ver<strong>de</strong> <strong>de</strong><br />
puntos aleatorios. En el experim<strong>en</strong>to los sujetos fueron instruidos para seguir visualm<strong>en</strong>te <strong>la</strong> ruta<br />
<strong>de</strong> un cuadrado <strong>de</strong>finido por profundidad <strong>de</strong>sp<strong>la</strong>zándose <strong>en</strong> el p<strong>la</strong>no horizontal. Como contraste<br />
se utilizó una condición <strong>en</strong> <strong>la</strong> que el cuadrado fue <strong>de</strong>finido por luminosidad. Tres regiones fueron<br />
id<strong>en</strong>tificadas: V3A, V3B y BA7. En concordancia con otros estudios simi<strong>la</strong>res, nuestros<br />
resultados sugier<strong>en</strong> que <strong>la</strong>s regiones V3A y BA7 (precuneus) están involucradas <strong>en</strong> el<br />
procesami<strong>en</strong>to <strong>de</strong> disparida<strong>de</strong>s estereoscópicas. Nuestra hipótesis es que <strong>la</strong> activación <strong>de</strong> <strong>la</strong><br />
región V3B fue producida por <strong>la</strong> compon<strong>en</strong>te <strong>de</strong> movimi<strong>en</strong>to <strong>de</strong> segundo ord<strong>en</strong> inducida por los<br />
cambios espacio-temporales <strong>en</strong> <strong>la</strong>s disparida<strong>de</strong>s (movimi<strong>en</strong>to estereoscópico).
1. Introduction<br />
Although many psychophysical studies have investigated how the human brain<br />
computes stereoscopic information, it is uncertain which cortical areas are involved in<br />
its implem<strong>en</strong>tation. Some electrophysiological studies in monkeys report the<br />
s<strong>en</strong>sitivity of V1 to absolute disparities, suggesting that this area could be a preliminary<br />
stage of processing for stereo information [1]. MT/V5 in monkeys shows a columnar<br />
organisation tuned for disparity [2]. MT/V5 in human brains has be<strong>en</strong> wi<strong>de</strong>ly reported<br />
as a motion s<strong>en</strong>sitive area [3]. Giv<strong>en</strong> the simi<strong>la</strong>rity betwe<strong>en</strong> the visual system of the<br />
monkey and the human, it is possible that V5 in human brains is involved in the<br />
processing of stereo information. Rec<strong>en</strong>tly, mo<strong>de</strong>rn non-invasive neuroimaging<br />
techniques, eg PET and fMRI, have be<strong>en</strong> used to explore the functional anatomy of<br />
stereoscopic vision in humans. The results of these studies suggest that stereo disparity<br />
processing may be wi<strong>de</strong>spread over a network of cortical regions in the occipital and<br />
parietal lobes, including V1, V2, V3, V3A, V3B, [4]. However, there is no g<strong>en</strong>eral<br />
agreem<strong>en</strong>t about the cortical regions selective to stereo disparities or the specific role<br />
that each of these has in the perception of <strong>de</strong>pth [6]. The main goal of the pres<strong>en</strong>t paper<br />
is to show the methodology of fMRI data analysis to investigate the cortical regions<br />
s<strong>en</strong>sitive to stereo disparities. Stereo stimulus that maximises the att<strong>en</strong>tional <strong>de</strong>mands<br />
was used to avoid adaptation. Un<strong>de</strong>r this principle, one experim<strong>en</strong>t was <strong>de</strong>veloped<br />
using functional magnetic resonance imaging to id<strong>en</strong>tify stereo s<strong>en</strong>sitive regions<br />
stimu<strong>la</strong>ted by random dot anaglyph stereograms.<br />
2. Materials and methods<br />
T<strong>en</strong> healthy subjects, nine right-han<strong>de</strong>d and one left-han<strong>de</strong>d volunteers (7 female, 3<br />
male) aged from 20 to 30 years participated in the experim<strong>en</strong>t. All subjects gave<br />
informed writt<strong>en</strong> cons<strong>en</strong>t. The stereo acuity of the subjects was measured using a stereo<br />
vision test (RANDOT SO-002), all of them were below 40 sec of arc. The subjects<br />
were giv<strong>en</strong> a preliminary practice session outsi<strong>de</strong> the magnet to become familiar with<br />
the visual stimu<strong>la</strong>tion. 6WLPXOXVSUHVHQWDWLRQ: Subjects <strong>la</strong>y on their backs in the magnet.<br />
They wore red/gre<strong>en</strong> anaglyph g<strong>la</strong>sses and looked via a mirror angled at ~45o from<br />
their visual axes at a back illuminated scre<strong>en</strong> located just outsi<strong>de</strong> the magnet. The<br />
viewing distance was 2.4 m. Stimuli were projected on to the scre<strong>en</strong> using an EPSON<br />
(EMP-7300) projector driv<strong>en</strong> by a 3G Mac running Psychophysics Tool Box ver. 2.44<br />
un<strong>de</strong>r MATLAB ver. 5.3. Although the stimuli were disp<strong>la</strong>yed at a vi<strong>de</strong>o frame rate of<br />
60 Hz, the image was only updated on every 10th frame, producing an effective frame<br />
rate of 6 Hz. 'DWDDFTXLVLWLRQDQGDQDO\VLV: Subjects were scanned in a 1.5 T wholebody<br />
MRI scanner (Eclips Marconi) with BOLD contrast echo p<strong>la</strong>nar imaging (TR=3s,<br />
TE=40 ms, 128 x128 voxel, voxel size 1.875 x 1.875 x 4 mm.). Thirty two slices<br />
covering the whole brain were acquired. The data was pre-processed and analysed<br />
using SPM99 (Welcome Departm<strong>en</strong>t of Cognitive Neurology). The first five scans of<br />
each run were discar<strong>de</strong>d to exclu<strong>de</strong> magnet saturation artefacts.
2.1 Algorithmic analysis for statistical parametric mapping.<br />
<br />
Statistical Parametric Mapping (SPM) is a technique for fMRI data processing [7].<br />
Its main objective is to g<strong>en</strong>erate brain maps of cortical activations produced by<br />
controlled experim<strong>en</strong>tal stimu<strong>la</strong>tion. The SPM data analysis can be divi<strong>de</strong>d in two<br />
g<strong>en</strong>eral procedures, the pre-processing of the images and its statistical analysis. Each of<br />
these processes is equally important and both are <strong>de</strong>tailed in the following sections. A<br />
graphical repres<strong>en</strong>tation of the data analysis is shown in the figure 1. It is important to<br />
c<strong>la</strong>rify that the purpose of the pres<strong>en</strong>t section is only to introduce the concepts of SPM<br />
analysis. For a <strong>de</strong>tailed exp<strong>la</strong>nation on the mathematical formalism and the use of the<br />
software consult [5].<br />
fMRI Data Gaussian Kernel Design Matrix<br />
Statistical Parametric Map<br />
6SDWLDOÃDQGÃ7HPSRUDO<br />
5HDOLJQPHQW<br />
6PRRWKLQJ<br />
*HQHUDOÃ/LQHDUÃ<br />
0RGHO<br />
*DXVVLDQÃ)LHOG<br />
7KHRU\<br />
1RUPDOLVDWLRQ<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
-0.5<br />
-1<br />
-1.5<br />
-2<br />
-2.5<br />
0 10 20 30 40 50 60 70 80 90 100<br />
Anatomical Temp<strong>la</strong>te<br />
Parameter Estimates<br />
Corrected p-values<br />
<br />
)LJXUH Statistical parametric mapping analysis of fMRI data.<br />
<br />
6SDWLDODOLJQPHQW:One of the basic assumptions in the analysis of brain volumes is<br />
the fact that the location of a voxel refers to the same anatomical location over time.<br />
The vio<strong>la</strong>tion of this assumption usually introduces artefactual signals. Head<br />
movem<strong>en</strong>ts are the most common source of this type of noise. Despite the minimising<br />
of the effects by the use of head hol<strong>de</strong>rs or bite bars, it is necessary to correct the<br />
images for small head movem<strong>en</strong>t. This spatial correction is usually ma<strong>de</strong> by aligning<br />
all the volumes with respect to a refer<strong>en</strong>ce volume (e.g. the first volume).
7HPSRUDODOLJQPHQW:Because the multi-slice acqui<strong>sitio</strong>n is ma<strong>de</strong> in sequ<strong>en</strong>tial or<strong>de</strong>r,<br />
slices of the same volume are acquired at slightly differ<strong>en</strong>t times. This correction is<br />
usually ma<strong>de</strong> by interpo<strong>la</strong>ting the data in the slices (of the same volume) with respect<br />
to a refer<strong>en</strong>ce slice. This procedure is also called slice timing correction.<br />
1RUPDOL]DWLRQ: An important feature in the analysis of results is to compare the<br />
activations betwe<strong>en</strong> subjects. Although the human brain differs in size and folding<br />
structure, it is possible to approximate it into a standard temp<strong>la</strong>te. This normalisation<br />
<strong>en</strong>sures the consist<strong>en</strong>cy betwe<strong>en</strong> space and anatomical structures. SPM normalises to a<br />
MNI (Montreal Neurological Institute) space.<br />
6PRRWKLQJ:The smoothing procedure has the effect to reduce noise in the data. It is<br />
performed by applying a low-pass filter on the images, i.e. the images are convolved<br />
with a gaussian kernel. Smoothing also helps to create a normal distribution on the<br />
noise, characteristic that is important in the p-value correction procedure <strong>de</strong>scribed in a<br />
previous section.<br />
6WDWLVWLFDODQDO\VLV:SPM statistical analysis is performed in a voxel-based fashion,<br />
i.e. the statistical tests are <strong>de</strong>veloped for every single voxel. The statistical significance<br />
of the activations is ma<strong>de</strong> using multiple linear regression which is a special case of a<br />
G<strong>en</strong>eral Linear Mo<strong>de</strong>l (Tabachnik and Fi<strong>de</strong>ll 2001).<br />
*HQHUDOOLQHDUPRGHO:The G<strong>en</strong>eral Linear Mo<strong>de</strong>l (GLM) is a framework to <strong>de</strong>velop<br />
multivariate regression. In fMRI time series, the fundam<strong>en</strong>tal i<strong>de</strong>a is to use it to<br />
repres<strong>en</strong>t the time series of each voxel (y i ) as a linear combination of the input<br />
sequ<strong>en</strong>ces used in the experim<strong>en</strong>tal stimu<strong>la</strong>tion (x n ), plus an error disturbance, for<br />
example: y i = θ 1i x 1 +θ 2i x 2 + … + θ ni x n + e i In matrix notation: \ T[H.<br />
Each column of matrix [ (called <strong>de</strong>sign matrix) is an exp<strong>la</strong>natory variable (predictor<br />
or regressor) of \, i.e. each of these columns repres<strong>en</strong>ts a stimulus effect of interest. In<br />
or<strong>de</strong>r to have a better approximation of the BOLD activations, the <strong>de</strong>sign matrix is<br />
constructed by convolving the input stimu<strong>la</strong>tion sequ<strong>en</strong>ces (e.g. box car) with a<br />
canonical hemodynamic response function. It is important to c<strong>la</strong>rify that the <strong>de</strong>sign<br />
matrix can contain other exp<strong>la</strong>natory variables that could be pres<strong>en</strong>t in the data. For<br />
example, heart beat pulsation, breathing, or signal tr<strong>en</strong>ds introduced by magnetic<br />
fluctuations. The parameters T associated with each column of the <strong>de</strong>sign matrix<br />
repres<strong>en</strong>ts the re<strong>la</strong>tively str<strong>en</strong>gth of each predictor on the exp<strong>la</strong>nation of the <strong>de</strong>p<strong>en</strong>d<strong>en</strong>t<br />
variable. These parameters are usually assessed using standard least squares in the<br />
following way: T [ 7 [ Ã [ 7 \ . The significance of each parameter is assessed in<br />
terms of the Stud<strong>en</strong>t’s t-test statistics.<br />
*DXVVLDQ ILHOG WKHRU\: The basis i<strong>de</strong>a of GFT correction is the estimation of the<br />
number of false positive blobs (activated regions) in the volume. This estimation is<br />
ma<strong>de</strong> using the Euler characteristic (EC). Although it is not exactly the same, the EC<br />
can be though of as the number of false positive blobs expected after the volume has<br />
be<strong>en</strong> threshol<strong>de</strong>d at giv<strong>en</strong> z-score.
3. Global stereo tracking experim<strong>en</strong>t<br />
The experim<strong>en</strong>t was <strong>de</strong>signed to activate stereo s<strong>en</strong>sitive regions by requiring the<br />
subjects to perform a task of global stereo tracking (GST). Random dot stereograms<br />
were used to <strong>de</strong>fine a square region moving horizontally in front of the background<br />
from left to right and vice versa. The subjects were instructed to perform pursuit eye<br />
movem<strong>en</strong>t to follow the path of the square with their eyes. The performance of the task<br />
<strong>de</strong>p<strong>en</strong><strong>de</strong>d on the maint<strong>en</strong>ance of the perception of <strong>de</strong>pth <strong>de</strong>fined by stereo disparities.<br />
Experim<strong>en</strong>t <strong>de</strong>sign: Subjects were giv<strong>en</strong> a sequ<strong>en</strong>ce of 4 scans (sequ<strong>en</strong>ces) each<br />
<strong>la</strong>sting 5.15 min. (10 epoch) with a 5 min. interscan interval to permit subjects to rest.<br />
One hundred image volumes were obtained in each sequ<strong>en</strong>ce. Each condition <strong>la</strong>sted<br />
30s. giving 10 multislice volumes per condition (TR=3s.). Each scan consisted of<br />
alternating epochs in a boxcar configuration. A dummy condition of a b<strong>la</strong>nk scre<strong>en</strong> was<br />
pres<strong>en</strong>ted during the first 15s. (5 scans) of each run which were exclu<strong>de</strong>d to control for<br />
magnetic saturation effects. The disp<strong>la</strong>y contained 1,024 dots (with radius 0.1 <strong>de</strong>g. and<br />
zero disparity) distributed over the scre<strong>en</strong> (mean dot d<strong>en</strong>sity 1.5 dot <strong>de</strong>g-2). The<br />
subjects were instructed to fixate on the right superior corner of a square (5.23 <strong>de</strong>g.<br />
si<strong>de</strong> long) moving <strong>la</strong>terally across the scre<strong>en</strong> (13 <strong>de</strong>g. field of view). The square was<br />
moved from left to right and vice versa at a constant speed (2.19 <strong>de</strong>g.sec-1), each time<br />
that the square reached one edge of the scre<strong>en</strong> it changed its direction. Two modalities<br />
were used to <strong>de</strong>fine the square, each one repres<strong>en</strong>ting an experim<strong>en</strong>tal condition:<br />
a). Two dim<strong>en</strong>sional tracking (2D): The square was luminance <strong>de</strong>fined, its<br />
luminance (8.56 cd/m2) was lower than the background (18 cd/m2). This condition was<br />
used as a base line. b). Three dim<strong>en</strong>sional tracking (3D): The square was <strong>de</strong>pth <strong>de</strong>fined<br />
(red/gre<strong>en</strong> anaglyph stereogram), pres<strong>en</strong>ted 0.3 <strong>de</strong>g at the front of the background<br />
(zero disparity). The square moved horizontally in the p<strong>la</strong>ne X/Y, not in p<strong>la</strong>ne Z<br />
(motion in <strong>de</strong>pth). Stereo-s<strong>en</strong>sitive regions were id<strong>en</strong>tified by comparing the activation<br />
during the 2D control condition with the neural activity during the 3D stereo tracking<br />
condition. The paper which exp<strong>la</strong>ins in <strong>de</strong>tail this experim<strong>en</strong>t was submitted for<br />
publications in the “<strong>Computación</strong> Ci<strong>en</strong>tífica e Informática Médica” WorkShop of the<br />
Mexican International Confer<strong>en</strong>ce in Computer Sci<strong>en</strong>ce (ENC-04).<br />
4 Results<br />
Stereo-s<strong>en</strong>sitive regions were id<strong>en</strong>tified using a contrast that compared the<br />
activation produced by the moving square <strong>de</strong>fined by <strong>de</strong>pth with that produced by the<br />
moving square <strong>de</strong>fined by luminance. The results show consist<strong>en</strong>t activation in areas<br />
V3A, V3B and parietal cortex. Area V3A in the right hemisphere was activated by<br />
<strong>de</strong>pth in 7 of the 10 subjects. In two of these subjects there was bi<strong>la</strong>teral activation.<br />
Area V3B in the right hemisphere was activated in 8 of the 10 subjects. In five of these<br />
there was bi<strong>la</strong>teral activation. One subject showed activation only in left V3B. Area<br />
BA7 (precuneus) in the right hemisphere was activated in 3 of the 10 subjects. Two<br />
subjects had left hemisphere activation. There was no bi<strong>la</strong>teral activation. Activation in<br />
the right superior parietal area was found in 2 other subjects.
5. Conclusions and Future Work<br />
The results of our experim<strong>en</strong>t reveal three main regions s<strong>en</strong>sitive to stereoscopic<br />
<strong>de</strong>pth: V3A, V3B and precuneus. In contrast to the evid<strong>en</strong>ce from physiological<br />
experim<strong>en</strong>ts in monkeys [2] we did not find evid<strong>en</strong>ce that V5 was involved in the<br />
processing of stereoscopic information. Consist<strong>en</strong>t with the results of other studies, we<br />
find evid<strong>en</strong>ce that V3A and precuneus (BA7) showed s<strong>en</strong>sitivity to stereo disparities<br />
[4,6]. It is unlikely that these activations are due either to differ<strong>en</strong>t patterns of eye<br />
movem<strong>en</strong>ts or to stronger att<strong>en</strong>tional <strong>en</strong>gagem<strong>en</strong>t because the control condition<br />
provi<strong>de</strong>d id<strong>en</strong>tical requirem<strong>en</strong>ts for these parameters and simi<strong>la</strong>r areas of activation<br />
were found in a second experim<strong>en</strong>t (not yet published) in which no eye movem<strong>en</strong>ts<br />
were required to perform the task. Our results suggest a network involving the cortical<br />
areas V3A, V3B and precuneus in the processing of stereo disparities. The high<br />
proportion of activations located in the right hemisphere supports the notion of right<br />
cerebral dominance in stereo vision [9]. Contrary to the results reported in studies with<br />
monkeys, our experim<strong>en</strong>ts did not reveal any evid<strong>en</strong>ce of the s<strong>en</strong>sitivity of V5 to stereo<br />
disparity processing. The pres<strong>en</strong>t work shows the methodology to analyze fMRI data<br />
and the pot<strong>en</strong>tiality of this technique to explore cognitive process. As the objective of<br />
the pres<strong>en</strong>ted experim<strong>en</strong>t was to investigate the cortical areas selective to stereoscopic<br />
information, an experim<strong>en</strong>t <strong>de</strong>signed to test the hypothesis of the selectivity of the V3B<br />
region to stereoscopic motion is for future work.<br />
6. Refer<strong>en</strong>ces<br />
[1] B. G. Cumming and A. J. Parker, "Binocu<strong>la</strong>r neurons in V1 of awake monkeys are<br />
selective for absolute, not re<strong>la</strong>tive, disparity," J Neurosci, vol. 19, pp. 5602-18., 1999.<br />
[2] G. C. DeAngelis and W. T. Newsome, "Organization of disparity-selective neurons in<br />
macaque area MT," J Neurosci, vol. 19, pp. 1398-415., 1999.<br />
[3] R. B. Tootell, J. D. M<strong>en</strong>do<strong>la</strong>, N. K. Hadjikhani, P. J. Ledd<strong>en</strong>, A. K. Liu, J. B. Reppas,<br />
M. I. Ser<strong>en</strong>o, and A. M. Dale, "Functional analysis of V3A and re<strong>la</strong>ted areas in human visual<br />
cortex," J Neurosci, vol. 17, pp. 7060-78., 1997.<br />
[4] B. Gulyas and P. E. Ro<strong>la</strong>nd, "Binocu<strong>la</strong>r disparity discrimination in human cerebral<br />
cortex: Functional anatomy by positron emission tomography.," Proc. Natl. Acad. Sci. USA<br />
(Nuerobiology), vol. 91, pp. 1239-1243, 1993.<br />
[5] Veltman, D. and C. Hutton (2001). "SPM99 Manual." Welcome Departm<strong>en</strong>t of<br />
Cognitive Neurology.<br />
[6] R. D. Freeman, "Stereoscopic vision: Which parts of the brain are involved?," Curr<br />
Biol, vol. 9, pp. R610-3., 1999.<br />
[7] K. J. Friston, H. A. P., W. K. J., P. J. P., F. C. D., and F. R. S. J., "Statistical parametric<br />
maps in functional imaging: A g<strong>en</strong>eral linear approach.," Human Brain Mapping., vol. 2, pp.<br />
189-210, 1995.<br />
[8] Tabachnik, B. G. and L. S. Fi<strong>de</strong>ll (2001). "Using multivariate statistics." Allyn and<br />
Bacon Fourth Edition: 764-771.<br />
[9] I. P. Howard and B. Rogers, "Binocu<strong>la</strong>r vision and stereopsis.," Oxford University<br />
press., 1995.
<strong>Computación</strong> clínica e<br />
informática médica<br />
C<strong>la</strong>udia Feregrino Uribe<br />
Oscar Yáñez Suárez<br />
(Editores)
Introducción<br />
La computación clínica y <strong>la</strong> informática médica conciern<strong>en</strong> a <strong>la</strong> creación y validación<br />
<strong>de</strong> mo<strong>de</strong>los <strong>de</strong> aprovechami<strong>en</strong>to <strong>de</strong> los conocimi<strong>en</strong>tos e información disponibles<br />
d<strong>en</strong>tro <strong>de</strong> <strong>la</strong> medicina y <strong>la</strong> ing<strong>en</strong>iería biomédica. Los investigadores <strong>en</strong> estas áreas<br />
estudian y diseñan métodos para adquirir, repres<strong>en</strong>tar, procesar y manejar dichos<br />
elem<strong>en</strong>tos con el fin <strong>de</strong> promover el bi<strong>en</strong>estar asociado al cuidado <strong>de</strong> <strong>la</strong> salud.<br />
La perman<strong>en</strong>te <strong>de</strong>manda <strong>de</strong> aplicaciones prácticas <strong>de</strong> <strong>la</strong>s tecnologías computacionales<br />
para <strong>la</strong> at<strong>en</strong>ción integral <strong>de</strong>l paci<strong>en</strong>te, el apoyo al quehacer <strong>de</strong>l médico y <strong>la</strong> gestión<br />
<strong>de</strong> servicios clínicos convoca <strong>la</strong> participación <strong>de</strong> grupos <strong>de</strong> trabajo interdisciplinarios.<br />
Para que dichos grupos se conform<strong>en</strong>, es necesario que se id<strong>en</strong>tifiqu<strong>en</strong> problemas<br />
y áreas <strong>de</strong> interés compartido. Por ello pret<strong>en</strong><strong>de</strong>mos, con <strong>la</strong> realización <strong>de</strong> este<br />
Taller, construir un foro para que los grupos nacionales e individuos interesados <strong>en</strong><br />
los ámbitos <strong>de</strong> <strong>la</strong> computación clínica y <strong>la</strong> informática médica, d<strong>en</strong> a conocer el trabajo<br />
que realizan d<strong>en</strong>tro <strong>de</strong> sus áreas <strong>de</strong> especialidad y pres<strong>en</strong>t<strong>en</strong> <strong>la</strong>s oportunida<strong>de</strong>s <strong>de</strong><br />
formación, <strong>de</strong>sarrollo y co<strong>la</strong>boración asociadas a su <strong>la</strong>bor.<br />
Esta primera edición <strong>de</strong>l Taller agrupa trabajos que tocan, como era <strong>de</strong> esperarse,<br />
temáticas diversas: sistemas <strong>de</strong> gestión <strong>de</strong> servicios clínicos, comunicación y análisis<br />
<strong>de</strong> imág<strong>en</strong>es médicas, realidad virtual, y procesami<strong>en</strong>to <strong>de</strong> señales. Esperamos que<br />
esta aproximación plural a nuestro campo <strong>de</strong> refer<strong>en</strong>cia <strong>en</strong>riquezca a todos los participantes<br />
y propicie un futuro <strong>de</strong> <strong>de</strong>sarrollo conjunto y co<strong>la</strong>boración.
Comité Ci<strong>en</strong>tífico<br />
Copresid<strong>en</strong>tes:<br />
C<strong>la</strong>udia Feregrino Uribe, Gr. Cómputo Reconfigurable, INAOE, cferegrino@inaoep.mx<br />
Oscar Yáñez Suárez, Labo. <strong>de</strong> Neuroimag<strong>en</strong>ología, UAM, yaso@xanum.uam.mx<br />
Merce<strong>de</strong>s Jatziri Gaitan Gonzalez, L. Fisiologia Humana, UAM, mjgg@xanum.uam.mx<br />
Gerardo Gabriel G<strong>en</strong>tiletti Fa<strong>en</strong>ze, L. Neuroimag<strong>en</strong>ologia, UAM, gg<strong>en</strong>tiletti@ieee.org
Aplicación <strong>de</strong> una herrami<strong>en</strong>ta <strong>de</strong> realidad virtual<br />
co<strong>la</strong>borativa y adaptación <strong>de</strong> mo<strong>de</strong>los gráficos <strong>en</strong> 3D para<br />
el apoyo <strong>de</strong>l diagnóstico médico <strong>de</strong> lesiones óseas<br />
<br />
L<strong>en</strong>in Alejandro Cervantes Medina<br />
Facultad <strong>de</strong> Telemática<br />
Universidad <strong>de</strong> Colima<br />
Colima, Col., México<br />
l<strong>en</strong>in@ucol.mx<br />
Miguel Ángel García Ruiz<br />
Laboratorio <strong>de</strong> Realidad Virtual<br />
Universidad <strong>de</strong> Colima<br />
Colima, Col., México<br />
mgarcia@ucol.mx<br />
<br />
Abstract: The purpose of this paper is to show an exploratory study about the<br />
application of col<strong>la</strong>borative virtual reality to support physicians’ analysis of<br />
bone injuries, where the main objective is to facilitate the physicians’<br />
communications and analysis about this problem. Wh<strong>en</strong> a person suffers a bone<br />
fracture or another simi<strong>la</strong>r injury, the first step that a doctor do is to take a X-<br />
ray and th<strong>en</strong> give a diagnosis. However, sometimes the doctor do not have the<br />
necessary knowledge and time, therefore his/her diagnosis is not the better. In<br />
addition, sophisticated technology like computerized tomography (CT) is used<br />
to help giving a better diagnosis. We propose the use of a col<strong>la</strong>borative virtual<br />
<strong>en</strong>vironm<strong>en</strong>t where 3D images of a bone fracture tak<strong>en</strong> with a CT could be<br />
manipu<strong>la</strong>ted and analyzed by some doctors, to reach an optimal diagnosis.<br />
Resum<strong>en</strong>: Esta pon<strong>en</strong>cia muestra un estudio exploratorio <strong>de</strong> <strong>la</strong> aplicación <strong>de</strong><br />
realidad virtual co<strong>la</strong>borativa como soporte para los doctores <strong>en</strong> el análisis <strong>de</strong><br />
lesiones óseas, <strong>en</strong> don<strong>de</strong> el objetivo principal sea facilitar <strong>la</strong> comunicación y<br />
análisis <strong>de</strong> dicho problema. Cuando una persona sufre una lesión ósea como<br />
pue<strong>de</strong> ser una fractura, el médico obti<strong>en</strong>e una radiografía <strong>de</strong> rayos X y <strong>en</strong> base a<br />
el<strong>la</strong> da un diagnóstico; pero <strong>en</strong> algunas ocasiones el doctor no cu<strong>en</strong>ta con los<br />
conocimi<strong>en</strong>tos o tiempo necesarios, por lo que su diagnóstico pue<strong>de</strong> no ser el<br />
correcto. Es así como <strong>en</strong> esta investigación se hace uso <strong>de</strong> tecnología<br />
sofisticada como es <strong>la</strong> tomografía axial computarizada (TAC) para ofrecer un<br />
mejor diagnóstico. Proponemos <strong>la</strong> aplicación <strong>de</strong> un ambi<strong>en</strong>te virtual<br />
co<strong>la</strong>borativo con gráficas 3D <strong>de</strong> una fractura tomadas con un TAC, para su<br />
manipu<strong>la</strong>ción y análisis por varios doctores don<strong>de</strong> cada uno exprese su opinión<br />
para ofrecer un diagnóstico más óptimo.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve: Realidad virtual, trabajo co<strong>la</strong>borativo soportado por<br />
computadora, lesiones óseas, tomografía axial computarizada, red <strong>de</strong><br />
computadoras.<br />
1. Introducción<br />
Actualm<strong>en</strong>te cuando una persona ti<strong>en</strong>e un problema <strong>de</strong> salud y va a visitar al médico,<br />
un solo doctor es el que hace el diagnóstico; pero que suce<strong>de</strong> cuando el percance es<br />
más serio, <strong>en</strong> don<strong>de</strong> una bu<strong>en</strong>a alternativa sea t<strong>en</strong>er <strong>la</strong> opinión <strong>de</strong> varios doctores para
dar <strong>la</strong> mejor solución. Entonces <strong>la</strong> pregunta es ¿<strong>de</strong> qué les sirve a los paci<strong>en</strong>tes el que<br />
varios doctores y no uno sólo <strong>de</strong> un diagnóstico, si todos sab<strong>en</strong> lo que se ti<strong>en</strong>e que<br />
hacer?.<br />
Tratando <strong>de</strong> dar solución a esta incógnita po<strong>de</strong>mos cuestionarnos, es verda<strong>de</strong>ram<strong>en</strong>te<br />
factible que varios doctores con diversos conocimi<strong>en</strong>tos analic<strong>en</strong> un mismo problema y<br />
aport<strong>en</strong> algo al caso cuando así se requiera requiera.<br />
La respuesta es sí pero ahora surge una nueva pregunta ¿cómo?. En busca <strong>de</strong> dar<br />
solución a este problema, <strong>en</strong> los últimos años se ha increm<strong>en</strong>tado el interés <strong>en</strong> una<br />
importante rama <strong>de</strong> <strong>la</strong> computación l<strong>la</strong>mada "Realidad Virtual", o "RV", y mas aún si<br />
a esta herrami<strong>en</strong>ta le agregamos otro tópico como es el Trabajo Co<strong>la</strong>borativo Asistido<br />
por Computadora [1, 2, 3].<br />
Se pue<strong>de</strong> <strong>de</strong>finir a <strong>la</strong> realidad virtual como <strong>la</strong> ilusión <strong>de</strong> interactuar <strong>en</strong> un ambi<strong>en</strong>te <strong>en</strong><br />
tercera dim<strong>en</strong>sión simu<strong>la</strong>do por computadora, don<strong>de</strong> los objetos que se <strong>en</strong>cu<strong>en</strong>tran<br />
d<strong>en</strong>tro <strong>de</strong> este <strong>en</strong>torno pued<strong>en</strong> ser manipu<strong>la</strong>dos por el usuario [4].<br />
A<strong>la</strong>n Wexelb<strong>la</strong>t com<strong>en</strong>ta <strong>en</strong> su libro: “El Trabajo Co<strong>la</strong>borativo Soportado <strong>en</strong><br />
Computadora (CSCW por sus sig<strong>la</strong>s <strong>en</strong> inglés) es re<strong>la</strong>tivam<strong>en</strong>te una disciplina nueva”<br />
[5].<br />
P<strong>en</strong>sando <strong>en</strong> ello se llega a lo que se conoce como “RV Co<strong>la</strong>borativa” que ahora <strong>en</strong><br />
nuestros días esta cobrando mucha fuerza. De tal forma que el <strong>en</strong>foque que se dará a <strong>la</strong><br />
RV Co<strong>la</strong>borativa <strong>en</strong> este caso será hacía <strong>la</strong> medicina, específicam<strong>en</strong>te <strong>en</strong> lesiones<br />
óseas.<br />
Sherman y Judkins com<strong>en</strong>tan que <strong>la</strong> realidad virtual se ha empezado a usar <strong>en</strong> <strong>la</strong>s<br />
escue<strong>la</strong>s <strong>de</strong> medicina, principalm<strong>en</strong>te <strong>en</strong> anatomía y cirugía reconstructiva. Algunas<br />
instituciones como <strong>la</strong> Universidad <strong>de</strong> Washington <strong>en</strong> U.S.A. usan <strong>la</strong> RV como<br />
herrami<strong>en</strong>ta <strong>de</strong> apoyo <strong>en</strong> sus c<strong>la</strong>ses. En esta universidad se <strong>de</strong>sarrolló un cadáver<br />
virtual don<strong>de</strong> los estudiantes pued<strong>en</strong> practicar cirugías [6].<br />
1.1 Problemática<br />
Fig. 1. CSCW.<br />
En ciertos casos <strong>la</strong>s <strong>de</strong>cisiones que toman los doctores al mom<strong>en</strong>to <strong>de</strong> diagnosticar a un<br />
paci<strong>en</strong>te con una fractura podrían ser mejores si se consultara a otro médico y se<br />
tuvieran dos o más opiniones.
El problema radica <strong>en</strong> que los doctores a qui<strong>en</strong> se acudiría para que dieran una segunda<br />
opinión se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong> difer<strong>en</strong>tes lugares <strong>de</strong>bido a que son especialistas y por lo<br />
g<strong>en</strong>eral <strong>en</strong> una institución médica solo hay uno.<br />
2. Estado <strong>de</strong>l Arte<br />
De acuerdo a [7], exist<strong>en</strong> varios proyectos <strong>en</strong> don<strong>de</strong> se ha utilizado realidad virtual con<br />
CSCW <strong>en</strong>tre los que se <strong>en</strong>cu<strong>en</strong>tra: GRACILE (Japanese GRAmmar Co<strong>la</strong>borative<br />
Intellig<strong>en</strong>t ag<strong>en</strong>ts LEarning). El propósito es <strong>de</strong>sarrol<strong>la</strong>r ag<strong>en</strong>tes intelig<strong>en</strong>tes que<br />
propici<strong>en</strong> <strong>la</strong> co<strong>la</strong>boración para el intercambio <strong>de</strong> conocimi<strong>en</strong>tos <strong>en</strong>tre los participantes.<br />
Los grupos que soporta son <strong>de</strong> dos a cuatro estudiantes, <strong>en</strong> una red LAN a través <strong>de</strong><br />
Ethernet. Los usuarios interactúan escribi<strong>en</strong>do puntos <strong>de</strong> vista <strong>de</strong>s<strong>de</strong> difer<strong>en</strong>tes lugares<br />
remotos.<br />
Suárez Quirós, García Díaz, et al. [8] <strong>de</strong>sarrol<strong>la</strong>ron una herrami<strong>en</strong>ta que permite<br />
visualizar estructuras anatómicas <strong>de</strong> imág<strong>en</strong>es bidim<strong>en</strong>sionales <strong>de</strong> TAC así como <strong>de</strong><br />
imp<strong>la</strong>ntes <strong>en</strong> un <strong>en</strong>torno co<strong>la</strong>borativo. Esto permite que un grupo <strong>de</strong> usuarios analic<strong>en</strong><br />
<strong>la</strong> imag<strong>en</strong> médica <strong>de</strong>s<strong>de</strong> difer<strong>en</strong>tes lugares remotos conectados a través <strong>de</strong> Internet. El<br />
<strong>en</strong>torno cu<strong>en</strong>ta con una interfaz s<strong>en</strong>cil<strong>la</strong> que facilita <strong>la</strong> navegación <strong>en</strong> el <strong>en</strong>torno.<br />
El Ohio Supercomputer C<strong>en</strong>ter está <strong>de</strong>sarrol<strong>la</strong>ndo un ambi<strong>en</strong>te virtual realista para el<br />
análisis <strong>de</strong>l hueso temporal. Este proyecto utiliza mo<strong>de</strong>los gráficos <strong>de</strong> tomografías y <strong>de</strong><br />
resonancia magnética [9]. Este proyecto <strong>de</strong> investigación contemp<strong>la</strong> <strong>la</strong> visualización <strong>en</strong><br />
estéreo <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong>l hueso.<br />
3. Metodología<br />
Se implem<strong>en</strong>tó un <strong>en</strong>torno virtual don<strong>de</strong> se visualizaron imág<strong>en</strong>es tridim<strong>en</strong>sionales <strong>de</strong><br />
fracturas obt<strong>en</strong>idas <strong>de</strong> un TAC a través <strong>de</strong> una herrami<strong>en</strong>ta <strong>de</strong> RV co<strong>la</strong>borativa ya<br />
<strong>de</strong>sarrol<strong>la</strong>da y se realizó una prueba piloto <strong>de</strong> usabilidad para conocer el impacto que<br />
t<strong>en</strong>ía <strong>en</strong>tre los participantes (ver Fig. 4).<br />
En el caso <strong>de</strong> <strong>la</strong>s imág<strong>en</strong>es, algunos aparatos <strong>de</strong> tomografía manejan <strong>la</strong> tecnología<br />
Direct3D <strong>la</strong> cual g<strong>en</strong>era archivos <strong>de</strong> imág<strong>en</strong>es <strong>en</strong> 3D con ext<strong>en</strong>sión .x los cuales están<br />
constituidas por una cabecera y coord<strong>en</strong>adas <strong>en</strong> x,y,z., éstos archivos pued<strong>en</strong> ser<br />
grabados <strong>en</strong> un CD <strong>de</strong>s<strong>de</strong> el mismo TAC. Una vez que se cu<strong>en</strong>ta con los archivos,<br />
ti<strong>en</strong><strong>en</strong> que ser convertidos a formato VRML 1.0 lo cual se realiza con el software Deep<br />
Exploration <strong>de</strong> Right Hemisphere.<br />
Cabe m<strong>en</strong>cionar que para <strong>la</strong> prueba piloto que se realizó se hizo uso <strong>de</strong> un mo<strong>de</strong>lo<br />
<strong>de</strong>sarrol<strong>la</strong>do <strong>en</strong> Maya 5.0 <strong>de</strong> un hueso, <strong>de</strong>bido a que por diversas circunstancias no se<br />
pudieron conseguir imág<strong>en</strong>es reales <strong>de</strong> un TAC. Pero lo expuesto <strong>en</strong> el párrafo anterior<br />
esta <strong>de</strong>bidam<strong>en</strong>te fundam<strong>en</strong>tado para que se pueda realizar.
El <strong>de</strong>sarrollo <strong>de</strong>l ambi<strong>en</strong>te virtual se realizó <strong>en</strong> DIVE (Distributed Interactive Virtual<br />
Environm<strong>en</strong>t) el cual es un software libre <strong>de</strong>sarrol<strong>la</strong>do <strong>en</strong> el Instituto Sueco <strong>de</strong><br />
<strong>Computación</strong>. Este software permite:<br />
o Desarrol<strong>la</strong>r e interactuar con <strong>en</strong>tornos virtuales.<br />
o Hacer conexiones remotas mediante un servidor proxy; esto es, po<strong>de</strong>r<br />
diagnosticar <strong>de</strong>s<strong>de</strong> cualquier parte <strong>de</strong>l mundo a través <strong>de</strong> Internet.<br />
o Cargar y manipu<strong>la</strong>r gráficas 3D <strong>en</strong> formato VRML 1.0 que seria el formato al<br />
cual se exportaría <strong>la</strong> imag<strong>en</strong> <strong>de</strong> <strong>la</strong> lesión ósea obt<strong>en</strong>ida <strong>de</strong>l TAC.<br />
o Que los usuarios intercambi<strong>en</strong> sus puntos <strong>de</strong> vista mediante un chat o su voz.<br />
Doctor 1 Servidor Dive Doctor 2<br />
Doctor 3<br />
Fig. 2. Servidor Dive.<br />
Doctor 4<br />
La prueba piloto <strong>de</strong> usabilidad se realizó con un grupo <strong>de</strong> 5 estudiantes <strong>de</strong> medicina <strong>de</strong><br />
onceavo semestre <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Colima que se <strong>en</strong>cu<strong>en</strong>tran realizando su<br />
servicio social. Se consi<strong>de</strong>ró que tuvieran este perfil <strong>de</strong>bido a que están próximos a<br />
egresar <strong>de</strong> su carrera y ya contaban con un cierto grado <strong>de</strong> conocimi<strong>en</strong>tos acerca <strong>de</strong>l<br />
tema.<br />
El material que se utilizó fueron computadoras:<br />
• P<strong>en</strong>tium 4 <strong>de</strong> 2.66 GHz<br />
512 MB <strong>en</strong> RAM y tarjeta <strong>de</strong> vi<strong>de</strong>o Trid<strong>en</strong>t CyberALADDIN con 32 MB<br />
• AMD Athlon 2.2 GHz<br />
1 GB <strong>en</strong> RAM y tarjeta <strong>de</strong> vi<strong>de</strong>o ATI RADEON 9700 PRO con 128 MB<br />
• Audífonos (dia<strong>de</strong>mas) con micrófono<br />
La prueba se llevó a cabo <strong>en</strong> <strong>la</strong>s Insta<strong>la</strong>ciones <strong>de</strong>l Laboratorio <strong>de</strong> Realidad Virtual <strong>de</strong> <strong>la</strong><br />
misma Universidad con el grupo <strong>de</strong> personas que arriba se <strong>de</strong>scribe, para que hicieran<br />
uso <strong>de</strong>l <strong>en</strong>torno. Los participantes estuvieron interactuando <strong>en</strong> el ambi<strong>en</strong>te virtual<br />
durante aproximadam<strong>en</strong>te 30 minutos durante los cuales intercambiaron puntos <strong>de</strong> vista<br />
mediante su voz y un chat, <strong>de</strong> una lesión ósea que se les pres<strong>en</strong>tó. Al termino <strong>de</strong> <strong>la</strong><br />
prueba se les aplicó un cuestionario <strong>de</strong> usabilidad para recabar información.<br />
Fig. 3. Imág<strong>en</strong>es <strong>de</strong> <strong>la</strong> lesión ósea analizada por los participantes, <strong>en</strong> este caso una fractura<br />
<strong>en</strong> el <strong>de</strong>do meñique <strong>de</strong>l pie izquierdo.
Esta prueba resultó muy interesante ya que los futuros doctores com<strong>en</strong>taron que no<br />
tuvieron ningún problema <strong>en</strong> interactuar d<strong>en</strong>tro <strong>de</strong>l ambi<strong>en</strong>te virtual a<strong>de</strong>más <strong>de</strong> que<br />
consi<strong>de</strong>raron que el <strong>en</strong>torno resultaría <strong>de</strong> gran ayuda <strong>de</strong>bido a que estarían <strong>de</strong> acuerdo<br />
<strong>en</strong> intercambiar puntos <strong>de</strong> vista para llegar a un mejor diagnóstico y ofrecer un<br />
tratami<strong>en</strong>to mejor.<br />
El proceso <strong>de</strong> analizar <strong>la</strong> fractura se realizó <strong>de</strong> dos maneras:<br />
Mediante un grupo <strong>de</strong> chat l<strong>la</strong>mado piloto don<strong>de</strong> los participantes ingresaron y<br />
escribieron sus puntos <strong>de</strong> vista acerca <strong>de</strong>l problema que se les pres<strong>en</strong>tó.<br />
Uso <strong>de</strong> audífonos (dia<strong>de</strong>mas) con micrófono, esto es, intercambiando sus<br />
opiniones a través <strong>de</strong> su propia voz.<br />
Fig. 4. V<strong>en</strong>tana <strong>de</strong> chat don<strong>de</strong> interactuaron los<br />
doctores.<br />
Fig. 5. Interacción por medio <strong>de</strong> audio por<br />
parte <strong>de</strong> los participantes.<br />
4. Resultados preliminares<br />
De acuerdo a los datos recabados <strong>en</strong> <strong>la</strong> prueba con los doctores se pudo observar que al<br />
principio se mostraron un poco impaci<strong>en</strong>tes d<strong>en</strong>tro <strong>de</strong>l <strong>en</strong>torno virtual pero conforme se<br />
les fue explicando cual era <strong>la</strong> finalidad y lo que t<strong>en</strong>ían que hacer se fueron<br />
<strong>en</strong>tusiasmando. También se pudo observar que al iniciar <strong>la</strong> prueba los participantes<br />
hicieron mas uso <strong>de</strong>l chat que <strong>de</strong>l audio, aunque cabe ac<strong>la</strong>rar que ya para finalizar ésta,<br />
casi todos los participantes ya se <strong>en</strong>contraban tanto hab<strong>la</strong>ndo como haci<strong>en</strong>do uso <strong>de</strong>l<br />
chat por igual.<br />
Según los resultados <strong>de</strong> los cuestionarios <strong>de</strong> usabilidad aplicados, <strong>la</strong> mayoría <strong>de</strong> los<br />
participantes consi<strong>de</strong>ró que <strong>la</strong> comunicación por voz fue <strong>la</strong> mejor manera <strong>de</strong><br />
intercambiar información <strong>de</strong> <strong>la</strong> lesión ósea. Todos los participantes concordaron <strong>en</strong><br />
que el ambi<strong>en</strong>te virtual ayudo mucho a mejorar el diagnóstico <strong>de</strong>l problema que se les<br />
pres<strong>en</strong>tó. Algo a consi<strong>de</strong>rar es que <strong>en</strong> su totalidad los participantes alguna vez <strong>en</strong> su<br />
vida habían jugado vi<strong>de</strong>ojuegos don<strong>de</strong> se involucraban gráficas <strong>en</strong> 3D lo que<br />
posiblem<strong>en</strong>te ayudó a que no tuvieran problemas <strong>en</strong> interactuar d<strong>en</strong>tro <strong>de</strong>l <strong>en</strong>torno<br />
virtual.<br />
5. Conclusiones y perspectivas<br />
Consi<strong>de</strong>rando todo el proceso que se realizó a lo <strong>la</strong>rgo <strong>de</strong> esta investigación <strong>de</strong>s<strong>de</strong><br />
investigar que se había ya realizado acerca <strong>de</strong> este tema hasta el <strong>de</strong>sarrollo <strong>de</strong>l<br />
ambi<strong>en</strong>te virtual, <strong>en</strong> don<strong>de</strong> los doctores <strong>en</strong> una <strong>de</strong> <strong>la</strong>s pruebas analizaron una lesión
ósea y don<strong>de</strong> se pudo constatar mediante sus com<strong>en</strong>tarios que el <strong>en</strong>torno virtual <strong>de</strong><br />
diagnóstico se les hizo algo muy novedoso y muy útil, se concluye que se logró el<br />
propósito p<strong>la</strong>nteado, el cual era poner a disposición <strong>de</strong> un grupo <strong>de</strong> doctores un<br />
ambi<strong>en</strong>te virtual co<strong>la</strong>borativo don<strong>de</strong> se pueda analizar una fisura o fractura a distancia<br />
sin <strong>la</strong> necesidad <strong>de</strong> salir <strong>de</strong> sus lugar <strong>de</strong> trabajo. También se pue<strong>de</strong> concluir que <strong>la</strong><br />
realidad virtual pue<strong>de</strong> ser una herrami<strong>en</strong>ta muy útil <strong>en</strong> el área médica <strong>de</strong>bido a <strong>la</strong><br />
amplia gama <strong>de</strong> usos que se le pued<strong>en</strong> dar todo esto <strong>en</strong> base a <strong>la</strong> información recabada<br />
por lo cuestionarios aplicados. Debido a que <strong>la</strong> prueba que se realizó fue piloto, <strong>en</strong> un<br />
futuro se ti<strong>en</strong>e p<strong>en</strong>sado realizar una prueba con más participantes para obt<strong>en</strong>er datos<br />
más completos.<br />
Refer<strong>en</strong>cias<br />
[1] García, Miguel: “Aplicaciones <strong>de</strong> <strong>la</strong> Realidad Virtual <strong>en</strong> <strong>la</strong> Educación.<br />
Breve panorama g<strong>en</strong>eral “ <br />
(Fecha <strong>de</strong> publicación: 9 <strong>de</strong> Noviembre <strong>de</strong>1998)<br />
[2] Schnei<strong>de</strong>rman, B. Designing the User Interface. Addison-Wesley, Reading, 1998.<br />
[3] Mike Fraser, Tony Glover, Ivan Vaghi, Steve B<strong>en</strong>ford, Chris Gre<strong>en</strong>halgh, Jon<br />
Hindmarsh, Christian Heath. Revealing the realities of col<strong>la</strong>borative virtual reality.<br />
Proceedings of the third international confer<strong>en</strong>ce on Col<strong>la</strong>borative virtual<br />
<strong>en</strong>vironm<strong>en</strong>ts, 2000.<br />
[4] ShermanR.W.,Craig,A.B.Un<strong>de</strong>rstanding Virtual Reality: Interface, Application<br />
and Design. Morgan Kaufmann Publishers, San Francisco, CA, 2003.<br />
[5] Wexelb<strong>la</strong>t, A<strong>la</strong>n., MIT Media Lab. Cambridge, Massachussets, USA.<br />
wex@media.mit.edu<br />
[6] Sherman B., Judkins P. Glimpses of heav<strong>en</strong>, visions of hell: virtual reality and its<br />
applications, Hod<strong>de</strong>r & Stoughton, London, 1994.<br />
[7] Santacruz Val<strong>en</strong>cia, Liliana Patricia (1998). CSCW y <strong>en</strong>señanza. [Consultada el 15 <strong>de</strong><br />
julio <strong>de</strong> 2004]. Disponible <strong>en</strong>: http://www.it.uc3m.es/liliana/paginas/masinfo/cscw.htm<br />
[8] Suárez Quirós, Javier; García Díaz, Rafael Pedro (2003). Desarrollo <strong>de</strong> un <strong>en</strong>torno<br />
gráfico co<strong>la</strong>borativo para el diseño y fabricación <strong>de</strong> imp<strong>la</strong>ntes quirúrgicos a medida.<br />
[Consultada el 15 <strong>de</strong> julio <strong>de</strong> 2004]. Disponible <strong>en</strong>: http://www.admingegraf.unina.it/Italiano/Sommari/ADM043-SuarezQuiros.pdf<br />
[9] Bryan, J., Don Stredney, Greg Wiet, D<strong>en</strong>nis Sessanna. Virtual Temporal Bone<br />
Dissection, a Case Study.12th IEEE Visualization 2001 Confer<strong>en</strong>ce (VIS 2001)<br />
October 24 - 26, 2001.
Apoyo a <strong>la</strong>s activida<strong>de</strong>s médicas a través <strong>de</strong> Servicios Web<br />
basados <strong>en</strong> HL7/CDA<br />
Pedro César Santana Mancil<strong>la</strong>, Leonardo Galicia Jiménez,<br />
Ana Isabel Martínez García, José Antonio García Macías<br />
C<strong>en</strong>tro <strong>de</strong> Investigación Ci<strong>en</strong>tífica y <strong>de</strong> Educación Superior <strong>de</strong> Ens<strong>en</strong>ada, CICESE<br />
e-mail : { psantana, lgalicia, martinea, jagm }@cicese.mx<br />
Km. 107 Carretera Tijuana-Ens<strong>en</strong>ada Apdo Postal 2732, CP 22860<br />
Ens<strong>en</strong>ada, B.C, México.<br />
Abstract: The introduction of new Information Technology, and standards such<br />
as those proposed by the Health Level Sev<strong>en</strong> (HL7), <strong>en</strong>able the interoperability<br />
betwe<strong>en</strong> software applications from differ<strong>en</strong>t health organizations. This paper<br />
introduces an architecture for supporting medical activities, based on a framework<br />
that facilitates the use of standards and technology avai<strong>la</strong>ble to the health sector.<br />
This work uses HL7 to <strong>de</strong>velop a c<strong>en</strong>tral architecture and test it with a cli<strong>en</strong>t Web<br />
<strong>de</strong>veloped for a Tablet PC and a light cli<strong>en</strong>t for a Personal Digital Assistant<br />
(PDA).<br />
Resum<strong>en</strong>: La aparición <strong>de</strong> nuevas tecnologías <strong>de</strong> <strong>la</strong> información, así como<br />
estándares y acuerdos, como el propuesto por <strong>la</strong> organización Health Level Sev<strong>en</strong><br />
(HL7), permit<strong>en</strong> <strong>la</strong> interoperabilidad <strong>en</strong>tre aplicaciones <strong>de</strong> sistemas <strong>de</strong> salud <strong>en</strong><br />
distintas partes <strong>de</strong>l mundo. El pres<strong>en</strong>te artículo introduce una arquitectura <strong>de</strong><br />
soporte a <strong>la</strong>s activida<strong>de</strong>s que pret<strong>en</strong><strong>de</strong> facilitar el uso <strong>de</strong> estándares y tecnologías<br />
disponibles hacia el sector salud, especialm<strong>en</strong>te hacia instituciones públicas. El<br />
trabajo parte <strong>de</strong>l uso <strong>de</strong>l estándar HL7 para g<strong>en</strong>erar una arquitectura c<strong>en</strong>tral y<br />
probar tal arquitectura <strong>en</strong> un cli<strong>en</strong>te Web <strong>de</strong>sarrol<strong>la</strong>do para Tablet PC y <strong>en</strong> un<br />
cli<strong>en</strong>te ligero para un asist<strong>en</strong>te digital personal (PDA por sus sig<strong>la</strong>s <strong>en</strong> inglés<br />
Personal Digital Assistant).<br />
Pa<strong>la</strong>bras C<strong>la</strong>ve: Expedi<strong>en</strong>te, Médico, Electrónico, Movilidad, HL7<br />
Introducción<br />
En el <strong>en</strong>torno clínico actual es c<strong>la</strong>ve el soporte a <strong>la</strong>s activida<strong>de</strong>s médicas por medio<br />
<strong>de</strong> sistemas <strong>de</strong> información clínica bi<strong>en</strong> diseñados, compuestos por aplicaciones que<br />
<strong>de</strong>b<strong>en</strong> estar construidas con base a estándares, <strong>de</strong> manera que asegur<strong>en</strong> que los usuarios<br />
<strong>de</strong>l sistema informático clínico puedan compartir fácilm<strong>en</strong>te <strong>la</strong> información a través <strong>de</strong><br />
toda su organización y <strong>en</strong> un mom<strong>en</strong>to <strong>de</strong>terminado compartir<strong>la</strong> con otras<br />
organizaciones. De esta manera los hospitales, los c<strong>en</strong>tros <strong>de</strong> salud, clínicas privadas y<br />
cualquier tipo <strong>de</strong> organización <strong>de</strong> asist<strong>en</strong>cia médica pued<strong>en</strong> capturar información vital<br />
sobre los paci<strong>en</strong>tes a través <strong>de</strong> aplicaciones que permitan validar <strong>la</strong> información para
t<strong>en</strong>er mayor precisión, y guardar<strong>la</strong> <strong>en</strong> un archivo que cump<strong>la</strong> con <strong>la</strong>s características <strong>de</strong>l<br />
estándar propuesto por <strong>la</strong> arquitectura <strong>de</strong> docum<strong>en</strong>tos clínicos (CDA por sus sig<strong>la</strong>s <strong>en</strong><br />
inglés - Clinical Docum<strong>en</strong>ts Architecture), que se pue<strong>de</strong> leer y utilizar <strong>en</strong> otros sistemas<br />
compatibles con este último.<br />
Los médicos <strong>de</strong> hoy <strong>en</strong> día suel<strong>en</strong> <strong>en</strong>contrarse <strong>en</strong> <strong>la</strong> situación <strong>de</strong> t<strong>en</strong>er que introducir<br />
los mismos datos sobre sus paci<strong>en</strong>tes <strong>de</strong>s<strong>de</strong> varias fu<strong>en</strong>tes. Es un proceso pesado, tanto<br />
para los médicos como para los paci<strong>en</strong>tes a los que ati<strong>en</strong>d<strong>en</strong>, e incluso a veces exist<strong>en</strong><br />
omisiones <strong>en</strong> los historiales <strong>de</strong> estos últimos. Al utilizar un sistema que les permita<br />
administrar <strong>la</strong> información <strong>de</strong> los paci<strong>en</strong>tes, los médicos estarán capacitados para<br />
simplificar el proceso <strong>de</strong> recuperar <strong>la</strong> información que requieran rápidam<strong>en</strong>te, por lo<br />
que pued<strong>en</strong> <strong>en</strong>focarse <strong>en</strong> proveer un mejor servicio y confiar <strong>en</strong> <strong>la</strong> disponibilidad <strong>de</strong> <strong>la</strong><br />
información <strong>en</strong> el mom<strong>en</strong>to apropiado.<br />
Health Level Sev<strong>en</strong> (HL7) [1] es una organización <strong>de</strong>sarrol<strong>la</strong>dora <strong>de</strong> estándares<br />
dirigidos a permitir <strong>la</strong> interoperabilidad <strong>en</strong>tre aplicaciones heterogéneas <strong>en</strong> el ámbito <strong>de</strong><br />
<strong>la</strong> salud. Esta <strong>de</strong>sarrolló CDA basado <strong>en</strong> el l<strong>en</strong>guaje <strong>de</strong> marcado ext<strong>en</strong>dido (XML por<br />
sus sig<strong>la</strong>s <strong>en</strong> inglés - eXt<strong>en</strong><strong>de</strong>d Markup Language) [3] <strong>la</strong> cual anteriorm<strong>en</strong>te era<br />
conocida como arquitectura <strong>de</strong> expedi<strong>en</strong>tes <strong>de</strong> paci<strong>en</strong>tes (PAR por sus sig<strong>la</strong>s <strong>en</strong> inglés -<br />
Pati<strong>en</strong>t Record Architecture) [2][3], CDA provee un mo<strong>de</strong>lo <strong>de</strong> intercambio <strong>de</strong><br />
docum<strong>en</strong>tos y facilita a <strong>la</strong>s industrias <strong>de</strong> <strong>la</strong> salud <strong>la</strong> realización <strong>de</strong> un expedi<strong>en</strong>te<br />
médico electrónico [4].<br />
Por otro <strong>la</strong>do los servicios Web son una tecnología emerg<strong>en</strong>te que permite <strong>la</strong><br />
utilización <strong>de</strong>l software como servicios a través <strong>de</strong> Internet. Prove<strong>en</strong> servicios a sus<br />
consumidores a través <strong>de</strong> un protocolo basado <strong>en</strong> XML l<strong>la</strong>mado protocolo <strong>de</strong> acceso<br />
simple (SOAP por sus sig<strong>la</strong>s <strong>en</strong> inglés - Simple Access Protocol), el cual provee un<br />
mecanismo simple y ligero para intercambiar información estructurada <strong>en</strong> un ambi<strong>en</strong>te<br />
distribuido. La interfaz <strong>de</strong> los servicios Web es <strong>de</strong>scrita <strong>en</strong> un docum<strong>en</strong>to XML<br />
l<strong>la</strong>mado l<strong>en</strong>guaje <strong>de</strong> <strong>de</strong>scripción <strong>de</strong> servicios Web (WSDL por sus sig<strong>la</strong>s <strong>en</strong> inglés Web<br />
Service Description Language), para que se puedan construir aplicaciones cli<strong>en</strong>tes<br />
usando los servicios proveidos por los servicios Web.<br />
El trabajo pres<strong>en</strong>tado <strong>en</strong> este artículo consiste <strong>en</strong> una arquitectura <strong>de</strong> soporte a <strong>la</strong>s<br />
activida<strong>de</strong>s médicas basada <strong>en</strong> un marco <strong>de</strong> c<strong>la</strong>ses que utiliza los estándares HL7 y<br />
servicios Web, ambos usando XML y particu<strong>la</strong>rm<strong>en</strong>te dirigirlos hacia instituciones<br />
públicas, <strong>de</strong> manera que, aprovechando el estándar HL7, <strong>la</strong>s tecnologías y poca<br />
infraestructura tecnológica disponibles, se pueda ofrecer un <strong>en</strong>torno médico electrónico<br />
que <strong>de</strong> soporte a <strong>la</strong>s diversas activida<strong>de</strong>s que tales instituciones <strong>de</strong> salud requier<strong>en</strong> <strong>en</strong><br />
su haber diario mejorando <strong>de</strong> esta forma <strong>la</strong> calidad <strong>de</strong> sus servicios.<br />
Este artículo se <strong>en</strong>cu<strong>en</strong>tra organizado <strong>en</strong> cinco secciones. La primera pres<strong>en</strong>ta <strong>la</strong><br />
motivación para el <strong>de</strong>sarrollo <strong>de</strong>l pres<strong>en</strong>te trabajo. Enseguida se <strong>de</strong>fine <strong>la</strong> arquitectura<br />
<strong>de</strong>l sistema abordando <strong>la</strong> implem<strong>en</strong>tación y su funcionalidad, así como <strong>la</strong> tecnología<br />
utilizada. La tercera sección muestra esc<strong>en</strong>arios <strong>de</strong> uso <strong>de</strong> cómo <strong>la</strong> arquitectura<br />
<strong>de</strong>sarrol<strong>la</strong>da ofrece una solución a un problema <strong>de</strong>terminado y como esta podría<br />
ext<strong>en</strong><strong>de</strong>rse a otros casos. Finalm<strong>en</strong>te se pres<strong>en</strong>tan <strong>la</strong>s conclusiones y trabajo futuro.
1. Motivación<br />
La motivación <strong>de</strong> este trabajo surge a partir <strong>de</strong>l estudio <strong>de</strong> los procesos <strong>de</strong> dos áreas<br />
<strong>de</strong> trabajo <strong>de</strong> una institución pública <strong>de</strong> salud, específicam<strong>en</strong>te sobre el área <strong>de</strong><br />
medicina física y rehabilitación y <strong>la</strong> <strong>de</strong> radiología e imág<strong>en</strong>es. Estos trabajos se<br />
realizaron utilizando técnicas <strong>de</strong> <strong>la</strong> ing<strong>en</strong>iería <strong>de</strong> procesos; mediante <strong>la</strong> metodología<br />
para análisis y diseño <strong>de</strong> procesos (PADM por sus sig<strong>la</strong>s <strong>en</strong> inglés Process Analysis<br />
and Design Methodology) [6].<br />
Durante el estudio <strong>de</strong> los procesos <strong>en</strong> estas áreas se pudieron <strong>de</strong>tectar que algunos <strong>de</strong><br />
ellos se realizan <strong>de</strong> manera simi<strong>la</strong>r, y que carec<strong>en</strong> <strong>de</strong> una infraestructura <strong>de</strong> tecnología<br />
<strong>de</strong> información <strong>en</strong> común. Estos procesos hac<strong>en</strong> uso <strong>de</strong> expedi<strong>en</strong>tes clínicos los cuales<br />
son <strong>en</strong>tregados y administrados <strong>de</strong> manera c<strong>en</strong>tralizada por una <strong>en</strong>tidad l<strong>la</strong>mada<br />
Archivo Clínico. Una vez que los expedi<strong>en</strong>tes clínicos <strong>de</strong> los paci<strong>en</strong>tes son <strong>en</strong>tregados<br />
a <strong>la</strong>s áreas solicitantes, ninguna otra área ti<strong>en</strong>e acceso a los expedi<strong>en</strong>tes mi<strong>en</strong>tras estos<br />
se <strong>en</strong>cu<strong>en</strong>tran fuera <strong>de</strong> archivo clínico, no es sino hasta que estos expedi<strong>en</strong>tes son<br />
<strong>en</strong>tregados por <strong>la</strong>s áreas que los solicitaron y regres<strong>en</strong> nuevam<strong>en</strong>te al control <strong>de</strong> archivo<br />
clínico, que el resto <strong>de</strong> <strong>la</strong>s áreas pued<strong>en</strong> consultarlos. Lo anterior conlleva que <strong>la</strong><br />
información no se <strong>en</strong>cu<strong>en</strong>tre siempre disponible para los solicitantes, lo que ocasiona<br />
que <strong>la</strong>s áreas estudiadas cre<strong>en</strong> duplicados <strong>de</strong> <strong>la</strong> información concerni<strong>en</strong>te a el<strong>la</strong>s,<br />
creando <strong>de</strong> esta forma sub expedi<strong>en</strong>tes clínicos para po<strong>de</strong>r consultar y realizar<br />
anotaciones <strong>de</strong> los paci<strong>en</strong>tes que están bajo su responsabilidad, ocasionando a su vez<br />
inconsist<strong>en</strong>cia <strong>de</strong> <strong>la</strong> información <strong>en</strong>tre ambos expedi<strong>en</strong>tes. El esc<strong>en</strong>ario expuesto ofrece<br />
un área <strong>de</strong> oportunidad rica para introducir un soporte electrónico <strong>de</strong> expedi<strong>en</strong>te<br />
médico como el propuesto por HL7, <strong>de</strong> forma tal, que los estándares para lograr esto se<br />
<strong>en</strong>cu<strong>en</strong>tran disponibles. De acuerdo al problema p<strong>la</strong>nteado se diseño <strong>la</strong> arquitectura <strong>de</strong><br />
servicios y <strong>la</strong>s aplicaciones que dan soporte a los estándares antes <strong>de</strong>scritos.<br />
2. Arquitectura <strong>de</strong>l sistema<br />
La arquitectura <strong>de</strong>sarrol<strong>la</strong>da se basa <strong>en</strong> diversos estándares tecnológicos y está<br />
c<strong>en</strong>trada <strong>en</strong> un marco <strong>de</strong> c<strong>la</strong>ses con el paradigma cli<strong>en</strong>te-servidor utilizando servicios<br />
Web. La i<strong>de</strong>a principal <strong>de</strong> este trabajo fue <strong>de</strong>sarrol<strong>la</strong>r un servidor c<strong>en</strong>tral a manera <strong>de</strong><br />
núcleo <strong>de</strong>l sistema, <strong>en</strong> el cual se <strong>de</strong>positaron todos los servicios Web necesarios (Back-<br />
End) <strong>de</strong> manera que <strong>la</strong>s aplicaciones cli<strong>en</strong>te (Front-End) in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>tem<strong>en</strong>te <strong>de</strong> <strong>la</strong><br />
p<strong>la</strong>taforma y el dispositivo pudieran utilizar los servicios que el núcleo ofrece (Figura<br />
1). Tales aplicaciones cli<strong>en</strong>te <strong>de</strong>p<strong>en</strong>di<strong>en</strong>do <strong>de</strong> su propósito pued<strong>en</strong> o no hacer uso <strong>de</strong><br />
todos servicios implem<strong>en</strong>tados <strong>en</strong> el núcleo.
EMEF<br />
Expedi<strong>en</strong>te Médico<br />
Electrónico<br />
Marco <strong>de</strong> c<strong>la</strong>ses<br />
(PHP Web Services)<br />
Base <strong>de</strong> datos<br />
MySQL<br />
XML/SOAP<br />
XML/SOAP<br />
Cli<strong>en</strong>te Web<br />
(PHP)<br />
Cli<strong>en</strong>te PDA<br />
(.NET Compact FrameWork)<br />
Figura 1.- Arquitectura <strong>de</strong>l marco <strong>de</strong> c<strong>la</strong>ses EMEF<br />
Para lograr tal propósito se realizó <strong>la</strong> implem<strong>en</strong>tación <strong>de</strong>l núcleo <strong>de</strong>l sistema con<br />
PHP utilizando servicios Web mediante SOAP logrando con esto heterog<strong>en</strong>eidad <strong>en</strong>tre<br />
los cli<strong>en</strong>tes al utilizar el protocolo <strong>de</strong> transfer<strong>en</strong>cia <strong>de</strong> hipertexto (HTTP por sus sig<strong>la</strong>s<br />
<strong>en</strong> inglés Hyper Text Transfer Protocol) como medio <strong>de</strong> transporte y XML como<br />
medio <strong>de</strong> intercambio <strong>de</strong> información <strong>en</strong>tre aplicaciones. De esta manera, el núcleo<br />
ofrece diversos servicios que <strong>la</strong>s aplicaciones pued<strong>en</strong> consumir [5].<br />
D<strong>en</strong>tro <strong>de</strong> <strong>la</strong> estructura <strong>de</strong>l núcleo, uno <strong>de</strong> los servicios más importantes que se<br />
<strong>de</strong>sarrolló fue el parser HL7, este parser <strong>en</strong> forma <strong>de</strong> servicio Web, ofrece a <strong>la</strong>s<br />
aplicaciones cli<strong>en</strong>te una comunicación <strong>de</strong> dos vías, por un <strong>la</strong>do toma toda <strong>la</strong><br />
información almac<strong>en</strong>ada <strong>en</strong> el núcleo <strong>de</strong> manera tradicional <strong>en</strong> una base <strong>de</strong> datos, <strong>la</strong><br />
codifica <strong>en</strong> un docum<strong>en</strong>to HL7 <strong>en</strong> formato XML y lo <strong>en</strong>vía a <strong>la</strong>s aplicaciones cli<strong>en</strong>te.<br />
Por otro <strong>la</strong>do, cuando <strong>la</strong>s aplicaciones cli<strong>en</strong>te realizan cambios sobre <strong>la</strong> información<br />
solicitada o simplem<strong>en</strong>te g<strong>en</strong>eran nueva información clínica, esta es <strong>en</strong>viada al núcleo<br />
<strong>en</strong> formato HL7 a través <strong>de</strong> un servicio Web que el núcleo tomará, <strong>de</strong>codificará y<br />
almac<strong>en</strong>ará <strong>de</strong> manera tradicional <strong>en</strong> su base <strong>de</strong> datos.<br />
Adicionalm<strong>en</strong>te al núcleo <strong>de</strong>l sistema se <strong>de</strong>sarrol<strong>la</strong>ron dos tipos difer<strong>en</strong>tes <strong>de</strong> cli<strong>en</strong>tes<br />
móviles que consum<strong>en</strong> los servicios Web ofrecidos por el marco <strong>de</strong> c<strong>la</strong>ses. Por un <strong>la</strong>do<br />
se <strong>de</strong>sarrollo un cli<strong>en</strong>te basado <strong>en</strong> una interfaz Web diseñada para usarse <strong>en</strong> una Tablet<br />
PC; y por otro <strong>la</strong>do, se <strong>de</strong>sarrollo una aplicación para PDA como segundo cli<strong>en</strong>te.<br />
Ambos cli<strong>en</strong>tes p<strong>en</strong>sados para usarse <strong>en</strong> ambi<strong>en</strong>tes inalámbricos. Estos cli<strong>en</strong>tes<br />
consultan <strong>la</strong> información almac<strong>en</strong>ada <strong>en</strong> el servidor a través <strong>de</strong> <strong>la</strong>s interfaces provistas<br />
por los servicios Web. Una vez obt<strong>en</strong>ida <strong>la</strong> información cada cli<strong>en</strong>te <strong>la</strong> procesa y<br />
visualiza <strong>de</strong> acuerdo al propósito <strong>de</strong>l diseño <strong>de</strong>l cli<strong>en</strong>te. Por un <strong>la</strong>do, el cli<strong>en</strong>te Web<br />
ofrece una interacción más robusta, <strong>de</strong>bido a que hace uso <strong>de</strong> <strong>la</strong> mayor parte <strong>de</strong> los<br />
servicios Web <strong>de</strong>l sistema, permitiéndole una mayor funcionalidad. En contraste el<br />
cli<strong>en</strong>te PDA hace uso <strong>de</strong> aquellos servicios que sólo le permitan visualizar <strong>la</strong><br />
información al usuario. Aunado a esto, el estándar HL7 provee <strong>de</strong> un mecanismo para<br />
<strong>la</strong> inclusión <strong>de</strong> imág<strong>en</strong>es d<strong>en</strong>tro <strong>de</strong> un expedi<strong>en</strong>te médico mediante <strong>la</strong> <strong>de</strong>finición <strong>de</strong><br />
etiquetas para tal propósito; etiquetas que el parser <strong>de</strong>l <strong>la</strong>do <strong>de</strong> los cli<strong>en</strong>tes pued<strong>en</strong><br />
reconocer y obt<strong>en</strong>er <strong>la</strong>s imág<strong>en</strong>es <strong>de</strong>s<strong>de</strong> el servidor y mostrar<strong>la</strong>s. Los cli<strong>en</strong>tes, así como
los servicios que provee <strong>la</strong> arquitectura se introduc<strong>en</strong> <strong>en</strong> <strong>la</strong> sigui<strong>en</strong>te sección a través <strong>de</strong><br />
posibles esc<strong>en</strong>arios <strong>de</strong> uso.<br />
3. Esc<strong>en</strong>arios <strong>de</strong> uso<br />
El uso <strong>de</strong> esc<strong>en</strong>arios nos permite ilustrar <strong>de</strong> manera más tangible el uso <strong>de</strong> <strong>la</strong><br />
tecnología propuesta sobre un problema <strong>en</strong> particu<strong>la</strong>r. En este caso se ofrec<strong>en</strong> dos<br />
posibles esc<strong>en</strong>arios <strong>de</strong> uso que se muestran a continuación.<br />
Mi<strong>en</strong>tras el médico <strong>de</strong> turno realiza sus rondas <strong>de</strong> rutina <strong>en</strong> los cuartos <strong>de</strong> los<br />
paci<strong>en</strong>tes, llega a <strong>la</strong> cama 12 y <strong>de</strong>sea verificar <strong>la</strong> evolución <strong>de</strong>l paci<strong>en</strong>te, <strong>en</strong>tonces<br />
haci<strong>en</strong>do uso <strong>de</strong> un dispositivo manual (Tablet PC) con conexión inalámbrica ingresa<br />
al cli<strong>en</strong>te Web (Figura 2) <strong>de</strong>l expedi<strong>en</strong>te electrónico e introduce el id<strong>en</strong>tificador <strong>de</strong>l<br />
paci<strong>en</strong>te, inmediatam<strong>en</strong>te obti<strong>en</strong>e <strong>en</strong> su pantal<strong>la</strong> <strong>la</strong> información <strong>de</strong>l paci<strong>en</strong>te, don<strong>de</strong><br />
pue<strong>de</strong> revisar sus síntomas, verificar su evolución e incluso realizar nuevas anotaciones<br />
al expedi<strong>en</strong>te.<br />
Fig. 2- Cli<strong>en</strong>te Tablet PC.<br />
Mi<strong>en</strong>tras el médico <strong>de</strong> turno, esta <strong>en</strong> <strong>la</strong> sa<strong>la</strong> <strong>de</strong> urg<strong>en</strong>cias, llega <strong>la</strong> ambu<strong>la</strong>ncia con un<br />
paci<strong>en</strong>te el cual pres<strong>en</strong>ta un cuadro clínico grave, por lo que se necesita obt<strong>en</strong>er su<br />
expedi<strong>en</strong>te médico para conocer su historial clínico, sus reacciones a los medicam<strong>en</strong>to<br />
y <strong>la</strong>s alertas clínicas que se t<strong>en</strong>gan registradas <strong>en</strong> el expedi<strong>en</strong>te, como el tiempo es<br />
crítico <strong>en</strong> estos casos, el médico toma su PDA con conexión inalámbrica, ingresa al<br />
cli<strong>en</strong>te ligero <strong>de</strong>l expedi<strong>en</strong>te electrónico e introduce el número <strong>de</strong> registro <strong>de</strong>l paci<strong>en</strong>te,<br />
inmediatam<strong>en</strong>te obti<strong>en</strong>e <strong>en</strong> su pantal<strong>la</strong> <strong>la</strong> información médica, don<strong>de</strong> pue<strong>de</strong> revisar <strong>de</strong><br />
manera oportuna <strong>la</strong> información <strong>de</strong>l paci<strong>en</strong>te.
4. Conclusiones y trabajo futuro<br />
La funcionalidad ofrecida por el sistema ofrece algunas v<strong>en</strong>tajas significativas<br />
observadas, que son una consecu<strong>en</strong>cia directa <strong>de</strong> los estándares utilizados. Los cli<strong>en</strong>tes<br />
construidos, cada uno difer<strong>en</strong>te <strong>en</strong>tre sí, compart<strong>en</strong> <strong>la</strong> misma información: el<br />
expedi<strong>en</strong>te clínico electrónico. Cada uno <strong>de</strong> los cli<strong>en</strong>tes ofrece funcionalidad extra, tal<br />
funcionalidad se pue<strong>de</strong> ir aum<strong>en</strong>tando con el tiempo e ir<strong>la</strong> personalizando <strong>de</strong> acuerdo a<br />
<strong>la</strong>s necesida<strong>de</strong>s actuales y futuras <strong>de</strong> <strong>la</strong> institución don<strong>de</strong> se implem<strong>en</strong>te. Con el<br />
<strong>de</strong>sarrollo <strong>de</strong> nuevos estándares computacionales que permit<strong>en</strong> <strong>la</strong> comunicación <strong>en</strong>tre<br />
aplicaciones y <strong>la</strong> creación <strong>de</strong> estándares médicos que hagan uso <strong>de</strong> <strong>la</strong>s tecnologías <strong>de</strong> <strong>la</strong><br />
información, <strong>la</strong> brecha <strong>de</strong> intercomunicación <strong>en</strong>tre organizaciones <strong>en</strong> cada vez m<strong>en</strong>or,<br />
in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>tem<strong>en</strong>te <strong>de</strong> <strong>la</strong> p<strong>la</strong>taforma y los dispositivos que se utilic<strong>en</strong> para g<strong>en</strong>erar y<br />
consumir <strong>la</strong> información.<br />
5. Agra<strong>de</strong>cimi<strong>en</strong>tos<br />
Este trabajo fue apoyado por el proyecto C01-40799 y con <strong>la</strong> beca 179371 <strong>de</strong>l segundo<br />
autor, ambos <strong>de</strong>l CONACYT.<br />
6. Refer<strong>en</strong>cias<br />
[1] Health Level Sev<strong>en</strong> [ http://www.hl7.org/ ]<br />
[2] Pati<strong>en</strong>t Record Architecture<br />
[ http://www.hl7.org/Special/committees/sgml/PRA/PRA_TSCPackageCover.htm ]<br />
[3] HL7 Docum<strong>en</strong>t Pati<strong>en</strong>t Record Architecture: An XML Docum<strong>en</strong>t Architecture<br />
Based on a Shared Information Mo<strong>de</strong>l Robert H. Dolin; Liora Alschuler; Fred<br />
Behl<strong>en</strong>; Paul V. Biron; Sandy Boyer; Dan Essin; Lloyd Harding; Tom Lincoln;<br />
John E. Mattison; Wes Rishel; Rachael Sokolowski; John Spinosa; Jason P.<br />
Williams, MS Kaiser Perman<strong>en</strong>te; The Word Electric; U. of Chicago; Information<br />
Assembly Automation Inc.; Rand Corp.; U. of Illinois at Chicago; Wes Rishel<br />
Consulting; Magnolia Technologies; Scripps Health; Oceania Inc.<br />
[4] An Update on HL7's XML-based Docum<strong>en</strong>t Repres<strong>en</strong>tation Standards Robert H.<br />
Dolin, MD; Liora Alschuler; Sandy Boyer, BSP; Calvin Beebe for the Kona<br />
Editorial Group Kaiser Perman<strong>en</strong>te (Robert.H.Dolin@kp.org); The Word Electric;<br />
Mayo Clinic<br />
[5] WSDL <strong>de</strong>l marco <strong>de</strong> c<strong>la</strong>ses <strong>de</strong>l expedi<strong>en</strong>te médico electrónico.<br />
[ http://www.pecesama.net/emep/ws/emep_server.php?wsdl ]<br />
[6] Wastell, D.; White, P. y Kawalek, P., “A methodology for business process<br />
re<strong>de</strong>sign: experi<strong>en</strong>ces and issues”, Journal of Strategies information Systems,<br />
1994.
C<strong>la</strong>sificación no Paramétrica <strong>de</strong> <strong>la</strong> Distribución <strong>de</strong><br />
Bor<strong>de</strong>s Espectrales para <strong>la</strong> Valoración <strong>de</strong>l<br />
Estado <strong>de</strong> Profundidad Anestésica<br />
Br<strong>en</strong>da D<strong>en</strong>i Escamil<strong>la</strong> Alonso, Oscar Yáñez Suárez<br />
Laboratorio <strong>de</strong> Neuroimag<strong>en</strong>ología<br />
Departam<strong>en</strong>to <strong>de</strong> Ing<strong>en</strong>iería Eléctrica<br />
Universidad Autónoma Metropolitana – Iztapa<strong>la</strong>pa<br />
Av. San Rafael Atlixco 186, Col. Vic<strong>en</strong>tina, México D.F. 09340<br />
email: yaso@xanum.uam.mx<br />
Resum<strong>en</strong>. Los anestesiólogos utilizan una serie <strong>de</strong> observaciones <strong>de</strong> variables<br />
fisiológicas para estimar <strong>la</strong> profundidad anestésica <strong>en</strong> un paci<strong>en</strong>te quirúrgico. De<br />
<strong>en</strong>tre éstas, <strong>la</strong>s mediciones espectrales <strong>de</strong>l electro<strong>en</strong>cefalograma se utilizan para<br />
establecer <strong>la</strong>s difer<strong>en</strong>tes etapas <strong>de</strong> s<strong>en</strong>sibilidad por <strong>la</strong>s que atraviesa un paci<strong>en</strong>te<br />
durante una interv<strong>en</strong>ción. La técnica <strong>de</strong> medición es no invasiva y pue<strong>de</strong> ser<br />
realizada fácilm<strong>en</strong>te <strong>en</strong> <strong>la</strong> sa<strong>la</strong> <strong>de</strong> operaciones. Este trabajo <strong>de</strong>scribe el diseño <strong>de</strong><br />
un c<strong>la</strong>sificador no paramétrico <strong>de</strong>l tipo red neuronal probabilística para <strong>la</strong><br />
id<strong>en</strong>tificación <strong>de</strong> <strong>la</strong>s tres etapas <strong>de</strong>l curso anestésico a partir <strong>de</strong> vectores <strong>de</strong><br />
características espectrales simples.<br />
Abstract. Anaesthesiologists <strong>de</strong>p<strong>en</strong>d on a series of physiological observations in<br />
or<strong>de</strong>r to estimate the <strong>de</strong>pth of anaesthesia for a surgical pati<strong>en</strong>t. Among these,<br />
spectral measurem<strong>en</strong>ts of the electro<strong>en</strong>cephalogram are used to establish the<br />
differ<strong>en</strong>t stages of s<strong>en</strong>sibility that a pati<strong>en</strong>t un<strong>de</strong>rgoes throughout an interv<strong>en</strong>tion.<br />
The recording technique is non-invasive and can be easily carried out within the<br />
operating room. This paper <strong>de</strong>scribes the <strong>de</strong>sign of a non-parametric c<strong>la</strong>ssifier – a<br />
probabilistic neural network – for the id<strong>en</strong>tification of three stages of the<br />
anaesthetic course from feature vectors composed of simple spectral properties.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve: bor<strong>de</strong> espectral, red neuronal probabilística, anestesia<br />
1. Introducción<br />
La señal electro<strong>en</strong>cefalográfica (EEG), utilizada clínicam<strong>en</strong>te para el estudio <strong>de</strong> <strong>la</strong><br />
actividad eléctrica <strong>de</strong> <strong>la</strong> corteza cerebral (medida indirectam<strong>en</strong>te y <strong>en</strong> forma no invasiva<br />
mediante electrodos colocados sobre el cuero cabelludo), se ha aprovechado también<br />
para el monitoreo trans-operatorio <strong>de</strong> <strong>la</strong> profundidad anestésica. Aún sin t<strong>en</strong>er una<br />
<strong>de</strong>finición precisa, ésta profundidad se asocia típicam<strong>en</strong>te con <strong>la</strong> capacidad <strong>de</strong> un<br />
paci<strong>en</strong>te para percibir y respon<strong>de</strong>r a estímulos nocivos, como los provocados durante<br />
una interv<strong>en</strong>ción quirúrgica. A medida que se aplica <strong>la</strong> terapia anestésica y ésta va<br />
surti<strong>en</strong>do efecto, pued<strong>en</strong> percibirse cambios característicos <strong>de</strong> <strong>la</strong> señal <strong>de</strong> EEG. La<br />
experi<strong>en</strong>cia clínica apunta hacia una categorización informal <strong>de</strong>l curso anestésico, <strong>en</strong> el<br />
cual el EEG pasa <strong>de</strong> un estado basal a uno <strong>de</strong> inducción (mi<strong>en</strong>tras se administran los
Fig. 1. Difer<strong>en</strong>tes fases <strong>de</strong>l curso anestésico ti<strong>en</strong><strong>en</strong> manifestación difer<strong>en</strong>te <strong>en</strong> los patrones<br />
<strong>de</strong>l EEG. De arriba a abajo: estado basal, etapa <strong>de</strong> inducción y fase <strong>de</strong> mant<strong>en</strong>imi<strong>en</strong>to,<br />
observadas <strong>en</strong> <strong>la</strong> <strong>de</strong>rivación estándar Fpz.<br />
medicam<strong>en</strong>tos iniciales) y <strong>de</strong> ahí a un estado <strong>de</strong> mant<strong>en</strong>imi<strong>en</strong>to <strong>de</strong> <strong>la</strong> ins<strong>en</strong>sibilidad (ver<br />
Figura 1) [1,2].<br />
El análisis espectral realizado sobre el EEG permite <strong>la</strong> g<strong>en</strong>eración <strong>de</strong> índices<br />
asociados al efecto <strong>de</strong> ag<strong>en</strong>tes anestésicos sobre los ritmos cerebrales. Entre estos<br />
índices se <strong>en</strong>cu<strong>en</strong>tran el bor<strong>de</strong> espectral 95 (<strong>la</strong> frecu<strong>en</strong>cia a <strong>la</strong> cual <strong>la</strong> pot<strong>en</strong>cia integrada<br />
correspon<strong>de</strong> al 95% <strong>de</strong> <strong>la</strong> pot<strong>en</strong>cia total), <strong>la</strong> frecu<strong>en</strong>cia mediana (el bor<strong>de</strong> espectral 50)<br />
[3], el índice biespectral (acop<strong>la</strong>mi<strong>en</strong>to <strong>de</strong> fases <strong>en</strong> <strong>la</strong> matriz <strong>de</strong> corre<strong>la</strong>ción cruzada<br />
espectral) [4], o <strong>la</strong> <strong>la</strong>t<strong>en</strong>cia <strong>de</strong> <strong>la</strong>s respuestas evocadas auditivas [5]. Reci<strong>en</strong>tem<strong>en</strong>te, el<br />
análisis <strong>de</strong> tiempo-frecu<strong>en</strong>cia <strong>de</strong>l EEG trans-operatorio (con <strong>la</strong> distribución Choi-<br />
Williams) se ha usado para estimar índices <strong>de</strong> frecu<strong>en</strong>cia instantánea, bor<strong>de</strong> espectral<br />
instantáneo y medidas <strong>de</strong> no linealidad como el compon<strong>en</strong>te fractal [6].<br />
Cualesquiera los índices obt<strong>en</strong>idos a partir <strong>de</strong>l análisis <strong>de</strong> <strong>la</strong> señal <strong>de</strong> EEG, éstos<br />
pued<strong>en</strong> ser utilizados para <strong>la</strong> c<strong>la</strong>sificación <strong>de</strong> <strong>la</strong>s etapas <strong>de</strong> anestesia. En los reportes <strong>de</strong><br />
investigación re<strong>la</strong>cionados, es común que so<strong>la</strong>m<strong>en</strong>te una <strong>de</strong> <strong>la</strong>s medidas m<strong>en</strong>cionadas<br />
haya sido usada, <strong>de</strong>saprovechando con ello <strong>la</strong> posible complem<strong>en</strong>taridad <strong>de</strong> <strong>la</strong><br />
información. A manera <strong>de</strong> ejemplo, <strong>de</strong> <strong>la</strong> observación <strong>de</strong>l espectrograma <strong>de</strong>l EEG pue<strong>de</strong><br />
inferirse que no solo hay cambios <strong>de</strong> ancho <strong>de</strong> banda, sino <strong>de</strong> magnitud <strong>de</strong> <strong>la</strong> d<strong>en</strong>sidad<br />
espectral; es poco probable que un solo índice pueda capturar toda esta <strong>de</strong>scripción.
Por lo anterior, <strong>en</strong> este trabajo se propone <strong>la</strong> utilización <strong>de</strong> vectores <strong>de</strong> características<br />
espectrales para <strong>de</strong>scribir el curso anestésico y c<strong>la</strong>sificar sus etapas. Las características<br />
relevantes son elegidas como los bor<strong>de</strong>s espectrales 25, 50, 75 y 95, a<strong>de</strong>más <strong>de</strong> <strong>la</strong><br />
magnitud máxima <strong>de</strong> <strong>la</strong> d<strong>en</strong>sidad espectral, para v<strong>en</strong>tanas temporales <strong>de</strong> EEG. Los<br />
vectores <strong>de</strong> características son usados para construir un c<strong>la</strong>sificador no paramétrico<br />
basado <strong>en</strong> el mo<strong>de</strong>lo <strong>de</strong> red neuronal probabilística, el cual implem<strong>en</strong>ta un estimador<br />
Bayesiano <strong>de</strong> <strong>la</strong> probabilidad a posteriori utilizando un mo<strong>de</strong>lo <strong>de</strong> v<strong>en</strong>tanas <strong>de</strong> Parz<strong>en</strong><br />
con kernel Gaussiano [7].<br />
2. Metodología<br />
Datos. Cuatro sujetos sometidos a cirugías que no comprometieron <strong>la</strong> actividad<br />
cerebral, y a qui<strong>en</strong>es se les aplicó anestesia g<strong>en</strong>eral, fueron preparados para registro<br />
estándar (10-20) <strong>de</strong> EEG <strong>de</strong> 16 canales [6], previo cons<strong>en</strong>timi<strong>en</strong>to escrito. Todas <strong>la</strong>s<br />
señales fueron digitalizadas a 140 Hz con resolución <strong>de</strong> 16 bits. Simultáneam<strong>en</strong>te al<br />
registro, el anestesiólogo responsable anotó los tiempos <strong>en</strong> los cuales se iniciaron los<br />
sigui<strong>en</strong>tes ev<strong>en</strong>tos terapéuticos durante el curso <strong>de</strong> <strong>la</strong> anestesia: (i) administración <strong>de</strong><br />
f<strong>en</strong>tanyl, (ii) tiop<strong>en</strong>tal, (iii) pancuronio, y (iv) lidocaína, (v) intubación, y (vi)<br />
administración contínua <strong>de</strong> isofluorano por vía aérea. La duración total <strong>de</strong> cada<br />
registro varió <strong>en</strong>tre los 13 y 15 minutos. Para efectos <strong>de</strong>l pres<strong>en</strong>te trabajo, sólo <strong>la</strong><br />
<strong>de</strong>rivación Fpz (frontal c<strong>en</strong>tral) fue procesada y analizada.<br />
Pre-procesami<strong>en</strong>to. Cada registro fue dividido <strong>en</strong> v<strong>en</strong>tanas temporales <strong>de</strong> cinco<br />
segundos <strong>de</strong> duración, tras<strong>la</strong>padas un 10% <strong>de</strong> su longitud. Para <strong>la</strong> g<strong>en</strong>eración <strong>de</strong>l<br />
espectrograma, <strong>la</strong> transformada discreta <strong>de</strong> Fourier <strong>de</strong> cada v<strong>en</strong>tana fue calcu<strong>la</strong>da con<br />
1024 puntos, previa multiplicación por una v<strong>en</strong>tana <strong>de</strong> Hamming [8]. La distribución<br />
tiempo-frecu<strong>en</strong>cia así obt<strong>en</strong>ida fue suavizada mediante <strong>la</strong> aplicación <strong>de</strong> un filtro<br />
bidim<strong>en</strong>sional con v<strong>en</strong>tana promedio <strong>de</strong> 5 x 5 muestras. Para cada v<strong>en</strong>tana, <strong>la</strong><br />
pot<strong>en</strong>cia total fue calcu<strong>la</strong>da mediante integración trapezoidal acumu<strong>la</strong>tiva, y <strong>de</strong> aquí<br />
<strong>la</strong>s frecu<strong>en</strong>cias asociadas al 25, 50, 75 y 95% <strong>de</strong> <strong>la</strong> pot<strong>en</strong>cia total (bor<strong>de</strong>s espectrales)<br />
fueron id<strong>en</strong>tificadas. Asimismo, se <strong>de</strong>terminó <strong>la</strong> máxima d<strong>en</strong>sidad <strong>de</strong> pot<strong>en</strong>cia (<strong>en</strong><br />
dB) para cada v<strong>en</strong>tana. Todos los cálculos fueron realizados fuera <strong>de</strong> línea utilizando<br />
el programa Mat<strong>la</strong>b ver. 6.5.<br />
Vectores <strong>de</strong> Características. Cada v<strong>en</strong>tana <strong>de</strong>l espectrograma quedó repres<strong>en</strong>tada<br />
por un vector <strong>de</strong> cinco características: los cuatro bor<strong>de</strong>s espectrales y <strong>la</strong> d<strong>en</strong>sidad <strong>de</strong><br />
pot<strong>en</strong>cia máxima. Los vectores fueron ampliados con un compon<strong>en</strong>te unitario, <strong>en</strong><br />
preparación para el c<strong>la</strong>sificador según dictan los usos recom<strong>en</strong>dados [7]. Cada vector<br />
fue etiquetado, según el tiempo <strong>de</strong> ocurr<strong>en</strong>cia <strong>de</strong> su v<strong>en</strong>tana asociada y para efectos<br />
<strong>de</strong> <strong>la</strong> c<strong>la</strong>sificación supervisada, como miembro <strong>de</strong> una <strong>de</strong> tres c<strong>la</strong>ses: (i) basal, previo<br />
a <strong>la</strong> administración <strong>de</strong> f<strong>en</strong>tanyl, (ii) inducción, <strong>de</strong>s<strong>de</strong> <strong>la</strong> administración <strong>de</strong>l f<strong>en</strong>tanyl<br />
hasta <strong>la</strong> intubación, y (iii) mant<strong>en</strong>imi<strong>en</strong>to, durante <strong>la</strong> administración <strong>de</strong> isofluorano.<br />
C<strong>la</strong>sificador. La totalidad <strong>de</strong> los vectores <strong>de</strong> características fueron usados para<br />
<strong>en</strong>tr<strong>en</strong>ar y validar una red neuronal probabilística mediante un esquema <strong>de</strong> validación<br />
cruzada <strong>de</strong> cinco vías, con preval<strong>en</strong>cias constantes para cada c<strong>la</strong>se. El ancho <strong>de</strong>l
kernel, σ, se eligió d<strong>en</strong>tro <strong>de</strong>l rango que minimizó el error <strong>de</strong> c<strong>la</strong>sificación estimado.<br />
La implem<strong>en</strong>tación utilizada <strong>de</strong> <strong>la</strong> red probabilística provino <strong>de</strong>l C<strong>la</strong>ssification<br />
Toolbox para Mat<strong>la</strong>b [9].<br />
Fig. 2. (a) Espectrograma típico <strong>de</strong>l EEG trans-anestésico. Las líneas verticales punteadas<br />
indican los instantes <strong>de</strong> administración <strong>de</strong> fármacos para <strong>la</strong> inducción. Los trazos sobrepuestos al<br />
espectrograma indican (<strong>de</strong> arriba hacia abajo): bor<strong>de</strong> espectral al 25, 50, 75, y 95% <strong>de</strong> <strong>la</strong> pot<strong>en</strong>cia<br />
total. (b) Máxima d<strong>en</strong>sidad <strong>de</strong> pot<strong>en</strong>cia espectral por v<strong>en</strong>tana<br />
3. Resultados<br />
La Figura 2(a) muestra un espectrograma típico <strong>de</strong>l EEG trans-anestésico para un<br />
paci<strong>en</strong>te. Los tonos c<strong>la</strong>ros correspond<strong>en</strong> a d<strong>en</strong>sida<strong>de</strong>s <strong>de</strong> pot<strong>en</strong>cia más elevadas, así<br />
que se observa que <strong>la</strong> señal ti<strong>en</strong>e primordialm<strong>en</strong>te compon<strong>en</strong>tes <strong>de</strong> baja frecu<strong>en</strong>cia<br />
(nót<strong>en</strong>se, sin embargo, tanto <strong>la</strong> interfer<strong>en</strong>cia constante a 60 Hz como algunos<br />
artefactos alre<strong>de</strong>dor <strong>de</strong> los 600 s). Sin embargo, es evid<strong>en</strong>te que durante <strong>la</strong> fase basal<br />
el espectro <strong>de</strong>l EEG manti<strong>en</strong>e un ancho <strong>de</strong> banda más amplio <strong>en</strong> contraste con <strong>la</strong>s<br />
sigui<strong>en</strong>tes dos fases. Otra observación práctica sugiere que los bor<strong>de</strong>s espectrales se<br />
manti<strong>en</strong><strong>en</strong> más estables durante <strong>la</strong> porción final <strong>de</strong> <strong>la</strong> fase <strong>de</strong> inducción que durante<br />
<strong>la</strong>s otras dos. Más aún, como se observa <strong>en</strong> <strong>la</strong> Figura 2(b), <strong>la</strong> máxima d<strong>en</strong>sidad <strong>de</strong><br />
pot<strong>en</strong>cia es típicam<strong>en</strong>te m<strong>en</strong>or <strong>en</strong> <strong>la</strong> etapa basal.<br />
La Figura 3 muestra <strong>la</strong> curva <strong>de</strong> <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> <strong>la</strong> red neuronal probabilística,<br />
<strong>en</strong> términos <strong>de</strong>l error <strong>de</strong> c<strong>la</strong>sificación estimado por <strong>la</strong> validación cruzada <strong>de</strong> cinco<br />
vías, <strong>en</strong> función <strong>de</strong>l parámetro <strong>de</strong> ancho <strong>de</strong>l kernel Gaussiano, σ. Como era <strong>de</strong>
esperarse, dicho comportami<strong>en</strong>to pres<strong>en</strong>ta un rango <strong>de</strong> valores para el cual el error es<br />
mínimo, y d<strong>en</strong>tro <strong>de</strong>l cual pue<strong>de</strong> elegirse un valor <strong>de</strong> parámetro que provoque <strong>la</strong><br />
mayor capacidad <strong>de</strong> g<strong>en</strong>eralización <strong>de</strong> <strong>la</strong> red. Para el estudio reportado <strong>en</strong> este<br />
trabajo, <strong>la</strong> elección <strong>de</strong> parámetro fue σ opt = 0.0065.<br />
El <strong>de</strong>sempeño <strong>de</strong>l c<strong>la</strong>sificador diseñado se resume <strong>en</strong> <strong>la</strong>s Tab<strong>la</strong>s 1 y 2, don<strong>de</strong> se<br />
muestran <strong>la</strong>s matrices <strong>de</strong> confusión promedio para el caso <strong>de</strong>l conjunto <strong>de</strong><br />
Fig. 3. Diseño <strong>de</strong> <strong>la</strong> red neuronal probabilística. El error, estimado mediante<br />
validación cruzada <strong>de</strong> cinco vías, es s<strong>en</strong>sible al ancho <strong>de</strong>l kernel Gaussiano, σ .<br />
Tab<strong>la</strong> 1. Matriz <strong>de</strong> confusión para el conjunto <strong>de</strong> validación<br />
basal inducción mant<strong>en</strong>imi<strong>en</strong>to<br />
basal 1.0 0.0 0.0<br />
inducción 0.0 0.89 0.11<br />
mant<strong>en</strong>imi<strong>en</strong>to 0.1 0.1 0.8<br />
Tab<strong>la</strong> 2. Matriz <strong>de</strong> confusión para el total <strong>de</strong> observaciones<br />
basal inducción mant<strong>en</strong>imi<strong>en</strong>to<br />
basal 1.0 0.0 0.0<br />
inducción 0.0 0.91 0.09<br />
mant<strong>en</strong>imi<strong>en</strong>to 0.02 0.03 0.95
validación y para el total <strong>de</strong> los datos (<strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to más validación),<br />
respectivam<strong>en</strong>te. Se resalta el hecho <strong>de</strong> que <strong>la</strong> id<strong>en</strong>tificación <strong>de</strong> <strong>la</strong> fase basal se realiza<br />
sin errores, mi<strong>en</strong>tras que <strong>la</strong>s fases <strong>de</strong> inducción y mant<strong>en</strong>imi<strong>en</strong>to se confund<strong>en</strong> <strong>en</strong><br />
aproximadam<strong>en</strong>te el 10% <strong>de</strong> los casos.<br />
4. Conclusiones<br />
Se ha pres<strong>en</strong>tado una alternativa <strong>de</strong> solución al problema <strong>de</strong> <strong>la</strong> valoración <strong>de</strong> <strong>la</strong><br />
profundidad anestésica mediante <strong>la</strong> c<strong>la</strong>sificación no paramétrica <strong>de</strong> características<br />
espectrales <strong>de</strong>rivadas <strong>de</strong>l espectrograma <strong>de</strong>l EEG frontal monocanal. A difer<strong>en</strong>cia <strong>de</strong> <strong>la</strong>s<br />
alternativas exist<strong>en</strong>tes actualm<strong>en</strong>te, que soportan <strong>la</strong> <strong>de</strong>cisión <strong>en</strong> un solo índice como el<br />
bor<strong>de</strong> espectral 95, el índice biespectral o el compon<strong>en</strong>te fractal instantáneo, <strong>la</strong><br />
propuesta consi<strong>de</strong>ra vectores <strong>de</strong> características para repres<strong>en</strong>tar <strong>la</strong> d<strong>en</strong>sidad espectral <strong>de</strong><br />
v<strong>en</strong>tanas temporales consecutivas y tras<strong>la</strong>padas.<br />
La inclusión <strong>de</strong> cuatro bor<strong>de</strong>s espectrales, así como <strong>de</strong>l valor <strong>de</strong> <strong>la</strong> máxima d<strong>en</strong>sidad<br />
<strong>de</strong> pot<strong>en</strong>cia <strong>en</strong> cada v<strong>en</strong>tana, permite <strong>de</strong>scribir con mayor <strong>de</strong>talle el cont<strong>en</strong>ido espectral<br />
<strong>de</strong>l EEG durante el curso anestésico, usando sin embargo un número bajo <strong>de</strong><br />
parámetros. En consecu<strong>en</strong>cia, se logra un elevado porc<strong>en</strong>taje <strong>de</strong> acierto <strong>en</strong> <strong>la</strong><br />
id<strong>en</strong>tificación <strong>de</strong> <strong>la</strong>s etapas <strong>de</strong> profundidad mediante una red neuronal probabilística. La<br />
posibilidad <strong>de</strong> <strong>la</strong> aplicación directa <strong>de</strong> este c<strong>la</strong>sificador sobre una nueva v<strong>en</strong>tana <strong>de</strong> datos<br />
no vistos anteriorm<strong>en</strong>te, y su efici<strong>en</strong>cia <strong>de</strong> c<strong>la</strong>sificación <strong>en</strong> registros <strong>de</strong> un solo canal,<br />
hace atractivo al procedimi<strong>en</strong>to para una implem<strong>en</strong>tación <strong>en</strong> cuasi-tiempo real.<br />
Refer<strong>en</strong>cias<br />
[1] Warr<strong>en</strong> L.J., Shapiro-Harvey M., Maruchak G., Meathe E., “Automated EEG Processing for<br />
Intraoperative Monitoring”, Anesthesiology, 53:223–236, 1980<br />
[2] Rampil I.J., “A Primer for EEG Signal Processing in Anesthesia”, Anesthesiology,<br />
89:980-1002, 1998<br />
[3] Schw<strong>en</strong><strong>de</strong>r D., Daun<strong>de</strong>rer M., Mulzer S., K<strong>la</strong>sing S., Finsterer U., Peter K., “Spectral Edge<br />
Frequ<strong>en</strong>cy of the Electro<strong>en</strong>cephalogram to Monitor Depth of Anaesthesia with Isoflurane or<br />
Propofol”, Br. J. Anaesthesia, 77:179–184, 1996<br />
[4] Schraag S., Bothner U., “The Performance of Electro<strong>en</strong>cephalogram Bispectral In<strong>de</strong>x and<br />
Auditory Evoked Pot<strong>en</strong>tial In<strong>de</strong>x to Predict Loss of Conciousness during Propofol Infusion”,<br />
Anaesth. Analg., 89:1311-1315, 1999<br />
[5] Huang J.W., Lu Y., Nayak A., Roy R.J., “Depth of Anesthesia Estimation and Control”,<br />
IEEE Trans. BME, 46:71-81, 1999<br />
[6] Andaluz-Suárez M., Evaluación <strong>de</strong> <strong>la</strong> Profundidad Anestésica mediante el Análisis Tiempofrecu<strong>en</strong>cia<br />
<strong>de</strong>l Electro<strong>en</strong>cefalograma, tesis <strong>de</strong> Maestria, Posgrado <strong>en</strong> Ing<strong>en</strong>iería Biomédica,<br />
Junio 2004.<br />
[7] Duda R.O., Hart P.E., Stork D.G., Pattern C<strong>la</strong>ssification, 2nd ed., Wiley, 2000<br />
[8] Opp<strong>en</strong>heim A., Schafer R., Discrete Time Signal Processing, 3rd ed., Morgan Kaufman,<br />
1996<br />
[9] Stork D.G., Yom-Tov E., Computer Manual in MATLAB to accompany Pattern<br />
C<strong>la</strong>ssification, Wiley, 2004
'LJLWDO,PDJH3URFHVVLQJRI)XQFWLRQDO0DJQHWLF<br />
5HVRQDQFH,PDJHVWR,GHQWLI\6WHUHRVHQVLWLYH&RUWLFDO<br />
5HJLRQV8VLQJD*OREDO6WHUHR6WLPXOXV<br />
Héctor-Gabriel Acosta-Mesa 1 ,Nicandro Cruz-Ramírez 1 , John Frisby 2 ,<br />
Ying Zh<strong>en</strong>g 2 , David Buckley 3 , Janet Morris 3 , and John Mayhew 2<br />
1 Faculty of Physics and Artificial Intellig<strong>en</strong>ce, Departm<strong>en</strong>t of Artificial Intellig<strong>en</strong>ce,<br />
University of Veracruz, Sebastián Camacho # 5, 91000, Xa<strong>la</strong>pa, Ver. México.<br />
^KHDFRVWDQFUX]`#XYP[<br />
2 Artificial Intellig<strong>en</strong>ce Vision Research Unit, Departm<strong>en</strong>t of Psychology,<br />
University of Sheffield, Western Bank, S10 2TP, Sheffield, UK.<br />
^MHPD\KHZMSIULVE\\LQJ]KHQJ`#VKHIILHOGDFXN<br />
3 Section of Aca<strong>de</strong>mic Radiology, Royal Hal<strong>la</strong>mshire Hospital,<br />
University of Sheffield, Glossop Road, S10 2JF, Sheffield, UK.<br />
GEXFNOH\#VKHIILHOGDFXNMDQHWPRUULV#VWKQKVXN<br />
$EVWUDFW Functional magnetic resonance images (fMRI) were analyzed using digital image<br />
processing techniques to investigate the cortical regions involved in stereoscopic vision using<br />
red/gre<strong>en</strong> anaglyphs to pres<strong>en</strong>t random dot stereograms. In the experim<strong>en</strong>t the subjects were<br />
instructed to follow the path of a square <strong>de</strong>fined by <strong>de</strong>pth and moving in the horizontal p<strong>la</strong>ne<br />
contrasted with a simi<strong>la</strong>r sized square <strong>de</strong>fined by a slight differ<strong>en</strong>ce in luminance. Three main<br />
regions were id<strong>en</strong>tified V3A, V3B and BA7. In agreem<strong>en</strong>t with other fMRI studies, our results<br />
suggests that areas V3A and BA7 (precuneus) are involved in stereo disparity processing. We<br />
hypothesise that the activation of the V3B region was produced by the second or<strong>de</strong>r motion<br />
compon<strong>en</strong>t induced by the spatio-temporal changes in disparity (stereoscopic motion). We found<br />
no evid<strong>en</strong>ce for the involvem<strong>en</strong>t of the V5 area in the processing of stereoscopic stimuli.<br />
.H\ÃZRUGV neuroimaging, physiological signals, digital image processing, functional magnetic<br />
resonance imaging, stereo vision.<br />
5HVXPHQ Imág<strong>en</strong>es <strong>de</strong> resonancia magnética funcional (fMRI) fueron analizadas usando<br />
técnicas <strong>de</strong> procesami<strong>en</strong>to digital <strong>de</strong> imág<strong>en</strong>es para investigar <strong>la</strong>s regiones <strong>de</strong>l cerebro<br />
involucradas <strong>en</strong> visión estereoscópica. Los estímulos estereoscópicos fueron g<strong>en</strong>erados<br />
utilizando estereogramas anáglifos rojo/ver<strong>de</strong> <strong>de</strong> puntos aleatorios. En el experim<strong>en</strong>to los sujetos<br />
fueron instruidos para seguir visualm<strong>en</strong>te <strong>la</strong> ruta <strong>de</strong> un cuadrado <strong>de</strong>finido por profundidad<br />
<strong>de</strong>sp<strong>la</strong>zándose <strong>en</strong> el p<strong>la</strong>no horizontal. Como contraste se utilizo una condición <strong>en</strong> <strong>la</strong> que el<br />
cuadrado fue <strong>de</strong>finido por luminosidad. Tres regiones fueron id<strong>en</strong>tificadas: V3A, V3B y BA7.<br />
En concordancia con otros estudios simi<strong>la</strong>res, nuestros resultados sugier<strong>en</strong> que <strong>la</strong>s regiones V3A<br />
y BA7 (precuneus) están involucradas <strong>en</strong> el procesami<strong>en</strong>to <strong>de</strong> disparida<strong>de</strong>s estereoscópicas.<br />
Nuestra hipótesis es que <strong>la</strong> activación <strong>de</strong> <strong>la</strong> región V3B fue producida por <strong>la</strong> compon<strong>en</strong>te <strong>de</strong><br />
movimi<strong>en</strong>to <strong>de</strong> segundo ord<strong>en</strong> inducida por los cambios espacio-temporales <strong>en</strong> <strong>la</strong>s disparida<strong>de</strong>s<br />
(movimi<strong>en</strong>to estereoscoópico). No se <strong>en</strong>contró evid<strong>en</strong>cia <strong>de</strong> que el área V5 reaccione ante el<br />
estímulo estereoscópico.
1. Introduction<br />
Although many psychophysical studies have investigated how the human brain<br />
computes stereoscopic information, it is uncertain which cortical areas are involved in<br />
its implem<strong>en</strong>tation. Some electrophysiological studies in monkeys report the<br />
s<strong>en</strong>sitivity of V1 to absolute disparities, suggesting that this area could be a preliminary<br />
stage of processing for stereo information [1]. MT/V5 in monkeys shows a columnar<br />
organisation tuned for disparity [2]. MT/V5 in human brains has be<strong>en</strong> wi<strong>de</strong>ly reported<br />
as a motion s<strong>en</strong>sitive area [3]. Giv<strong>en</strong> the simi<strong>la</strong>rity betwe<strong>en</strong> the visual system of the<br />
monkey and the human, it is possible that V5 in human brains is involved in the<br />
processing of stereo information. Rec<strong>en</strong>tly, mo<strong>de</strong>rn non-invasive neuroimaging<br />
techniques, eg PET and fMRI, have be<strong>en</strong> used to explore the functional anatomy of<br />
stereoscopic vision in humans. The results of these studies suggest that stereo disparity<br />
processing maybe wi<strong>de</strong>spread over a network of cortical regions in the occipital and<br />
parietal lobes, including V1, V2, V3, V3A, V3B, [4]. However there is no g<strong>en</strong>eral<br />
agreem<strong>en</strong>t about the cortical regions selective to stereo disparities or the specific role<br />
that each of these has in the perception of <strong>de</strong>pth [6]. The main goal of the pres<strong>en</strong>t study<br />
was to process functional magnetic resonance images to investigate the cortical regions<br />
s<strong>en</strong>sitive to stereo disparities using a stereo stimulus that avoids adaptation and at the<br />
same time maximises the att<strong>en</strong>tional <strong>de</strong>mands. Un<strong>de</strong>r this principle, one experim<strong>en</strong>t<br />
was <strong>de</strong>veloped using functional magnetic resonance imaging to id<strong>en</strong>tify stereo s<strong>en</strong>sitive<br />
regions stimu<strong>la</strong>ted by random dot anaglyph stereograms.<br />
2. Materials and methods<br />
T<strong>en</strong> healthy subjects, nine right-han<strong>de</strong>d and one left-han<strong>de</strong>d volunteers (7 female, 3<br />
male) aged from 20 to 30 years participated in the experim<strong>en</strong>t. All subjects gave<br />
informed writt<strong>en</strong> cons<strong>en</strong>t. The stereo acuity of the subjects was measured using a stereo<br />
vision test (RANDOT SO-002), all of them were below 40 sec of arc. The subjects<br />
were giv<strong>en</strong> a preliminary practice session outsi<strong>de</strong> the magnet to become familiar with<br />
the visual stimu<strong>la</strong>tion. Stimulus pres<strong>en</strong>tation: Subjects <strong>la</strong>y on their backs in the magnet.<br />
They wore red/gre<strong>en</strong> anaglyph g<strong>la</strong>sses and looked via a mirror angled at ~45o from<br />
their visual axes at a back illuminated scre<strong>en</strong> located just outsi<strong>de</strong> the magnet. The<br />
viewing distance was 2.4 m. Stimuli were projected on to the scre<strong>en</strong> using an EPSON<br />
(EMP-7300) projector driv<strong>en</strong> by a 3G Mac running Psychophysics Tool Box ver. 2.44<br />
un<strong>de</strong>r MATLAB ver. 5.3. Although the stimuli were disp<strong>la</strong>yed at a vi<strong>de</strong>o frame rate of<br />
60 Hz, the image was only updated on every 10th frame, producing an effective frame<br />
rate of 6 Hz. Data acqui<strong>sitio</strong>n and analysis: Subjects were scanned in a 1.5 T wholebody<br />
MRI scanner (Eclips Marconi) with BOLD contrast echo p<strong>la</strong>nar imaging (TR=3s,<br />
TE=40 ms, 128 x128 voxel, voxel size 1.875 x 1.875 x 4 mm.). Thirty two slices<br />
covering the whole brain were acquired. The data was pre-processed and analysed<br />
using SPM99 (Welcome Departm<strong>en</strong>t of Cognitive Neurology). The first five scans of<br />
each run were discar<strong>de</strong>d to exclu<strong>de</strong> magnet saturation artefacts.
All volumes were slice timed, motion corrected and normalised in the MNI<br />
(Montreal Neurological Institute) stereotaxic space. The data were smoothed using a 6<br />
mm FWHM (full width at half maximum) isotropic Gaussian kernel. Data analysis<br />
was performed using a boxcar <strong>de</strong>sign matrix of the differ<strong>en</strong>t conditions convolved with<br />
the hemodynamic response function. Specific effects were tested by applying the<br />
corresponding linear contrast to the parameters obtained applying G<strong>en</strong>eral Linear<br />
Mo<strong>de</strong>l (GLM) using the <strong>de</strong>sign matrix [7].<br />
3. Global stereo tracking experim<strong>en</strong>t<br />
This experim<strong>en</strong>t was <strong>de</strong>signed to activate stereo s<strong>en</strong>sitive regions by requiring the<br />
subjects to perform a task of global stereo tracking (GST). Random dot stereograms<br />
were used to <strong>de</strong>fine a square region moving horizontally in front of the background<br />
from left to right and vice versa. The subjects were instructed to perform pursuit eye<br />
movem<strong>en</strong>t to follow the path of the square with their eyes. The performance of the task<br />
<strong>de</strong>p<strong>en</strong><strong>de</strong>d on the maint<strong>en</strong>ance of the perception of <strong>de</strong>pth <strong>de</strong>fined by stereo disparities.<br />
Experim<strong>en</strong>t <strong>de</strong>sign: Subjects were giv<strong>en</strong> a sequ<strong>en</strong>ce of 4 scans (sequ<strong>en</strong>ces) each<br />
<strong>la</strong>sting 5.15 min. (10 epoch) with a 5 min. interscan interval to permit subjects to rest.<br />
One hundred image volumes were obtained in each sequ<strong>en</strong>ce. Each condition <strong>la</strong>sted<br />
30s. giving 10 multislice volumes per condition (TR=3s.). Each scan consisted in<br />
alternating epochs in a boxcar configuration. A dummy condition of a b<strong>la</strong>nk scre<strong>en</strong> was<br />
pres<strong>en</strong>ted during the first 15s. (5 scans) of each run which were exclu<strong>de</strong>d to control for<br />
magnetic saturation effects. The disp<strong>la</strong>y contained 1,024 dots (with radius 0.1 <strong>de</strong>g. and<br />
zero disparity) distributed over the scre<strong>en</strong> (mean dot d<strong>en</strong>sity 1.5 dot <strong>de</strong>g-2). The<br />
subjects were instructed to fixate on the right superior corner of a square (5.23 <strong>de</strong>g.<br />
si<strong>de</strong> long) moving <strong>la</strong>terally across the scre<strong>en</strong> (13 <strong>de</strong>g. field of view). The square was<br />
moved from left to right and vice versa at a constant speed (2.19 <strong>de</strong>g.sec-1), each time<br />
that the square reached one edge of the scre<strong>en</strong> it changed its direction. Dynamic<br />
random noise was used in or<strong>de</strong>r to remove any motion cues introduced by the change in<br />
disparity [5]. Two modalities were used to <strong>de</strong>fine the square, each one repres<strong>en</strong>ting an<br />
experim<strong>en</strong>tal condition:<br />
a). Two dim<strong>en</strong>sional tracking (2D): The square was luminance <strong>de</strong>fined, its<br />
luminance (8.56 cd/m2) was lower than the background (18 cd/m2). This condition was<br />
used as a base line. b). Three dim<strong>en</strong>sional tracking (3D): The square was <strong>de</strong>pth <strong>de</strong>fined<br />
(red/gre<strong>en</strong> anaglyph stereogram), pres<strong>en</strong>ted 0.3 <strong>de</strong>g at the front of the background<br />
(zero disparity). The square moved horizontally in the p<strong>la</strong>ne X/Y, not in p<strong>la</strong>ne Z<br />
(motion in <strong>de</strong>pth). Stereo-s<strong>en</strong>sitive regions were id<strong>en</strong>tified by comparing the activation<br />
during the 2D control condition with the neural activity during the 3D stereo tracking<br />
condition. Although we could not track the eye movem<strong>en</strong>ts to monitor the subject’s<br />
performance of the task, we have no reason to believe that there was any differ<strong>en</strong>ce<br />
betwe<strong>en</strong> them in the two experim<strong>en</strong>tal conditions.
4 Results<br />
Stereo-s<strong>en</strong>sitive regions were id<strong>en</strong>tified using a contrast that compared the<br />
activation produced by the moving square <strong>de</strong>fined by <strong>de</strong>pth with that produced by the<br />
moving square <strong>de</strong>fined by luminance. The results show consist<strong>en</strong>t activation in areas<br />
V3A, V3B and parietal cortex. Area V3A in the right hemisphere was activated by<br />
<strong>de</strong>pth in 7 of the 10 subjects. In two of these subjects there was bi<strong>la</strong>teral activation.<br />
Area V3B in the right hemisphere was activated in 8 of the 10 subjects. In five of these<br />
there was bi<strong>la</strong>teral activation. One subject showed activation only in left V3B. Area<br />
BA7 (precuneus) in the right hemisphere was activated in 3 of the 10 subjects. Two<br />
subjects had left hemisphere activation. There was no bi<strong>la</strong>teral activation. Activation in<br />
the right superior parietal area was found in 2 other subjects. Figure 1 shows results<br />
from a repres<strong>en</strong>tative subject, Tables I and II show the Montreal Neurological Institute<br />
(MNI) coordinates of regions of activation for all the subjects and the associated<br />
confid<strong>en</strong>ce levels. We did not use a group analysis (random effects) due to the small<br />
number of subjects. It is important to c<strong>la</strong>rify that reversing the contrast revealed no<br />
across subject consist<strong>en</strong>t regions in which the activations of the 2D tracking condition<br />
were greater than the 3D stereo tracking (data not shown).<br />
Ã<br />
)LJXUHÃ Depth against Luminance. The statistical map shows the areas<br />
s<strong>en</strong>sitive to stereoscopic information. The activation inclu<strong>de</strong>s V3A, V3,<br />
precuneus (BA7) and superior parietal regions.<br />
Results of previous fMRI studies of eye movem<strong>en</strong>ts have suggested the<br />
involvem<strong>en</strong>t of parietal areas in the control of pursuit and saccadic eye movem<strong>en</strong>ts [8].<br />
None report the involvem<strong>en</strong>t of V3A and V3B regions. In this study, <strong>de</strong>spite the<br />
control in which the eye-tracking compon<strong>en</strong>t was id<strong>en</strong>tical in the two conditions, we<br />
find an increased activation in the parietal cortex in the stereo tracking task in several<br />
of the subjects. This suggests some involvem<strong>en</strong>t of the parietal region in stereoprocessing<br />
per se in<strong>de</strong>p<strong>en</strong>d<strong>en</strong>t of eye movem<strong>en</strong>ts. This was examined improved in a<br />
second experim<strong>en</strong>t (not reported here).
5. Conclusions and Future Work<br />
The results of our experim<strong>en</strong>t reveal three main regions s<strong>en</strong>sitive to stereoscopic<br />
<strong>de</strong>pth: V3A, V3B and precuneus. In contrast to the evid<strong>en</strong>ce from physiological<br />
experim<strong>en</strong>ts in monkey [2] we did not find evid<strong>en</strong>ce that V5 was involved in the<br />
processing of stereoscopic information.<br />
6XEMHFWÃ /RFDWLRQÃ =6FRUHÃ 3ÃFRUUHFWHGÃ &OXVWHUÃVL]HÃ<br />
1R 32, -96, 16 5.65 0.002 21<br />
2R 30, -92, 24 6.20 0.000 16<br />
3R 28, -88, 16 5.09 0.029 3<br />
4 R 34, -94, 16 5.62 0.003 4<br />
7R 34, -92, 22 6.25 0.000 8<br />
8R 36, -86, 16 (Inf) 0.000 45<br />
8L -28, -96, 16 (Inf) 0.000 62<br />
10R 32, -94, 16 (Inf) 0.000 116<br />
10L -28, -98, 14 (Inf) 0.000 546<br />
<br />
7DEOHÃ,ÃStereo s<strong>en</strong>sitive region: V3A.The alphanumeric symbols in the first column refer<br />
to right and left hemispheres of the subject, for example, the left and right hemispheres of<br />
subject 1 are giv<strong>en</strong> as 1R and 1L respectively. Subjects or hemispheres not inclu<strong>de</strong>d in a<br />
particu<strong>la</strong>r table means that no significant activation was found.<br />
6XEMHFWÃ /RFDWLRQÃ =6FRUHÃ 3ÃFRUUHFWHGÃ &OXVWHUÃVL]HÃ<br />
1R 34, -84, -6 6.25 0.000 36<br />
1L -26, -94, 2 5.80 0.001 25<br />
2R 40, -88, -4 6.98 0.000 38<br />
3R 38, -88, -4 5.29 0.011 6<br />
3L -28, -96,-10 5.54 0.003 4<br />
4 R 40, -88, 0 5.81 0.001 16<br />
6 R 28, -104, 2 7.03 0.000 93<br />
7 R 36, -92, 0 (Inf) 0.000 105<br />
7L -28, -102, 2 (Inf) 0.000 37<br />
8R 36, -92, 4 (Inf) 0.000 35<br />
8L -26, -100, 6 (Inf) 0.000 176<br />
9 L -28,-100, -2 4.54 0.000 51<br />
10R 38, -90, 2 5.88 0.000 3<br />
10L -28, -100, 2 7.84 0.000 7<br />
Ã<br />
7DEOHÃ,,ÃStereo s<strong>en</strong>sitive region: V3B.
Consist<strong>en</strong>t with the results of other studies, we find evid<strong>en</strong>ce that V3A and<br />
precuneus (BA7) showed s<strong>en</strong>sitivity to stereo disparities [4,6,13]. It is unlikely that<br />
these activations are due either to differ<strong>en</strong>t patterns of eye movem<strong>en</strong>ts or to stronger<br />
att<strong>en</strong>tional <strong>en</strong>gagem<strong>en</strong>t because the control condition provi<strong>de</strong>d id<strong>en</strong>tical requirem<strong>en</strong>ts<br />
for these parameters and simi<strong>la</strong>r areas of activation were found in a second experim<strong>en</strong>t<br />
(not yet published) in which no eye movem<strong>en</strong>ts were required to perform the task. Our<br />
results suggest a network involving the cortical areas V3A, V3B and precuneus in the<br />
processing of stereo disparities. The high proportion of activations located in the right<br />
hemisphere supports the notion of right cerebral dominance in stereo vision [9].<br />
Contrary to the results reported in studies with monkeys, our experim<strong>en</strong>ts did not<br />
reveal any evid<strong>en</strong>ce of the s<strong>en</strong>sitivity of V5 to stereo disparity processing. Our results<br />
also showed a region in with functional profile and anatomical location which matched<br />
the V3B region. We have suggested that this region was activated by stereoscopic<br />
motion compon<strong>en</strong>t of the dynamic tasks used. Although the task used in the experim<strong>en</strong>t<br />
produced motion of spatio-temporal changes of shapes <strong>de</strong>fined by disparity, this was<br />
not <strong>de</strong>signed specifically to optimally produce disparity based second or<strong>de</strong>r motion.<br />
The objective of our study was to investigate the cortical areas selective to stereoscopic<br />
information, and an experim<strong>en</strong>t <strong>de</strong>signed to test the hypothesis of the selectivity of the<br />
V3B region to stereoscopic motion is for future work.<br />
6. Refer<strong>en</strong>ces<br />
[1] B. G. Cumming and A. J. Parker, "Binocu<strong>la</strong>r neurons in V1 of awake monkeys are<br />
selective for absolute, not re<strong>la</strong>tive, disparity," J Neurosci, vol. 19, pp. 5602-18., 1999.<br />
[2] G. C. DeAngelis and W. T. Newsome, "Organization of disparity-selective neurons in<br />
macaque area MT," J Neurosci, vol. 19, pp. 1398-415., 1999.<br />
[3] R. B. Tootell, J. D. M<strong>en</strong>do<strong>la</strong>, N. K. Hadjikhani, P. J. Ledd<strong>en</strong>, A. K. Liu, J. B. Reppas,<br />
M. I. Ser<strong>en</strong>o, and A. M. Dale, "Functional analysis of V3A and re<strong>la</strong>ted areas in human visual<br />
cortex," J Neurosci, vol. 17, pp. 7060-78., 1997.<br />
[4] B. Gulyas and P. E. Ro<strong>la</strong>nd, "Binocu<strong>la</strong>r disparity discrimination in human cerebral<br />
cortex: Functional anatomy by positron emission tomography.," Proc. Natl. Acad. Sci. USA<br />
(Nuerobiology), vol. 91, pp. 1239-1243, 1993.<br />
[5] A. Hanazawa, R. Kawashima, K. Nakamura, Y. Sato, M. Surgiura, J. Watanabe, K.<br />
Sato, Y. Maeda, K. Matsue, and H. Fukuda, "The human posterior parietal cortex participates in<br />
stereoscopic <strong>de</strong>pth perception. A fMRI study.," NeuroImage (poster), vol. 11, 2000.<br />
[6] R. D. Freeman, "Stereoscopic vision: Which parts of the brain are involved?," Curr<br />
Biol, vol. 9, pp. R610-3., 1999.<br />
[7] K. J. Friston, H. A. P., W. K. J., P. J. P., F. C. D., and F. R. S. J., "Statistical parametric<br />
maps in functional imaging: A g<strong>en</strong>eral linear approach.," Human Brain Mapping., vol. 2, pp.<br />
189-210, 1995.<br />
[8] M. Corbetta, E. Akbudak, T. E. Conturo, A. Z. Sny<strong>de</strong>r, J. M. Ollinger, H. A. Drury, M.<br />
R. Lin<strong>en</strong>weber, S. E. Peters<strong>en</strong>, M. E. Raichle, D. C. Van Ess<strong>en</strong>, and G. L. Shulman, "A common<br />
network of functional areas for att<strong>en</strong>tion and eye movem<strong>en</strong>ts," Neuron, vol. 21, pp. 761-73.,<br />
1998.<br />
[9] I. P. Howard and B. Rogers, "Binocu<strong>la</strong>r vision and stereopsis.," Oxford University<br />
press., 1995.
Diseño <strong>de</strong> una Sa<strong>la</strong> Virtual <strong>de</strong> Rayos X con Aplicaciones<br />
<strong>en</strong> Seguridad Radiológica<br />
Bustos M<strong>en</strong>doza Cesar Rogelio, García Ruiz Miguel Ángel, López Rosas D<strong>en</strong>isse<br />
Margarita, Hernán<strong>de</strong>z García Leopoldo<br />
Universidad <strong>de</strong> Colima, Laboratorio <strong>de</strong> Realidad Virtual (CEUPROMED). Av.<br />
Universidad # 333, C.P. 28040, Colima, Colima, México. Tel./fax (312)3161093<br />
cbustos@ucol.mx, mgarcia@ucol.mx,<br />
<strong>de</strong>ssined@hotmail.com,diabl170_net@hotmail.com<br />
Abstract. This paper <strong>de</strong>scribes the <strong>de</strong>sign of a virtual mo<strong>de</strong>l of an X-ray room, created with the<br />
mo<strong>de</strong>ling software AC3D, with the purpose to offer a virtual learning <strong>en</strong>vironm<strong>en</strong>t about<br />
radiology safety teaching in hospitals, to b<strong>en</strong>efit medical teams and other health personal who<br />
are exposed to radiation in a X-ray room. This virtual mo<strong>de</strong>l is programmed using standard<br />
<strong>la</strong>nguage VRML to simu<strong>la</strong>te radiation fields, and warns people not to <strong>en</strong>ter the room wh<strong>en</strong> X-<br />
rays are tak<strong>en</strong>. We p<strong>la</strong>n to use this mo<strong>de</strong>l in teaching programs at the University of Colima’s<br />
Virtual Reality <strong>la</strong>boratory, with the objective to get a better immersion effect and<br />
compreh<strong>en</strong>sion of the virtual mo<strong>de</strong>l.<br />
Resum<strong>en</strong>. El pres<strong>en</strong>te trabajo <strong>de</strong>scribe el diseño <strong>de</strong> un mo<strong>de</strong>lo virtual <strong>de</strong> una sa<strong>la</strong> <strong>de</strong> rayos X,<br />
<strong>de</strong>sarrol<strong>la</strong>do con el programa <strong>de</strong> mo<strong>de</strong><strong>la</strong>do AC3D, para proponer un espacio virtual <strong>de</strong><br />
<strong>en</strong>señanza sobre temas <strong>de</strong> seguridad radiológica <strong>en</strong> clínicas y hospitales locales para personal<br />
médico y otro personal <strong>de</strong>l área <strong>de</strong> <strong>la</strong> salud que sea expuesto a radiación d<strong>en</strong>tro <strong>de</strong> una sa<strong>la</strong>. El<br />
mo<strong>de</strong>lo virtual se programa <strong>en</strong> VRML para simu<strong>la</strong>r <strong>la</strong> pres<strong>en</strong>cia <strong>de</strong> campos <strong>de</strong> radiación y<br />
evitar que personal no autorizado <strong>en</strong>tre a <strong>la</strong> sa<strong>la</strong>. Se propone a futuro incluir el uso <strong>de</strong>l mo<strong>de</strong>lo<br />
<strong>en</strong> programas <strong>de</strong> <strong>en</strong>señanza <strong>de</strong> radiología como medio didáctico, utilizando los recursos <strong>de</strong>l<br />
Laboratorio <strong>de</strong> Realidad Virtual <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong> Colima con el objetivo <strong>de</strong> alcanzar un<br />
grado mayor <strong>de</strong> inmersión y compr<strong>en</strong>sión.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve: Ambi<strong>en</strong>tes virtuales, Mo<strong>de</strong><strong>la</strong>do <strong>en</strong> 3D, Sa<strong>la</strong> <strong>de</strong> Rayos-X,<br />
Radiología.<br />
1. Introducción<br />
Las sa<strong>la</strong>s <strong>de</strong> rayos-X <strong>de</strong> los gran<strong>de</strong>s hospitales o <strong>de</strong> gabinetes pequeños son lugares<br />
especializados don<strong>de</strong> acu<strong>de</strong> personal medico, técnico y público <strong>en</strong> g<strong>en</strong>eral con el<br />
propósito <strong>de</strong> obt<strong>en</strong>er p<strong>la</strong>cas auxiliares <strong>en</strong> el diagnostico <strong>de</strong> paci<strong>en</strong>tes con diversas<br />
patologías como neumonía, tumores, artritis y principalm<strong>en</strong>te <strong>en</strong> el caso <strong>de</strong> lesiones<br />
óseas como <strong>la</strong>s fracturas es <strong>de</strong>cir, <strong>en</strong> g<strong>en</strong>eral, este tipo <strong>de</strong> sa<strong>la</strong>s permit<strong>en</strong> <strong>la</strong><br />
visualización indirecta <strong>de</strong> estructuras internas [1].<br />
Dado <strong>la</strong>s características <strong>de</strong> estas sa<strong>la</strong>s se requiere infraestructura especifica y a<strong>de</strong>más<br />
<strong>de</strong>berán están provistas <strong>de</strong> blindaje especial, áreas especificas para reve<strong>la</strong>do y
diagnostico y equipo médico sofisticado, lo que hace <strong>de</strong> estos lugares, <strong>sitio</strong>s riesgosos,<br />
don<strong>de</strong> participan difer<strong>en</strong>tes especialistas que constantem<strong>en</strong>te se expon<strong>en</strong> a <strong>la</strong><br />
radiación por lo cual son necesarias medidas prev<strong>en</strong>tivas basadas <strong>en</strong> regu<strong>la</strong>ciones<br />
oficiales según <strong>la</strong> normatividad vig<strong>en</strong>te <strong>en</strong> nuestro país y que necesitan ser difundidas<br />
y constantem<strong>en</strong>te reforzadas <strong>en</strong>tre el personal hospita<strong>la</strong>rio.<br />
En el Hospital Regional Universitario <strong>de</strong> Colima, el personal <strong>la</strong>bora <strong>en</strong> 3 turnos<br />
difer<strong>en</strong>tes, <strong>la</strong> protección se realiza con mandil y guantes especiales que se utilizan<br />
durante <strong>la</strong> aplicación <strong>de</strong> los rayos-X, y principalm<strong>en</strong>te durante <strong>la</strong> fluoroscopia, que se<br />
<strong>de</strong>fine como una técnica que combina una fu<strong>en</strong>te <strong>de</strong> rayos-X y una pantal<strong>la</strong><br />
fluoresc<strong>en</strong>te para facilitar <strong>la</strong> observación directa <strong>de</strong> órganos o estructuras [1], <strong>la</strong><br />
distancia a <strong>la</strong> que se localizan los usuarios cuando aplican radiación, es variable según<br />
el procedimi<strong>en</strong>to y el tiempo <strong>de</strong> exposición a que se somete personal, también es<br />
variable pero se increm<strong>en</strong>ta con el uso <strong>de</strong> <strong>la</strong> fluoroscopia y es cuando <strong>la</strong> protección es<br />
mas necesaria. El acceso a <strong>la</strong> sa<strong>la</strong> es restringido <strong>de</strong> manera parcial y eso produce<br />
riesgos <strong>en</strong> el personal, a<strong>de</strong>más <strong>en</strong> varias ocasiones no se indica con <strong>la</strong> luz roja que se<br />
están haci<strong>en</strong>do estudios utilizando radiación y que por consigui<strong>en</strong>te no se pue<strong>de</strong> pasar<br />
al interior <strong>de</strong> <strong>la</strong> sa<strong>la</strong>.<br />
La situación <strong>de</strong>scrita <strong>en</strong> el Hospital Regional, nos permite inferir que es necesario<br />
reforzar los programas <strong>de</strong> seguridad radiológica <strong>de</strong> una manera más efectiva<br />
empleando recursos tecnológicos quizás no tan conv<strong>en</strong>cionales pero más efectivos.<br />
2. Estado <strong>de</strong>l arte<br />
La simu<strong>la</strong>ción <strong>de</strong> mundos virtuales ha permitido el <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to virtual <strong>de</strong> difer<strong>en</strong>tes<br />
situaciones peligrosas, don<strong>de</strong> es posible explicar los riesgos exist<strong>en</strong>tes y sus posibles<br />
consecu<strong>en</strong>cias, a<strong>de</strong>más <strong>de</strong> que facilitan <strong>la</strong> visualización <strong>de</strong> información <strong>de</strong> dicho<br />
problema [2, 3].<br />
En los hospitales se emplean los mo<strong>de</strong>los tridim<strong>en</strong>sionales con imág<strong>en</strong>es <strong>de</strong> órganos<br />
<strong>en</strong> equipos <strong>de</strong> imag<strong>en</strong>ología, su uso es ya es muy ext<strong>en</strong>dido y ha permitido por una<br />
parte <strong>la</strong> compr<strong>en</strong>sión <strong>de</strong> patologías <strong>en</strong> el aspecto medico y por el otro, <strong>en</strong> el área<br />
informática el <strong>de</strong>sarrollo <strong>de</strong> nuevos algoritmos y metodologías para procesami<strong>en</strong>to<br />
digital <strong>de</strong> imág<strong>en</strong>es médicas [5,6].<br />
La simu<strong>la</strong>ción <strong>en</strong> hospitales se <strong>en</strong>foca principalm<strong>en</strong>te <strong>en</strong> los <strong>en</strong>tr<strong>en</strong>adores médicos<br />
que permit<strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> habilida<strong>de</strong>s para realizar procedimi<strong>en</strong>tos <strong>en</strong>doscópicos<br />
que permit<strong>en</strong> mejorar el <strong>de</strong>sempeño profesional <strong>de</strong> los médicos utilizando los<br />
b<strong>en</strong>eficios <strong>de</strong> <strong>la</strong> aplicaciones <strong>de</strong> los ambi<strong>en</strong>tes virtuales <strong>en</strong> el campo <strong>de</strong> <strong>la</strong> medicina,<br />
como suce<strong>de</strong> <strong>en</strong> los <strong>en</strong>tr<strong>en</strong>adores <strong>de</strong> <strong>la</strong>paroscopia y <strong>de</strong> <strong>en</strong>doscopia [4].<br />
Sin embargo, se ha hecho muy poca investigación y <strong>de</strong>sarrollo <strong>en</strong> cuanto a <strong>la</strong><br />
simu<strong>la</strong>ción y mo<strong>de</strong><strong>la</strong>do con ambi<strong>en</strong>tes virtuales acerca <strong>de</strong> aplicaciones <strong>de</strong> seguridad<br />
radiológica para su uso <strong>en</strong> programas <strong>de</strong> <strong>en</strong>señanza y capacitación.
En base a lo anterior po<strong>de</strong>mos hipotetizar que <strong>la</strong> aplicación <strong>de</strong> un mo<strong>de</strong>lo virtual <strong>de</strong><br />
una sa<strong>la</strong> <strong>de</strong> rayos-x ayudará a los técnicos y radiólogos a ubicar espacialm<strong>en</strong>te (y<br />
visualm<strong>en</strong>te <strong>en</strong> g<strong>en</strong>eral) los riesgos que pueda haber <strong>en</strong> <strong>la</strong> exposición <strong>de</strong> radiación <strong>de</strong><br />
los aparatos <strong>de</strong> radiología, y al manejo <strong>de</strong> los instrum<strong>en</strong>tos <strong>de</strong> protección <strong>de</strong> una<br />
manera y <strong>en</strong> el tiempo a<strong>de</strong>cuados.<br />
3. Metodología<br />
El <strong>de</strong>sarrollo <strong>de</strong> este proyecto se lleva a cabo <strong>en</strong> 4 etapas:<br />
1. Investigación teórica<br />
2. Diseño <strong>de</strong>l mo<strong>de</strong>lo <strong>en</strong> 3D (ambi<strong>en</strong>te virtual)<br />
3. Programación <strong>de</strong>l ambi<strong>en</strong>te virtual.<br />
4. Pruebas <strong>de</strong>l ambi<strong>en</strong>te virtual.<br />
Durante <strong>la</strong> etapa <strong>de</strong> investigación teórica se buscaron conceptos y <strong>de</strong>finiciones <strong>de</strong> los<br />
elem<strong>en</strong>tos que integran una sa<strong>la</strong> <strong>de</strong> rayos-X [7], a<strong>de</strong>más <strong>de</strong> recopi<strong>la</strong>r <strong>la</strong>s normas<br />
vig<strong>en</strong>tes <strong>en</strong> seguridad radiológica para nuestro país, <strong>la</strong>s cuales están establecidas <strong>en</strong><br />
<strong>la</strong>s Normas Oficiales Mexicanas NOM-156-SSA1-1996 Y NOM-157-SSA1-1996. En<br />
el estudio se resum<strong>en</strong> <strong>la</strong>s características comunes a <strong>la</strong> mayoría <strong>de</strong> <strong>la</strong>s sa<strong>la</strong>s <strong>de</strong> rayos<br />
X, a<strong>de</strong>más <strong>de</strong> hacer consi<strong>de</strong>raciones básicas <strong>en</strong> el diseño y operación <strong>de</strong> <strong>la</strong> misma,<br />
para facilitar <strong>la</strong> repres<strong>en</strong>tación <strong>de</strong>l mo<strong>de</strong>lo virtual. Se buscó que <strong>la</strong> “sa<strong>la</strong> i<strong>de</strong>al”<br />
estuviera provista <strong>de</strong> <strong>la</strong>s características más comunes a <strong>la</strong> mayoría <strong>de</strong> <strong>la</strong>s sa<strong>la</strong>s <strong>de</strong><br />
rayos-X. Para lograrlo a<strong>de</strong>más, se realizaron visitas a sa<strong>la</strong>s <strong>de</strong> rayos-X reales, se<br />
formu<strong>la</strong>ron cuestionarios al personal y se obtuvieron imág<strong>en</strong>es reales repres<strong>en</strong>tativas<br />
como base para el mo<strong>de</strong><strong>la</strong>do. A<strong>de</strong>más, <strong>en</strong> <strong>la</strong> etapa <strong>de</strong> investigación se <strong>en</strong>contró que<br />
<strong>la</strong>s principales áreas que se involucran <strong>en</strong> <strong>la</strong> seguridad radiológica son:<br />
• Sa<strong>la</strong> <strong>de</strong> Exposición ;<br />
• Cuarto <strong>de</strong> control;<br />
• Vestidor;<br />
• Cuarto Oscuro;<br />
• Área <strong>de</strong> Diagnostico;<br />
• Sa<strong>la</strong> <strong>de</strong> Espera.<br />
La elección <strong>de</strong>l software <strong>de</strong> mo<strong>de</strong><strong>la</strong>do AC3D (www.ac3d.org) se <strong>de</strong>cidió luego <strong>de</strong><br />
realizar una tab<strong>la</strong> comparativa con 3 difer<strong>en</strong>tes tipos <strong>de</strong> software <strong>de</strong> mo<strong>de</strong><strong>la</strong>do<br />
(AC3D, 3D MAX y RHINO) y analizar v<strong>en</strong>tajas y <strong>de</strong>sv<strong>en</strong>tajas. El mo<strong>de</strong>lo se realizó<br />
aplicando técnicas <strong>de</strong> diseño <strong>en</strong> 3D <strong>de</strong>l ambi<strong>en</strong>te virtual.<br />
En <strong>la</strong> programación <strong>de</strong> <strong>la</strong> simu<strong>la</strong>ción <strong>de</strong> <strong>la</strong> radiación se utilizó el l<strong>en</strong>guaje estándar<br />
VRML 2 para programación <strong>de</strong> mundos virtuales, se convirtió el mo<strong>de</strong>lo realizado <strong>en</strong><br />
AC3D a VRML y se programó el efecto <strong>de</strong> radiación y señalización, por el exterior,<br />
se hizo mediante una luz indicadora que cambiaba <strong>de</strong> ver<strong>de</strong> a rojo con un tiempo<br />
aleatorio para prohibir el acceso a <strong>la</strong> sa<strong>la</strong> <strong>de</strong>s<strong>de</strong> <strong>la</strong> sa<strong>la</strong> <strong>de</strong> espera y <strong>en</strong> el interior
mediante una luz int<strong>en</strong>sa <strong>de</strong> color rojo (sincronizada con <strong>la</strong> luz exterior) que aum<strong>en</strong>ta<br />
<strong>de</strong> manera gradual para repres<strong>en</strong>tar <strong>la</strong> radiación <strong>en</strong> el interior <strong>de</strong> <strong>la</strong> sa<strong>la</strong>, que es el<br />
mom<strong>en</strong>to justo cuando el usuario real <strong>de</strong>be utilizar <strong>la</strong> protección radiológica (guantes,<br />
l<strong>en</strong>tes, mandil, etc.)<br />
La elección <strong>de</strong>l AC3D para el mo<strong>de</strong><strong>la</strong>do fue <strong>de</strong>bido al costo económico <strong>en</strong> re<strong>la</strong>ción<br />
con 3D MAX y RHINO, y a que permitía una interfaz <strong>de</strong> usuario simple y facilidad<br />
<strong>de</strong> uso y apr<strong>en</strong>dizaje, a<strong>de</strong>más <strong>de</strong> que se trata <strong>de</strong> un programa multip<strong>la</strong>taforma don<strong>de</strong> el<br />
formato <strong>de</strong>l archivo es compatible a los objetos para el uso <strong>de</strong> archivos VRML que se<br />
programaron posteriorm<strong>en</strong>te para <strong>la</strong> simu<strong>la</strong>ción. En <strong>la</strong> sa<strong>la</strong> <strong>de</strong>l Hospital Regional, se<br />
pue<strong>de</strong> observar <strong>la</strong> luz indicadora que impi<strong>de</strong> el paso a <strong>la</strong> sa<strong>la</strong> como se ilustra <strong>en</strong> <strong>la</strong><br />
Figura 1.<br />
Fig. 1. Sa<strong>la</strong> <strong>de</strong> Rayos X <strong>de</strong>l Hospital Regional Universitario <strong>de</strong> Colima.<br />
En el mo<strong>de</strong>lo resultante se repres<strong>en</strong>ta este efecto <strong>de</strong> manera que el usuario pueda<br />
hacer conci<strong>en</strong>cia <strong>de</strong> todos los elem<strong>en</strong>tos que intervi<strong>en</strong><strong>en</strong> cuando se esta aplicando<br />
radiación <strong>en</strong> <strong>la</strong> sa<strong>la</strong>, esto se pue<strong>de</strong> realizar con <strong>la</strong> supervisión <strong>de</strong> personal capacitado<br />
<strong>en</strong> seguridad radiológica, <strong>de</strong> tal manera que pueda ser integrado a un programa <strong>de</strong><br />
<strong>en</strong>señanza, <strong>en</strong> <strong>la</strong>s figuras 2 ,3 y 4 po<strong>de</strong>mos ver el mo<strong>de</strong>lo final.<br />
Fig. 2. Vista G<strong>en</strong>eral <strong>de</strong>l Mo<strong>de</strong>lo <strong>en</strong> AC3D.
Figs. 3 y 4. Interior <strong>de</strong>l mo<strong>de</strong>lo <strong>en</strong> 3D.<br />
Con el objeto <strong>de</strong> hacer una revisión inicial <strong>de</strong>l ambi<strong>en</strong>te virtual <strong>en</strong> <strong>la</strong> tercera etapa <strong>de</strong>l<br />
proyecto (pruebas <strong>de</strong>l sistema), se realizó una evaluación heurística [8] <strong>de</strong>l ambi<strong>en</strong>te<br />
virtual. Dicha evaluación permite <strong>de</strong>tectar problemas <strong>de</strong> uso, aplicación,<br />
funcionalidad, calidad y estética <strong>de</strong> una interfaz <strong>de</strong> computadora (<strong>en</strong> este caso el<br />
ambi<strong>en</strong>te virtual) para su posterior corrección, sigui<strong>en</strong>do ciertos criterios <strong>de</strong><br />
evaluación (heurísticas). Dos especialistas <strong>en</strong> interacción humano-computadora<br />
participaron <strong>en</strong> <strong>la</strong> evaluación, don<strong>de</strong> siguieron <strong>la</strong>s 10 heurísticas básicas <strong>de</strong>scritas por<br />
[8].<br />
4. Resultados preliminares<br />
Los resultados <strong>de</strong> <strong>la</strong> evaluación heurística permitió corregir ciertos <strong>de</strong>talles <strong>en</strong> el<br />
diseño e implem<strong>en</strong>tación <strong>de</strong>l mo<strong>de</strong>lo <strong>en</strong> 3D, <strong>en</strong> especial <strong>la</strong> animación <strong>de</strong> <strong>la</strong> luz <strong>de</strong><br />
advert<strong>en</strong>cia que se <strong>en</strong>cu<strong>en</strong>tra sobre <strong>la</strong> puerta <strong>de</strong> <strong>en</strong>trada. A <strong>la</strong> fecha, <strong>en</strong> el proyecto se<br />
han completado <strong>la</strong>s etapas 1, 2 y 3, que correspond<strong>en</strong> a <strong>la</strong> revisión <strong>de</strong> <strong>la</strong> literatura,<br />
diseño y programación <strong>de</strong>l ambi<strong>en</strong>te virtual, respectivam<strong>en</strong>te. Se está continuando<br />
con <strong>la</strong> etapa <strong>de</strong> pruebas <strong>de</strong>l sistema, ya que hac<strong>en</strong> falta más estudios <strong>de</strong> usabilidad <strong>de</strong>l<br />
ambi<strong>en</strong>te virtual, y pruebas con un grupo <strong>de</strong> radiólogos y técnicos para probar <strong>la</strong><br />
efectividad <strong>de</strong>l mismo.<br />
5 .Conclusiones y Perspectivas<br />
En el diseño <strong>de</strong> un ambi<strong>en</strong>te virtual es necesario acercarse a los especialistas <strong>en</strong> su<br />
área <strong>de</strong> trabajo para <strong>de</strong>terminar <strong>la</strong>s necesida<strong>de</strong>s reales y aplicar técnicas <strong>de</strong> mo<strong>de</strong><strong>la</strong>do<br />
<strong>en</strong> 3D que nos permitan recrear situaciones peligrosas don<strong>de</strong> se puedan manipu<strong>la</strong>r los<br />
elem<strong>en</strong>tos <strong>de</strong> riesgo. En el área <strong>de</strong> radiología poco <strong>de</strong>sarrollo existe <strong>en</strong> los mo<strong>de</strong>los<br />
gráficos que permitan incluirlos <strong>en</strong> programas <strong>de</strong> capacitación para seguridad<br />
radiológica, este mo<strong>de</strong>lo g<strong>en</strong>erado también pue<strong>de</strong> utilizarse para equipos<br />
interdisciplinarios que p<strong>la</strong>ne<strong>en</strong> el diseño o adaptación <strong>de</strong> una sa<strong>la</strong> real, le da <strong>la</strong>s
v<strong>en</strong>tajas <strong>de</strong> discutir materiales, equipos, distancias, blindaje, insta<strong>la</strong>ciones y <strong>de</strong>más<br />
factores que intervi<strong>en</strong><strong>en</strong> <strong>en</strong> su diseño.<br />
Se p<strong>la</strong>nea incluir el mo<strong>de</strong>lo <strong>en</strong> un programa <strong>de</strong> capacitación <strong>de</strong>l Hospital Regional,<br />
empleando los recursos <strong>de</strong>l Laboratorio <strong>de</strong> Realidad Virtual <strong>de</strong> <strong>la</strong> Universidad <strong>de</strong><br />
Colima, este programa <strong>de</strong>berá ser aplicado <strong>de</strong> manera periódica para reforzar este<br />
tema tan importante. En el programa se podría incluir el uso <strong>de</strong> docum<strong>en</strong>tales <strong>en</strong><br />
vi<strong>de</strong>o, y pres<strong>en</strong>taciones <strong>de</strong> diapositivas, a<strong>de</strong>más <strong>de</strong> otros programas para cálculo <strong>de</strong><br />
radiación para hacer un taller completo y abarcar una gran variedad <strong>de</strong> temas <strong>de</strong><br />
seguridad radiológica.<br />
Refer<strong>en</strong>cias<br />
[1] J.D Bronzino, Managem<strong>en</strong>t of Medical Technology, Butterworth-Heinemann, 1992.<br />
[2] J.C. Dürsteler, Visualización <strong>de</strong> Información. Barcelona: Ediciones Gestión 2000, 2003.<br />
[3] W.R. Sherman, Un<strong>de</strong>rstanding Virtual Reality. Interface, Application, and Design, Morgan<br />
Kaufman Publishers, San Francisco California, 2003.<br />
[4] C. Krapicgler, M. Haubner, A. Losch, M. Schuhumann, K. Englmeier, “Physicians in<br />
virtual <strong>en</strong>vironm<strong>en</strong>ts – multimodal human- computer interaction”. Interacting with<br />
computers II, 1999, 427 – 452.<br />
[5] N.Freud., P. Duvauchelle, S.A. Pistrui-Maximean, J-M Letang D. Babot. “Deterministic<br />
Simu<strong>la</strong>tion of first-or<strong>de</strong>r Scattering in Virtual X-ray Imaging”. Nuclear Instrum<strong>en</strong>ts and<br />
Methods in Physics Research Section B: Beam Interactions with Materials and Atoms,<br />
Vol: 222, Issue: 1-2, July, 2004.<br />
[6] M.Rotter., A.Schnei<strong>de</strong>win., M.Doerr, M.Loew<strong>en</strong>haupt., A.M. El Massa<strong>la</strong>mi, C.Detlefts,<br />
“Interpreting Magnetic X-ray Scattering on Gd-compounds using the Mcphase Simu<strong>la</strong>tion<br />
Program”, Procceedings of the Confer<strong>en</strong>ce on Po<strong>la</strong>rised Neutron and Synchrotron X-rays<br />
for magnetism, (345), 2003, Pp 231-234.<br />
[7] P.C. O'Kane, “A Simu<strong>la</strong>tion Mo<strong>de</strong>l of a Diagnostic Radiology Departm<strong>en</strong>t”. European<br />
Journal of Operational Research, 1981, (6), pp. 38-45.<br />
[8] J. Niels<strong>en</strong>, How to Conduct a Heuristic Evaluation,<br />
http://www.useit.com/papers/heuristic/heuristic_evaluation.html, Obt<strong>en</strong>ido <strong>de</strong> <strong>la</strong> red<br />
mundial el 10 <strong>de</strong> junio <strong>de</strong> 2004.
Experi<strong>en</strong>cias <strong>de</strong> Imp<strong>la</strong>ntación <strong>de</strong>l Estándar DICOM<br />
Jesús A. Treviño y C<strong>la</strong>udia Feregrino<br />
Instituto Nacional <strong>de</strong> Astrofísica, Óptica y Electrónica<br />
Luis Enrique Erro #1 Tonantzint<strong>la</strong>,<br />
Pueb<strong>la</strong>, México<br />
cferegrino@inaoep.mx<br />
Abstract<br />
The need for communication with modalities from differ<strong>en</strong>t v<strong>en</strong>dors ma<strong>de</strong> possible the<br />
standardization of communication within the medical area. An example of such standards is<br />
DICOM (Digital Imaging and Communications in Medicine). Curr<strong>en</strong>tly, the modalities follow<br />
this standard, however, there are diverse hospitals or clinics in our country whose modalities do<br />
not follow the standard and this is required if a Picture Archiving and Communication System<br />
(PACS) is to be implem<strong>en</strong>ted. This paper <strong>de</strong>scribes the experi<strong>en</strong>ces gained during the<br />
implem<strong>en</strong>tations of the DICOM standard for a hospital radiology area.<br />
Resum<strong>en</strong><br />
La necesidad <strong>de</strong> conectar equipos radiológicos <strong>de</strong> difer<strong>en</strong>tes v<strong>en</strong><strong>de</strong>dores hizo posible el<br />
surgimi<strong>en</strong>to <strong>de</strong> estándares <strong>de</strong> comunicación especializados para medicina, como lo es DICOM.<br />
Actualm<strong>en</strong>te, <strong>la</strong>s modalida<strong>de</strong>s que se v<strong>en</strong>d<strong>en</strong>, sigu<strong>en</strong> este estándar, sin embargo, exist<strong>en</strong> <strong>en</strong><br />
nuestro país diversos hospitales cuyos equipos no lo sigu<strong>en</strong>, y para los cuales se requiere durante<br />
una implem<strong>en</strong>tación <strong>de</strong> un sistema <strong>de</strong> comunicación y almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> imág<strong>en</strong>es médicas.<br />
Este artículo <strong>de</strong>scribe <strong>la</strong>s experi<strong>en</strong>cias obt<strong>en</strong>idas durante <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong>l estándar DICOM<br />
para el área <strong>de</strong> radiología <strong>de</strong> un hospital.<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve: DICOM, SCU, SCP, PACS, Imp<strong>la</strong>ntación.<br />
1. Introducción<br />
La necesidad <strong>de</strong> conectar equipos radiológicos <strong>de</strong> difer<strong>en</strong>tes v<strong>en</strong><strong>de</strong>dores hizo<br />
posible el surgimi<strong>en</strong>to <strong>de</strong> estándares <strong>de</strong> comunicación especializados para medicina.<br />
Por ejemplo, conectar un equipo <strong>de</strong> tomografía <strong>de</strong> marca SIEMENS con una impresora<br />
<strong>de</strong> marca KODAK hubiera sido casi imposible hace una década, sin embargo, con <strong>la</strong><br />
estandarización <strong>de</strong> <strong>la</strong> conectividad ahora es posible. Anteriorm<strong>en</strong>te, un hospital<br />
quedaba totalm<strong>en</strong>te cautivo con un <strong>de</strong>terminado proveedor, pues ello casi garantizaba<br />
el funcionami<strong>en</strong>to <strong>en</strong>tre equipos comprados subsecu<strong>en</strong>tem<strong>en</strong>te. Aunque esto implicara<br />
que otros proveedores, posiblem<strong>en</strong>te <strong>de</strong> equipo con mejor <strong>de</strong>sempeño o más barato,<br />
quedaran sin posibilidad <strong>de</strong> v<strong>en</strong><strong>de</strong>r a dicho hospital. Para evitar este problema, NEMA<br />
[1] creó <strong>en</strong> 1993 el primer estándar don<strong>de</strong> <strong>la</strong>s compañías o <strong>de</strong>sarrol<strong>la</strong>dores<br />
in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>tes asociados <strong>de</strong>berían seguirlo. Este estándar l<strong>la</strong>mado DICOM [1], es el<br />
estándar para imag<strong>en</strong>ología digital y comunicaciones <strong>en</strong> medicina.<br />
Des<strong>de</strong> que el estándar fue publicado, ha sido aceptado ampliam<strong>en</strong>te por v<strong>en</strong><strong>de</strong>dores <strong>de</strong><br />
equipos radiológicos (modalida<strong>de</strong>s) y se ha aplicado exitosam<strong>en</strong>te para <strong>la</strong><br />
comunicación <strong>de</strong> datos <strong>de</strong> imag<strong>en</strong>ología <strong>en</strong>tre equipos y Sistemas <strong>de</strong> Comunicación y<br />
Almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> Imág<strong>en</strong>es (PACS, por sus sig<strong>la</strong>s <strong>en</strong> inglés) [2]. Hasta ahora, <strong>la</strong><br />
capacidad <strong>de</strong> comunicación <strong>de</strong>l estándar DICOM ha sido tal que se ha incluido <strong>en</strong> <strong>la</strong><br />
mayoría <strong>de</strong> productos PACS, como sistemas <strong>de</strong> almac<strong>en</strong>ami<strong>en</strong>to y estaciones <strong>de</strong><br />
trabajo.
El estándar DICOM <strong>de</strong>fine protocolos, objetos, servicios y requerimi<strong>en</strong>tos <strong>de</strong><br />
conformidad. El soportar el estándar es un prerrequisito para una comunicación<br />
efectiva <strong>en</strong>tre dispositivos <strong>de</strong> imag<strong>en</strong>ología digital. Los objetos <strong>de</strong> imág<strong>en</strong>es DICOM<br />
incluy<strong>en</strong> a aquellos <strong>de</strong>signados para varios equipos y están <strong>de</strong>finidos por IODs<br />
(Information Object Definitions), es <strong>de</strong>cir, cada IOD está asociado a una modalidad.<br />
Los IODs incluy<strong>en</strong> información codificada <strong>en</strong> atributos, junto con <strong>la</strong>s imág<strong>en</strong>es. Estos<br />
atributos <strong>de</strong>scrib<strong>en</strong> <strong>la</strong> información sobre <strong>la</strong> id<strong>en</strong>tificación, administración y técnicas <strong>de</strong><br />
adquisición <strong>de</strong> <strong>la</strong>s imág<strong>en</strong>es. Los IODs se combinan con servicios, tales como “storage<br />
service c<strong>la</strong>ss” para producir “service-object pair c<strong>la</strong>sses”, los cuales son <strong>la</strong> unidad <strong>de</strong><br />
conformidad con DICOM.<br />
Un dispositivo o equipo radiológico pue<strong>de</strong> actuar como un “usuario <strong>de</strong> <strong>la</strong> c<strong>la</strong>se <strong>de</strong><br />
servicio” o SCU (Service C<strong>la</strong>ss User), por ejemplo, uno que <strong>en</strong>vía imág<strong>en</strong>es, o como<br />
un “proveedor <strong>de</strong> <strong>la</strong> c<strong>la</strong>se <strong>de</strong> servicios” o SCP (Service C<strong>la</strong>ss Provi<strong>de</strong>r), por ejemplo,<br />
uno que recibe imág<strong>en</strong>es. Para establecer <strong>la</strong> comunicación es necesario contar con SCU<br />
cli<strong>en</strong>te y un SCP servidor. Al asociar un IOD con un elem<strong>en</strong>to <strong>de</strong> servicio <strong>de</strong> m<strong>en</strong>sajes<br />
DIMSE (DICOM Message Service Elem<strong>en</strong>t) recibe el nombre <strong>de</strong> SOP (Service-Object<br />
Pair). Algunos <strong>de</strong> los m<strong>en</strong>sajes que conti<strong>en</strong>e el estándar son C-GET, C-MOVE, C-<br />
FIND y C-STORE.<br />
DICOM estandariza <strong>la</strong> comunicación <strong>en</strong>tre dispositivos e incluye servicios que a)<br />
tratan con el flujo <strong>de</strong> trabajo, tanto d<strong>en</strong>tro <strong>de</strong> un cuarto <strong>de</strong> exám<strong>en</strong>es o d<strong>en</strong>tro <strong>de</strong> una<br />
compañía, b) soporta una organización efici<strong>en</strong>te <strong>de</strong> imág<strong>en</strong>es para su <strong>de</strong>splegado y c)<br />
soporta difer<strong>en</strong>tes apari<strong>en</strong>cias <strong>de</strong> imág<strong>en</strong>es. La implem<strong>en</strong>tación <strong>de</strong> este estándar no es<br />
simple y es precisam<strong>en</strong>te lo que tratará este artículo.<br />
Este artículo está organizado como sigue: <strong>la</strong> Sección 2 m<strong>en</strong>ciona el estado <strong>de</strong>l arte,<br />
don<strong>de</strong> se id<strong>en</strong>tifica el proceso <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>l estándar DICOM, <strong>la</strong> Sección 3 muestra<br />
<strong>la</strong> metodología que se siguió para llevar a cabo este trabajo, <strong>la</strong> Sección 4 <strong>de</strong>scribe <strong>la</strong><br />
manera <strong>en</strong> que se implem<strong>en</strong>tó el estándar, <strong>la</strong> Sección 5 explica los resultados obt<strong>en</strong>idos<br />
y finalm<strong>en</strong>te <strong>la</strong> Sección 6 concluye.<br />
2. Estado <strong>de</strong>l Arte<br />
Exist<strong>en</strong> varias publicaciones sobre el estándar DICOM aparte <strong>de</strong>l propio<br />
estándar. Entre los trabajos <strong>en</strong>contrados están [3, 4, 5 y 6]. En [3] se <strong>de</strong>scrib<strong>en</strong> los<br />
requerimi<strong>en</strong>tos y diseño <strong>de</strong> <strong>la</strong> familia DX (rayos X digital) <strong>de</strong> almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong><br />
archivos DICOM (imág<strong>en</strong>es con formato <strong>de</strong> acuerdo al estándar) y los mecanismos por<br />
los cuales el equipo pue<strong>de</strong> reunir efici<strong>en</strong>tem<strong>en</strong>te <strong>la</strong> información necesaria. Se da una<br />
recom<strong>en</strong>dación a usuarios <strong>en</strong> forma <strong>de</strong> guía <strong>de</strong> compra, <strong>la</strong> cual <strong>en</strong>fatiza los factores<br />
principales <strong>en</strong> el <strong>de</strong>spliegue <strong>de</strong> equipo <strong>de</strong> radiografía digital.<br />
En [4] se hab<strong>la</strong> también <strong>de</strong> <strong>la</strong> integración <strong>de</strong> equipo <strong>de</strong> imag<strong>en</strong>ología <strong>de</strong> varios<br />
v<strong>en</strong><strong>de</strong>dores con DICOM para un Sistema <strong>de</strong> Comunicación y Almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong><br />
Imág<strong>en</strong>es (PACS, por sus sig<strong>la</strong>s <strong>en</strong> inglés). Y <strong>en</strong> [5] se m<strong>en</strong>ciona cómo expandir el<br />
estándar DICOM a Internet mediante un esquema DICOM-QR URL (Petición-Envío<br />
basado <strong>en</strong> un Localizador <strong>de</strong> Recursos Uniforme).
Des<strong>de</strong> que DICOM fue creado se ha <strong>de</strong>finido un conjunto <strong>de</strong> servicios que garantizan<br />
<strong>la</strong> consist<strong>en</strong>cia <strong>de</strong> imág<strong>en</strong>es <strong>en</strong> esca<strong>la</strong> <strong>de</strong> grises para mostrar tanto <strong>en</strong> pantal<strong>la</strong> como <strong>en</strong><br />
impresión [6]. También han surgido integraciones <strong>de</strong> meta-l<strong>en</strong>guajes como XML con el<br />
estándar DICOM para formar p<strong>la</strong>taformas <strong>de</strong> e-Salud que permit<strong>en</strong> una mejor<br />
integración <strong>de</strong> DICOM <strong>en</strong> una aplicación basada <strong>en</strong> Web [7].<br />
Los servicios DICOM más ampliam<strong>en</strong>te conocidos son aquellos re<strong>la</strong>cionados con <strong>la</strong><br />
transfer<strong>en</strong>cia <strong>de</strong> imág<strong>en</strong>es y objetos re<strong>la</strong>cionados a través <strong>de</strong> <strong>la</strong> red, m<strong>en</strong>cionados <strong>en</strong> el<br />
estándar como “almac<strong>en</strong>ami<strong>en</strong>to”. Las imág<strong>en</strong>es son transferidas (almac<strong>en</strong>adas) <strong>en</strong><br />
formato específico <strong>de</strong> <strong>la</strong> modalidad, que incluye información común a varias<br />
modalida<strong>de</strong>s, así como información sobre <strong>la</strong> técnica <strong>de</strong> adquisición específica. Los<br />
datos <strong>de</strong> los píxeles son almac<strong>en</strong>ados <strong>en</strong> <strong>la</strong> forma específica a <strong>la</strong> modalidad [2].<br />
El estándar indica que exist<strong>en</strong> dos tipos <strong>de</strong> comunicación: 1) punto a punto, ya <strong>en</strong><br />
<strong>de</strong>suso, y 2) bajo el ambi<strong>en</strong>te <strong>de</strong> red. En <strong>la</strong> sigui<strong>en</strong>te figura 1 se muestra cuáles son <strong>la</strong>s<br />
capas <strong>en</strong> <strong>la</strong>s cuales trabaja DICOM. Por basarse <strong>en</strong> TCP/IP se pue<strong>de</strong> usar <strong>en</strong> cualquier<br />
ambi<strong>en</strong>te o tipo <strong>de</strong> red. Cabe m<strong>en</strong>cionar que el tiempo que pue<strong>de</strong> tardar <strong>en</strong> transmitir<br />
una imag<strong>en</strong> pue<strong>de</strong> variar <strong>de</strong>p<strong>en</strong>di<strong>en</strong>do <strong>de</strong> <strong>la</strong>s características <strong>de</strong> <strong>la</strong> red y <strong>de</strong>l tamaño <strong>de</strong> <strong>la</strong><br />
imag<strong>en</strong>.<br />
Exist<strong>en</strong> varias herrami<strong>en</strong>tas <strong>en</strong> el mercado para el <strong>de</strong>sarrollo <strong>de</strong> aplicaciones a nivel <strong>de</strong>l<br />
DICOM Upper <strong>la</strong>yer, <strong>la</strong>s cuales pued<strong>en</strong> ser adquiridas pagando <strong>la</strong> lic<strong>en</strong>cia o<br />
simplem<strong>en</strong>te son gratuitas. Por citar algunas DCMTK, DICOMscop (gratuita),<br />
ezDICOM.<br />
Fig. 1 Capas <strong>de</strong> Red <strong>en</strong> <strong>la</strong><br />
Comunicación DICOM<br />
Fig. 2 Comunicación DICOM<br />
Una vez que se ha establecido <strong>la</strong> comunicación, hay que establecer <strong>la</strong> asociación. La<br />
asociación está compuesta por algunos <strong>de</strong> estos elem<strong>en</strong>tos Pres<strong>en</strong>tation Id, Abstract<br />
Syntax y Transfer Syntax. Pres<strong>en</strong>tation Id es un número no consecutivo empezando por<br />
el número uno, el abstract es el IOD, y el Transfer Syntax indica cómo se va a<br />
codificar. La asociación es <strong>en</strong>viada al SCP para que sea evaluada por éste. El SCP solo<br />
aceptará un Transfer Syntax por Abstract Syntax. La figura 2 muestra los pasos que son<br />
necesarios para establecer y cerrar una asociación.<br />
Una vez establecida <strong>la</strong> asociación es factible <strong>en</strong>viar los m<strong>en</strong>sajes. Para efectos<br />
prácticos, <strong>en</strong> <strong>la</strong> figura 3 sólo se muestra <strong>la</strong> asociación, solicitud <strong>de</strong> un C-Store y cierre<br />
<strong>de</strong> <strong>la</strong> asociación <strong>de</strong> un SCU a un SCP.
3. Metodología<br />
Inicialm<strong>en</strong>te se e<strong>la</strong>boró un docum<strong>en</strong>to base, como lo es para cualquier<br />
proyecto, el Docum<strong>en</strong>to <strong>de</strong> Requerimi<strong>en</strong>tos. Éste se ll<strong>en</strong>ó con el mayor cuidado, para<br />
que fuera conciso, no ambiguo y c<strong>la</strong>ro. Este docum<strong>en</strong>to ha sido también <strong>la</strong> base para<br />
realizar <strong>la</strong>s pruebas o test cases.<br />
Como todo comi<strong>en</strong>zo <strong>en</strong> un proyecto <strong>de</strong> software, se seleccionó el mejor mo<strong>de</strong>lo <strong>de</strong><br />
<strong>de</strong>sarrollo. De los mo<strong>de</strong>los exist<strong>en</strong>tes se evaluaron dos, el <strong>de</strong> cascada clásico y<br />
prototipado evolutivo. Se <strong>de</strong>cidió por el mo<strong>de</strong>lo prototipado evolutivo por no ser<br />
cerrado, a difer<strong>en</strong>cia <strong>de</strong>l ciclo <strong>de</strong> vida clásico. Éste permite hacer el análisis, diseño,<br />
codificación y pruebas <strong>en</strong> cada etapa <strong>de</strong>l proyecto. La v<strong>en</strong>taja <strong>de</strong> este mo<strong>de</strong>lo es que <strong>de</strong><br />
<strong>en</strong>contrar un error <strong>en</strong> cualquier etapa, el esfuerzo para corregirlo es mínimo, a<br />
difer<strong>en</strong>cia <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> cascada don<strong>de</strong> el esfuerzo es mayor. Otro motivo por el cual<br />
se seleccionó fue <strong>la</strong> falta <strong>de</strong> información y experi<strong>en</strong>cia sobre el <strong>de</strong>sarrollo <strong>de</strong> proyectos<br />
semejantes.<br />
Fig. 3 Comunicación DICOM (C-Store)<br />
Un objetivo c<strong>la</strong>ro fue el separar <strong>la</strong> comunicación <strong>en</strong>tre cualquier aplicación que se<br />
<strong>de</strong>sarrolle y su SCU, ya que el mant<strong>en</strong>imi<strong>en</strong>to será más fácil. Para cumplir con esto se<br />
realizó un control ActiveX que ti<strong>en</strong>e <strong>la</strong> funcionalidad antes m<strong>en</strong>cionada. Cuando es<br />
necesario agregar funcionalidad o realizar modificaciones, sólo hay que insertar el<br />
control <strong>en</strong> <strong>la</strong> aplicación <strong>de</strong>sarrol<strong>la</strong>da.<br />
Los diagramas que fueron usados son los sigui<strong>en</strong>tes:<br />
1) Diagrama <strong>de</strong> C<strong>la</strong>se: Permite visualizar <strong>de</strong> una forma c<strong>la</strong>ra los atributos y<br />
operaciones <strong>de</strong> una c<strong>la</strong>se así como su re<strong>la</strong>ción con otras.<br />
2) Diagrama <strong>de</strong> Secu<strong>en</strong>cia: Permite ver qué m<strong>en</strong>sajes se <strong>en</strong>vían <strong>en</strong>tre difer<strong>en</strong>tes c<strong>la</strong>ses<br />
y el ord<strong>en</strong> <strong>en</strong> que se mandan y se recib<strong>en</strong> <strong>la</strong>s respuestas. Este diagrama es uno <strong>de</strong> los<br />
más importantes ya que nos indica los pasos a seguir para no estar fuera <strong>de</strong>l estándar.
La codificación fue realizada <strong>en</strong> VC++ versión 6. Las pruebas <strong>de</strong> <strong>la</strong> implem<strong>en</strong>tación<br />
<strong>de</strong>l estándar fueron realizadas con <strong>la</strong> ayuda <strong>de</strong> casos <strong>de</strong> prueba, que permit<strong>en</strong> realizar<br />
una prueba sin que exista una variación al repetir<strong>la</strong>. Las pruebas fueron basadas <strong>en</strong> el<br />
docum<strong>en</strong>to <strong>de</strong> requerimi<strong>en</strong>tos y su objetivo es verificar que los requerimi<strong>en</strong>tos que<br />
forman <strong>de</strong>l docum<strong>en</strong>to fueran cumplidos <strong>en</strong> el <strong>de</strong>sarrollo. Para lo anterior, se montó un<br />
<strong>la</strong>boratorio con 3 máquinas, una como SCP y dos como SCU. Las computadoras don<strong>de</strong><br />
se probó el SCU y el SCP ti<strong>en</strong><strong>en</strong> <strong>la</strong>s sigui<strong>en</strong>tes características: Procesador P<strong>en</strong>tium IV a<br />
2.4 GHz, Sistema Operativo Windows 2000, Memoria 1 GB <strong>en</strong> RAM.<br />
4. Imp<strong>la</strong>ntación<br />
Se instaló un red <strong>en</strong> el área <strong>de</strong> radiología, posteriorm<strong>en</strong>te se colocó el SCP <strong>en</strong><br />
el servidor, al cual se le conectó un RAID para el almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> <strong>la</strong>s imág<strong>en</strong>es, el<br />
tamaño promedio por imag<strong>en</strong> es <strong>de</strong> 1 MB con el formato jpeg lossless. El SCP ati<strong>en</strong><strong>de</strong><br />
por el mom<strong>en</strong>to tres estaciones <strong>de</strong> trabajo, varias interfaces, t<strong>en</strong>i<strong>en</strong>do un total <strong>de</strong> 8<br />
equipos conectados, los cuales pued<strong>en</strong> <strong>en</strong>viar m<strong>en</strong>sajes simultáneam<strong>en</strong>te. La figura 4<br />
muestra <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong>l sistema.<br />
Fig. 4 Equipos y SW bajo comunicación DICOM<br />
Esta fase es <strong>la</strong> más importante porque <strong>de</strong>be existir una comunicación con <strong>la</strong>s difer<strong>en</strong>tes<br />
interfaces y una impresora que soporta el estándar DICOM.<br />
La comunicación con equipos <strong>de</strong> proveedores que ya cu<strong>en</strong>tan con el estándar DICOM<br />
(como equipos <strong>de</strong> impresión o <strong>de</strong> Radiografía Computada) está a punto <strong>de</strong> probarse,<br />
aunque se consi<strong>de</strong>ra, por <strong>la</strong>s pruebas realizadas internam<strong>en</strong>te, que no habrá mayores<br />
problemas.
5. Resultados<br />
El t<strong>en</strong>er el SCU <strong>en</strong> un control ActiveX fue una bu<strong>en</strong>a práctica ya que<br />
existieron cambios que no afectaron a otro grupo que <strong>de</strong>sarrolló aplicaciones por lo que<br />
fueron transpar<strong>en</strong>tes <strong>la</strong>s modificaciones realizadas al control.<br />
Las pruebas se <strong>de</strong>sarrol<strong>la</strong>ron con éxito, salvo pequeños problemas que se m<strong>en</strong>cionan<br />
a<strong>de</strong><strong>la</strong>nte. La comunicación se estableció sin dificulta<strong>de</strong>s mayores así como el <strong>en</strong>vío <strong>de</strong>l<br />
m<strong>en</strong>saje C-FIND, C-STORE y C-GET <strong>de</strong> un SCU a un SCP. Las imág<strong>en</strong>es <strong>en</strong>viadas<br />
por el SCP al SCU fueron <strong>en</strong>viadas sin mayores contratiempos. Entre los problemas<br />
<strong>en</strong>contrados están: a) <strong>la</strong> falta <strong>de</strong> at<strong>en</strong>ción durante el cambio <strong>de</strong> p<strong>la</strong>taforma <strong>de</strong> software,<br />
al olvidar algunas bibliotecas, b) errores al insertar <strong>la</strong> imag<strong>en</strong> <strong>en</strong> el archivo DICOM<br />
durante el proceso <strong>de</strong> conversión a este formato y c) manejo <strong>de</strong> difer<strong>en</strong>tes formatos <strong>de</strong><br />
codificación <strong>de</strong> los datos (big-<strong>en</strong>dian o little-<strong>en</strong>dian) <strong>en</strong> los Transfer-Syntax <strong>en</strong>tre el<br />
cli<strong>en</strong>te y el servidor. El <strong>en</strong>vío <strong>de</strong> imág<strong>en</strong>es a través <strong>de</strong> <strong>la</strong> red es <strong>de</strong> aproximadam<strong>en</strong>te <strong>de</strong><br />
m<strong>en</strong>os <strong>de</strong> un segundo para <strong>en</strong>viar un archivos DICOM <strong>de</strong> 1 MB aproximadam<strong>en</strong>te.<br />
6. Conclusiones<br />
El <strong>de</strong>sarrollo <strong>de</strong> aplicaciones que <strong>de</strong>b<strong>en</strong> comunicarse con modalida<strong>de</strong>s es<br />
complicado pero no imposible, se necesita invertir mucho tiempo <strong>en</strong> el análisis y<br />
diseño para que el tiempo sea m<strong>en</strong>or <strong>en</strong> <strong>la</strong>s fases <strong>de</strong> codificación y pruebas.<br />
Muchas veces no es posible realizar pruebas con equipos o dispositivos externos a<br />
adquirir, ya que los proveedores no cu<strong>en</strong>tan con software <strong>de</strong> simu<strong>la</strong>ción <strong>de</strong> <strong>la</strong>s<br />
modalida<strong>de</strong>s y/o impresoras. Lo que pue<strong>de</strong> aum<strong>en</strong>tar el tiempo <strong>en</strong> el análisis y diseño.<br />
La pérdida <strong>de</strong> bytes <strong>de</strong> <strong>la</strong>s imág<strong>en</strong>es es otro aspecto <strong>en</strong> el cual hay que invertir un<br />
tiempo consi<strong>de</strong>rable para verificar que los tranfer syntax que se manejan correspondan<br />
con los transfer syntax <strong>de</strong> <strong>la</strong>s modalida<strong>de</strong>s a los cuales se va a establecer <strong>la</strong> asociación<br />
ya sea <strong>de</strong> SCU o SCP.<br />
7. Refer<strong>en</strong>cias<br />
[1] Página oficial <strong>de</strong>l estándar DICOM, http://medical.nema.org/. Verificada por última vez 31<br />
<strong>de</strong> Mayo <strong>de</strong>l 2004.<br />
[2] Yongjian Bao, Jurg<strong>en</strong> Reyinger and R<strong>en</strong>as Rechid, An Integrated Modality, PACS and RIS<br />
Environm<strong>en</strong>t using the DICOM Standard, Proceedings of SPIE, Medical Imaging 1998, PACS<br />
Design and Evaluation: Engineering and Clinical Issues, Volume 3339, February 1998, San<br />
Diego, CA. págs. 303-315.<br />
[3] David A. Clunie, DICOM Implem<strong>en</strong>tations for Digital Radiography, Advances in Digital<br />
Radiography: RSNA Categorical Course in Diagnostic Radiology Physics 2003, págs. 163-172.<br />
[4] Albert W.K. Wong and H. K. Huang, Integration of multi-v<strong>en</strong>dor imaging equipm<strong>en</strong>t with<br />
DICOM into PACS, Proceedings of SPIE, Medical Imaging 1998, PACS Design and Evaluation:<br />
Engineering and Clinical Issues, Volume 3339, February 1998, San Diego, CA. págs. 294-302.<br />
[5] Takaya Sakusabe, Baatar Shirchin and Michio Kimura, Expand the Internet Standard to the<br />
DICOM Standard: DICOM-QR URL Scheme, Proceedings of SPIE, Medical Imaging 1998,<br />
PACS Design and Evaluation: Engineering and Clinical Issues, Volume 3339, February 1998,<br />
San Diego, CA. págs. 316-321.<br />
[6] Jorg Riesmeier, Marco Eichelberg, K<strong>la</strong>us Kleber, Dietrich H. W. Gronemeyer, Herman<br />
Oosterwijk, Peter J<strong>en</strong>sch, DICOM image disp<strong>la</strong>y consist<strong>en</strong>cy: a test <strong>en</strong>vironm<strong>en</strong>t, Progress in<br />
Biomedical Optics and Imaging, Medical Imaging 2001, PACS and Integrated Medical<br />
Information Systems: Design and Evaluation, Vol. 2, No. 28, ISSN 1605-7422, Volume 4323.<br />
San Diego, CA., February 2001, págs. 47-56.<br />
[7] O. Baujard, , J.C. Staub, D. Blot, D. Bandon, Y. Ligier, DICOM and XML: union makes<br />
str<strong>en</strong>gth, International Congress Series 1230, Elsevier Sci<strong>en</strong>ce B.V., 2001, págs. 820–823.
SAPeR: un sistema para <strong>la</strong> administración <strong>de</strong> paci<strong>en</strong>tes <strong>en</strong><br />
rehabilitación<br />
Lizbeth O. Escobedo Bravo, Mónica E. T<strong>en</strong>tori Espinosa<br />
Ana Isabel Martínez García, Leonardo Galicia Jiménez, J. Antonio García Macías<br />
C<strong>en</strong>tro <strong>de</strong> Investigación Ci<strong>en</strong>tífica y <strong>de</strong> Educación Superior <strong>de</strong> Ens<strong>en</strong>ada, CICESE<br />
e-mail : { escobedo, mt<strong>en</strong>tori, martinea, lgalicia, jagm}@cicese.mx<br />
Km. 107 Carretera Tijuana-Ens<strong>en</strong>ada Apdo. Postal 2732, CP 22860, Ens<strong>en</strong>ada, B. C.,<br />
México.<br />
Abstract: Nowadays the organizations have be<strong>en</strong> incorporating the technology in their<br />
workspaces to improve their process. The medical field isn’t the exception, they are<br />
incorporating the Information Technology (IT) to their activities to make an effort to<br />
get better health services to the pati<strong>en</strong>ts. In this paper, we pres<strong>en</strong>t the <strong>de</strong>velopm<strong>en</strong>t of<br />
a case study in the area of physical medicine and rehabilitation in a hospital and the<br />
<strong>de</strong>velopm<strong>en</strong>t of technological support according to the needs and of the process nature,<br />
that <strong>en</strong>ables through the use of mobile <strong>de</strong>vices the <strong>en</strong>actm<strong>en</strong>t of the process with the<br />
IT.<br />
Resum<strong>en</strong>: Con el fin <strong>de</strong> automatizar y optimizar sus procesos, hoy <strong>en</strong> día <strong>la</strong>s<br />
organizaciones están optando por incorporar <strong>la</strong> tecnología <strong>en</strong> sus áreas <strong>de</strong> trabajo. El<br />
campo médico no es <strong>la</strong> excepción, <strong>en</strong> sus esfuerzos por mejorar los servicios <strong>de</strong> salud a<br />
sus paci<strong>en</strong>tes, están integrando <strong>la</strong> Tecnología <strong>de</strong> <strong>la</strong> Información (TI) a sus procesos. En<br />
este artículo, se pres<strong>en</strong>ta un caso <strong>de</strong> estudio <strong>de</strong>sarrol<strong>la</strong>do <strong>en</strong> un hospital <strong>en</strong> el área <strong>de</strong><br />
medicina física y rehabilitación y el <strong>de</strong>sarrollo <strong>de</strong> un soporte tecnológico <strong>de</strong> acuerdo a<br />
<strong>la</strong>s necesida<strong>de</strong>s y naturaleza <strong>de</strong>l proceso, que permite una sana conviv<strong>en</strong>cia <strong>en</strong>tre el<br />
<strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s realizadas y <strong>la</strong> utilización <strong>de</strong> TI, a través <strong>de</strong>l uso <strong>de</strong><br />
dispositivos móviles.<br />
Pa<strong>la</strong>bras C<strong>la</strong>ve: Procesos, sector salud, hospital<br />
1. Introducción<br />
Actualm<strong>en</strong>te <strong>la</strong>s organizaciones <strong>en</strong>fr<strong>en</strong>tan los efectos <strong>de</strong> los cambios tecnológicos y<br />
<strong>de</strong> una mayor dinámica <strong>en</strong> <strong>la</strong> realización <strong>de</strong> sus activida<strong>de</strong>s [4]. Por esta razón, surge <strong>la</strong><br />
necesidad <strong>de</strong> llevar a cabo estudios que les permitan compr<strong>en</strong><strong>de</strong>r <strong>la</strong> forma <strong>en</strong> <strong>la</strong> que<br />
llevan a cabo sus activida<strong>de</strong>s. Con <strong>la</strong> finalidad <strong>de</strong> lograr un <strong>en</strong>t<strong>en</strong>dimi<strong>en</strong>to común <strong>de</strong><br />
los procesos exist<strong>en</strong>tes, se requiere <strong>de</strong>l uso <strong>de</strong> metodologías y técnicas para su análisis.<br />
La Ing<strong>en</strong>iería <strong>de</strong> Procesos (IP) nos provee <strong>de</strong> herrami<strong>en</strong>tas para su estudio. En este<br />
contexto <strong>de</strong>finimos un proceso como “un conjunto <strong>de</strong> pasos parcialm<strong>en</strong>te ord<strong>en</strong>ados<br />
con <strong>la</strong> finalidad <strong>de</strong> alcanzar un objetivo” [3], y <strong>la</strong> IP como <strong>la</strong> colección <strong>de</strong> técnicas<br />
para el análisis, diseño y evaluación <strong>de</strong> los procesos organizacionales, basados <strong>en</strong> el<br />
uso <strong>de</strong>l mo<strong>de</strong><strong>la</strong>do <strong>de</strong> procesos [1]. En don<strong>de</strong> los mo<strong>de</strong>los nos permit<strong>en</strong> t<strong>en</strong>er una<br />
repres<strong>en</strong>tación abstracta <strong>de</strong> <strong>la</strong> realidad. El propósito <strong>de</strong> estos mo<strong>de</strong>los es reducir <strong>la</strong>
complejidad <strong>en</strong> su <strong>en</strong>t<strong>en</strong>dimi<strong>en</strong>to, eliminando los <strong>de</strong>talles que no influ<strong>en</strong>cian el<br />
comportami<strong>en</strong>to <strong>de</strong> un f<strong>en</strong>óm<strong>en</strong>o [2].<br />
Con estos estudios, es posible capturar y <strong>en</strong>t<strong>en</strong><strong>de</strong>r el comportami<strong>en</strong>to <strong>de</strong> los<br />
procesos, y así buscar opciones para mejorar <strong>la</strong> forma <strong>en</strong> <strong>la</strong> que se lleva a cabo el<br />
trabajo, <strong>en</strong> caso <strong>de</strong> ser necesario. En este s<strong>en</strong>tido <strong>la</strong>s organizaciones <strong>en</strong> el área <strong>de</strong> salud<br />
no son una excepción. Debido a que el trabajo <strong>en</strong> los hospitales ha sido <strong>de</strong>scrito<br />
normalm<strong>en</strong>te como un ambi<strong>en</strong>te <strong>en</strong> el que el personal médico <strong>de</strong>sarrol<strong>la</strong> su trabajo <strong>en</strong><br />
constante movilidad realizando múltiples activida<strong>de</strong>s. Realizamos un caso <strong>de</strong> estudio<br />
<strong>en</strong> un hospital público <strong>en</strong> el área <strong>de</strong> medicina física y rehabilitación (MFyR), don<strong>de</strong> se<br />
analizaron sus procesos y se propuso soporte tecnológico como una propuesta a <strong>la</strong><br />
mejora a sus procesos.<br />
En este trabajo se pres<strong>en</strong>ta <strong>la</strong> realización <strong>de</strong> este estudio junto con el <strong>de</strong>sarrollo<br />
tecnológico propuesto. El artículo inicialm<strong>en</strong>te <strong>de</strong>scribe <strong>la</strong> metodología utilizada para<br />
el análisis <strong>de</strong> los procesos <strong>en</strong> el área. Enseguida se pres<strong>en</strong>ta el caso <strong>de</strong> estudio realizado<br />
y <strong>la</strong>s especificaciones y aspectos <strong>de</strong> diseño <strong>de</strong>l sistema <strong>de</strong> soporte propuesto, SAPeR.<br />
Posteriorm<strong>en</strong>te se pres<strong>en</strong>ta <strong>la</strong> funcionalidad <strong>de</strong>l sistema a través <strong>de</strong> un esc<strong>en</strong>ario <strong>de</strong> uso.<br />
2. Metodología<br />
Para <strong>la</strong> realización <strong>de</strong>l caso <strong>de</strong> estudio, utilizamos <strong>la</strong> metodología para el análisis y<br />
mo<strong>de</strong><strong>la</strong>do <strong>de</strong> procesos, conocida como PADM (Process Analysis and Design<br />
Methodology) [1]. Esta metodología consta <strong>de</strong> cuatro etapas: <strong>de</strong>finición <strong>de</strong>l proceso,<br />
involucra el establecimi<strong>en</strong>to <strong>de</strong> los objetivos <strong>de</strong>l proceso dado, sus principales <strong>en</strong>tradas<br />
y salidas; captura y repres<strong>en</strong>tación <strong>de</strong>l proceso base, que consiste <strong>en</strong> mo<strong>de</strong><strong>la</strong>r el<br />
proceso <strong>de</strong>tal<strong>la</strong>dam<strong>en</strong>te (una repres<strong>en</strong>tación gráfica); evaluación <strong>de</strong>l proceso, el<br />
análisis, <strong>la</strong> id<strong>en</strong>tificación <strong>de</strong> problemas y <strong>de</strong>bilida<strong>de</strong>s <strong>en</strong> el proceso; y el diseño <strong>de</strong>l<br />
proceso, que involucra el diseño <strong>de</strong> un nuevo proceso para <strong>la</strong> organización, ya sea por<br />
mejoras increm<strong>en</strong>tales o cambios radicales al proceso base incluy<strong>en</strong>do una propuesta<br />
<strong>de</strong> soporte tecnológico.<br />
Una vez realizado el estudio <strong>de</strong>l proceso, se obtuvo un <strong>en</strong>t<strong>en</strong>dimi<strong>en</strong>to c<strong>la</strong>ro <strong>de</strong> <strong>la</strong>s<br />
activida<strong>de</strong>s que se llevan a cabo <strong>en</strong> el área <strong>de</strong> MFyR, y <strong>en</strong> base a esto se <strong>de</strong>terminaron<br />
<strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> soporte tecnológico para el proceso y los requerimi<strong>en</strong>tos para su<br />
<strong>de</strong>sarrollo. En <strong>la</strong> sigui<strong>en</strong>te sección se pres<strong>en</strong>tan los aspectos g<strong>en</strong>erales <strong>de</strong>l caso <strong>de</strong><br />
estudio y <strong>de</strong>l proceso.<br />
3. Caso <strong>de</strong> estudio: Proceso <strong>de</strong> Medicina Física y Rehabilitación.<br />
El área MFyR brinda soporte y at<strong>en</strong>ción al <strong>de</strong>rechohabi<strong>en</strong>te que ha sufrido algún<br />
trauma físico. Durante <strong>la</strong> realización <strong>de</strong>l caso <strong>de</strong> estudio primeram<strong>en</strong>te id<strong>en</strong>tificamos a<br />
<strong>la</strong>s personas involucradas <strong>en</strong> este proceso (médicos, terapeutas y asist<strong>en</strong>tes médicos) y<br />
nos familiarizamos con <strong>la</strong>s activida<strong>de</strong>s que <strong>de</strong>sempeñan. Mediante técnicas <strong>de</strong><br />
recopi<strong>la</strong>ción <strong>de</strong> información, se analizaron los procesos, se crearon mo<strong>de</strong>los <strong>de</strong> ellos, y<br />
se propusieron mejoras y soporte a los mismos, <strong>en</strong>fatizando el uso <strong>de</strong> <strong>la</strong> TI apropiada.
El objetivo principal fue conocer cuales son <strong>la</strong>s activida<strong>de</strong>s que llevan a cabo los<br />
participantes <strong>en</strong> el proceso, como <strong>la</strong>s ejecutan, que limitantes le impid<strong>en</strong> realizar<br />
efici<strong>en</strong>tem<strong>en</strong>te su trabajo, y cuales son <strong>la</strong>s propuestas <strong>de</strong> mejora a sus procesos. El<br />
proceso que se lleva a cabo <strong>en</strong> el área <strong>de</strong> MFyR, pue<strong>de</strong> ser visualizado <strong>en</strong> tres etapas:<br />
administración <strong>de</strong>l área (a cargo <strong>de</strong> <strong>la</strong> asist<strong>en</strong>te), valoración a paci<strong>en</strong>tes (a cargo <strong>de</strong>l<br />
médico) y aplicación <strong>de</strong> terapias (a cargo <strong>de</strong>l terapeuta). Los cuales se <strong>de</strong>scrib<strong>en</strong> <strong>en</strong> tres<br />
esc<strong>en</strong>arios:<br />
Esc<strong>en</strong>ario 1. El paci<strong>en</strong>te llega por primera vez al área y se dirige con <strong>la</strong> asist<strong>en</strong>te. Esta<br />
crea una cita <strong>de</strong> valoración con el médico. En <strong>la</strong> fecha <strong>de</strong> <strong>la</strong> cita, el paci<strong>en</strong>te ingresa al<br />
área, confirmando su cita con <strong>la</strong> asist<strong>en</strong>te. Una vez que el paci<strong>en</strong>te ingresa al<br />
consultorio médico, el médico le realiza una valoración. En base a esta evaluación,<br />
g<strong>en</strong>era un diagnóstico <strong>de</strong> <strong>la</strong> salud <strong>de</strong>l paci<strong>en</strong>te e indica el tratami<strong>en</strong>to a seguir para<br />
su rehabilitación. Esta información es capturada por el médico <strong>en</strong> un expedi<strong>en</strong>te<br />
clínico (utilizado <strong>en</strong> todas <strong>la</strong>s áreas <strong>de</strong>l hospital) y <strong>en</strong> otro expedi<strong>en</strong>te interno (que se<br />
maneja internam<strong>en</strong>te <strong>en</strong> el área <strong>de</strong> MFyR) <strong>de</strong> forma manual <strong>en</strong> papel mediante notas<br />
médicas y <strong>de</strong> terapias. Cuando terminan <strong>la</strong>s valoraciones, <strong>de</strong> acuerdo a los diagnósticos<br />
<strong>de</strong>l médico <strong>la</strong> asist<strong>en</strong>te asigna paci<strong>en</strong>tes a los terapeutas para <strong>la</strong>s posteriores terapias<br />
que <strong>de</strong>berán ser aplicadas.<br />
Esc<strong>en</strong>ario 2. El paci<strong>en</strong>te llega a su cita <strong>de</strong> terapias, se dirige directam<strong>en</strong>te con su<br />
terapeuta, el cual aplica el tratami<strong>en</strong>to indicado por el médico <strong>de</strong> consultorio. El<br />
terapeuta registra sus observaciones <strong>de</strong> seguimi<strong>en</strong>to <strong>de</strong> terapias <strong>en</strong> el expedi<strong>en</strong>te<br />
interno mediante notas <strong>de</strong> terapias.<br />
Esc<strong>en</strong>ario 3. Se pres<strong>en</strong>ta <strong>en</strong> caso que sea necesario brindar at<strong>en</strong>ción a algún paci<strong>en</strong>te<br />
fuera <strong>de</strong>l área <strong>de</strong> MFyR. El médico y el terapeuta <strong>de</strong>b<strong>en</strong> tras<strong>la</strong>darse al lugar<br />
solicitado para proporcionar sus servicios. El médico registra sus observaciones <strong>en</strong> el<br />
expedi<strong>en</strong>te clínico y <strong>en</strong> el expedi<strong>en</strong>te interno mediante notas médicas. El terapeuta<br />
registra sus observaciones <strong>en</strong> el expedi<strong>en</strong>te interno mediante notas <strong>de</strong> terapias.<br />
Con lo anterior, po<strong>de</strong>mos observar que el trabajo <strong>de</strong> los médicos y terapeutas<br />
requiere cierta movilidad, <strong>de</strong>bido a que <strong>la</strong> at<strong>en</strong>ción al paci<strong>en</strong>te es indistintam<strong>en</strong>te<br />
g<strong>en</strong>erada d<strong>en</strong>tro o fuera <strong>de</strong> MFyR es por ello que se requiere contar con <strong>la</strong> información<br />
necesaria <strong>en</strong> todo mom<strong>en</strong>to. De <strong>la</strong> <strong>de</strong>finición <strong>de</strong>l proceso y los aspectos <strong>en</strong>contrados<br />
durante el caso <strong>de</strong> estudio, se id<strong>en</strong>tificaron <strong>la</strong>s especificaciones y aspectos <strong>de</strong> diseño,<br />
que se pres<strong>en</strong>tan <strong>en</strong> <strong>la</strong> sigui<strong>en</strong>te sección.<br />
4. Especificaciones y aspectos <strong>de</strong> diseño <strong>de</strong> SAPeR<br />
El uso <strong>de</strong> esc<strong>en</strong>arios es una técnica que permite id<strong>en</strong>tificar especificaciones <strong>de</strong> diseño<br />
<strong>de</strong> sistemas <strong>de</strong> software [5]. La información recopi<strong>la</strong>da <strong>de</strong>l caso <strong>de</strong> estudio y los<br />
difer<strong>en</strong>tes esc<strong>en</strong>arios id<strong>en</strong>tificados, permitieron hacer una recolección <strong>de</strong> <strong>la</strong>s<br />
especificaciones básicas que <strong>de</strong>b<strong>en</strong> ser contemp<strong>la</strong>dos para <strong>de</strong>sarrol<strong>la</strong>r una herrami<strong>en</strong>ta<br />
que proporciona soporte a los procesos <strong>de</strong>l área <strong>de</strong> MFyR, optimizando <strong>la</strong>s tareas<br />
realizadas por el personal médico. Entre estas especificaciones se <strong>en</strong>cu<strong>en</strong>tran: (1)<br />
Soporte guiado <strong>en</strong> <strong>la</strong> administración y configuración <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s realizadas, para<br />
llevar a cabo su trabajo diario. (2) Apoyo <strong>en</strong> <strong>la</strong> captura y recuperación <strong>de</strong> información<br />
para realizar activida<strong>de</strong>s d<strong>en</strong>tro <strong>de</strong> un espacio físico por un período <strong>de</strong> tiempo
prolongado <strong>en</strong> movilidad <strong>en</strong>tre difer<strong>en</strong>tes espacios físicos. (3) Apoyo <strong>en</strong> <strong>la</strong><br />
sincronización <strong>de</strong> información manejada <strong>en</strong> movilidad y <strong>en</strong> un ambi<strong>en</strong>te local.<br />
Con esto <strong>en</strong> m<strong>en</strong>te lo sigui<strong>en</strong>te fue <strong>en</strong>contrar los aspectos <strong>de</strong> diseño que <strong>de</strong>be<br />
cont<strong>en</strong>er <strong>la</strong> arquitectura para brindar soporte a los requerimi<strong>en</strong>tos m<strong>en</strong>cionados.<br />
Chandra [6] especificó que una operación <strong>de</strong>sconectada, <strong>en</strong> <strong>la</strong> cual un cli<strong>en</strong>te acce<strong>de</strong> a<br />
un servicio sin conexión a una red, es crucial para mejorar <strong>la</strong> disponibilidad, soportar<br />
movilidad y proveer ejecución in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te. De acuerdo a esta <strong>de</strong>finición y <strong>la</strong>s<br />
condiciones <strong>de</strong> movilidad d<strong>en</strong>tro <strong>de</strong> MFyR, se diseñó una arquitectura <strong>en</strong> <strong>la</strong> cual los<br />
usuarios interactúan con dispositivos móviles <strong>de</strong>sconectados a <strong>la</strong> red y dispositivos<br />
estacionarios con conexión a <strong>la</strong> red. Permiti<strong>en</strong>do también, establecer <strong>la</strong> sincronización<br />
<strong>en</strong>tre los dispositivos. La arquitectura se basa <strong>en</strong> los principios <strong>de</strong>l paradigma cli<strong>en</strong>teservidor<br />
[7]. En esta arquitectura, los principales compon<strong>en</strong>tes son: los cli<strong>en</strong>tes, el<br />
servidor y <strong>la</strong> infraestructura <strong>de</strong> comunicaciones, los cuales ilustramos <strong>en</strong> <strong>la</strong> figura 1 y<br />
<strong>de</strong>scribimos <strong>en</strong>seguida.<br />
Fig.1 Arquitectura <strong>de</strong>l sistema inalámbrico<br />
1. Cli<strong>en</strong>te conectado. Posee una conexión continua a Internet. Su repositorio <strong>de</strong><br />
información pue<strong>de</strong> ser una base <strong>de</strong> datos, archivos, <strong>en</strong>tre otros.<br />
2. Cli<strong>en</strong>te <strong>de</strong>sconectado. Este toma dos roles: (a) Con conexión. En este rol actúa<br />
para sincronizar los dispositivos y <strong>de</strong>be t<strong>en</strong>er conexión a Internet, (b) Sin conexión.<br />
Este no t<strong>en</strong>drá conexión a Internet, pero podrá manipu<strong>la</strong>r y/o modificar <strong>la</strong><br />
información <strong>de</strong> su repositorio.<br />
3. Servidor. Esta aplicación manti<strong>en</strong>e <strong>la</strong>s conexiones <strong>de</strong> los cli<strong>en</strong>tes al servidor,<br />
administra los paquetes <strong>en</strong>viados por los cli<strong>en</strong>tes y realiza <strong>la</strong>s l<strong>la</strong>madas a <strong>la</strong>s<br />
funciones requeridas por el cli<strong>en</strong>te mediante peticiones.<br />
A continuación se muestra un esc<strong>en</strong>ario que ejemplifica el uso <strong>de</strong>l sistema SAPER<br />
ilustrando el proceso <strong>de</strong> MFyR.<br />
5. Sistema <strong>de</strong> administración <strong>de</strong> paci<strong>en</strong>tes <strong>en</strong> rehabilitación<br />
Como se m<strong>en</strong>cionó el sistema <strong>de</strong>sarrol<strong>la</strong>do consta <strong>de</strong> dos subsistemas, uno que se<br />
<strong>en</strong>cu<strong>en</strong>tra perman<strong>en</strong>tem<strong>en</strong>te conectado a <strong>la</strong> red mediante una computadora <strong>de</strong> escritorio<br />
y el otro que permite <strong>la</strong> <strong>de</strong>sconexión-conexión <strong>de</strong> un dispositivo móvil para ejecutar <strong>la</strong>s<br />
activida<strong>de</strong>s <strong>en</strong> movilidad. El sistema <strong>de</strong> escritorio proporciona soporte para: el ingreso<br />
<strong>de</strong> paci<strong>en</strong>tes al área <strong>de</strong> MFyR, actualización <strong>de</strong> valoraciones y consulta <strong>de</strong>l seguimi<strong>en</strong>to<br />
<strong>de</strong> los paci<strong>en</strong>tes. Mi<strong>en</strong>tras que el sistema móvil, permite realizar <strong>la</strong> <strong>de</strong>sconexión y
actualización <strong>de</strong> información <strong>en</strong>tre dispositivos, a<strong>de</strong>más <strong>de</strong> <strong>la</strong> actualización <strong>de</strong><br />
valoraciones y consulta <strong>de</strong>l seguimi<strong>en</strong>to <strong>de</strong> los paci<strong>en</strong>tes. De esta manera el sistema<br />
brinda soporte a los tres esc<strong>en</strong>arios <strong>de</strong>scritos.<br />
Fig.2 Soporte tecnológico para el área MFyR. (a) Configuración <strong>de</strong> citas. (b) Desconexión <strong>de</strong><br />
información. (c) Valoración <strong>en</strong> dispositivo móvil (d) Actualización <strong>de</strong> información.<br />
A continuación se <strong>de</strong>scribe el uso <strong>de</strong>l sistema <strong>en</strong> el esc<strong>en</strong>ario <strong>de</strong>l terapeuta, ilustrado<br />
<strong>en</strong> <strong>la</strong> figura 2. El paci<strong>en</strong>te llega con <strong>la</strong> asist<strong>en</strong>te para realizar su cita <strong>de</strong> valoración. Esta<br />
a través <strong>de</strong>l sistema solicita los datos <strong>de</strong>l paci<strong>en</strong>te y registra su cita <strong>de</strong> valoración<br />
médica o terapia (fig. 2a). Posteriorm<strong>en</strong>te, el paci<strong>en</strong>te llega a su cita al área <strong>de</strong> MFyR y<br />
pasa a consulta. Mi<strong>en</strong>tras tanto, el terapeuta revisa <strong>en</strong> su sistema estacionario los<br />
paci<strong>en</strong>tes que <strong>de</strong>berá <strong>de</strong> at<strong>en</strong><strong>de</strong>r. En ese mom<strong>en</strong>to, transfiere <strong>la</strong> información <strong>de</strong> los<br />
paci<strong>en</strong>tes a ser at<strong>en</strong>didos a su dispositivo móvil (fig. 2b). Una vez realizada <strong>la</strong><br />
transfer<strong>en</strong>cia, el terapeuta mediante su sistema móvil consulta y almac<strong>en</strong>a <strong>la</strong><br />
información relevante, mi<strong>en</strong>tras aplica <strong>la</strong> terapia al paci<strong>en</strong>te (fig. 2c). Finalm<strong>en</strong>te, el<br />
terapeuta actualiza <strong>la</strong> información <strong>en</strong>tre el sistema móvil y el sistema <strong>de</strong> escritorio (fig.<br />
2d).<br />
6. Conclusiones y perspectivas<br />
En el pres<strong>en</strong>te artículo, hemos propuesto un sistema que brinda soporte a <strong>la</strong>s<br />
activida<strong>de</strong>s realizadas por el personal <strong>de</strong> MFyR, don<strong>de</strong> estos últimos requier<strong>en</strong> realizar<br />
su trabajo <strong>en</strong>tre difer<strong>en</strong>tes áreas y manejar cierta información <strong>en</strong> movilidad. Debido a <strong>la</strong><br />
naturaleza <strong>de</strong> los esc<strong>en</strong>arios, don<strong>de</strong> <strong>la</strong> infraestructura <strong>de</strong> conexión a una red no es
constante, se propuso <strong>la</strong> alternativa <strong>de</strong> <strong>de</strong>sconexión como medio para dar soporte a<br />
trabajadores móviles, mejorando y optimizando el <strong>de</strong>sarrollo <strong>de</strong> sus activida<strong>de</strong>s.<br />
El caso <strong>de</strong> estudio, así como <strong>la</strong> propuesta <strong>de</strong> soporte tecnológico, fueron pres<strong>en</strong>tados<br />
a los médicos <strong>de</strong>l hospital, don<strong>de</strong> se obtuvo retroalim<strong>en</strong>tación <strong>de</strong>l proceso. Los médicos<br />
se mostraron satisfechos con el trabajo realizado, y externaron su interés por <strong>la</strong><br />
utilización <strong>de</strong> <strong>la</strong> propuesta <strong>de</strong> <strong>la</strong> tecnología pres<strong>en</strong>tada. En este s<strong>en</strong>tido al mom<strong>en</strong>to <strong>la</strong><br />
directiva <strong>de</strong>l hospital se <strong>en</strong>cu<strong>en</strong>tra haci<strong>en</strong>do los trámites necesarios para <strong>la</strong> adquisición<br />
<strong>de</strong>l equipo y <strong>la</strong> imp<strong>la</strong>ntación <strong>de</strong>l sistema. Con esto se lograría efici<strong>en</strong>cia <strong>en</strong> el proceso<br />
que actualm<strong>en</strong>te se lleva <strong>de</strong> forma manual y con mucha duplicación <strong>de</strong> información y<br />
trabajo, permiti<strong>en</strong>do a los médicos y terapeutas <strong>en</strong>focarse más a <strong>la</strong> actividad clínicaterapéutica<br />
al apoyar <strong>la</strong> captura, manejo y procesami<strong>en</strong>to <strong>de</strong> <strong>la</strong> información g<strong>en</strong>erada<br />
d<strong>en</strong>tro <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s <strong>de</strong>l área <strong>de</strong> MFyR por medio <strong>de</strong>l sistema móvil.<br />
Aunque <strong>la</strong> aplicación <strong>de</strong>sarrol<strong>la</strong>da, es ext<strong>en</strong>dible y simple, no es in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te. Es<br />
<strong>de</strong>cir, es necesario que el usuario indique <strong>la</strong> información que requiere ser transportada<br />
al dispositivo móvil. Probablem<strong>en</strong>te sería interesante proveer ag<strong>en</strong>tes intelig<strong>en</strong>tes, que<br />
id<strong>en</strong>tifiqu<strong>en</strong> <strong>de</strong> manera transpar<strong>en</strong>te una posible <strong>de</strong>sconexión y sincronic<strong>en</strong> <strong>la</strong><br />
información cuando <strong>la</strong> conexión sea recuperada <strong>de</strong> manera automática. De esta manera<br />
el usuario no <strong>de</strong>berá id<strong>en</strong>tificar cuándo y qué información <strong>de</strong>be ser <strong>de</strong>sconectada.<br />
Agra<strong>de</strong>cimi<strong>en</strong>tos<br />
Este trabajo es apoyado por CONACYT, con <strong>la</strong>s becas 179370, 179381 y 179371 <strong>de</strong> los dos<br />
primeros y cuarto autores respectivam<strong>en</strong>te, y con el proyecto C01-40799. Agra<strong>de</strong>cemos también<br />
el apoyo <strong>de</strong> los médicos Simitrio Rojas y Julia Mora, y a los médicos <strong>de</strong>l área <strong>de</strong> Medicina<br />
Física y Rehabilitación <strong>de</strong>l hospital.<br />
Refer<strong>en</strong>cias<br />
[1] Wastell, D.; White, P. y Kawalek, P., “A methodology for business process re<strong>de</strong>sign: experi<strong>en</strong>ces<br />
and issues”. Journal of Strategies Information Systems, 1994.<br />
[2] Curtis, B.; Kellner, M. I. y Over, J., “Process Mo<strong>de</strong>ling”. Communications of the ACM, Vol. 35,<br />
No. 9, 1992.<br />
[3] Humprhey, W. S. y Feiler, P. H., “Software process <strong>de</strong>velopm<strong>en</strong>t and <strong>en</strong>actm<strong>en</strong>t: concepts and<br />
<strong>de</strong>finitions”. Proceedings of the second international confer<strong>en</strong>ce on the software process. 1992.<br />
[4] Silver, B., “Domino Workflow white paper. Automating Real-World Business Processes”. Bruce<br />
Silver Associates. Industry Tr<strong>en</strong>d Reports, 1999.<br />
[5] Carroll, J. y Rosson, M., “Getting Around the Tast Artifact Cycle: How to Make C<strong>la</strong>ims and<br />
Design by Sc<strong>en</strong>ario”. ADM Transactions on Information Systems, 1992.<br />
[6] Chandra, B., et. al., “Resource managem<strong>en</strong>t for sca<strong>la</strong>ble disconnected access to web services”.<br />
ACM, 2001.<br />
[7] Ford, N., “Web Developer.Com Gui<strong>de</strong> to Building Intellig<strong>en</strong>t Web Sites with Java Script”.<br />
Wiley, New York, 1998.
SNIAC - Sistema Nutricional Intelig<strong>en</strong>te<br />
Asistido por Computadora<br />
Ramírez Sánchez Jorge Luis, Cruz Zamora José Antonio<br />
Instituto Tecnológico Superior <strong>de</strong> San Martín Texmelucan<br />
C<strong>en</strong>tro <strong>de</strong> Cómputo<br />
Calle Miguel Nájera No. 22 Col. C<strong>en</strong>tro C.P. 74060.<br />
Tel. 012484873909<br />
Pa<strong>la</strong>bras c<strong>la</strong>ve: Nutrición, Sistema <strong>de</strong> Infer<strong>en</strong>cia Difuso, Análisis Clínico, Mamdani,<br />
Sug<strong>en</strong>o, Tsukamoto.<br />
1.-Abstract<br />
One of the main problems that affect our country is malnutrition, which is shown<br />
regu<strong>la</strong>rly in childr<strong>en</strong> among 0 to 12 years old, infant mortality in most of the cases is originated<br />
by bad feeding habits. The pres<strong>en</strong>t paper <strong>de</strong>scribes the structure of an expert fuzzy system that<br />
has the purpose of taking information g<strong>en</strong>erated by the para-clinic study of seric Albumin to<br />
<strong>de</strong>termine the health state of the infant using a system of fuzzy infer<strong>en</strong>ce and produce messages<br />
simi<strong>la</strong>r to those of the experts in nutrition using Fuzzy Logic.<br />
1.-Resum<strong>en</strong><br />
El principal problema que afecta a nuestro país es <strong>la</strong> <strong>de</strong>snutrición, <strong>la</strong> cual se<br />
manifiesta regu<strong>la</strong>rm<strong>en</strong>te <strong>en</strong> niños <strong>en</strong>tre los 0 meses y los 12 años <strong>de</strong> edad [1,5], <strong>la</strong> mortandad <strong>en</strong><br />
infantes <strong>en</strong> <strong>la</strong> mayoría <strong>de</strong> los casos es originada por una alim<strong>en</strong>tación ina<strong>de</strong>cuada [2]. El pres<strong>en</strong>te<br />
trabajo propone el uso <strong>de</strong> Lógica Difusa (LD) <strong>en</strong> el área <strong>de</strong> diagnóstico clínico así como una<br />
simple <strong>de</strong>mostración <strong>de</strong>l <strong>de</strong>sempeño <strong>de</strong> los mo<strong>de</strong>los propuestos por Mamdani, Sug<strong>en</strong>o y<br />
Tsukamoto. Adémas <strong>de</strong>scribe <strong>la</strong> estructura <strong>de</strong> un sistema experto difuso que ti<strong>en</strong>e el objetivo <strong>de</strong><br />
tomar los datos g<strong>en</strong>erados por el Estudio Paraclínico <strong>de</strong> <strong>la</strong> Albúmina Sérica [2,3], <strong>de</strong>terminar el<br />
estado nutricio <strong>de</strong>l infante y mediante un sistema <strong>de</strong> Infer<strong>en</strong>cia Difuso g<strong>en</strong>erar m<strong>en</strong>sajes<br />
simi<strong>la</strong>res a los <strong>de</strong>l experto <strong>en</strong> nutrición utilizando LD.
2.-Estado <strong>de</strong>l arte.<br />
Actualm<strong>en</strong>te <strong>la</strong> fase <strong>de</strong>l pres<strong>en</strong>te artículo muestra el <strong>de</strong>sarrollo <strong>de</strong>l Sistema<br />
Intelig<strong>en</strong>te y su consecu<strong>en</strong>te <strong>de</strong>mostración mediante un l<strong>en</strong>guaje <strong>de</strong> investigación. Este<br />
es Mat<strong>la</strong>b Ver 5.0.<br />
El objetivo que perseguimos es <strong>de</strong>mostrar <strong>la</strong> viabilidad <strong>de</strong> aplicar LD [4] <strong>en</strong><br />
diagnóstico Clínico, así como elegir al mo<strong>de</strong>lo (Mamdani, Suj<strong>en</strong>o o Tsukamoto) con<br />
mejor r<strong>en</strong>dimi<strong>en</strong>to diagnosticando <strong>de</strong>snutrición <strong>en</strong> infantes.<br />
El proyecto se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> un avance <strong>de</strong>l 50% ya que el resto contemp<strong>la</strong> <strong>la</strong><br />
implem<strong>en</strong>tación <strong>de</strong>l sistema <strong>de</strong>scrito, <strong>en</strong> un leguaje <strong>de</strong> programación comercial como<br />
Visual Fox Pro, este permitirá el manejo <strong>de</strong> tab<strong>la</strong>s nutricionales que <strong>en</strong> función <strong>de</strong> los<br />
datos g<strong>en</strong>erados por el módulo <strong>de</strong> infer<strong>en</strong>cia difuso sea capaz <strong>de</strong> g<strong>en</strong>erar dietas<br />
ba<strong>la</strong>nceadas.<br />
3.-Metodología<br />
Tab<strong>la</strong><br />
nutricional<br />
Usuario IGU SID<br />
M<strong>en</strong>ú<br />
alim<strong>en</strong>ticio<br />
Fig(1). Diagrama g<strong>en</strong>eral <strong>de</strong>l sistema<br />
El sistema propuesto (Fig 1) consta <strong>de</strong> una Interfase Grafica <strong>de</strong> Usuario (IGU)<br />
<strong>la</strong> cual captura <strong>la</strong> información <strong>de</strong>l infante [4] (Albúmina Sérica y parámetros<br />
antropométricos) para <strong>en</strong>viar<strong>la</strong> al Sistema <strong>de</strong> Infer<strong>en</strong>cia Difuso (SID), éste procesa <strong>la</strong><br />
información, <strong>de</strong>termina el grado <strong>de</strong> <strong>de</strong>snutrición <strong>de</strong>l infante <strong>en</strong> base a los parámetros <strong>de</strong><br />
<strong>la</strong> Albúmina Sérica y finalm<strong>en</strong>te g<strong>en</strong>era un m<strong>en</strong>ú recom<strong>en</strong>dado.
El SID (Fig 2) es el Núcleo <strong>de</strong> nuestro Sistema, éste se apoya <strong>en</strong> <strong>la</strong> función<br />
triangu<strong>la</strong>r típica utilizándo<strong>la</strong> para <strong>de</strong>finir los conjuntos difusos, estos son cada uno <strong>de</strong><br />
los parámetros arrojados por el estudio <strong>de</strong> Albúmina Sérica (albúmina, transferrina,<br />
prealbúmina, linfocitos ver tab<strong>la</strong> 1). Para cada uno <strong>de</strong> ellos utilizaremos cuatro<br />
variables difusas [5] que reflejan el estado nutricio <strong>de</strong>l infante: Nu<strong>la</strong>, Mo<strong>de</strong>rada, Severa<br />
y Extrema, <strong>la</strong>s cuales permit<strong>en</strong> a través <strong>de</strong> <strong>la</strong> base <strong>de</strong> reg<strong>la</strong>s difusas [6,7] g<strong>en</strong>erar un<br />
diagnóstico simi<strong>la</strong>r al <strong>de</strong>l médico <strong>en</strong> nutrición con un dato porc<strong>en</strong>tual adicional que<br />
refleje el grado <strong>de</strong> <strong>de</strong>snutrición <strong>de</strong>l infante.<br />
Estudio Paraclínico<br />
Albúmina<br />
Transferrina<br />
Prealbúmina<br />
Linfocitos<br />
Entra<br />
da<br />
Fuzzificación <strong>de</strong><br />
Entradas<br />
Base <strong>de</strong><br />
Reg<strong>la</strong>s<br />
Defuzzi<br />
ficación<br />
Salida<br />
Fig(2).Sistema <strong>de</strong> infer<strong>en</strong>cia difuso con funciones típicas triangules.<br />
Indicador Normal Desnutrición Leve Desnutrición<br />
mo<strong>de</strong>rada<br />
Desnutrición<br />
Severa<br />
Proteínas P<strong>la</strong>smáticas<br />
3.8-5.0 2.8 - 3.5 2.1 -2.7
Por lo tanto se espera g<strong>en</strong>erar, 4 casos <strong>de</strong> <strong>de</strong>snutrición extrema, 4 <strong>de</strong> severa, 4<br />
<strong>de</strong> mo<strong>de</strong>rada y 4 <strong>de</strong> Nu<strong>la</strong>. Fig 3.<br />
Mamdani<br />
Suj<strong>en</strong>o<br />
Tsukamoto<br />
Fig 3. Diagnóstico <strong>de</strong> Mamdani Suj<strong>en</strong>o Tsukamoto.<br />
En el eje X se refleja un rango <strong>en</strong>tre 0 y 16 el cual a sido dividido <strong>en</strong> cuatro<br />
partes iguales: el primer rango que inicia <strong>en</strong> 0 y termina <strong>en</strong> 4 correspon<strong>de</strong> a 4 casos <strong>en</strong><br />
los que se espera que los sistemas <strong>de</strong>termin<strong>en</strong> <strong>de</strong>snutrición “Extrema”, el segundo que<br />
va <strong>de</strong> 4 a 8 correspon<strong>de</strong> a los casos esperados <strong>de</strong> <strong>de</strong>snutrición “Severa”, el tercero que<br />
va <strong>de</strong> 8 a 12 es para los casos esperados <strong>de</strong> <strong>de</strong>snutrición “Mo<strong>de</strong>rada” y el último que<br />
correspon<strong>de</strong> a los casos <strong>de</strong> <strong>de</strong>snutrición “Nu<strong>la</strong>” que va <strong>de</strong>s<strong>de</strong> 12 a 16 unida<strong>de</strong>s.<br />
El eje Y es el rango esperado <strong>de</strong> respuesta <strong>de</strong> nuestros tres sistemas, este<br />
comi<strong>en</strong>za <strong>en</strong> 0 y termina <strong>en</strong> 4, por lo que si obt<strong>en</strong>emos un valor difuso <strong>en</strong>tre 0 y 1<br />
(para Mamdani y Suj<strong>en</strong>o), [1,2], [2,3], [3,4]el diagnóstico es <strong>de</strong>snutrición “Extrema”,<br />
“Severa”,” Mo<strong>de</strong>rada” y “Nu<strong>la</strong> respectivam<strong>en</strong>te”, por otro <strong>la</strong>do Tsukamoto por su<br />
naturaleza (Función monotónica) solo respon<strong>de</strong>rá con un rango <strong>en</strong>tre 0 y 1.
5. Conclusiones<br />
La figura 4 muestra gráficam<strong>en</strong>te los resultados obt<strong>en</strong>idos, 16 casos que han<br />
sido sometidos a evaluación <strong>de</strong> los tres mo<strong>de</strong>los (Mamdani, Suj<strong>en</strong>o, Tsukamoto) y para<br />
los cuales cada uno <strong>de</strong> ellos a dado un diagnóstico.<br />
La gráfica (Fig 3) muestra c<strong>la</strong>ram<strong>en</strong>te como Mamdani y Suj<strong>en</strong>o ti<strong>en</strong><strong>en</strong> un<br />
comportami<strong>en</strong>to simi<strong>la</strong>r, cumpli<strong>en</strong>do con los rangos esperados y un tanto rígidos. Por<br />
otro <strong>la</strong>do Tsukamoto únicam<strong>en</strong>te respon<strong>de</strong> con valores <strong>en</strong>tre 0 y 1 quedando<br />
<strong>de</strong>sp<strong>la</strong>zado por Mamdani y Suj<strong>en</strong>o, fr<strong>en</strong>te a esta <strong>de</strong>sv<strong>en</strong>taja el pres<strong>en</strong>ta un<br />
comportami<strong>en</strong>to más suave.<br />
Queda <strong>de</strong>mostrada <strong>la</strong> viabilidad <strong>de</strong> implem<strong>en</strong>tación <strong>de</strong> nuestro sistema<br />
t<strong>en</strong>i<strong>en</strong>do como primer alternativa el mo<strong>de</strong>lo Mamdani junto con el <strong>de</strong> Tsukamoto y <strong>en</strong><br />
segundo p<strong>la</strong>no queda Suj<strong>en</strong>o ya que pres<strong>en</strong>ta un comportami<strong>en</strong>to simi<strong>la</strong>r al <strong>de</strong><br />
Mamdani.<br />
Lógica Difusa es un paradigma que permite <strong>de</strong>sarrol<strong>la</strong>r Sistemas Intelig<strong>en</strong>tes<br />
Aplicados al Diagnóstico Clínico con una economía consi<strong>de</strong>rable <strong>de</strong> recursos y fácil<br />
implem<strong>en</strong>tación.<br />
6. Refer<strong>en</strong>cias<br />
[1] http://www.fondonestl<strong>en</strong>utricion.org.mx<br />
[2] Diagnóstico <strong>de</strong>l estado nutricio <strong>en</strong> <strong>la</strong> infancia EDGAR M. VÁSQUEZ GARIBAY.<br />
ACTA PEDIATR MÉX 1998; 19(S): 1-11<br />
[3] Estrategias y acciones para corregir <strong>de</strong>fici<strong>en</strong>cias nutricias Dr. Juan Angel Rivera-<br />
Dommarco* Instituto Nacional <strong>de</strong> Salud Pública, Cuernavaca, Morelos, México.<br />
[4]Ori<strong>en</strong>tación Nutricional Especializada Lic. Fabrizio Delissal<strong>de</strong> Av. Conv<strong>en</strong>to <strong>de</strong> Sta<br />
Mónica # 79, Jard. <strong>de</strong> Santa Mónica, T<strong>la</strong>lnepant<strong>la</strong>.<br />
Edo. Mex. 397_1574 397_7302<br />
[4]Fuzzy and Applications. MJ Patyra,Dm Miynek. Willey & Teubner<br />
[5] http://www.inegi.gob.mx/inegi/<strong>de</strong>fault.asp<br />
[6] http://<strong>de</strong>lta.cs.cinvestav.mx/~gmorales/ldifll/ldifll.html<br />
[7]http://answermath.com/logica_difusa_conjuntos_nebulosos.htm<br />
[8]Re<strong>de</strong>s Neuronales y Sistemas Difusos. Segunda Edición Ampliada y Mejorada.<br />
Bonifacio Martín <strong>de</strong>l Brío, Alfredo Sanz Molina.Alfaomega&Ra-Ma
Índice <strong>de</strong> autores<br />
Aceves, Rita M. 281<br />
Acosta, Ricardo 96<br />
Acosta Mesa, Héctor Gabriel 641, 669<br />
Agui<strong>la</strong>r Cisneros, Jorge 47, 347<br />
Agus, Marco 188<br />
Alejandro Castro, Noé 289<br />
Alfredo Sánchez, J. 56, 571<br />
Álvarez, Omar 62<br />
Álvarez R., Francisco 338, 393<br />
Andra<strong>de</strong>, María 96<br />
Angel Vera, José 235, 289<br />
Arámbu<strong>la</strong> Miranda, Luis Enrique 503<br />
Ar<strong>en</strong>as Valdés, Ángeles 405<br />
Arias-Torres, Dante 553<br />
Arrio<strong>la</strong>-Arreo<strong>la</strong>, Edgar 595<br />
Avetisyan, Arutyun 481, 489<br />
Aya<strong>la</strong> Ramírez, Víctor 540<br />
Bal<strong>la</strong>dares Ocaña, Leandro 356<br />
Barreto, Gerardo 62<br />
Barreto Pa<strong>la</strong>cios, Gerardo 5<br />
Bayona, Sofía 178<br />
Bolshakov, Igor A. 289<br />
Botello, Alejandro 439<br />
Bravo-Hernán<strong>de</strong>z, Silvana 559<br />
Briones-García, J. Alfonso 559<br />
Brizue<strong>la</strong>, Carlos A. 623<br />
Buckley, David 641, 669<br />
Bustos M<strong>en</strong>doza, C. R. 675<br />
Cardona S., Juan P. 338, 393<br />
Carreto Arel<strong>la</strong>no, Chadwick 565<br />
Castañeda-Roldán, C. 629<br />
Castel<strong>la</strong>nos, Lucía 617<br />
Castel<strong>la</strong>nos, Nohema 571<br />
Castillo Díaz, Víctor D. 577<br />
Cervantes López, Teresa 425<br />
Cervantes Medina, L. A. 651<br />
César Agui<strong>la</strong>r, Julio 446<br />
Contreras-Castillo, Juan 5<br />
Cortés Verdín, Kar<strong>en</strong> 13<br />
Cristóbal-Sa<strong>la</strong>s, Alfredo 330<br />
Cruz Ramírez, Nicandro 641, 669<br />
Cruz Zamora, J. A. 693<br />
Diaz, Marissa 170<br />
Díaz, Pablo D. 251<br />
Dinora Orantes, Sandra 439<br />
Drogoul, Alexis 522<br />
Duran-Limon, Hector A. 583<br />
Escamil<strong>la</strong> Alonso, B. D. 663<br />
Escobedo Bravo, L. O. 687<br />
Espa<strong>de</strong>ro, Jose M. 178<br />
Fairén, Marta 159<br />
Fave<strong>la</strong>, Jesus 79, 607<br />
Feregrino Uribe, C. 681<br />
Fernán<strong>de</strong>z, Jose M. 178<br />
Fernán<strong>de</strong>z M., Luis Felipe 399<br />
Fernán<strong>de</strong>z Peña, Juan Manuel 405, 433<br />
Fernán<strong>de</strong>z Ramírez, Lour<strong>de</strong>s 56<br />
Frague<strong>la</strong>, Liset 243<br />
Frisby, John 641, 669<br />
Gaissaryan, Sergey 481<br />
Galicia Jiménez, L. 657, 687<br />
Galindo-Rodríguez, Angel 595<br />
Gal<strong>la</strong>rdo, Román 96<br />
Gama-Mor<strong>en</strong>o, Luis A. 601<br />
Gamboa, Fernando 86<br />
Garcés-Eisele, J. 629<br />
García, Alberto 56<br />
García, Marcos 178<br />
García Macías, José Antonio 522, 589,<br />
657, 687<br />
García Ruiz, M. A. 651, 675<br />
García Tamayo, Cutberto 356<br />
García-Martinez, Christian P. 589<br />
García-Val<strong>de</strong>z, José Mario 330<br />
Garduño, Gabriel 219<br />
Gasca, Christopher 617<br />
Gelbukh, Alexan<strong>de</strong>r 311<br />
Giachetti, Andrea 188<br />
Gobbetti, Enrico 188<br />
Gómez-Gil, P. 629<br />
Gonzalez, Jesus A. 635<br />
González, Víctor M. 79<br />
González Calleros, Juan M. 47
González-Gurro<strong>la</strong>, Luis C. 623<br />
Grushin, Dmitry 497<br />
Guerra, Noemí 96<br />
Gutiérrez Almaraz, Beatriz 446<br />
Gutiérrez Tornes, Agustín 565<br />
Hernán<strong>de</strong>z, B<strong>en</strong>jamín 121<br />
Hernán<strong>de</strong>z García, L. 675<br />
Hernán<strong>de</strong>z Rodríguez, María <strong>de</strong> Lour<strong>de</strong>s<br />
433, 446<br />
Herrera, Oscar 617<br />
Ivannikov, Victor 481<br />
Iwasaki, Yohei 129<br />
Jiménez, Héctor 203, 212, 243, 267,<br />
296, 304<br />
Kaneko, Toyohisa 129<br />
Kolčárek, Pavel 149<br />
Kuri, Angel 617<br />
Kvaratskhelia, Alexan<strong>de</strong>r 474<br />
Lazarev, Alexan<strong>de</strong>r 465, 474<br />
Leontyev, H<strong>en</strong>nadiy 481<br />
Lepe-Aldama, Oscar-Iván 595<br />
López, Aurelio 227, 274<br />
López, Gilberto 19<br />
López M<strong>en</strong>doza, Salvador 366, 373<br />
López Rosas, D. M. 675<br />
López-Morteo, Gabriel 19<br />
Lozano-Yécora, J. 629<br />
Lucero, Cupertino 203<br />
Lugo, Tania 311<br />
Martínez, Edgar A. 607<br />
Martínez García, A. I. 657, 687<br />
Martínez-Muñoz, Jorge 601<br />
Mayhew, John 641, 669<br />
Mayora Ibarra, Oscar 28, 72, 512<br />
Medina, Alfonso 111, 219<br />
Medina Hernán<strong>de</strong>z, Misael 323<br />
M<strong>en</strong>chaca García, Ro<strong>la</strong>ndo 565<br />
M<strong>en</strong>chaca-Mén<strong>de</strong>z, Ro<strong>la</strong>ndo 565, 577<br />
Millán, Erik 139<br />
Miramontes Rivera, Adriana 19<br />
Miranda-Palma, Carlos 72<br />
Mizuno, Isamu 129<br />
Montes, Manuel 227, 251, 281<br />
Montes <strong>de</strong> Oca, Carlos 399<br />
Mora Lumbreras, Marva Angélica 323<br />
Morales, Rafael 366, 373<br />
Mor<strong>en</strong>o, Marl<strong>en</strong>e 111<br />
Mor<strong>en</strong>o Rocha, Mario Alberto 105, 387<br />
Morris, Janet 641, 669<br />
Moyotl, Edgar 212<br />
Muñoz Arteaga, Jaime 47, 347, 405,<br />
418, 425<br />
Muñoz Melén<strong>de</strong>z, Angélica 530, 545<br />
Navazo, Isabel 159<br />
No<strong>la</strong>zco, Juan A. 251<br />
Olmedo-Aguirre, J. Oscar 559<br />
Olmos, Ivan 635<br />
Ortiz, Martha 617<br />
Ortìz Sánchez, Edgar 323<br />
Osorio-Galindo, M. 629<br />
Pacheco-Sánchez, José Antonio 512<br />
Padaryan, Vartan 481<br />
Padil<strong>la</strong>, Gerardo 399<br />
Paniagua, Sonia 304<br />
Peralta Calvo, Rosario 105<br />
Peredo Val<strong>de</strong>rrama, Rubén 356<br />
Pérez, M. 227<br />
Pérez y Pérez, Rafael 86<br />
Pérez-Navidad, Frankli-Augusto 595<br />
Pinto, David 203, 267, 296, 304, 522<br />
Pomares Hernán<strong>de</strong>z, Saúl 347<br />
Ponce, Carlos 617<br />
Raffin, Bruno 457<br />
Ramírez Sánchez, J. L. 693<br />
Rodríguez, Miguel 296<br />
Rodríguez Urrea, Marce<strong>la</strong> 79, 607<br />
Rodríguez-Muro, M. 629<br />
Romo Contreras, Maribel 418<br />
Rudomin, Isaac 170, 121, 139<br />
Ruiz Rodríguez, Ricardo 105, 387<br />
Ryzhov, Andrey 497<br />
Sadykov, Rus<strong>la</strong>n 465<br />
Sa<strong>la</strong>zar, Hi<strong>la</strong>rio 267
Salgado, Luis R. 251<br />
Samovarov, Oleg 497<br />
Sánchez, Abraham 522<br />
Sánchez Arias, Víctor Germán 366<br />
Sánchez Herrera, Héctor 405<br />
Sánchez Martínez, Fernando 28<br />
Sánchez Yañez, Raúl E. 522<br />
Sandoval, Sara 62<br />
Santana Mancil<strong>la</strong>, P. C. 657<br />
Sidorov, Grigori 235, 289, 311<br />
Sierra, Gerardo 111, 219, 243<br />
Sochor, Jiří 149<br />
So<strong>la</strong>res, Eduardo 111<br />
Solorio, Thamar 274<br />
Sumano López, María <strong>de</strong> los Ángeles<br />
13, 405, 433<br />
Tchernykh, Andrei 474<br />
Téllez, Alberto 259<br />
T<strong>en</strong>tori Espinosa, M. E. 687<br />
Theoktisto, Víctor 159<br />
Torres Tovar, José Guillermo 418<br />
Treviño, J. A. 681<br />
Uraga-Serratos, Esmeralda 72<br />
Val<strong>de</strong>z Batista, Ironelis 5, 62<br />
Valdivia-Beutelspacher, Roberto 512<br />
Vargas Cerdán, Dolores 13<br />
Vázquez Valerdi, C<strong>la</strong>udia 37<br />
Velázquez Navarro, Tirso 411<br />
Verduzco, Jesus 457<br />
Vil<strong>la</strong>señor Pineda, Luis 37, 251, 281<br />
Vizcarra-Corral, Luis-Enrique 595<br />
Weitz<strong>en</strong>feld R., Alfredo 393<br />
Yáñez Suárez, O. 663<br />
Zanetti, Gianluigi 188<br />
Zapata, R<strong>en</strong>é 522<br />
Zh<strong>en</strong>g, Ying 641, 669<br />
Zorcolo, Antonio 188