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