sábado, 21 de abril de 2007

Algunos puntos de comienzo

La tesis consta de extender un trabajo hecho por Diego P. hace aproximadamente un año. Cuento aquí con los fuentes de su trabajo y el primer objetivo es tener un conocimiento relativamente completo sobre ellos.

Para esto se me ocurren 2 opciones:
  1. Importarlos de forma completa como un proyecto en Eclipse e intentar lograr que compile, recorrer el código de arriba a abajo y abajo a arriba para entender de a poco.

  2. Crear un proyecto nuevo e importar archivos, clases o funcionalidades a medida que los voy necesitando.
Me convence más la segunda, ya que si bien tardaré un poco más, cada línea de código, cada clase al menos habrá sido tenida en cuenta y habrá muy poco código ajeno a mi entender.

A esto se le suma que el proyecto de Diego P. utiliza una librería para tratar poliedros, la PolyLib, según Diego G., mi director, esta librería tiene muchos problemas de memoria y performance.

Dado que comenzaré el proyecto "de cero" pienso usar en cambio la PPL, una librería hecha en Italia, que aparentemente funciona mucho mejor.

Hay un problema, tanto PolyLib como PPL están desarrolladas en C++, y la tesis será desarrollada en Java. Para hacer llamados a librerías nativas desde Java hay que usar JNI, lo cual es muy difícil según me han dicho.

Existe una interface más sencilla, llamada JNA, que aparentemente facilita la integración, evitando tener que lidiar con JNI directamente.

Por lo tanto, los objetivos para estos primeros días:
  • Crear un nuevo proyecto Java
  • Importar de a poco los contenidos de la tesis de Diego P. hasta tener un conocimiento amplio de ellos
  • Instalar PPL
  • Conectar el proyecto Java con PPL usando JNA
Esta primera fase culminaría cuando mi nuevo proyecto logre reproducir la funcionalidad de la tesis de Diego P. pero con la nueva librería, supuestamente mejor que la anterior.

Objetivo secundario: para poder realizar comparaciones sería interesante que la librería de poliedros se pueda seleccionar entre estas dos opciones (y posiblemente otras en el futuro).

No hay comentarios.: