Person: Martín Martín, Enrique
Loading...
First Name
Enrique
Last Name
Martín Martín
Affiliation
Universidad Complutense de Madrid
Faculty / Institute
Informática
Department
Sistemas Informáticos y Computación
Area
Lenguajes y Sistemas Informáticos
Identifiers
19 results
Search Results
Now showing 1 - 10 of 19
Publication Uso de hardware gráfico para la aceleración de métodos algebraicos de recontrucción(2007) García Soriano, David; Martín Martín, Enrique; Romero Laorden, David; Tenllado van der Reijden, ChristianEl objetivo de este proyecto ha sido implementar un algoritmo de reconstrucción algebraica (en paricular SART, Simultaneous Algebraic Reconstruction Technique) y acelerar su ejecución utilizando los recursos paralelos que ponen a disosición del programador las unidades de procesamiento gráfico de hoy en día. Para ello, primero se han desarrollado dos variantes del algoritmo que sólo utilizan la CPU, en las que nos hemos basado para posteriormente portar a la GPU las partes susceptibles de obtener una mejora substancial de velocidad. Por último, se ha analizado en ambas variantes la calidad de la reconstrucciones y el spedup obtenido respecto a las implementaciones en CPU, así como el impacto en la calidad de los diversos parámetros configurables del algoritmo. [ABSTRACT] The aim of our project has been the implementation of an algebraic reconstrution algorithm (known as SART, Simultaneous Algebraic Reconstruction Technique) and improvement of its running time by making use of the massively parallel computational resources which today's graphics processing units provide the programmer with. To this end, two variants of the algorithm have first been developed which are executed entirely on the CPU, and upon whch we have based our subsequent porting to the GPU of those parts having the potencial to enjoy a subsancial increase in speed. Finally, the quality of both variants' reconstructions has been analyzed, along with the speedup obtained over CPU implementations and the impact that various customizable parameters of the algorithm have on image quality.Publication Juez automático para el aprendizaje de bases de datos(2021-06) Martín Martín, Enrique; Burgoa Muñoz, Iker; Rubio Cuéllar, Rubén Rafael; Cerro Cañizares, Pablo; Correas Fernández, Jesús; Montenegro Montes, Manuel; Riesco Rodríguez, AdriánProponemos desarrollar un juez automático para el aprendizaje de bases de datos. Este sistema web permitirá a los estudiantes practicar con diferentes ejercicios de bases de datos desde casa y recibir retroalimentación inmediata sobre los fallos.Publication Herramienta interactiva de manipulación y corrección de entregas de ejercicios en asignaturas con evaluación continua(2019-06-29) Montenegro Montes, Manuel; Martín Martín, Enrique; Riesco Rodríguez, Adrián; Saavedra López, Santiago; Suárez García, GorkaEn este proyecto se extiende el conjunto de herramientas del proyecto Innova-Docencia nº 49 (2016/2017) introduciendo un asistente que permite, de modo interactivo, navegar y realizar operaciones por lotes en todas las entregas de un mismo ejercicio.Publication Sistemas de tipos en lenguajes lógico-funcionales(Universidad Complutense de Madrid, 2013-01-22) Martín Martín, Enrique; López Fraguas, Francisco Javier; Rodríguez Hortalá, JuanLa programación lógico-funcional es un paradigma de programación declarativa muy expresivo, fruto de la combinación de la programación funcional y la programación lógica. Entre sus principales características destacan la posibilidad de de1nir funciones indeterministas, los patrones de orden superior y el uso de variables libres que se ligan a valores adecuados durante el cómputo. Desde el punto de vista de tipos, los sistemas lógico-funcionales han adoptado demaneradirectaelsistemadetiposdeDamas-Milner,provenientedelámbito funcional, debido a su sencillez y a la existencia de tipos principales y métodos efectivos para la inferencia de tipos. Sin embargo, esta adaptación directa no maneja adecuadamente algunas de las principales características de los lenguajes lógico-funcionales como los patrones de orden superior o las variables libres, dando lugar errores de tipos durante la evaluación. En esta tesis proponemos tres sistemas de tipos adecuados para la programación lógico-funcional cuyo objetivo es manejar correctamente estas características problemáticas desde el punto de vista de los tipos. Los sistemas de tipos propuestos, que tratan diferentes mecanismos de cómputos lógicofuncionales (reescritura y estrechamiento), dan solución a los mencionados problemas, proporcionando resultados técnicos de corrección. Además, suponen un mejora sobre propuestas previas de sistemas de tipos para programación lógico-funcional, ya que salvan algunas de sus limitaciones. Aparte de los resultados teóricos, en esta tesis también se han desarrollado implementaciones de los sistemas de tipos, integrándolos como fase de comprobación de tipos en ramas del sistema lógico-funcional Toy.Publication Implementación de un sistema para el aprendizaje de lenguajes de programación mediante tutoriales interactivos(2017-06-27) Martín Martín, Enrique; Riesco Rodríguez, Adrián; Sánchez Hernández, Jaime; Gregorio Rodríguez, Carlos; López Fraguas, Francisco Javier; Tamarit, Salvador; Congosto Sandoval, Carlos; Cartula Torrecilla, RafaelPublication Tutoriales interactivos para el estudio de la programación: impacto en el aprendizaje(2018-06-25) Martín Martín, Enrique; Montenegro Montes, Manuel; Riesco Rodríguez, Adrián; Sánchez, Jaime; Carmona Ruber, Jorge; Tamarit, Salvador; López Fraguas, Francisco Javier; Torre Romero, Raúl; Alcobendas Pastor, José AntonioPublication Advances in type systems for functional logic programming(2009) Martín Martín, Enrique; López Fraguas, Francisco JavierLos lenguajes declarativos proporcionan un nivel de programación más alto y abstracto que los lenguajes imperativos tradicionales. Los lenguajes funcionales y los lógicos son los dos paradigmas declarativos más importantes, y su combinación ha sido un tema de investigación en las últimas dos décadas. Los lenguajes lógico funcionales han heredado el clásico sistema Damas & Milner [20] de su parte funcional, debido a su simplicidad y popularidad, pero esta aproximación directa no funciona correctamente en todos los casos. Es conocido que los patrones de orden superior en los lados izquierdos de las reglas de programa pueden producir efectos no deseados desde el punto de vista de los tipos. En particular algunas expresiones pueden perder su tipo tras un paso de cómputo. En este trabajo proponemos una extensión del clásico sistema de tipos Damas & Milner que arregla esta situación. Este problema fue detectado por primera vez en [24], y la solución propuesta fue prohibir los patrones de orden superior opacos. Nosotros proponemos una forma más relajada de abordar este problema, haciendo una distinción entre variables transparentes y opacas. Una variable es transparente en un patrón si su tipo está unívocamente determinado por el tipo del patrón, y es opaca en otro caso. Nosotros prohibimos solamente la aparición de variables opacas cuando son usadas en los lados derechos de las reglas. Hemos desarrollado el sistema de tipos tratando de clarificar el comportamiento (desde el punto de vista de los tipos) que las declaraciones locales tienen en diferentes implementaciones de lenguajes funcionales y lógico funcionales. Éste es un aspecto que varía mucho, y usualmente no está bien documentado ni formalizado. Aparte del sistema de tipos presentamos algoritmos de inferencia de tipos para expresiones y programas, y proporcionamos un prototipo de implementación en Prolog que será integrado próximamente en el compilador de T OY [45, 69]. Hemos prestado especial atención a los aspectos formales del trabajo. Por ello hemos desarrollado demostraciones detalladas de las propiedades del sistema de tipos, en particular de la propiedad de preservación del tipo o subject reduction (las expresiones mantienen su tipo tras la evaluación), y la corrección y completitud de los algoritmos de inferencia con respecto al sistema de tipos. [ABSTRACT] Declarative languages provide a higher and more abstract level of programming than traditional imperative languages. Functional and logic languages are the two most important declarative programming paradigms, and their combination has been a topic of research in the last two decades. Functional logic languages have inherited the classical Damas & Milner type system [20] from their functional part, due to its simplicity and popularity, but this naive approach does not work properly in all cases. It is known that higher order patterns (HO) in left-hand sides of program rules may produce undesirable effects from the point of view of types. In particular some expressions can lose their type after a step of computation. In this work we propose an extension to the classical Damas & Milner type system that fixes this situation. This problem was first detected in [24], and the proposed solution was forbidding opaque HO patterns. We propose a more relaxed way of tackle this problem, making a distinction between transparent and opaque variables. A variable is transparent in a pattern if its type is univocally fixed by the type of the pattern, and opaque otherwise. We prohibit only the occurrence of opaque variables when they are used in the right-hand side of the rules. We have developed the type system trying to clarify the behavior (from the point of view of types) that local definitions have in different implementations of functional and functional logic languages. This is an issue that varies greatly, and it is not usually well documented or formalized. Apart from the type system we also present type inference algorithms for expressions and programs, and provide a prototype of implementation in Prolog that will be soon integrated into the T OY [45, 69] compiler. We have paid special attention to the formal aspects of the work. Therefore we have developed detailed proofs of the properties of the type system, in particular the subject reduction property (expressions keep their type after evaluation), and the soundness and completeness of the inference algorithms wrt. the type system.Publication Static Inference of Transmission Data Sizes in Distributed Systems(2014-10) Albert Albiol, Elvira; Correas Fernández, Jesús; Martín Martín, Enrique; Román Díez, GuillermoWe present a static analysis to infer the amount of data that a distributed system may ransmit. The different locations of a distributed system communicate and coordinate their actions by posting tasks among them. A task is posted by building a message with the task name and the data on which such task has to be executed. When the task completes, the result can be retrieved by means of another message from which the result of the computation can be obtained. Thus, the transmission data size of a distributed system mainly depends on the amount of messages posted among the locations of the system, and the sizes of the data transferred in the messages. Our static analysis has two main parts: (1) we over-approximate the sizes of the data at the program points where tasks are spawned and where the results are received, and (2) we over-approximate the total number of messages. Knowledge of the transmission data sizes is essential, among other things, to predict the bandwidth required to achieve a certain response time, or conversely, to estimate the response time for a given bandwidth. A prototype implementation in the SACO system demonstrates the accuracy and feasibility of the proposed analysis.Publication Implementación de un entorno de aprendizaje colaborativo de lenguajes de programación mediante traducción(2016-01) Caballero Roldán, Rafael; Martín Martín, Enrique; Montenegro Montes, Manuel; Riesco Rodríguez, Adrián; Tamarit Muñoz, SalvadorMemoria del PIMCD 32/2015, donde presentamos una herramienta colaborativa para aprender lenguajes de traducción mediante traducción llamada DuoCode.Publication Estudio de viabilidad de un entorno de aprendizaje colaborativo de lenguajes de programación(2015) Martín Martín, Enrique; Montenegro Montes, Manuel; Riesco Rodríguez, Adrián; Rosa Velardo, Fernando; Tamarit Muñoz, SalvadorEn este trabajo proponemos un sistema colaborativo para aprendizaje de lenguajes de programación