X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/325f784cbf310091cb5749842a52cf7e1ad64b1b..add829f3935873adceec8cf027bc9b333f1f57bb:/docs/mainpage.h diff --git a/docs/mainpage.h b/docs/mainpage.h index b667a73..3e8ee0d 100644 --- a/docs/mainpage.h +++ b/docs/mainpage.h @@ -1,103 +1,180 @@ -/** \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 + +\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/] + - 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 - - Entrar al directorio del proyecto: - \verbatim cd plaqui \endverbatim - - Inicializar el proyecto: - \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 - - Compilar el proyecto: - \verbatim make \endverbatim - - Instalar el proyecto: - \verbatim make install \endverbatim - - \subsubsection instalacion_global Instalación Por Partes - El procedimiento es muy similar al anterior. Los dos primeros - pasos son iguales al método anterior. Para cada modulo se debe - hacer el siguiente paso extra: - - Entrar al directorio del módulo [Módulo]: - \verbatim cd [Módulo] \endverbatim - Y luego seguir como con el método anterior: - - Inicializar el módulo: - \verbatim aclocal && autoconf && automake -a \endverbatim - - Configurar la compilación del módulo (generalmente basta con): - \verbatim ./configure \endverbatim - - Compilar el módulo: - \verbatim make \endverbatim - - Instalar el módulo: - \verbatim make install \endverbatim + -# Descomprimir el paquete: + \verbatim tar -xvzf plaqui-proyect.tar.gz \endverbatim + -# Entrar al directorio del proyecto: + \verbatim cd plaqui \endverbatim + -# Inicializar el proyecto: + \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 --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 + + \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 + -# Entrar al directorio del módulo [Módulo]: + \verbatim cd plaqui/[Módulo] \endverbatim + -# Inicializar el módulo: + \verbatim aclocal && autoconf && automake -a \endverbatim + -# Configurar la compilación del módulo (generalmente basta con): + \verbatim ./configure \endverbatim + -# Compilar el módulo: + \verbatim make \endverbatim + -# Instalar el módulo: + \verbatim make install \endverbatim + + \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. + +*/ +