Person:
Martín Martín, Enrique

Loading...
Profile Picture
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
UCM identifierORCIDScopus Author IDDialnet IDGoogle Scholar ID

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, Christian
    El 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án
    Proponemos 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, Gorka
    En 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á, Juan
    La 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, Rafael
  • Publication
    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é Antonio
  • Publication
    Advances in type systems for functional logic programming
    (2009) Martín Martín, Enrique; López Fraguas, Francisco Javier
    Los 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, Guillermo
    We 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, Salvador
    Memoria 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, Salvador
    En este trabajo proponemos un sistema colaborativo para aprendizaje de lenguajes de programación