3 \page page_tree TreeMulator
5 Esta es una aplicación creada con fines didácticos cuyo principal motivo es
6 mostrar el funcionamiento del árbol B de 4 formas diferentes:
8 <li>Identificación con clave fija.</li>
9 <li>Identificación con clave variable.</li>
10 <li>Clasificación con clave fija.</li>
11 <li>Clasificación con clave variable.</li>
14 Para una mas fácil comprobación y ejecución de la aplicación, se han
15 desarrollado programas de prueba (ver INSTALL) que permiten realizar altas y
16 bajas a "pedido" o aleatorias.
17 Para claves fijas se utiliza 'btree':
19 ./btree <block size> <cantidad de altas> <cantidad de bajas>
20 El tamaño de bloque usado es 512*2^<block size>.
23 donde el tamaño del bloque, la cantidad de altas y la cantidad de bajas están
26 Lo mismo sucede para las claves de longitud variable, pero esta vez utilizando
29 ./btree_var <block size> <cantidad de altas> <cantidad de bajas>
30 El tamaño de bloque usado es 512*2^<block size>.
33 al igual que el anterior, podemos definir cuantas altas y bajas deseamos
34 realizar y cual será el tamaño del bloque.
36 Las claves de longitud fija se generan pseudo-aleatoriamente utilizando funciones
37 provistas por el lenguaje y las claves de longitud variable se generan
38 combinando palabras de dos archivos que contienen grandes listas de productos y
41 \section page_tree_viewer Visualizador
43 Para poder inspeccionar todavia mejor el árbol, hemos desarrollado un inspector
44 visual basado en ventanas, con el cual se puede ir viendo el contenido de un
45 nodo haciendo click sobre el mismo.
46 Podremos encontrar esta aplicación dentro del directorio viewer/ y ejecutando
51 \image html viewer_01.png
52 \image latex viewer_01.eps "Pantalla Principal" width=10cm
54 Luego en el menú 'archivo' tendremos la posibilidad de crear un nuevo árbol
55 indicando los parámetros vistos anteriormente.
56 También se pueden agregar claves desde el menú 'Clave' donde se desplegará una
57 ventana que pedirá el ingreso de una clave y un valor asociado a ella para
58 insertar en el árbol. De la misma manera podrán eliminarse valores siempre y
59 cuando estos existan en el árbol.
60 Un último menú permite realizar zoom para acercar y alejar la vista del árbol al
63 Esta aplicación será mejorada en la próxima versión de TreeMulator.
65 \section page_tree_instalar Instalar
67 \subsection page_instalar_req Requerimientos
69 TreeMulator ha sido implementado en lenguaje C++, por lo tanto es necesario un
70 compilador complatible.
71 Para las pruebas preliminares se utilizó el compilador gcc en su versión 4.0.x,
72 y la herramienta make para facilitar la construcción de la aplicación.
73 Todas las pruebas se realizaron sobre plataforma GNU/Linux Debian.
74 La interfaz gráfica utiliza las bibliotecas para implementación de ventanas GTK
76 <li>gtkmm version >= 2.4</li>
77 <li>libgnomecanvasmm >= 2.6</li>
80 \subsection page_instalar_ins Instalación
82 Descomprimir el paquete treemulator.tar.gz en el directorio deseado
85 ~# tar -xvzf treemulator.tar.gz
88 Este paso tendrá como consecuencia directa la creación de la estructura de
89 directorios y todos los archivos fuentes y de documentación de la aplicación.
91 Una vez dentro del directorio raíz de TreeMulator
97 con la ayuda del Makefile se podrá compilar la aplicación.
98 Solo basta con invocar al comando 'make'. El éxito de este último paso
99 dependerá de que todos los requerimientos mencioandos esten cumplidos.
101 Al finalizar, se puede observar dentro del directorio src/ que han aparecido los
102 ejecutables llamados 'btree' y 'btree_var', los cuales son programas de prueba
104 También se creará en el directorio viewer/ un ejecutable 'viewer' el cual es una
105 interfaz gráfica que permite inspeccionar el árbol.
107 \section page_tree_autores Autores
110 <li>Nicolás Dimov</li>
111 <li>Leandro Lucarella</li>
112 <li>Ricardo Markiewicz</li>