Skip to topic | Skip to bottom
Home
Projects
Projects.CallForJobr1.12 - 17 Dec 2004 - 10:50 - GeoffroyFouquiertopic end

Start of topic | Skip to actions
This page lists the proposal of jobs to be done at the LRDE in 2003.

Cppi Header Guards

Look for CPPI, written by Jim Meyering (or fetch ~akim/ftp/cppi-1.10.tar.gz), and extend it with options for checking/setting the CPP guards. CPP guards are the #ifndef/#define/#endif lines that can be found in the headers. Ping me for more information. -- AkimDemaille

PrcsWrapper

Develop an interface on top of prcs that would simplify our tasks. -- AkimDemaille

Transformers

Continue the work initiated by RobertAnisko?. Be the interface with him during his stay in Utrecht. -- AkimDemaille

The following tasks are open on the Transformers project:

  • Study the integration of the C++ pre-processor into Transformers and the optimization of parsing times. The current architecture of our processing chain is way too naive for practical use: we rely on a non-deterministic parser, followed by a parse forest filtering stage; yet, we are even unable of handling programs with pre-processing directives. In practice, because we will need to work on pre-processed files, which easily tend to become quite large, we unfortnunately expect this approach to induce prohibitive parsing times. These issues have to be adressed:
    • Update our processing chain, so that C++ programs with pre-processor directives can be handled.
    • Take advantage of this interaction with the pre-processor to introduce a form of incremental parsing: at project scale, a file that has already been successfully parsed shouldn't be determinized a second time when included in another compilation unit.
  • Write a pretty-printing table for C++.

-- RobertAnisko?

Vaucanson Front-End

Design and implement a user interface to the Vaucanson library, for use by Pr. Jacques Sakarovitch and more generally by Vaucanson.Vaucanson users.

This tool must be both adequate to an "advanced user" like Pr. Sakarovitch who needs to use Vaucanson.Vaucanson for research, and students in algorithmics and language recognition as an example for courses.

-- RaphaelPoss?

Static concept checking

As you must have realized, C++ is not a user-friendly language. The template metaprogramming does not improve this at all. In the case of "algorithm oriented" library (like STL), there are no strong static typing since the static arguments of template function are too laxness.

Well-known C++ tricks enable "static concept checking", i.e. testing of types static properties (such as methods presence ...). Look at:

Concept Checking: Binding Parametric Polymorphism in C++ (2000)
Jeremy Siek, Andrew Lumsdaine
Proceedings First Workshop on C++ Template Programming

and at the Boost system:

http://www.boost.org/libs/concept_check/concept_check.htm

Vaucanson was equipped with such a mecanism set in its earlier version but the system has to be "re-thinked". -- YannRegisGianas?

Vaucanson's ergonomy

Contrary to an image, an automaton is a complex object with many services. The more important one is called "delta", the transition function. For the moment, there are two kinds of delta but that is not sufficient.

The work consists in implementing another kinds of delta to improve user- friendly-ness and performance of the library.

-- YannRegisGianas?

About Images and Static Hierarchies

Design a clean and rich image hierarchy. There should be abstract types such as mask_image (when data are binary), labeled_image (when data are labels), color_image (guess when), image_2d (generalization for images on 2d lattices), etc. This hierarchy intensively uses conditional inheritance, conditional specialization, and multiple inheritance. Decorated images should be integrated. Constness should be properly managed (our reference counting mechanism could be factorized). Last, new concrete image types should be implemented. -- ThierryGeraud

More Data Types

Cf. the paper about "Road Extraction Network", source code should be integrated to Olena.Olena. To that aim, there's a lot of work to be done about having generic routines. E.g., Markov Random Fields definition, stochastic relaxation algorithms, area opening (where lambda should become a parameter), and so on. This project should result in Olena.Olena offering much more data types. -- ThierryGeraud

Swilena: interface to Olena to other languages

Swilena is a collection of SWIG definitions for Olena.Olena.

Update Swilena to Olena 0.7. Complete the interface. Study and work on a system that automates the generation of SWIG definitions from Olena headers. Test Swilena. Study the possibility of rewriting part of the Olena testsuite in an appropriate scripting language.

-- RaphaelPoss?

An imaging bioinformatic system for detecting cancerous cells

This project, submitted by the "Institut Curie", is at the intersection of image processing and medical analysis. Our goal is to detecte cancerous cell in images according to criteria defined by the doctors.

You will have to write a program that

  • analyses the image
  • from this analysis, decide whether the image has or has not cancerous cells.

This work will make intensive use of Olena.Olena. As a user you will have to report the problem you meet, as a developer your will have to include the algorithms you will write.

-- RedaDehak OlivierRicou

Bison/Flex/Vaucanson Screensaver

Watch out: this is a very sick idea...

I'm sure you already saw that screensaver: a maze and the computer trying to escape from it. Well, imagine a DFA drwa on the screen, and a text, presented a la Karaoke. Each time a letter is recognized, the ball jumps to the next letter, and some nice effect is made on the automaton. It's even better when it accepts or rejects a word!

If you are brave enough, you can even handle NFAs!

If you are crazy, you could go even further: represent an LR(1) parser (LALR(1) is accepted). If just requires a stack in addition to the DFA. And more animation.

And finally, if you are dead crazy, you can even go up to GLR and display the constellation of stacks smile

Have fun! (Ahem...)-- AkimDemaille
to top


You are here: Projects > CallForJob

to top

Copyright © 1999-2010 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback