]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blob - docs/mainpage.h
Agrego 2 ejemplos con problemas con la logica de control. El cliente la
[z.facultad/75.42/plaqui.git] / docs / mainpage.h
1 /** \mainpage Plaqui
2
3 \htmlonly
4 <h2>Archivos.</h2>
5         <h3>Manuales.</h3>
6                 <p>A continuación se presenta una lista con los manuales.</p>
7                 <ul>
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>
16                 </ul>
17
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>
21 \endhtmlonly
22
23 \section introduccion Introducción.
24
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++.
33                   [http://gcc.gnu.org/]
34                 - VIM: Editor de texto utilizado para programar.
35                   [http://www.vim.org/]
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
40                   forma remota.
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.
44                   [http://www.lyx.org/]
45                 - Mailman: Manejador de listas de correo.
46                   [http://www.gnu.org/software/mailman/]
47                 - GNU Make.
48                   [http://www.gnu.org/software/make/]
49                 - Automake.
50                   [http://www.gnu.org/software/automake/]
51                 - Autoconf.
52                   [http://www.gnu.org/software/autoconf/]
53
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.
64                   [http://xmlsoft.org/]
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++/]
69
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.
77
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
82
83                 \subsubsection requerimientos_recomendados Requerimientos recomendados.
84                         - Procesador: PII 400 Mhz
85                         - Memoria RAM: 64 MB
86
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
95           programa).
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).
98
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.
101
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
121
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>).
125
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
140
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>).
144
145 \section mainpage_server Puesta en marcha del servidor.
146
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").
150
151                 Invocación del servidor:
152                 \verbatim ./plaqui-server [archivo] [puerto] \endverbatim
153
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).
158
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
167
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.
173
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
177                 se detecta un error.
178
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>.
181
182                 \note Los errores se imprimen en la salida de error, no en la salida
183                       estándar.
184
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
191                   <tt>kill(1)</tt>.
192                 - Enviando un comando <tt>/server/stop</tt> desde un
193                   \ref page_client "cliente".
194
195                 Cualquiera de estos métodos es válido y finaliza el servidor de forma
196                 correcta.
197
198 */
199
200 /** \namespace PlaQui
201
202 Diseñador, simulador y controlador de plantas químicas distribuido.
203
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.
207
208 */
209