proyecto autómatas premier league & liga bbva realizado por: rodrigo de diego melón daniel...

23
Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps

Upload: santiago-soto-poblete

Post on 24-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo

Proyecto Autómatas

Premier League&

Liga BBVA

Realizado por:Rodrigo de Diego MelónDaniel Villarreal CampsEnrique Márquez Turrillo

Page 2: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique 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.

Page 3: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique 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.

Page 4: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo

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.

Page 5: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo

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

}

Page 6: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique 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.

Page 7: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo

Rodrigo de Diego MelónDaniel Villarreal Camps

Enrique Márquez Turrillo

Arquitectura funcional:

Page 8: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo

Rodrigo de Diego MelónDaniel Villarreal Camps

Enrique Márquez Turrillo

Jflex:

• Analizador léxico.

• Reconoce tokens.

• Envía resultado al cup.

Page 9: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo

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());

Page 10: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo

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.

Page 11: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo

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

Page 12: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique 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.

Page 13: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo

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.

Page 14: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo

Rodrigo de Diego MelónDaniel Villarreal Camps

Enrique Márquez Turrillo

Uso y funcionamiento:

• Introducción de la consulta:

Page 15: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo

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";

Page 16: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo

Rodrigo de Diego MelónDaniel Villarreal Camps

Enrique Márquez Turrillo

Unión de los resultados de ambas consultas:

Page 17: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique 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.

Page 18: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo

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.

Page 19: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo

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.

Page 20: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique 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.

Page 21: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo

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.

Page 22: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo

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.

Page 23: Proyecto Autómatas Premier League & Liga BBVA Realizado por: Rodrigo de Diego Melón Daniel Villarreal Camps Enrique Márquez Turrillo

Proyecto Autómatas

Premier League&

Liga BBVA

Realizado por:Rodrigo de Diego MelónDaniel Villarreal CampsEnrique Márquez Turrillo