1 Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo
2 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo P. A: Premier League & Liga BBVA El problema. Arquitectura funcional. –Jflex y Cup. Descripción del sistema. Objetivos alcanzados. –Académicos. –Técnicos. Tecnología usada y líneas futuras.
3 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo P. A: Premier League & Liga BBVA El problema. Arquitectura funcional. –Jflex y Cup. Descripción del sistema. Objetivos alcanzados. –Académicos. –Técnicos. Tecnología usada y líneas futuras.
4 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo El Problema: Combinación de fuentes de información heterogéneas. Nuestro dominio de información es la relativa a los equipos de la premier league y la liga bbva. Utilización de una gramática propia para realizar las consultas.
5 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo Gramática: Gramática (S. Terminales, S. No Terminales, consulta, P) - S. Terminales: SEMI, COMA, DONDE, AND, OR, NOT, PIZQUIERDO, PDERECHO, SUM, REST, MULT, DIV, ID, NUMERO, PALABRA, OPCOND; - S. No Terminales: lista_campos, condicion, expresion, consulta; - P={ consulta ::= lista_campos DONDE condicion SEMI |lista_campos:lc SEMI lista_campos ::= ID COMA lista_campos |ID:i condicion ::= condicion AND condicion |condicion OR condicion |NOT condicion |PIZQUIERDO condicion PDERECHO |expresion OPCOND expresion expresion ::= expresion SUM expresion |expresion REST expresion |expresion MULT expresion |expresion DIV expresion |PIZQUIERDO expresion PDERECHO | NUMERO |PALABRA |ID }
6 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo P. A: Premier League & Liga BBVA El problema. Arquitectura funcional. –Jflex y Cup. Descripción del sistema. Objetivos alcanzados. –Académicos. –Técnicos. Tecnología usada y líneas futuras.
7 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo Arquitectura funcional:
8 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo Jflex: Analizador léxico. Reconoce tokens. Envía resultado al cup.
9 Jflex: PatrónAcción ;Devolver symbol(sym.SEMI); noDevolver symbol(sym.NOT); dondeDevolver symbol(sym.DONDE); /Devolver symbol(sym.DIV); *Devolver symbol(sym.MULT); +Devolver symbol(sym.SUM); -Devolver symbol(sym.REST); {opcondicional}Devolver symbol(sym.OPCOND+yytext());); {Numero}Devolver symbol(sym.NUMERO+yytext());); yDevolver symbol(sym.AND); oDevolver symbol(sym.OR); {id}Devolver symbol(sym.ID+yytext()););,Devolver symbol(sym.COMA);.Devolver NULL (Devolver symbol(sym.PIZQUIERDO); )Devolver symbol(sym.PDERECHO); {palabra}Devolver symbol(sym.PALABRA+yytext());
10 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo Cup: Analizador sintáctico. Recoge lo que le pasa el jflex y en base a una gramática realiza la acción asociada.
11 Cup: Ev(consulta): Ev(lc)+”Where”+Ev(c) si consulta = lista_campos:lc DONDE condicion:c SEMI Ev(lc) si consulta = lista_campos:lc SEMI Ev(lista_campos): Ev(i)+”,”+Ev(lc) si lista_campos = ID:i COMA lista_campos:lc Ev(i) si lista_campos = ID:i Ev(condicion): Ev(c1)+ +"#AND#"+Ev(c2) si condicion = condicion:c1 AND condicion:c2 Ev(c1)+"#OR#"+Ev(c2) si condicion = condicion:c1 OR condicion:c2 "#NOT#"+Ev(c) si condicion = NOT condicion:c "#(#"+Ev(c)+"#)#" si condicion = PIZQUIERDO condicion:c PDERECHO Ev(e1)+"_"+Ev(o)+"_"+Ev(e2) si condicion = expresion:e1 OPCOND:o expresion:e2 Ev(expresión): Ev(e1)+"+"+Ev(e2) si expresión = expresion:e1 SUM expresion:e2 Ev(e1)+"-"+Ev(e2) si expresión = expresion:e1 REST expresion:e2 Ev(e1)+"*"+Ev(e2) si expresión = expresion:e1 MULT expresion:e2 Ev(e1)+"/"+Ev(e2) si expresión = expresion:e1 DIV expresion:e2 "("+Ev(e)+")" si expresión = PIZQUIERDO expresion:e PDERECHO Ev(n) si expresión = NUMERO:n Ev(p) si expresión = PALABRA:p "?"+Ev(i)+"?" si expresión = ID:i
12 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo P. A: Premier League & Liga BBVA El problema. Arquitectura funcional. –Jflex y Cup. Descripción del sistema. Objetivos alcanzados. –Académicos. –Técnicos. Tecnología usada y líneas futuras.
13 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo Descripción general del sistema: El programa recoge una consulta, realizada por el usuario, utilizando la gramática ya descrita. Es interpretada por el sistema y a partir de la misma construye dos consultas SQL. Recoge los resultados de las mismas y los une para mostrárselos al usuario.
14 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo Uso y funcionamiento: Introducción de la consulta:
15 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo Traducción y transformación: Consulta Campos y Condición Dividir en: Traducir para formar dos sentencias SQL: SELECT nombre,ciudad FROM ligaesp.esp WHERE presupuesto*1.00>70000000 AND ciudad"Barcelona"; SELECT name,ciudad FROM ligaing.ing WHERE presupuesto*1.12>70000000 AND ciudad"Barcelona";
16 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo Unión de los resultados de ambas consultas:
17 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo P. A: Premier League & Liga BBVA El problema. Arquitectura funcional. –Jflex y Cup. Descripción del sistema. Objetivos alcanzados. –Académicos. –Técnicos. Tecnología usada y líneas futuras.
18 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo Académicos: Aplicar la teoría de gramáticas y autómatas. Aplicar autómatas y lenguajes formales a un problema real, en concreto, al acceso a fuentes de información discrepantes. Facilitar el aprendizaje desarrollando el trabajo en grupo.
19 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo Técnicos: Definición de un lenguaje orientado al usuario, que permite realizar una consulta unificada a dos bases de datos. Facilidad de representación de datos de diversos orígenes, mostrándose adaptadas al usuario.
20 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo P. A: Premier League & Liga BBVA El problema. Arquitectura funcional. –Jflex y Cup. Descripción del sistema. Objetivos alcanzados. –Académicos. –Técnicos. Tecnología usada y líneas futuras.
21 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo Tecnología utilizada (conclusiones): Se descarto la utilización de autómatas por su complejidad y un menor aporte de funcionalidades. Utilizando las herramientas CUP y JFlex, las cuales resolvieron el problema.
22 Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo Líneas Futuras: Que el sistema permita insertar y datos en la base de datos, utilizando una sentencia global. Mapear varias bases de datos y crear los diccionarios automáticamente. Mostrar al usuario posibles resultados válidos, pero no confirmados al 100%. Poder detectar la existencia de información común en ambas tablas, mostrando la máxima información sin redundancia.
23 Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo