Hola,<div><br></div><div>El análisis de alto nivel del algoritmo Eldercare sería el siguiente:</div><div><br></div><div><a href="https://jde.gsyc.es/index.php/Eldercare_Algorithm">https://jde.gsyc.es/index.php/Eldercare_Algorithm</a></div>
<div><br></div><div>Sólo he tenido en cuenta las entradas y las salidas. Queda refinar el apartado de parámetro de configuración.</div><div><br></div><div>A partir de esto, podemos generar el API de alto nivel para usar el algoritmo.</div>
<div><br></div><div>¿Comentarios?<br><br><div class="gmail_quote">2010/11/30 David Lobato <span dir="ltr">&lt;<a href="mailto:dav.lobato@gmail.com">dav.lobato@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hola,<div><br></div><div>Este mensaje va dirigido a los que estáis liados o vais a estarlo en breve con Eldercare y Carclassifier, aunque si alguien quiere añadir o comentar algo será bienvenido.</div><div><br></div><div>
Creo que el primer paso que debemos dar antes de añadir nueva funcionalidad a lo que ya existe es refactorizar los algoritmos de modo que los empaquetemos en sendas librerías que nos faciliten su uso/mantenimiento posteriormente.</div>

<div><br></div><div>El estado actual de Eldercare (y supongo que también del classifier) es un conjunto de funciones, alguna clase y muchas variables globales, que hacen un poco complicado ver que está sucediendo y mucho más depurar los errores. Además de estar bastante cohesionado con la interfaz gráfica.</div>

<div><br></div><div>La idea es sacar toda la funcionalidad del algoritmo y encapsularla, definiendo un API para su uso. En mi TFM [1] describía un patrón de diseño para algoritmos iterativos (derivado de patrón Strategy) que creo encaja en la mayoría de algoritmos que hacemos, y sin duda encaja en el de eldercare y carclassifier. Así que creo que puede ser un punto de partida para ir definiendo las clases que tendrá cada algoritmo.</div>

<div><br></div><div>El método de trabajo para refactorizar un algoritmo de los que tenemos hasta la fecha es simple:</div><div><ol><li>Analizar sus entradas, salidas y parámetros de configuración</li><li>Declarar las clases en función de lo encontrado anteriormente (.h)</li>

<li>Definir las clases usando el código que ya tenemos (.cpp)</li></ol><div>Los puntos 1 y 2 podemos ir tratándolos en común para llegar a una solución consensuada. Si os parece empiezo con el punto 1 de Eldercare y continuamos juntos.</div>

</div><div><br></div><div>Comentarios??</div><div><br></div><div>Un saludo,</div><div>David.</div><div><br></div><div><br></div><div>[1] <a href="http://svn.jderobot.org/users/dlobato/tfm/trunk/memoria/jderobot5_thesis.pdf" target="_blank">http://svn.jderobot.org/users/dlobato/tfm/trunk/memoria/jderobot5_thesis.pdf</a><br clear="all">

<br>-- <br><div>David Lobato Bravo</div><div><br></div><div>Universidad Rey Juan Carlos</div><div>c/Tulipan s/n</div><div>28933 Móstoles</div><div>Madrid, Spain</div><div><a href="http://jderobot.org" target="_blank">http://jderobot.org</a></div>

<div><a href="http://es.linkedin.com/in/davidlobato" target="_blank">http://es.linkedin.com/in/davidlobato</a></div><br>
</div>
</blockquote></div><br><br clear="all"><br>-- <br><div>David Lobato Bravo</div><div><br></div><div>Universidad Rey Juan Carlos</div><div>c/Tulipan s/n</div><div>28933 Móstoles</div><div>Madrid, Spain</div><div><a href="http://jderobot.org" target="_blank">http://jderobot.org</a></div>
<div><a href="http://es.linkedin.com/in/davidlobato" target="_blank">http://es.linkedin.com/in/davidlobato</a></div><br>
</div>