X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/d46988670a776e174147fc0cce35652383177785..3e56bc8be121c3896356f94709f127c97956228d:/docs/mainpage.h?ds=inline diff --git a/docs/mainpage.h b/docs/mainpage.h index 6939d24..8f41a31 100644 --- a/docs/mainpage.h +++ b/docs/mainpage.h @@ -1,8 +1,28 @@ -/** \mainpage PlaQui +/** \mainpage Plaqui -\section introduccion Introducción +\htmlonly +

Archivos.

+

Manuales.

+

A continuación se presenta una lista con los manuales.

+ - \subsection herramientas Herramientas Utilizadas +

Archivos de ejemplo.

+

Puede encontrar archivos de planta de ejemplo en el directorio + Samples.

+\endhtmlonly + +\section introduccion Introducción. + + \subsection herramientas Herramientas Utilizadas. Aquí tenemos un listado de las herramientas y bibliotecas que estamos utilizando a fin de poder luego documentar de manera correcta los requerimientos para instalar y ejecutar el programa, las versiones y los @@ -15,6 +35,15 @@ [http://www.vim.org/] - Doxygen: Generador de documentación y referencias cruzadas. [http://www.stack.nl/~dimitri/doxygen/] + - Subversion: Es un SCM (Source Code Manager) que permite trabajar + con versiones concurrentes en un repositorio de código fuente de + forma remota. + [http://subversion.tigris.org/] + - LyX: Procesador de texto WYIWYM (What You See Is What You Mean) + para hacer documentos técnicos fácilmente. + [http://www.lyx.org/] + - Mailman: Manejador de listas de correo. + [http://www.gnu.org/software/mailman/] - GNU Make. [http://www.gnu.org/software/make/] - Automake. @@ -22,7 +51,7 @@ - Autoconf. [http://www.gnu.org/software/autoconf/] - \subsection bibliotecas Bibliotecas Utilizadas + \subsection bibliotecas Bibliotecas Utilizadas. - Gtkmm ( >= 2.0.0): Warper a C++ de la biblioteca Gtk+ [http://www.gtkmm.org/] - Glademm ( >= 2.0.0): Para cargar archivos XML con la UI @@ -31,6 +60,10 @@ [http://www.gtkmm.org/] - sigc++ ( >= 1.2.5): Sistema de señales para C++ [http://libsigc.sourceforge.net/] + - libxml2 ( >= 0.15.0): Parser de XML. + [http://xmlsoft.org/] + - libxm++ ( >= 0.15.0): Wrapper de libxml2 para C++. + [http://libxmlplusplus.sourceforge.net/] - socket++ ( >= 1.12.10): Wrapper de socket portables en C++ streams [http://members.aon.at/hstraub/linux/socket++/] @@ -42,31 +75,31 @@ espacio en disco. Para compilarlo (con símbolos para depurar) puede necesitar más de 80MB. - \subsubsection requerimientos_minimos Requerimientos mínimos + \subsubsection requerimientos_minimos Requerimientos mínimos. Esta es la mínima configuración en la que fue probado. - Procesador: Pentium 75MHz - Memoria RAM (física y virtual): 32MB - \subsubsection requerimientos_recomendados Requerimientos recomendados + \subsubsection requerimientos_recomendados Requerimientos recomendados. - Procesador: PII 400 Mhz - Memoria RAM: 64 MB - \subsection instalacion Instalación. +\section instalacion Instalación. El programa se divide en 4 módulos: - - Modelo: es el módulo que se encarga de la simulación y el modelo \c - físico de la planta (es una biblioteca). + - \ref page_model "Modelo": es el módulo que se encarga de la simulación y el modelo + \c físico de la planta (es una biblioteca). - \ref page_server "Servidor": es la infrastructura de red. Comprende tanto el servidor como el cliente en cuando al manejo de la red (es una biblioteca y un programa). - - Cliente: es el cliente gráfico que permite ver la simulación (es un + - \ref page_client "Cliente": es el cliente gráfico que permite ver la simulación (es un programa). - - Constructor: es el programa para diseñar la planta química que será - simulada por el modelo en el servidor (es un programa). + - \ref page_constructor "Constructor": es el programa para diseñar la planta química + que será simulada por el modelo en el servidor (es un programa). La instalación puede realizarse de dos formas: instalando módulo por módulo o instalando todos los módulos a la vez. - \subsubsection instalacion_global Instalación Global + \subsection instalacion_global Instalación Global. Para instalar todos los programas es sencillo. -# Descomprimir el paquete: \verbatim tar -xvzf plaqui-proyect.tar.gz \endverbatim @@ -76,14 +109,21 @@ \verbatim aclocal && autoconf && automake -a \endverbatim -# Configurar la compilación del proyecto (generalmente basta con): \verbatim ./configure \endverbatim - Esto lo instala por defecto en /usr/local, se puede - especificar otra ruta con la opcion \c --prefix + Esto lo instala por defecto en /usr/local, se puede + especificar otra ruta con la opcion --prefix. También se + puede compilar en modo de depuración con la opción + --enable-debug. Para más opciones hacer + ./configure --help. -# Compilar el proyecto: \verbatim make \endverbatim -# Instalar el proyecto: \verbatim make install \endverbatim - \subsubsection instalacion_global Instalación Por Partes + \note Para realizar el último paso, dependiendo de si usó la + opción --prefix o no, es posible que necesite + permisos de superusuario (root). + + \subsection instalacion_por_partes Instalación Por Partes. El procedimiento es muy similar al anterior: -# Descomprimir el paquete: \verbatim tar -xvzf plaqui-proyect.tar.gz \endverbatim @@ -98,7 +138,72 @@ -# Instalar el módulo: \verbatim make install \endverbatim -\section mainpage_servidor Servidor - Puede ver la documentación del servidor en \ref page_server + \note Para realizar el último paso, dependiendo de si usó la + opción --prefix o no, es posible que necesite + permisos de superusuario (root). + +\section mainpage_server Puesta en marcha del servidor. + + \subsection mainpage_server_uso_inicio Inicio del servidor. + Para iniciar el servidor es necesario disponer de un archivo XML de + planta (por ejemplo, generado por el \ref page_constructor "Constructor"). + + Invocación del servidor: + \verbatim ./plaqui-server [archivo] [puerto] \endverbatim + + Ambos argumentos son opcionales. El primero, [archivo], es la + ubicación del archivo con la descripción de la planta a simular (por omisión + planta.xml). El segundo, [puerto], es el puerto en el cual + se van a atender las peticiones al servidor (por omisión 7522). + + \subsubsection mainpage_server_log Guardar la salida del servidor en un archivo. + Para guardar la salida del servidor en un archivo puede ejecutar: + \verbatim ./plaqui-server [archivo] [puerto] > [archivo] \endverbatim + Esto guardará sólo los mensajes comunes pero los mensajes de error + seguirán apareciendo por pantalla. Para guardar todo en un archivo: + \verbatim ./plaqui-server [archivo] [puerto] 2>&1 > [archivo] \endverbatim + Si quiere guardar sólo los errores en un archivo, puede hacer: + \verbatim ./plaqui-server [archivo] [puerto] 2> [archivo] \endverbatim + + \subsubsection mainpage_server_background Correr el servidor en segundo plano. + Para correr el servidor en segundo plano puede ejecutar: + \verbatim ./plaqui-server [archivo] [puerto] & \endverbatim + Esto puede combinarse con los comandos las formas de ejecución + detalladas en \ref mainpage_server_log. + + \subsection mainpage_server_uso_estado Estado del servidor. + Mientras el servidor se ejecuta, va imprimiendo en la salida estándar su + estado. Se imprime cada vez que llega una conexión entrante y cada vez que + se detecta un error. + + Otro tipo de información del estado del servidor puede ser obtenida desde + el \ref page_client "cliente" a través del comando /server/info. + + \note Los errores se imprimen en la salida de error, no en la salida + estándar. + + \subsection mainpage_server_uso_fin Finalización del servidor. + Hay varias formas de finalizar el servidor: + - Enviando una señal de interrupción (SIGINT), por ejemplo, + presionando la combinación de teclas CTRL-C. + - Enviando una señal de salida (SIGQUIT) o de terminación + (SIGTERM), por ejemplo, a través del comando + kill(1). + - Enviando un comando /server/stop desde un + \ref page_client "cliente". + + Cualquiera de estos métodos es válido y finaliza el servidor de forma + correcta. + +*/ + +/** \namespace PlaQui + +Diseñador, simulador y controlador de plantas químicas distribuido. + +El Programa se divide en 4 módulos. Los módulo que se comportan como +biblioteca compartida tienen a su vez un espacio de nombres (namespace) +anidado: PlaQui::Model y PlaQui::Server. */ +