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