]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - 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
index 1a82f031f47bb9ae4e3f803fd013d14574a4798b..8f41a31cd047850aa559f7f233cbdffa0f8cacbf 100644 (file)
@@ -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
+<h2>Archivos.</h2>
+       <h3>Manuales.</h3>
+               <p>A continuación se presenta una lista con los manuales.</p>
+               <ul>
+                       <li><a href="../../manual_proyecto.pdf">Manual del Proyecto</a>.</li>
+                       <li><a href="../devel/refman.pdf">Manual de Desarrollo</a>
+                           (versión imprimible de este manual).</li>
+                       <li><a href="../admin/refman.pdf">Manual de Administración</a>.</li>
+                       <li><a href="../../../Client/doc/manual.pdf">Manual de Usuario de
+                           PlaQui Client</a>.</li>
+                       <li><a href="../../../Constructor/doc/manual.pdf">Manual de Usuario
+                           de PlaQui Constructor</a>.</li>
+               </ul>
+
+       <h3>Archivos de ejemplo.</h3>
+               <p>Puede encontrar archivos de planta de ejemplo en el directorio
+               <a href="../../../Samples">Samples</a>.</p>
+\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.
                  [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.
                - 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/]
                - 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 <tt>/usr/local</tt>, se puede
-                          especificar otra ruta con la opcion <tt>--prefix</tt>.
-                       -# 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 <tt>--prefix</tt> o no, es posible que necesite
-                             permisos de superusuario (<tt>root</tt>).
-
-               \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 <tt>--prefix</tt> o no, es posible que necesite
-                             permisos de superusuario (<tt>root</tt>).
-
-\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 <tt>/usr/local</tt>, se puede
+                  especificar otra ruta con la opcion <tt>--prefix</tt>. También se
+                  puede compilar en modo de depuración con la opción
+                  <tt>--enable-debug</tt>. Para más opciones hacer
+                  <tt>./configure --help</tt>.
+               -# 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 <tt>--prefix</tt> o no, es posible que necesite
+                     permisos de superusuario (<tt>root</tt>).
+
+       \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 <tt>--prefix</tt> o no, es posible que necesite
+                     permisos de superusuario (<tt>root</tt>).
+
+\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, <tt>[archivo]</tt>, es la
+               ubicación del archivo con la descripción de la planta a simular (por omisión
+               <tt>planta.xml</tt>). El segundo, <tt>[puerto]</tt>, 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 <tt>/server/info</tt>.
+
+               \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 (<tt>SIGINT</tt>), por ejemplo,
+                 presionando la combinación de teclas <tt>CTRL-C</tt>.
+               - Enviando una señal de salida (<tt>SIGQUIT</tt>) o de terminación
+                 (<tt>SIGTERM</tt>), por ejemplo, a través del comando
+                 <tt>kill(1)</tt>.
+               - Enviando un comando <tt>/server/stop</tt> 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.