Proyecto Autómatas
Premier League&
Liga BBVA
Realizado por:Rodrigo de Diego MelónDaniel Villarreal CampsEnrique Márquez Turrillo
Rodrigo de Diego MelónDaniel 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.
Rodrigo de Diego MelónDaniel 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.
Rodrigo de Diego MelónDaniel 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.
Rodrigo de Diego MelónDaniel 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:icondicion ::= condicion AND condicion |condicion OR condicion |NOT condicion |PIZQUIERDO condicion PDERECHO |expresion OPCOND expresionexpresion ::= expresion SUM expresion |expresion REST expresion |expresion MULT expresion |expresion DIV expresion |PIZQUIERDO expresion PDERECHO | NUMERO |PALABRA |ID
}
Rodrigo de Diego MelónDaniel 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.
Rodrigo de Diego MelónDaniel Villarreal Camps
Enrique Márquez Turrillo
Arquitectura funcional:
Rodrigo de Diego MelónDaniel Villarreal Camps
Enrique Márquez Turrillo
Jflex:
• Analizador léxico.
• Reconoce tokens.
• Envía resultado al cup.
Jflex:Patrón Acción
; Devolver symbol(sym.SEMI);
no Devolver symbol(sym.NOT);
donde Devolver 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()););
y Devolver symbol(sym.AND);
o Devolver 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());
Rodrigo de Diego MelónDaniel 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.
Cup:Ev(consulta):
Ev(lc)+”Where”+Ev(c) si consulta = lista_campos:lc DONDE condicion:c SEMIEv(lc) si consulta = lista_campos:lc SEMI
Ev(lista_campos):Ev(i)+”,”+Ev(lc) si lista_campos = ID:i COMA lista_campos:lcEv(i) si lista_campos = ID:i
Ev(condicion):Ev(c1)+ +"#AND#"+Ev(c2) si condicion = condicion:c1 AND condicion:c2Ev(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 PDERECHOEv(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:e2Ev(e1)+"-"+Ev(e2) si expresión = expresion:e1 REST expresion:e2Ev(e1)+"*"+Ev(e2) si expresión = expresion:e1 MULT expresion:e2Ev(e1)+"/"+Ev(e2) si expresión = expresion:e1 DIV expresion:e2"("+Ev(e)+")" si expresión = PIZQUIERDO expresion:e PDERECHOEv(n) si expresión = NUMERO:nEv(p) si expresión = PALABRA:p"?"+Ev(i)+"?" si expresión = ID:i
Rodrigo de Diego MelónDaniel 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.
Rodrigo de Diego MelónDaniel 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.
Rodrigo de Diego MelónDaniel Villarreal Camps
Enrique Márquez Turrillo
Uso y funcionamiento:
• Introducción de la consulta:
Rodrigo de Diego MelónDaniel 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 WHEREpresupuesto*1.12>70000000 ANDciudad<>"Barcelona";
Rodrigo de Diego MelónDaniel Villarreal Camps
Enrique Márquez Turrillo
Unión de los resultados de ambas consultas:
Rodrigo de Diego MelónDaniel 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.
Rodrigo de Diego MelónDaniel 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.
Rodrigo de Diego MelónDaniel 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.
Rodrigo de Diego MelónDaniel 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.
Rodrigo de Diego MelónDaniel 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.
Rodrigo de Diego MelónDaniel 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.
Proyecto Autómatas
Premier League&
Liga BBVA
Realizado por:Rodrigo de Diego MelónDaniel Villarreal CampsEnrique Márquez Turrillo
Top Related