Desarrollo de un motor de matemática simbólica para la herramienta CHALKPY
Author
Salcedo Valderrama, LauraAdvisor
Lago Fernández, Luis FernandoEntity
UAM. Departamento de Ingeniería InformáticaDate
2016-07Subjects
InformáticaEsta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.
Abstract
La historia de la computación ha estado estrechamente relacionada con la resolución de problemas matemáticos. Durante siglos, grandes figuras en este campo han buscado la construcción de sistemas que deduzcan teoremas y resultados matemáticos. Es en este marco donde surgen los Sistemas de Álgebra Computacional, herramientas que permiten el cálculo simbólico mediante manipulaciones que reflejan los cálculos manuales que realizaría una persona.
Este Trabajo de Fin de Grado busca la creación de motores algebraicos computacionales, a través de un compilador, que proporcionen un sistema de reescritura de términos para la resolución de expresiones matemáticas por medio de manipulaciones. Como caso particular de estos sistemas se pretende conseguir un motor que sustituya el sistema actual de Chalkpy, una herramienta para mejorar la presentación de contenido matemático en el aula. De este modo, se pretende que la herramienta se adapte mejor a las especificaciones de un usuario.
La funcionalidad aportada soluciona los problemas que genera la necesidad de modificar un sistema, ante la introducción de nuevas funcionalidades, mediante la generación de código por un fichero de definiciones. Este recoge los elementos y las reglas de equivalencia que se desean utilizar en el sistema.
El desarrollo de este proyecto ha seguido un ciclo de vida en cascada con retroalimentación para la creación del compilador, y un ciclo de vida iterativo incremental para la parte de la generación del código de los motores. Para la creación del analizador léxico se ha utilizado la herramienta JFlex y para el analizador sintáctico/semántico el generador CUP.
El éxito de este proyecto se refleja en la creación de diversos motores entre los que se encuentra el motor algebraico para la nueva versión de Chalkpy. Computer history has been always linked with mathematical problem solving. For centuries, well-known personalities have been looking forward to build a system capable of self-proving theorems and math results. Is on this scenario where Computer Algebra systems arise: tools that allow symbolic calculus by doing manipulations that reflect the human manual way.
This Bachelor Thesis is about using a compiler to create this kind of tools, to provide a rewriting term system for mathematical expression solving by manipulating them with equivalency rules. As a particular case, it is pretended to achieve a system that replaces the actual one used in Chalkpy, a tool used to improve the presentation of mathematical content in educational enviroment. Thanks to that, the created tool would be better adapted to the user requirements.
The developed functionality solves the problems caused by the need of modifying a system when adding new features by code generation, according to a definition file. This file contains the desired rules that will be used in the system once it is generated.
A waterfall with feedback lifecycle was the method choosen to create the compilator, and an iterative and incremental one was used for generating the engines code. To build the lexical analyzer was chosen, whilst JFlex was chosen; CUP was the tool used to build the sintactic/semantic analyzer.
This project can be considered successful as it allows generation of multiple algebraic engine, the Chalkpy algebraic system being a special case.
Files in this item
Google Scholar:Salcedo Valderrama, Laura
This item appears in the following Collection(s)
Except where otherwise noted, this item's license is described as https://creativecommons.org/licenses/by-nc-nd/4.0/
Related items
Showing items related by title, author, creator and subject.
-
Motor algebraico extensible para Chalkpy
Salcedo Valderrama, Laura
2018-09 -
En busca de una manera conectada de saber: El caso de una profesora de matemáticas
Agudelo Valderrama, Cecilia; Martínez, Diana
2015