...collaborate on

Utrecht University

Presentation Library

We feel that Haskell provides a good framework for defining a library for building intercative presentations. You may think of this as a scriptable Powerpoint. Task: design a combinator library that will make this easy. In a next step this may be integrated with a visual environment, probably based on the Proxima system that was developpped at UU, so one gets a WYSIWYG editing environment.


  • The description of systems, its specification, the implementation and the explanation of the implementation often are separate artefacts which tend to become inconsistent over time. Literate programming provides a solution by using a common source for code and its explanation but inherent to this mechanism is the fixed structure of both source and the generated code and explanation generated from the common source. For EHC fragment management tools are used to combine more arbitrarily and flexible the different kind of descriptions required to construct and describe the compiler.
  • Task: design a system for managing text fragments, combining text fragments, the generation of new text fragments either for use in source code and/or documentation. The system should use Proxima, a generic editing environment.

Incrementele evualatie Proxima.

The current version of Proxima does contain an infrastructure that supports incremental evaluation, but this has not been fully exploited. We think there is ample opportunity to extend this infrastructure. keywords: Haskell, memoisation, program transformation.

Code generation

  • The EHC compiler is a compiler for EH, a Haskell variant. The current version of the EHC compiler uses the GRIN approach, which is based on whole program analysis, leading to hightly optimized code. It is clear that this conflicts with having modules, and separate compilation.
  • Task: design a compromise so we can still have separate compilation and maintain the generation of fast code.

ABC met AG

In Oxford an AspectJ? compiler was constructed, but unfortunately no use was mad eof attribute grammars. Task: redesign this comliler using AG technology.

Eclipse combined with Haskell to facilitate incremental compilation, fast feedback and persistence

  • Haskell compilers usually offer their services via a commandline interface. The creation of an executable program also is batch oriented: sources are compiled per module, and linked with libraries to form an executable. On the other hand, modern development environments like Eclipse offer a much more finer grained approach which allows a more immediate response of of the environment to changes made by a programmer. For example, errors are reported earlier. A common representation of programs also allows other tools to be plugged in easily.
  • Task: design an interface for a Haskell compiler which allows a Haskell compiler to be plugged into Eclipse.

Constraint based type systems

  • Type systems for a language are described by means of type rules which describe the relationship or constraints between types for the various constructs present in a language. These rules simply state these constraints without specifying how their computation should take place. On the other hand, concrete implementations employ specific strategies to solve the constraints imposed by the type rules.
  • Task: design a language for specifying both the formal as well as implementation aspects of type rules.

Workflow Combinators

First Class Attribute Grammars

Generic compression

Structured information can be compressed better when using information about the structure when compressing. This structure may be given by a DTD or a Schema, or a Haskell data type. Design a suite of generic compression algorithms in Generic Haskell, for example using Arithmetic Coding, PPM, Huffman Coding, etc. Evaluate the different algorithms on a benchmark of XML files.

Refinement of dependently typed programs

In a dependently typed programming language such as Cayenne, Epigram, or Omega, programs and their properties can be developed incrementally. However, each time a new property is added to a program, the type of the input changes, and the input has to be converted to the new type. Develop a method for incrementally developing dependently types programming, in which the user doesn't have to change the type of the input when new properties are added to a program. Thus we get a refinement method for dependently typed programs.


Available Soon


Available Soon

U. Politécnica de Valência

Available Soon

U. Castilla-La-Mancha

1) Integrating Fuzzy Logic into Multi-Paradigm Declarative Languages

This proposal pursues the extension of the operational mechanism of multi-paradigm declarative languages with the ability of performing fuzzy computations.

STATE: No candidate assigned


Fuzzy Logic provides a mathematical background for modeling uncertainty and/or vagueness. Fuzzy logic relays on the concept of fuzzy set, the theory of fuzzy connectives (t-norms, t-conorms, etc.) and the extension of classical predicate logic to a logic where formulas can be evaluated in the range of the [0,1] real interval.

Therefore, Fuzzy logic plays an important role in the development of sophisticated software tools in many different areas (such as expert systems or industrial control) where uncertain information is a central feature.

The introduction of fuzzy techniques into declarative languages has several advantages:

  • it may contribute to increase their expressiveness; and
  • it allows us to deal with a declarative approach to fuzzy system specification.

During the last decades, several fuzzy logic programming systems have been developed, where the classical inference mechanism of SLD-Resolution is replaced with a fuzzy variant which is able to handle partial truth and to reason with uncertainty. However any effort towards that direction has been done in the field of multi-paradigm declarative languages. Hence, our Goal in this research line is to integrate fuzzy notions into the framework of multi-paradigm declarative languages. Following the logic programming paradigm, we think there exists two major, and rather different, approaches:

  • The first approach consists in the replacement of the syntactic unification mechanism of narrowing by a fuzzy unification algorithm, based on similarity relations (over constants and predicates). The fuzzy unification algorithm provides an extended most general unifier as well as a numerical value, called the unification degree. Intuitively, the unification degree represents the truth degree associated with the (query) computed instance. Programs written in this kind of languages consist, in essence, in a set of ordinary rules jointly with a set of ``similarity equations'' which play an important role during the unification process.
  • For the second approach, programs are fuzzy subsets of formulas, where the truth degree of each clause is explicitly annotated. The work of computing and propagating truth degrees relies on an extension of the operational principle of narrowing, whereas the (syntactic) unification mechanism remains untouched.

We can indicate three main goals to achieve in this research line:

  • to study the viability of theses approaches;
  • to establish their formal properties;
  • to implement multi-paradigm languages based these extended operational mechanisms.

CANDIDATE PROFILE: The candidate must have an adequate theoretical background in computer science with knowledge in:

  • Logic programming or functional/equational programming.
  • Mathematical logic.
  • Knowledge of Fuzzy Logic will be considered an asset.

Also the candidate must fit the ALFA LerNet? eligibility conditions and the requirements expressed in the UCLM Hosting Conditions document (see FormTemplates).

ADVISOR AND TUTOR: Pascual Julian Iranzo (see ContactInformation)

2) A Framework for the Modeling and Measurement of Workflow Systems

STATE: (Pre)assigned to Mario Gabriel Peralta from San Luis State University (Argentina) [Now assigned]


The current thesis project aims to manage the business processes by means of the modeling and measurement of advanced workflow systems, based on some extensions to the existing formalisms and on a proposal of metrics to measure their quality.

The thesis research lines are summarized in the following objectives:

  • Development of a language for workflow systems modeling and oriented to their latter enactment, control and measurement. The proposed language will be based on the UML Activity Diagrams and it will include concrete extensions for the workflow modeling.
  • Proposal of metrics to evaluate the quality of workflow models. The defined metrics will be theoretically and empirically validated.
  • Development of a support Tool for the modeling and measurement of workflow systems.

CANDIDATE PROFILE: The candidate must fit the ALFA LerNet? eligibility conditions and the requirements expressed in the UCLM Hosting Conditions document (see FormTemplates).


Felix Oscar Garcia Rubio: Associate Professor (full-time, Level 3).

Mario Piattini Velthuis: Full Professor.

Roberto Uzal: Part-time Professor and Co Chair of the Master of Science Program on Software Engineering at San Luis State University (Argentina); Part-time Professor at University of Buenos Aires (Argentina).

TUTOR: Pascual Julian Iranzo (see ContactInformation)

3) Development of a design environment for embedded systems using FPGA and generic reconfigurable hardware

STATE: (Pre)assigned to Julio Daniel Dondo Gazzano from San Luis State University (Argentina) [Now assigned]


The present doctoral thesis project is oriented to the management of the embedded systems design, by means of System Architecture Model Middleware-based, defining services of hardware reconfiguration, incorporating mechanisms for implicit activation and Persistence.

The investigation lines can be summarized in the following objectives:

  • Refinement of the basic model of the object (Interface and state) to allow the mechanisms for Implicit Activation and Persistence.
  • To provide a wrapper generation method to adapt any kind of object to the communication architecture.

The Methodology to apply is:

  • The study of the ICE (Internet Communication engine) that provide an object-oriented middleware platform suitable for use in heterogeneous environments.
  • Simulation using SystemC?
  • Synthesis from SystemC? files and implementation over prototyping board using VHDL
  • Emulation of reconfigurability and
  • Final system for demonstration

CANDIDATE PROFILE: The candidate must fit the ALFA LerNet? eligibility conditions and the requirements expressed in the UCLM Hosting Conditions document (see FormTemplates).


Dr. Fernando Rincón Calle: Associate Professor.

Dr. Juan Carlos López López: Full Professor

Dr. Roberto Uzal: Part-time Professor and Co Chair of the Master of Science Program on Software Engineering at San Luis State University (Argentina); Part-time Professor at University of Buenos Aires (Argentina).

TUTOR: Pascual Julian Iranzo (see ContactInformation)

U. Minho

Available Soon

  Attachment Action Size Date Who Comment
doc THESIS_PLAN_JulioDondo_UCLM_UNSL.doc props, move 38.5 K 08 Jun 2006 - 09:47 PascualJulianIranzo Thesis Plan Julio Dondo- UNSL - UCLM
doc ThesisPlanDanielRomero-SanLuis-Valencia.doc props, move 38.0 K 10 Aug 2005 - 13:33 RobertoUzal Thesis Plan Daniel Romero - UNSL - UPV
doc ThesisPlanMarioPeralta-SanLuis-CastillaLaMancha.doc props, move 40.0 K 02 Sep 2005 - 13:01 RobertoUzal Thesis Plan Mario Peralta - UNSL - UCLM
doc ThesisPlanSoniaFlores-SanLuis-Valencia.doc props, move 34.0 K 10 Aug 2005 - 13:31 RobertoUzal Thesis Plan Sonia Flores - UNSL - UPV
r10 - 12 Feb 2007 - 19:46:11 - JoseBacelarAlmeida
This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.
Syndicate this site RSSATOM