13.11.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!