Desarrollo de un Sistema Experto para el Proyecto de Investigación
“Generador Automático de Modelos de Datos Normalizados en Bases de
Datos Relacionales”
Damiano Luis Esteban, Paz Menvielle Alejandra, Muñoz Roberto Miguel,
Romero María Soledad, Cuevas Juan Carlos, Bartó Carlos, Nicolas Fiorito, Mauricio Spalletti
Departamento Ingeniería en Sistemas de Información / Facultad Regional
Córdoba / Universidad Tecnológica Nacional Maestro Marcelo López esq. Cruz Roja Argentina – Ciudad Universitaria - Córdoba 0351 - 4686385 luis.damiano@gmail.com, pazmalejandra@gmail.com, robertmunioz@gmail.com, romeroma.soledad@gmail.com, Juancarloscue@gmail.com, cbarto@gmail.com, fiorito.nicolas@gmail.com, spalletti.mauricio@gmail.com
Resumen tamos conocimiento sobre Normalización
de Base de Datos. Un Sistema Experto que permite la Palabras clave: carga de la Normalización de modelos de datos para base de datos relacionales, que Sistema Experto, Ingeniería del Conoci- luego será validada hasta tercera forma miento, Normalización de Base de Datos, normal en su diseño. Para ser utilizado en Ontología el ámbito académico dentro de las carreras de Informática, como Contexto herramienta de aprendizaje (sin supervisión docente) de los estudiantes, El grupo de investigadores de este para la temática de Normalización de proyecto, está compuesto por docente de Modelos de Datos para bases de datos la Casa de Altos Estudios de la carrera relacionales. Ingeniería en Sistemas de Información, Desarrollado con la integración de tres con la colaboración e integración de un herramientas (software) de programación: docente con nivel de experticia en la a) Vb.Net para desarrollo de la interfaz temática Sistemas Expertos (SE) de la visual del software, MySql como motor Universidad Nacional de Córdoba. de base de datos, y el lenguaje Clips de Algunos docentes de este grupo, poseen programación para el diseño de Sistemas experiencia previa en el desarrollo de Expertos. proyectos de investigación, Desarrollamos conocimientos sobre los encontrándose categorizados dentro del temas: Ingeniería del Conocimiento, sistema para este fin de UTN y Nacional. Sistemas Expertos, Ontología. Incremen- Otros noveles, están transitando el tercer año de trabajo en este PID, y postulando sobre temáticas de Bases de Datos por primera vez en los sistemas de Relacionales, y como corolario de la categorización, para iniciar sus carreras investigación, el desarrollo de un de investigadores. software con las siguientes características: Los docentes ya categorizados han a) un generador de estructuras de datos participado en otras investigaciones, Normalizas, para base de datos homologadas por UTN, también referidas relacionales, a partir de la declaración de a la temática de bases de datos, pero con dominios, b) un validador de la otras orientaciones, estas son: normalización de estructuras de datos PROMETEO - Desarrollo de un método y para base de datos relacionales, hasta una herramienta para el aprovechamiento tercera forma normal (3FN) [1,2,3,4], de Metadatos de Base de Datos suministrado por un usuario, con la Relacionales (2010), Análisis y aplicación característica de emitir opinión respecto de metodologías para la generación de de las partes de la estructura de datos, consultas complejas utilizando esquemas donde el SE encontrara errores de diseño. OLAP (2010), y administrador de Base Se debió realizar una tarea intensa de de Datos Relacional TecnoDB (2007). búsqueda de información, bibliografía y Las especialidades dentro de la webgrafía referida al diseño del SE informática de los docentes integrantes [6,9,15], también sobre Ingeniería del del PID, son las siguientes: Conocimiento(IC) [5,7], para producir un Programación, Inteligencia Artificial, aprendizaje que nos permitiera iniciarnos Base de Datos, Computación y Sistemas dentro de este campo de la informática de Información. donde ninguno de los integrantes del También integran el PID, un conjunto grupo, había desarrollado conocimiento y de estudiantes avanzados de la carrera experiencias. Hallamos amplias Ingeniería en Sistemas de Información. dificultades en este proceso de recopilación de bibliografía, y como Introducción consecuencia, se decidió invitar al Ing. Carlos Bartó de Universidad Nacional de El inicio de este PID es motorizado por Córdoba a participar en el PID, quien se un grupo de docente de la Cátedra destaca por su nivel de experticia en las Gestión de Datos, de la carrera de temáticas antes mencionadas. Esta Ingeniería en Sistemas de Información, incorporación trajo luz a nuestro dentro de UTN-FRC, que proponen la proyecto, saliendo del estancamiento que creación de una herramienta de naturalmente se estaba produciendo por la utilización académica, para que los falta de acceso a material necesarios. estudiantes de la carrera, puedan realizar Culminada nuestra capacitación, nos prácticas de Normalización de estructuras encontramos con el primer año de de datos para Base de Datos Relacionales. proyecto avanzado, con una visión Posteriormente se suman docentes de esclarecidas y renovada de nuestros otras cátedras que encuentra la propuesta objetivos, con una mirada realizable del interesante. Se formula la propuesta como producto que debíamos desarrollar. Como un PID formal dentro del ámbito UTN, consecuencia de esto la definición del que proponía: en el área de investigación PID cambió radicalmente. Determinamos desarrollar conocimiento en las temáticas que el dominio del problema era de Ingeniería del Conocimiento y diseño demasiado amplio para ser tratado por un de SE, e incrementar el conocimiento único SE, para que éste fuera realizable, se debía subdividir la problemática a disponemos de ese módulo (DLL) que dominios más acotados o restringidos, está compilado en C#[17], preparado para esto implicaba el rediseño conceptual de montarse en un proyecto .Net, nuestros objetivos y por ende del proveniente del sitio CLIPS.NET [23] , desarrollo del software. Se concluyó que que es sugerido en el sitio oficial de Clips se debía abordar una solución por vez, [25]. Hemos realizado algunas pruebas y por ello nos enfocamos en el desarrollo las mismas han sido satisfactorias. del Sistema Validador de estructuras de Sin dudas aquí, en este punto del datos, y dejamos para un siguiente desarrollo del PID, nos encontramos con proyecto el Generador de Modelos de el dilema de cómo definir el Datos en función de dominios conocimiento. Dentro de los sistemas de suministrados, que fue la idea que dio producción, la definición típica sostiene nombre al PID original. que la base de conocimiento está En el inicio del segundo año se representada por reglas [6]. Nosotros planificó una nueva estrategia para darle entendemos que las reglas son el continuidad al proyecto. Se decide el conocimiento de cómo hacer (o desarrollo de una interfaz visual que le procedimental), pero que existe otro permita a un usuario, la carga de una conocimiento que podríamos denominar estructura de datos (modelo de datos), ontológico, que es la acumulación de normalizada a tercera forma normal para concepto definitorios de una misma base de datos relacionales, que representa tipificación. Por ejemplo: El cómo hacer, la solución de un problema de que representa en el experto humano, las almacenamiento. tareas sistematizadas para lograr que un Nos encontramos en el tercer año de modelo de base de datos se encuentre en desarrollo del PID, ya hemos culminado primera forma normal, en el SE la interfaz visual de la herramienta, la que (programación Clips) implicarán la base hemos desarrollado Vb.Net 2010 [13,16]. del conocimiento necesaria, representada Esta parte del producto permitirá al por reglas, para lograr el mismo objetivo. usuario plasmar un modelo de datos [1], Pero el experto humano, dispone de un como dijimos anteriormente, de la misma conocimiento acumulado por la forma en que se realiza un ejercicio de experiencia, de cómo mencionar aprendizaje de normalización [2,4] (para entidades y atributos, que se incrementa base de datos relacionales) en papel. Esta con el tiempo, y que no pertenece al interfaz le brindará los recursos campo de las Formas Normales, que suficientes para declarar cada una de las constituyen ontologías, pues para un entidades componente de un modelo o mismo concepto dispone de una variedad estructura de datos, mencionar la solución aceptable de expresiones que lo con nombre propio, y poder almacenar la representan. Estas ontologías forman misma en una base de datos MySql [22]. parte del conocimiento, pero no es Permitiéndole también trabaja en un conveniente que se las incluya en la base entorno de múltiples modelos (resultados) del conocimiento (reglas), pues es un simultáneos. conjunto de datos volátil. La mejor El desafío del tercer año y último, será alternativa es que las ontologías se el embeber en la interfaz visual, un encuentren almacenadas en una base de módulo que permita ejecutar la datos, y puedan ser corregidas y validadas programación del SE, el que se escribirá por un ontólogo, y requeridas por el SE en el lenguaje Clips [6,10,21]. Ya en cada análisis. Estás ontologías deberán encontrar representación en los tres pertenecientes a ese modelo, agregando a sistemas actuantes: la base de datos, la la información de de la entidad, su aplicación visual y el SE embebido. ubicación dentro del editor (coordenadas El producto es un SE en donde de localización), luego se almacena la interactúan tres componentes (sistemas) definición de cada atributo, por último la asociados para lograr el efecto esperado. clave primaria, y las foráneas. Ya que se Primero una interfaz visual que permite grabó para cada modelo, la localización declarar un modelo de datos de visualización en el escritorio de (normalización) en forma visual, similar a normalización, de cada entidad, esto como lo escribiría el usuario en papel, permitirá la posibilidad de ubicarlas en el con una representación en pantalla mismo lugar dentro del escritorio de aproximada. Esto requiere de un normalización a cada una de ellas, cuando visualizador especializado de entidades, vuelva a ser cargado los modelos de datos que le permite al usuario ver las entidades desde la base de datos, para ser declaradas, con sus atributos, clave reutilizado. Esta forma de mantener el primaria y foráneas. El objeto que permite diseño esquemático visual que el usuario visualizar una entidad es flotante dentro ha entendido como correcto, está pensado del escritorio de normalización, pudiendo para dar continuidad, con el propósito de el usuario agregar la cantidad que fueran no generar una relectura del diseño necesarias en el diseño de la estructura de realizado hasta el momento, para datos. El escritorio de normalización es continuarlos. Siempre tratando de que el de pantalla completa, y se encuentra escritorio de normalización de los una manejado por un PageFrame (manejador mejora sustancial respecto de los métodos de páginas) que permite N Page (página) de papel y lápiz. dentro de sí, este mecanismos faculta al También existe la funcionalidad de usuario a declarar un modelo de datos por borrar todo el modelo físicamente en la cada Page. El editor de entidades, es la base de datos, o borrar todo el contenido herramienta que le permite al usuario dar del page actual. contenido a una entidad, es un formulario Una vez declarado todo el modelo, el especializado que se activa cada vez que usuario puede enviar a validar su diseño, se desea editar una entidad desde el esto activa la parte del SE que contiene objeto visualizador que la contiene, tiene programación Clips. El sistema visual todos los recursos para definir entidad convierte toda la información del modelo completamente, su nombre, su colección de datos, en un conjunto de patrones que de atributos, la clave primaria, y las representa la misma información bajo claves foráneas, una vez terminado el otro paradigma. Se transmite este proceso de edición, se formatea el conjunto de patrones al SE, en otra acción conjunto de datos, y se los transfiere al la interfaz visual lee el paquete de visualizador de entidades desde donde se conocimiento que denominamos activó el editor. Cada estructura de datos, ontológico desde la base de datos, es puede ser almacenada dentro de una base transformado en patrones compatibles de datos en el motor MySql, con las con la programación Clips, y transferidos siguientes características: a) se guarda la al SE, por último se dispara la ejecución definición (nombre propios) de la del SE (motor de inferencia). estructura (modelo), asociado a un Hemos comprendido que la definición usuario registrado, y a una fecha, se de una serie de ontologías, que ajusten: la procede a guardar las entidades definidas representación del conocimiento, del modelo a ser analizado, y de los basado en la experiencia del experto resultados obtenidos, es de fundamental humano. importancia. Estás ontologías garantizan que la información pueda ser vista desde Resultados y Objetivos cualquiera de los sistemas interactuantes con el mismo significado. Respecto de los resultados, hasta este momento tenemos desarrollada la Interfaz Líneas de Investigación, visual que permite capturar un modelo de datos. También la parte de la base de Desarrollo e Innovación datos que permite el almacenamiento de Inicialmente el PID propone investigar los modelos capturados. En el año en sobre el diseño de Sistema Expertos curso, nos abocaremos al desarrollo del programados en Clips, Ingeniería del SE junto a los módulos de la interfaz Conocimiento, y logra un incremento en visual que compatibilizan, el conceptos de Normalización de Base de conocimiento ontológico y el del modelo Datos Relacionales. En el desarrollo del a ser validado, junto a la estandarización mismo, se incorporaron líneas de de mensajes y sugerencias que el sistema conocimiento no previstos sobre emitirá. CommondKADS [7,8], y Ontología Respecto de los objetivos, los [18,22]. originales del proyecto ya fueron Se están logrando los objetivos de expuestos en wicc 2013, cuando fue desarrollo, avanzando fuertemente en la presentado como un potencial en el inicio construcción de un Sistema Experto, del PID. Ahora nos gustaría dejar montado sobre un interfaz visual, con las plasmado en este apartado la siguiente siguientes características: a) la carga de reflexión sobre objetivos: entendiendo a un modelo solución (estructura de datos) estos como el futuro por venir, sin dudas a un problema, que debiera estar nos queda la total convicción de difundir normalizado en 3FN, b) la validación de la experiencia lograda, fundamentalmente esta estructura de datos, c) emisión de la relacionada al cambio de pensamiento, opinión: c.1) en caso de no encontrar que debieran propiciar los docentes anomalías expresar que la estructura es universitarios de carreras asociadas a la satisfactoria, c.2) por lo contrario, emitir tecnología (en principio), en relación a sugerencias que le permitan al usuario qué, productos tecnológicos de cualquier realizar las correcciones pertinentes para tipo, desarrollados en el seno de la que su modelo alcance un estado de 3FN, universidad, pueden cumplir el rol de c.3) también la interacción entre SE y el apoyo a la enseñanza, para mejorar las usuario para aclarar situaciones dudosas. posibilidades de entrenamiento y Respecto de los conocimiento no prácticas de estudiantes, brindando previstos: CommondKADS es una recursos adicionales extra áulicos para su metodología para documentar SE, que formación. está diseñada específicamente para este propósito. Los conceptos de Ontología Formación de Recursos Humanos fueron imprescindibles para poder El equipo de trabajo está constituido trabajar en forma sistémica con el por: a) un director de proyecto, b) un conocimiento de cómo mencionar los codirector, c) cuatro docente componentes de un modelo de datos, investigadores, d) seis alumnos becarios, con la siguiente distribución en el Learning / Thomson Internacional, 2005 - transcurso de los años: d.1) primer año 4 ISBN 9789706860590 becarios, d.2) segundo año 2 becarios, [7] Pajares Martinsanz, Gonzalo y Santos d.3) tercer año (el actual) 2 becarios, los Peñas, Matilde - Inteligencia Artificial e becarios del segundo y tercer año son los Ingeniería del Conocimiento - Editorial mismos. RA-MA - Madrid - 2007 - ISBN 84- En el segundo año del PID un 7897-676-0. estudiante de la carrera Ingeniería en [8] Schreiber, August et. al. - Knowledge Sistemas de Información realizó sus Engineering and Management. The prácticas supervisadas de 200 horas de CommonKADS Methodology - Editorial trabajo en el seno del proyecto. Las Massachusetts Institute of Technology - prácticas supervisadas tiene como Estados Unidos - 2000 - ISBN 0-262- objetivo, intensificar la formación 19300-0. práctica de los alumnos, desarrollando [9] Alanis Barrera, Ricardo- Sistemas una formación científica - técnica Expertos e Inteligencia Artificial CLIPS - actualizada y adecuada a las necesidades Burgos CyL., Febrero de 2005 - de un medio en continua evolución [23]. Universidad de Burgos: http://es.scribd.com/doc/6732509/Clips. Referencias Accedido en junio de 2013. [10] Calvo Cuenca, Antonio - [1] Elmasri, R. y Navathe, S. - Programación en lenguaje Clips - Fundamentos de Sistemas de Bases de Editorial Universitaria Ramón Areces, Datos-5ta Edición – Edit. Pearson- 2008 - ISBN 9788480048798. Estados Unidos - 2007. ISBN: 978-84- [11] Garcia Martinez, Ramon - Sistemas 7829-085-7. Autónomos - Aprendizaje Automático - [2] Date, Christopher - Introducción a los Editorial Nueva Librería - Argentina - Sistemas de Bases de Datos - Volumen 1 1997 - ISBN 950-9088-84-6 - Quinta Edición - Edit. Addison Wesley [12] Blanco Roberto; Casado, María Iberoamericana – Estados Unidos - 1993 - Luisa; Cervera, David; Días de Prado, ISBN: 0-201-51859-7. Fausto; Gómez Arias, José Javier; Martín, [3] Silberschatz y otros- Fundamentos de Francisco José; Martinez Martinez, José Bases de Datos - Quinta Edición- Edit. Miguel; Ramos, María José - Tecnología Mc Graw Hill- Estados Unidos - 2006 - Investigación, innovación y buenas ISBN: 84-481-4644-1. prácticas - Aprendizaje Automático - [4] Reinosa, E.; Maldonado, C.; Muñoz, Editorial Graó - España - 2010 - ISBN R.; Damiano, L.; Abrutsky, M. - Bases de 978-84-7827-995-1 Datos - Edit. AlfaOmega Editores - [13] Wroblewski, Luke - Usabilidad y Argentina - 2012- ISBN: 978-987-1609- diseño de Formularios - 2011 - 31-4. http://www.slideshare.net/interactionpatte [5] Alonso Betanzos, Amparo et. al. - rns.org/best-practices-for-form-design- Ingeniería del Conocimiento. Aspectos presentation Disponible: Agosto 2014 Metodológicos - Editorial Pearson S.A. - [14] García Serrano, Alberto - Madrid - 2004 - ISBN 84-205-4192-3. Inteligencia Artificial - Fundamentos, [6] Giarratano, Joseph - Riley, Gary - práctica y aplicaciones - Editorial Sistemas Expertos Principios y Alfaomega - México - 2012 - ISBN Programación - Editorial Cengage 9788493945022 [15] García Martínez - Britos - Ingeniería de Sistemas Expertos - Editorial Nueva Librería - Bs.As. Argentina - 2004 - ISBN 9789871104154 [16] Ceballos, Francisco Javier - Visual Basic .NET - Curso de Programación - Editorial Alfaomega -Rama - México - 2008 - ISBN: 9701513703 [17] Ceballos, Francisco Javier - Enciclopedia de Microsoft - Visual C# - Editorial Alfaomega - México - 2007 - ISBN: 9789701514252 [18] Mario Bunge – Tratado de Filosofía – Ontología I – Editorial Gedisa – Barcelona 2011 – ISBN: 978-84-9784- 196-2 [19] Mario Bunge - Tratado de Filosofía – Ontología II – Editorial Gedisa – ISBN: 978-84-9784-197-9 [20] Paul DuBois - Edición Especial MySQL - Editorial Prentice Hall - ISBN: 84-205-3299-1 [21] Gary Riley - Giarratano Joseph - Otros - Clips Guia de Programación Basica , Clips Guia de Programación Avanzada, Otros Títulos - http://clipsrules.sourceforge.net/ (marzo 2015) [22] María Jesús Lamarca Lapuente - Ontologías - http://www.hipertexto.info/documentos/o ntologias.htm (marzo 2015) [23] Sitio Clips.Net - https://clips.codeplex.com (marzo 2015) [24] UTN -FRC - Prácticas Supervisadas http://www.institucional.frc.utn.edu.ar/sis temas/Areas/Alumnos/PracticasSupervisa das.asp (marzo 2015) [25] Sitio Oficial de Clips - http://clipsrules.sourceforge.net/