X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/c90c6534ddf16d19762d978245075812971717cf..9322e49b932d824e5664aa8c0e0f9a41464537b1:/docs/mainpage.h diff --git a/docs/mainpage.h b/docs/mainpage.h index ec016ab..8f41a31 100644 --- a/docs/mainpage.h +++ b/docs/mainpage.h @@ -1,71 +1,105 @@ -/** \mainpage PlaQui - -\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 - programas utilizados durante el desarrollo. - - Glade2: Editor RAD para crear interfaces de usuario - - GCC (3.3.x): Compilador C++ - - VIM: Editor de texto utilizado para programar - - Doxygen: Generador de documentación y referencias cruzadas - - GNU Make - - Automake - - Autoconf - - \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 - http://www.gtkmm.org/ - - Glibmm ( >= 2.0.0): Funciones de threads y otras básicas. - http://www.gtkmm.org/ - - sigc++ ( >= 1.2.5): Sistema de señales para C++ - http://libsigc.sourceforge.net/ - - socket++ ( >= 1.12.10): Wrapper de socket portables en C++ streams - http://members.aon.at/hstraub/linux/socket++/ +/** \mainpage Plaqui + +\htmlonly +
A continuación se presenta una lista con los manuales.
+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 + programas utilizados durante el desarrollo. + - Glade2: Editor RAD para crear interfaces de usuario. + [http://glade.gnome.org/] + - GCC (3.2.x): Compilador C/C++. + [http://gcc.gnu.org/] + - VIM: Editor de texto utilizado para programar. + [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. + [http://www.gnu.org/software/automake/] + - Autoconf. + [http://www.gnu.org/software/autoconf/] + + \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 + [http://www.gtkmm.org/] + - Glibmm ( >= 2.0.0): Funciones de threads y otras básicas. + [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++/] \subsection requerimientos Requerimientos de Hardware y SO. - El trabajo práctico fue desarrollado bajo Debian GNU/Linux sid - (http://www.debian.org/), pero debería andar en cualquier GNU/Linux e - incluso probablemente en otros Unixes (e incluso podría llegar a andar - en WIN32). - \b Cliente: - - Procesador: PII 400 Mhz - - Memoria RAM: 64 Mb - - Espacio en disco: aun no confirmado - - SO: GNU/Linux - - \b Servidor: - - Procesador: Pentium 75MHz - - Memoria RAM: 16MB - - Espacio en disco: 5MB - - SO: GNU/Linux - - \b Constructor: - - Procesador: PII 400 Mhz - - Memoria RAM: 64 Mb - - Espacio en disco: aun no confirmado - - SO: GNU/Linux - - \subsection instalacion Instalación. + PlaQui fue desarrollado bajo Debian GNU/Linux sid (http://www.debian.org/), + pero debería andar en cualquier GNU/Linux e incluso probablemente en otros + Unixes (e incluso podría llegar a andar en WIN32). La versión para el + usuario (binaria y sin símbolos para depurar) requiere menos de 2MB de + espacio en disco. Para compilarlo (con símbolos para depurar) puede + necesitar más de 80MB. + + \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. + - Procesador: PII 400 Mhz + - Memoria RAM: 64 MB + +\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). - - 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_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). + - \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 @@ -75,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 @@ -97,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. + +*/ +