3 \section introduccion Introducción.
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++.
14 - VIM: Editor de texto utilizado para programar.
16 - Doxygen: Generador de documentación y referencias cruzadas.
17 [http://www.stack.nl/~dimitri/doxygen/]
19 [http://www.gnu.org/software/make/]
21 [http://www.gnu.org/software/automake/]
23 [http://www.gnu.org/software/autoconf/]
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.
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++/]
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.
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
54 \subsubsection requerimientos_recomendados Requerimientos recomendados.
55 - Procesador: PII 400 Mhz
58 \section instalacion Instalación.
59 El programa se divide en 4 módulos:
60 - Modelo: es el módulo que se encarga de la simulación y el modelo \c
61 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 - Cliente: es el cliente gráfico que permite ver la simulación (es un
67 - Constructor: es el programa para diseñar la planta química que será
68 simulada por el modelo en el servidor (es un programa).
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.
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>.
85 -# Compilar el proyecto:
86 \verbatim make \endverbatim
87 -# Instalar el proyecto:
88 \verbatim make install \endverbatim
90 \note Para realizar el último paso, dependiendo de si usó la
91 opción <tt>--prefix</tt> o no, es posible que necesite
92 permisos de superusuario (<tt>root</tt>).
94 \subsection instalacion_por_partes Instalación Por Partes.
95 El procedimiento es muy similar al anterior:
96 -# Descomprimir el paquete:
97 \verbatim tar -xvzf plaqui-proyect.tar.gz \endverbatim
98 -# Entrar al directorio del módulo [Módulo]:
99 \verbatim cd plaqui/[Módulo] \endverbatim
100 -# Inicializar el módulo:
101 \verbatim aclocal && autoconf && automake -a \endverbatim
102 -# Configurar la compilación del módulo (generalmente basta con):
103 \verbatim ./configure \endverbatim
104 -# Compilar el módulo:
105 \verbatim make \endverbatim
106 -# Instalar el módulo:
107 \verbatim make install \endverbatim
109 \note Para realizar el último paso, dependiendo de si usó la
110 opción <tt>--prefix</tt> o no, es posible que necesite
111 permisos de superusuario (<tt>root</tt>).
113 \section mainpage_server Puesta en marcha del servidor.
115 \subsection mainpage_server_uso_inicio Inicio del servidor.
116 Para iniciar el servidor es necesario disponer de un archivo XML de
117 planta (por ejemplo, generado por el Constructor).
119 Invocación del servidor:
120 \verbatim ./plaqui-server [archivo] [puerto] \endverbatim
122 Ambos argumentos son opcionales. El primero, <tt>[archivo]</tt>, es la
123 ubicación del archivo con la descripción de la planta a simular (por omisión
124 <tt>planta.xml</tt>). El segundo, <tt>[puerto]</tt>, es el puerto en el cual
125 se van a atender las peticiones al servidor (por omisión 7522).
127 \subsubsection mainpage_server_log Guardar la salida del servidor en un archivo.
128 Para guardar la salida del servidor en un archivo puede ejecutar:
129 \verbatim ./plaqui-server [archivo] [puerto] > [archivo] \endverbatim
130 Esto guardará sólo los mensajes comunes pero los mensajes de error
131 seguirán apareciendo por pantalla. Para guardar todo en un archivo:
132 \verbatim ./plaqui-server [archivo] [puerto] 2>&1 > [archivo] \endverbatim
133 Si quiere guardar sólo los errores en un archivo, puede hacer:
134 \verbatim ./plaqui-server [archivo] [puerto] 2> [archivo] \endverbatim
136 \subsubsection mainpage_server_background Correr el servidor en segundo plano.
137 Para correr el servidor en segundo plano puede ejecutar:
138 \verbatim ./plaqui-server [archivo] [puerto] & \endverbatim
139 Esto puede combinarse con los comandos las formas de ejecución
140 detalladas en \ref mainpage_server_log.
142 \subsection mainpage_server_uso_estado Estado del servidor.
143 Mientras el servidor se ejecuta, va imprimiendo en la salida estándar su
144 estado. Se imprime cada vez que llega una conexión entrante y cada vez que
147 Otro tipo de información del estado del servidor puede ser obtenida desde
148 el cliente a través del comando <tt>/server/info</tt>.
150 \note Los errores se imprimen en la salida de error, no en la salida
153 \subsection mainpage_server_uso_fin Finalización del servidor.
154 Hay varias formas de finalizar el servidor:
155 - Enviando una señal de interrupción (<tt>SIGINT</tt>), por ejemplo,
156 presionando la combinación de teclas <tt>CTRL-C</tt>.
157 - Enviando una señal de salida (<tt>SIGQUIT</tt>) o de terminación
158 (<tt>SIGTERM</tt>), por ejemplo, a través del comando
160 - Enviando un comando <tt>/server/stop</tt> desde un cliente.
162 Cualquiera de estos métodos es válido y finaliza el servidor de forma
167 /** \namespace PlaQui
169 Diseñador, simulador y controlador de plantas químicas distribuido.
171 El Programa se divide en 4 módulos. Los módulo que se comportan como
172 biblioteca compartida tienen a su vez un espacio de nombres (namespace)
173 anidado: PlaQui::Model y PlaQui::Server.