]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blob - docs/mainpage.h
- Se limpia y ordena la salida de latex.
[z.facultad/75.42/plaqui.git] / docs / mainpage.h
1 /** \mainpage Plaqui
2
3 \section introduccion Introducción.
4
5         \subsection herramientas Herramientas Utilizadas.
6                 Aquí tenemos un listado de las herramientas y bibliotecas que estamos
7                 utilizando a fin de poder luego documentar de manera correcta los
8                 requerimientos para instalar y ejecutar el programa, las versiones y los
9                 programas utilizados durante el desarrollo.
10                 - Glade2: Editor RAD para crear interfaces de usuario.
11                   [http://glade.gnome.org/]
12                 - GCC (3.2.x): Compilador C/C++.
13                   [http://gcc.gnu.org/]
14                 - VIM: Editor de texto utilizado para programar.
15                   [http://www.vim.org/]
16                 - Doxygen: Generador de documentación y referencias cruzadas.
17                   [http://www.stack.nl/~dimitri/doxygen/]
18                 - GNU Make.
19                   [http://www.gnu.org/software/make/]
20                 - Automake.
21                   [http://www.gnu.org/software/automake/]
22                 - Autoconf.
23                   [http://www.gnu.org/software/autoconf/]
24
25         \subsection bibliotecas Bibliotecas Utilizadas.
26                 - Gtkmm ( >= 2.0.0): Warper a C++ de la biblioteca Gtk+
27                   [http://www.gtkmm.org/]
28                 - Glademm ( >= 2.0.0): Para cargar archivos XML con la UI
29                   [http://www.gtkmm.org/]
30                 - Glibmm ( >= 2.0.0): Funciones de threads y otras básicas.
31                   [http://www.gtkmm.org/]
32                 - sigc++ ( >= 1.2.5): Sistema de señales para C++
33                   [http://libsigc.sourceforge.net/]
34                 - libxml2 ( >= 0.15.0): Parser de XML.
35                   [http://xmlsoft.org/]
36                 - libxm++ ( >= 0.15.0): Wrapper de libxml2 para C++.
37                   [http://libxmlplusplus.sourceforge.net/]
38                 - socket++ ( >= 1.12.10): Wrapper de socket portables en C++ streams
39                   [http://members.aon.at/hstraub/linux/socket++/]
40
41         \subsection requerimientos Requerimientos de Hardware y SO.
42                 PlaQui fue desarrollado bajo Debian GNU/Linux sid (http://www.debian.org/),
43                 pero debería andar en cualquier GNU/Linux e incluso probablemente en otros
44                 Unixes (e incluso podría llegar a andar en WIN32). La versión para el
45                 usuario (binaria y sin símbolos para depurar) requiere menos de 2MB de
46                 espacio en disco. Para compilarlo (con símbolos para depurar) puede
47                 necesitar más de 80MB.
48
49                 \subsubsection requerimientos_minimos Requerimientos mínimos.
50                         Esta es la mínima configuración en la que fue probado.
51                         - Procesador: Pentium 75MHz
52                         - Memoria RAM (física y virtual): 32MB
53
54                 \subsubsection requerimientos_recomendados Requerimientos recomendados.
55                         - Procesador: PII 400 Mhz
56                         - Memoria RAM: 64 MB
57
58 \section instalacion Instalación.
59         El programa se divide en 4 módulos:
60         - \ref page_model "Modelo": es el módulo que se encarga de la simulación y el modelo
61           \c físico de la planta (es una biblioteca).
62         - \ref page_server "Servidor": es la infrastructura de red. Comprende tanto
63           el servidor como el cliente en cuando al manejo de la red (es una
64           biblioteca y un  programa).
65         - \ref page_client "Cliente": es el cliente gráfico que permite ver la simulación (es un
66           programa).
67         - \ref page_constructor "Constructor": es el programa para diseñar la planta química
68           que será simulada por el modelo en el servidor (es un programa).
69
70         La instalación puede realizarse de dos formas: instalando módulo por
71         módulo o instalando todos los módulos a la vez.
72
73         \subsection instalacion_global Instalación Global.
74                 Para instalar todos los programas es sencillo.
75                 -# Descomprimir el paquete:
76                    \verbatim tar -xvzf plaqui-proyect.tar.gz \endverbatim
77                 -# Entrar al directorio del proyecto:
78                    \verbatim cd plaqui \endverbatim
79                 -# Inicializar el proyecto:
80                    \verbatim aclocal && autoconf && automake -a \endverbatim
81                 -# Configurar la compilación del proyecto (generalmente basta con):
82                    \verbatim ./configure \endverbatim
83                    Esto lo instala por defecto en <tt>/usr/local</tt>, se puede
84                    especificar otra ruta con la opcion <tt>--prefix</tt>. También se
85                    puede compilar en modo de depuración con la opción
86                    <tt>--enable-debug</tt>. Para más opciones hacer
87                    <tt>./configure --help</tt>.
88                 -# Compilar el proyecto:
89                    \verbatim make \endverbatim
90                 -# Instalar el proyecto:
91                    \verbatim make install \endverbatim
92
93                 \note Para realizar el último paso, dependiendo de si usó la
94                       opción <tt>--prefix</tt> o no, es posible que necesite
95                       permisos de superusuario (<tt>root</tt>).
96
97         \subsection instalacion_por_partes Instalación Por Partes.
98                 El procedimiento es muy similar al anterior:
99                 -# Descomprimir el paquete:
100                    \verbatim tar -xvzf plaqui-proyect.tar.gz \endverbatim
101                 -# Entrar al directorio del módulo [Módulo]:
102                    \verbatim cd plaqui/[Módulo] \endverbatim
103                 -# Inicializar el módulo:
104                    \verbatim aclocal && autoconf && automake -a \endverbatim
105                 -# Configurar la compilación del módulo (generalmente basta con):
106                    \verbatim ./configure \endverbatim
107                 -# Compilar el módulo:
108                    \verbatim make \endverbatim
109                 -# Instalar el módulo:
110                    \verbatim make install \endverbatim
111
112                 \note Para realizar el último paso, dependiendo de si usó la
113                       opción <tt>--prefix</tt> o no, es posible que necesite
114                       permisos de superusuario (<tt>root</tt>).
115
116 \section mainpage_server Puesta en marcha del servidor.
117
118         \subsection mainpage_server_uso_inicio Inicio del servidor.
119                 Para iniciar el servidor es necesario disponer de un archivo XML de
120                 planta (por ejemplo, generado por el \ref page_constructor "Constructor").
121
122                 Invocación del servidor:
123                 \verbatim ./plaqui-server [archivo] [puerto] \endverbatim
124
125                 Ambos argumentos son opcionales. El primero, <tt>[archivo]</tt>, es la
126                 ubicación del archivo con la descripción de la planta a simular (por omisión
127                 <tt>planta.xml</tt>). El segundo, <tt>[puerto]</tt>, es el puerto en el cual
128                 se van a atender las peticiones al servidor (por omisión 7522).
129
130                 \subsubsection mainpage_server_log Guardar la salida del servidor en un archivo.
131                         Para guardar la salida del servidor en un archivo puede ejecutar:
132                         \verbatim ./plaqui-server [archivo] [puerto] > [archivo] \endverbatim
133                         Esto guardará sólo los mensajes comunes pero los mensajes de error
134                         seguirán apareciendo por pantalla. Para guardar todo en un archivo:
135                         \verbatim ./plaqui-server [archivo] [puerto] 2>&1 > [archivo] \endverbatim
136                         Si quiere guardar sólo los errores en un archivo, puede hacer:
137                         \verbatim ./plaqui-server [archivo] [puerto] 2> [archivo] \endverbatim
138
139                 \subsubsection mainpage_server_background Correr el servidor en segundo plano.
140                         Para correr el servidor en segundo plano puede ejecutar:
141                         \verbatim ./plaqui-server [archivo] [puerto] & \endverbatim
142                         Esto puede combinarse con los comandos las formas de ejecución
143                         detalladas en \ref mainpage_server_log.
144
145         \subsection mainpage_server_uso_estado Estado del servidor.
146                 Mientras el servidor se ejecuta, va imprimiendo en la salida estándar su
147                 estado. Se imprime cada vez que llega una conexión entrante y cada vez que
148                 se detecta un error.
149
150                 Otro tipo de información del estado del servidor puede ser obtenida desde
151                 el \ref page_client "cliente" a través del comando <tt>/server/info</tt>.
152
153                 \note Los errores se imprimen en la salida de error, no en la salida
154                       estándar.
155
156         \subsection mainpage_server_uso_fin Finalización del servidor.
157                 Hay varias formas de finalizar el servidor:
158                 - Enviando una señal de interrupción (<tt>SIGINT</tt>), por ejemplo,
159                   presionando la combinación de teclas <tt>CTRL-C</tt>.
160                 - Enviando una señal de salida (<tt>SIGQUIT</tt>) o de terminación
161                   (<tt>SIGTERM</tt>), por ejemplo, a través del comando
162                   <tt>kill(1)</tt>.
163                 - Enviando un comando <tt>/server/stop</tt> desde un
164                   \ref page_client "cliente".
165
166                 Cualquiera de estos métodos es válido y finaliza el servidor de forma
167                 correcta.
168
169 */
170
171 /** \namespace PlaQui
172
173 Diseñador, simulador y controlador de plantas químicas distribuido.
174
175 El Programa se divide en 4 módulos. Los módulo que se comportan como
176 biblioteca compartida tienen a su vez un espacio de nombres (namespace)
177 anidado: PlaQui::Model y PlaQui::Server.
178
179 */
180