About me

I am a Master student of Computer Engineering in the University of Castilla-La Mancha in Albacete, Spain. I got my BSc in Computer Engineering from the University of Castilla-La Mancha in 2017.

I am a member of the Declarative Programming and Automatic Program Transformation group (DEC-Tau) at the Albacete Research Institute for Informatics (I3A) in the University of Castilla-La Mancha.

My research is focused on Declarative Programming, concretely in the field of Fuzzy Logic Programming and Automatic Program Transformation.

Curriculum Vitae



Chapters and Conference Papers

Testing Properties of Fuzzy Connectives and Truth Degrees with the LatticeMaker Tool
J. A. Guerrero, F. Mendieta, G. Moreno, J. Penabad and J. A. Riaza
Proc. of 2017 IEEE Symposium Series on Computational Intelligence, IEEE SSCI'17, pages 1-8. IEEE, 2017.
A few years ago, the LatticeMaker tool was born in our research group for aiding the graphical design of lattices of truth degrees and generating code in form of Prolog clauses which can be directly imported by the fuzzy logic programming environment FLOPER built too by our team. In this work we extend the capabilities of LatticeMaker by focusing on testing properties related to fuzzy connectives and distance measures, being these actions also connected with advanced techniques (nowadays under implementation on the FLOPER platform) for unfolding and tuning fuzzy logic programs.
Symbolic Unfolding of Multi-adjoint Logic Programs
Proc. of 9th European Symposium on Computational Intelligence and Mathematics, ESCIM'17, pages 8. (Accepted), 2017.
The unfolding transformation has been widely used in many declarative frameworks for improving the efficiency of programs after applying computational steps on their rules. In this paper we apply such operation to a symbolic extension of a modern fuzzy logic language where program rules extend the classical notion of clause by adding concrete and/or symbolic fuzzy connectives and truth degrees on their bodies.
On Similarity-based Unfolding
Proc. of International Conference on Scalable Uncertainty Management, SUM'17, pages 420-426. Springer, LNCS 10564, 2017.
The unfolding transformation has been widely used in many declarative frameworks for improving the efficiency and scalability of programs after applying computational steps on their rules. Inspired by our previous experiences in fuzzy logic languages not dealing with similarity relations, in this work we adapt such operation to the so-called FASILL language (acronym of <<Fuzzy Aggregators and Similarity Into a Logic Language>>) which has been recently designed and implemented in our research group for coping with implicit/explicit truth degree annotations, a great variety of connectives and unification by similarity.
An Online Tool for Tuning Fuzzy Logic Programs
Proc. of International Joint Conference on Rules and Reasoning, RuleML+RR'17, pages 184-198. Springer, LNCS 10364, 2017.
In this paper we are concerned with a fuzzy logic language where program rules extend the classical notion of clause by adding fuzzy connectives and truth degrees on their bodies. In this work we describe an efficient online tool which helps to select such operators and weights in an automatic way, accomplishing with our recent technique for tuning this kind of fuzzy programs. The system offers a comfortable interaction with users for introducing test cases and also provides useful information about the choices that better fit their preferences.
Symbolic Execution and Thresholding for Efficiently Tuning Fuzzy Logic Programs
Post-Proc. of the 26th International Symposium on Logic-Based Program Synthesis and Transformation, LOPSTR'16, pages 131-147. Springer, LNCS 10184, 2017.
Fuzzy logic programming is a growing declarative paradigm aiming to integrate fuzzy logic into logic programming. One of the most difficult tasks when specifying a fuzzy logic program is determining the right weights for each rule, as well as the most appropriate fuzzy connectives and operators. In this paper, we introduce a symbolic extension of fuzzy logic programs in which some of these parameters can be left unknown, so that the user can easily see the impact of their possible values. Furthermore, given a number of test cases, the most appropriate values for these parameters can be automatically computed. Finally, we show some benchmarks that illustrate the usefulness of our approach.

Bachelor's Thesis

Implementación de técnicas de desplegado difuso sobre el entorno FLOPER
J. A. Riaza, supervised by G. Moreno and J. Penabad
University of Castilla-La Mancha, UCLM, June 2017.

Participation in Scientific Events


9th European Symposium on Computational Intelligence and Mathematics (ESCIM'17)
Faro (Portugal), October 4th - 7th, 2017
Organized by University of Cádiz (UCA), Department of Mathematics
Participation as Author


Taller de programación funcional en Python (pfpy18)
April 19th, 2018 (Semana cultural ESIIAB)
Organized by ESIIAB, University of Castilla-La Mancha (UCLM)
Participation as Speaker
La programación funcional ofrece una forma profundamente diferente de pensar sobre el desarrollo de software, centrándose en funciones que toman valores inmutables como entrada y producen nuevos valores como salida, donde se abandonan algunas ideas que pueden parecer fundamentales, tales como disponer de bucles en un lenguaje de programación. Tenemos otras formas –más flexibles– de realizar tareas repetitivas. En este taller repasaremos los principales conceptos de la programación funcional: orden superior, currificación de funciones y composición de funciones; y veremos las estructuras algebraicas comúnmente utilizadas como patrones de programación: monoides, funtores, funtores aplicativos y mónadas.


Tau Prolog

A Prolog interpreter in JavaScript

Tau Prolog is a Prolog interpreter fully implemented in JavaScript. While most online interpreters are remote servers with an installed version of the interpreter which receive code, execute it and return the results, Tau Prolog is fully implemented on JavaScript and the code is analysed and interpreted on the client side.




José Antonio Riaza Valverde

(+34) 610 690 563