]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blob - src/doc.h
UNDO: Cambio constructor por metodo estatico.
[z.facultad/75.52/treemulator.git] / src / doc.h
1 /**
2
3 \page page_tree TreeMulator
4
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:
7 <ul>
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>
12 </ul>
13
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':
18 <pre>
19 ./btree <block size> <cantidad de altas> <cantidad de bajas>
20         El tamaño de bloque usado es 512*2^<block size>.
21 </pre>
22
23 donde el tamaño del bloque, la cantidad de altas y la cantidad de bajas están
24 parametrizados.
25
26 Lo mismo sucede para las claves de longitud variable, pero esta vez utilizando
27 'btree_var':
28 <pre>
29 ./btree_var <block size> <cantidad de altas> <cantidad de bajas>
30         El tamaño de bloque usado es 512*2^<block size>.
31 </pre>
32
33 al igual que el anterior, podemos definir cuantas altas y bajas deseamos
34 realizar y cual será el tamaño del bloque.
35
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
39 marcas en este caso.
40
41 \section page_tree_viewer Visualizador
42
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
47 <pre>
48 ./viewer
49 </pre>
50  
51 \image html viewer_01.png
52 \image latex viewer_01.eps "Pantalla Principal" width=10cm
53
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
61 inspeccionarlo.
62
63 Esta aplicación será mejorada en la próxima versión de TreeMulator.
64
65 \section page_tree_instalar Instalar
66
67 \subsection page_instalar_req Requerimientos
68
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 
75 <ul>
76         <li>gtkmm version >= 2.4</li>
77         <li>libgnomecanvasmm >= 2.6</li>
78 </ul>
79
80 \subsection page_instalar_ins Instalación
81
82 Descomprimir el paquete treemulator.tar.gz en el directorio deseado
83 <pre>
84         ~# cd dir_deseado
85         ~# tar -xvzf treemulator.tar.gz
86 </pre>
87
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.
90
91 Una vez dentro del directorio raíz de TreeMulator 
92
93 <pre>
94         ~# cd treemulator/
95 </pre>
96
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.
100
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
103 (ver README).
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.
106
107 \section page_tree_autores Autores
108
109 <ul>
110 <li>Nicolás Dimov</li>
111 <li>Leandro Lucarella</li>
112 <li>Ricardo Markiewicz</li>
113 </ul>
114 */
115