Skip to content

Commit afcacdb

Browse files
Memoria, correcciones finales.
1 parent b2e0ea3 commit afcacdb

30 files changed

+466
-366
lines changed

Documentacion/anexos.tex

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
% Párrafos
2929
\nonzeroparskip
3030

31+
% Tildes
32+
\usepackage[T1]{fontenc}
3133

3234
% Imagenes
3335
\usepackage{graphicx}
@@ -330,7 +332,12 @@
330332
\noindent\LARGE
331333
Presentado por \@author{}\\
332334
en Universidad de Burgos --- \@date{}\\
333-
Tutor: \@tutor{}\\
335+
\begin{tabbing}
336+
Tutores: \= D. Álvar Arnaiz González \kill
337+
Tutores: \= D. Álvar Arnaiz González \\
338+
\> Dr. César Ignacio García Osorio
339+
\end{tabbing}
340+
334341
}%
335342
\end{center}%
336343
\null

Documentacion/bibliografiaAnexos.bib

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,18 @@ @book{koza92
55
year = "1992"
66
}
77

8+
@misc{thothv2,
9+
title={Proyecto THOTH V2 ( simulador de aut{\'o}matas y ma{\'a}quinas de Turing)},
10+
author={Garc{\'\i}a-Osorio, C{\'e}sar and Jimeno Visitación, Javier and Mediavilla Saiz, {\'I}{\~n}igo},
11+
year={2007},
12+
publisher={Trabajo de Fin de Carrera, Univeridad de Burgos
13+
Escuela Polit{\'e}cnica Superior}
14+
}
815

9-
@misc{ wiki:latex,
10-
author = "Wikipedia",
11-
title = "LaTeX --- Wikipedia{,} La enciclopedia libre",
12-
year = "2015",
13-
url = "https://es.wikipedia.org/w/index.php?title=LaTeX&oldid=84209252",
14-
note = "[Internet; descargado 30-septiembre-2015]"
15-
}
16+
@misc{mvc,
17+
title={El patr{\'\o}n Modelo-Vista-Controlador },
18+
author={ Pav{\'\o}n Mestras, Juan },
19+
year={2009},
20+
publisher={Programaci{\'\o}n Orientada a Objetos
21+
Facultad de Informática, Universidad Complutense Madrid}
22+
}

Documentacion/img/Semana19.PNG

52 KB
Loading

Documentacion/img/Semana20.PNG

51.4 KB
Loading

Documentacion/img/Semana21.PNG

50.9 KB
Loading

Documentacion/memoria.tex

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -428,33 +428,40 @@
428428
% Abstract en castellano
429429
\renewcommand*\abstractname{Resumen}
430430
\begin{abstract}
431-
La teoría de autómatas y lenguajes formales es uno de los campos más antiguos en el ámbito de la informática, que a pesar de los constantes avances, sus principales conceptos continúan siendo de referencia para el estudio teórico y práctico de la informática. Esto es la base sobre la que nació el mundo de las tecnologías que conocemos hoy en día.
431+
La teoría de autómatas y lenguajes formales es uno de los campos más antiguos en el ámbito de la informática que, a pesar de los constantes avances, sus principales conceptos continúan siendo de referencia para el estudio teórico y práctico de la informática. Esto es la base sobre la que nació el mundo de las tecnologías que conocemos hoy en día.
432432

433-
Thoth es un antiguotrabajo fin de carrera de la extinta Ingeniería Técnica en Informática que cuenta con varias versiones realizado por alumnos de la Universidad de Burgos y que sirve, precisamente, como herramienta de ayuda en la docencia de la teoría de autómatas y lenguajes formales. Este proyecto pretende llevar a Thoth a la web, sumando nuevas funcionalidades propias de este tipo de aplicaciones, como el registro de usuarios o el inicio de sesión, que la harán más útil y completa.
433+
Thoth es un antiguo trabajo de fin de carrera de la extinta Ingeniería Técnica en Informática que, cuenta con varias versiones realizadas por alumnos de la Universidad de Burgos y que sirve, precisamente, como herramienta de ayuda en la docencia de la teoría de autómatas y lenguajes formales. Este proyecto pretende llevar Thoth a la web, sumando nuevas funcionalidades propias de este tipo de aplicaciones, como el registro de usuarios o el inicio de sesión, que la harán más útil y completa.
434434

435435

436-
Para ello se hace un estudio sobre las posibles tecnologías que ayudarán a conseguir el objetivo. De esta forma se determina como herramienta para lograr este cambio el \emph{framework} denominado \emph{Google Web Toolkit}, que consigue traducir parte del código escrito en Java a código JavaScript. GWT, según sus siglas, es una tecnología algo antigua pero muy útil para este proyecto, que combina código del lado del cliente y código del lado del servidor, cada uno con una funcionalidad, y que se comunican entre ellos vía RPC.
436+
Para ello se hace un estudio sobre las posibles tecnologías que ayudarán a conseguir el objetivo. De esta forma se determina como herramienta para lograr este cambio el \emph{framework} denominado \emph{Google Web Toolkit}, que consigue traducir parte del código escrito en Java a código JavaScript. GWT, según sus siglas, es una tecnología algo antigua pero muy útil para este proyecto, que combina código del lado del cliente y código del lado del servidor, cada uno con una funcionalidad, y que se comunican entre ellos vía \emph{Remote Procedure Call}.
437437

438438
El trabajo fundamental es adaptar el código Java para que el \emph{framework} logre interpretarlo y traduzca lo necesario para que la aplicación se ejecute en cualquier navegador. Se trata de aprender los entresijos de GWT, sacando partido de la dualidad cliente-servidor y conservando todo lo bueno, que es mucho, realizado en la aplicación de escritorio de Thoth.
439439

440440
\end{abstract}
441441

442442
\renewcommand*\abstractname{Descriptores}
443443
\begin{abstract}
444-
autómatas y lenguajes formales, procesadores de lenguajes, transformación de gramáticas, análisis descendente, aplicación cliente-servidor
444+
Autómatas y lenguajes formales, procesadores de lenguajes, transformación de gramáticas, análisis descendente, aplicación cliente-servidor
445445
\end{abstract}
446446

447447
\clearpage
448448

449449
% Abstract en inglés
450450
\renewcommand*\abstractname{Abstract}
451451
\begin{abstract}
452-
A \textbf{brief} presentation of the topic addressed in the project.
452+
The theory of automata and formal languages is one of the oldest fields in the ambit of computer science that, despite the constant advances, its main concepts continue to be a reference for the theoretical and practical study of computer science. This is the basis of the world of technologies that we learn today.
453+
454+
Thoth is an old end-of-course work of the extinct Technical Engineering in Computer Science that, has several versions realized by students of the University of Burgos and that serves like tool of aid in the teaching of the theory of automata and formal languages . This project aims to bring Thoth to the web, adding new features of this type of applications, such as user registration or login, which will make it more useful and complete.
455+
456+
It's made a study of possible technologies that will help achieve the objective. In this way, the framework called Google Web Toolkit, which translates part of the code written in Java to JavaScript code, is determined as a tool to achieve this change. GWT, by its acronym, its old but very useful technology for this project, which combines client-side code and server-side code, each with a functionality, and which communicate each other via Remote Procedure Call.
457+
458+
The fundamental work is to adapt the Java code to make the framework interpret it and translate what is necessary for the application to run in any browser. It's about learning about GWT, taking advantage of the client-server duality and retaining all the good, which is a lot, done in Thoth's desktop application.
459+
453460
\end{abstract}
454461

455462
\renewcommand*\abstractname{Keywords}
456463
\begin{abstract}
457-
keywords separated by commas.
464+
Automata and formal languages, language processors, grammars transformation, top-down parser, client-server application
458465
\end{abstract}
459466

460467
\clearpage

Documentacion/tex/1_Introduccion.aux

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@
5454
\setcounter{bsm@mctr}{0}
5555
\setcounter{workm@mctr}{0}
5656
\setcounter{sheetsequence}{13}
57-
\setcounter{lastsheet}{39}
58-
\setcounter{lastpage}{29}
57+
\setcounter{lastsheet}{38}
58+
\setcounter{lastpage}{28}
5959
\setcounter{figure}{0}
6060
\setcounter{lofdepth}{1}
6161
\setcounter{table}{0}
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
\capitulo{1}{Introducción}
22

3-
Este proyecto nació con el objetivo de llevar Thoth \cite{garcia2007ensenanza}, un antiguo proyecto escrito en Java, a la web. Para ello se utilizará tecnologías web, que puedan ser utilizadas en diferentes dispositivos haciéndolo accesible a todo el mundo. Con ayuda de la herramienta conocida como GWT o \emph{Google Web Toolkit} \footnote{\url{http://www.gwtproject.org/}} según su denominación inglesa, traduciré la aplicación a Javascript en el lado del cliente haciendo posible la utilización de la aplicación directamente desde un navegador, algo que antes era imposible.
3+
Este proyecto nació con el objetivo de llevar Thoth \cite{garcia2007ensenanza}, un antiguo proyecto escrito en Java, a la web. Para ello se utilizarán tecnologías web, que puedan ser utilizadas en diferentes dispositivos haciéndolo accesible a todo el mundo. Con ayuda de la herramienta conocida como GWT o \emph{Google Web Toolkit} \footnote{\url{http://www.gwtproject.org/}} según su denominación inglesa, traduciré la aplicación a Javascript en el lado del cliente haciendo posible la utilización de la aplicación directamente desde un navegador, algo que antes era imposible.
44

55
Thoth \cite{garcia2007ensenanza}
6-
es un antiguo proyecto enfocado a la actividad docente y relacionado con los procesadores de lenguaje, que fue realizado por varios alumnos de la Universidad de Burgos como trabajo de fin de carrera. Esta aplicación cuenta con dos versiones hasta la fecha y con otros desarrollos como Web Thoth\cite{jute2017}.
6+
es un antiguo proyecto enfocado a la actividad docente y relacionado con los procesadores de lenguaje, que fue realizado por varios alumnos de la Universidad de Burgos como trabajo de fin de carrera. Esta aplicación cuenta con dos versiones hasta la fecha y con otros desarrollos como Web Thoth \cite{jute2017}.
77

88
Una de las principales preguntas que nos podemos hacer al ver este proyecto es el por qué traducir la aplicación al lenguaje JavaScript.
9-
En primer lugar todos los navegadores actuales son capaces de interpretar el código escrito en JavaScript y soportan al menos alguna de las versiones ECMAScript \cite{ecma:versiones}, siendo la última la séptima edición disponible desde 2016. Con ayuda de la tecnología AJAX, entre otras, este lenguaje es capaz de establecer comunicación cliente-servidor, algo que al principio de su desarrollo no lograba hacer.
9+
En primer lugar todos los navegadores actuales son capaces de interpretar el código escrito en JavaScript y soportan al menos alguna de las versiones ECMAScript \cite{ecma:versiones}, siendo la última la séptima edición disponible desde 2016. Con ayuda de la tecnología AJAX, se puede ejecutar la aplicación en el cliente, es decir, en el navegador de un usuario mientras se mantiene la comunicación asíncrona con el servidor en segundo plano.
1010

11-
Utilizo GWT para este proyecto como herramienta para transformar la aplicación de escritorio a entornos web. Pese a que actualmente no es el mejor \emph{framework} para desarrollar, sí es una de las base de otro mucho más moderno y potente. Hablo de Vaadin, que se encuentra más actualizado y con más bibliotecas para un aspecto visual más moderno, pero que para poder hacer disfrutar de él se necesita una licencia bajo pago. La forma de trabajar con GWT es creando el código en Java y el compilador hará una traducción a los lenguajes JavaScript y HTML.
11+
Utilizo GWT para este proyecto como herramienta para transformar la aplicación de escritorio a entornos web. Pese a que actualmente no es el mejor \emph{framework} para desarrollar, sí es una de las base de otro mucho más moderno y potente. Hablo de Vaadin, que se encuentra más actualizado y con más bibliotecas para un aspecto visual más moderno, pero que para poder hacer disfrutar de su versión completa, se necesita una licencia bajo pago. La forma de trabajar con GWT es creando el código en Java y el compilador hará una traducción a los lenguajes JavaScript y HTML.
1212

13-
Una de las cuestiones más importantes de este \emph{frameworks} es que GWT no es capaz de admitir todas las bibliotecas de Java y por eso debimos reescribir el código adaptándolo a las capacidades de este \emph{framework}. Si, encontramos otras opciones, de las que posteriormente hablaré, que son capaces de hacer la traducción completa de Thoth en Java a HTML5 de una forma muchísimo más sencilla y directa sin necesidad si quiera de esforzarse demasiado. Pero ese no es el objetivo de un trabajo de fin de grado, sino el de plantear un desafió suficientemente grande con el que el alumno pueda hacer uso del conjunto de muchos de los conocimientos aprendidos a lo largo de grado.
13+
Una de las cuestiones más importantes de este \emph{frameworks} es que GWT no es capaz de admitir todas las bibliotecas de Java y por eso debimos reescribir el código adaptándolo a las capacidades de este \emph{framework}. Encontramos otras opciones de las que posteriormente hablaré, que son capaces de hacer la traducción completa de Thoth en Java a HTML5 de una forma muchísimo más sencilla y directa sin necesidad, si quiera, de esforzarse demasiado. Pero ese no es el objetivo de un trabajo de fin de grado, sino el de plantear un desafío suficientemente grande con el que el alumno pueda hacer uso del conjunto de muchos de los conocimientos aprendidos a lo largo de grado.

Documentacion/tex/2_Objetivos_del_proyecto.aux

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@
5050
\setcounter{bsm@mctr}{0}
5151
\setcounter{workm@mctr}{0}
5252
\setcounter{sheetsequence}{15}
53-
\setcounter{lastsheet}{39}
54-
\setcounter{lastpage}{29}
53+
\setcounter{lastsheet}{38}
54+
\setcounter{lastpage}{28}
5555
\setcounter{figure}{0}
5656
\setcounter{lofdepth}{1}
5757
\setcounter{table}{0}
Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,24 @@
11
\capitulo{2}{Objetivos del proyecto}
22

3-
El objetivo principal de este trabajo de final de grado consiste en transformar el proyecto previo de Thoth, que está escrito en Java, a la tecnología web JavaScript. Esta conversión se llevará a cabo por medio de GWT, herramienta elegida posteriormente a un estudio previo.
3+
El objetivo principal de este trabajo de final de grado consiste en transformar el proyecto previo de Thoth, que está escrito en Java, a la tecnología web JavaScript. Esta conversión se llevará a cabo por medio de GWT, herramienta elegida posteriormente a un estudio previo (disponible en el capítulo Técnicas y Herramientas).
44

5-
Consiste pues, en desarrollar una página web dinámica que sea capaz de hacer las mismas funcionalidades sobre gramáticas formales y sus algoritmos que en Thoth, poniendo a prueba mis propios conocimientos sobre Java así como otros lenguajes sobre tecnologías web como son HTML, CSS o JavaScript.
5+
El desarrollo consiste en una página web dinámica que sea capaz de hacer las mismas funcionalidades sobre gramáticas formales y sus algoritmos que en Thoth, poniendo a prueba mis propios conocimientos sobre Java así como otros lenguajes sobre tecnologías web como son HTML, CSS o JavaScript.
66

7-
Pero el porque pretendemos pasar de una aplicación de escritorio a otra que se ejecuta en el navegador es básicamente porque no es necesario instalar o descargar material para poderla utilizar Thoth, simplemente algunos conocimientos básicos sobre gramáticas formales. Por lo tanto aporta una clara ventaja con respecto a aplicaciones denominadas <<de escritorio>> como es el Thoth original sobre el que nos basamos en este proyecto.
7+
Pero el por qué pretendemos pasar de una aplicación de escritorio a otra que se ejecuta en el navegador es básicamente porque no es necesario instalar o descargar material para poderla utilizar Thoth, simplemente algunos conocimientos básicos sobre gramáticas formales. Por lo tanto aporta una clara ventaja con respecto a aplicaciones denominadas <<de escritorio>> como es el Thoth original sobre el que nos basamos en este proyecto.
88

9-
La conversión de Thoth a GWT es necesaria porque amplía las posibilidades de mejora de las anteriores versiones. Pretendemos aportar mayor funcionalidad debido a que al ser una aplicación web podemos hacer un registro de los usuarios, con inicio de sesión, registro de actividades, inicio de sesiones, etc.
9+
La conversión de Thoth a GWT es necesaria porque amplía las posibilidades de mejora de las anteriores versiones. Pretendemos aportar mayor funcionalidad debido a que al ser una aplicación web podemos hacer un registro de los usuarios, con inicio de sesión, registro de actividades, etc.
1010

11-
De hecho, uno de los puntos fuertes de este proyecto consiste en aprovechar la mayor parte de utilidad de las aplicaciones web. Aunque en las anteriores versiones la pretensión era sobre todo didáctica en materia relacionada con el estudio de los procesos del lenguaje, ahora a demás de eso también queremos llegar a poder saber la utilidad que se le da a Thoth. Para ello gracias al registro de información sobre los usuarios podremos saber cuando se ha registrado alguien, o iniciado sesión, que gramáticas ha usado y más funcionalidades que puedan surgir. Eso si, siempre manteniendo la privacidad del usuario.
11+
De hecho, uno de los puntos fuertes de este proyecto consiste en aprovechar la mayor parte de utilidad de las aplicaciones web. Aunque en las anteriores versiones la pretensión era sobre todo didáctica en materia relacionada con el estudio de los procesos del lenguaje, ahora además de eso también queremos llegar a poder saber la utilidad que se le da a Thoth. Para ello gracias al registro de información sobre los usuarios podremos saber cuando se ha registrado alguien, o iniciado sesión, qué gramáticas ha usado y más funcionalidades que puedan surgir. Eso si, siempre manteniendo la privacidad del usuario, cifrando la contraseña de registro.
1212

13-
Por último objetivo está el de experimentar con herramientas que no conocemos, y de esta forma ir aprendiendo a solucionar problemas nuevos. Al fin y al cabo lo que se trata de aprender en la universidad es a aprender a superar estos retos por uno mismo, aplicando las técnicas que se nos enseñan.
13+
Por último objetivo está el de experimentar con herramientas que no conocemos, y de esta forma ir aprendiendo a solucionar problemas nuevos. Al fin y al cabo lo que se trata de aprender en la universidad es a aprender a superar estos retos por uno mismo, aplicando las técnicas que se nos enseñan.
14+
15+
Los objetivos del proyecto quedan reflejados de esta manera:
16+
17+
\begin{itemize}
18+
19+
\item Estudio de aplicaciones de conversión automatica de Java a la web.
20+
\item Convertir la parte de las gramáticas de Thoth mediante GWT
21+
\item Crear un sistema de registro de usuarios para el acceso a la aplicación.
22+
\item Crear un sistema de sesiones de acuerdo al registro.
23+
24+
\end{itemize}

0 commit comments

Comments
 (0)