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 - \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
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).
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>. 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
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>).
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
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>).
116 \section mainpage_server Puesta en marcha del servidor.
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").
122 Invocación del servidor:
123 \verbatim ./plaqui-server [archivo] [puerto] \endverbatim
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).
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
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.
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
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>.
153 \note Los errores se imprimen en la salida de error, no en la salida
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
163 - Enviando un comando <tt>/server/stop</tt> desde un
164 \ref page_client "cliente".
166 Cualquiera de estos métodos es válido y finaliza el servidor de forma
171 /** \namespace PlaQui
173 Diseñador, simulador y controlador de plantas químicas distribuido.
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.