X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/b30d94bfe233af1aca596112e65449ef03cb6016..3e56bc8be121c3896356f94709f127c97956228d:/docs/mainpage.h diff --git a/docs/mainpage.h b/docs/mainpage.h index 1a82f03..8f41a31 100644 --- a/docs/mainpage.h +++ b/docs/mainpage.h @@ -1,9 +1,29 @@ /** \mainpage Plaqui -\section introduccion Introducción - - \subsection herramientas Herramientas Utilizadas - Aquà tenemos un listado de las herramientas y bibliotecas que estamos +\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. @@ -13,8 +33,17 @@ [http://gcc.gnu.org/] - VIM: Editor de texto utilizado para programar. [http://www.vim.org/] - - Doxygen: Generador de documentación y referencias cruzadas. + - 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,14 +51,14 @@ - 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 [http://www.gtkmm.org/] - - Glibmm ( >= 2.0.0): Funciones de threads y otras básicas. + - 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++ + - sigc++ ( >= 1.2.5): Sistema de señales para C++ [http://libsigc.sourceforge.net/] - libxml2 ( >= 0.15.0): Parser de XML. [http://xmlsoft.org/] @@ -38,112 +67,141 @@ - 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 + \subsection requerimientos Requerimientos de Hardware y SO. 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. + 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 + - 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 - 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_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 - programa). - - 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 - 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 --prefix. - -# 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). - - \subsubsection 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_servidor Servidor - Puede ver la documentación del servidor en \ref page_server -\section mainpage_constructor Constructor - \subsection constructor_formato_xml Formato del archivo - El archivo que guarda el Constructor es un archvo de texto con formato XML. - Cada elemento posee su propia forma de guardarse en el archivo. - - Tubo - \verbinclude tubo.xml - - Codo - \verbinclude codo.xml - - Empalme - \verinclude empalme.xml - - Bomba - \verbinclude bomba.xml - - Tanque - \verbinclude tanque.xml - - Exclusa - \verbinclude exclusa.xml - - Drenaje - \verbinclude drenaje.xml - - And - \verbinclude and.xml - - Or - \verbinclude or.xml - - Not - \verbinclude not.xml - +\section instalacion Instalación. + El programa se divide en 4 módulos: + - \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). + - \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. + + \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 --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. +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 +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.