pfc-prolog-cvs Mailing List for pfc-prolix (Page 3)
Status: Beta
Brought to you by:
ivanfrade
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(77) |
Jun
(37) |
Jul
(152) |
Aug
(180) |
Sep
(45) |
Oct
|
Nov
|
Dec
|
---|
From: <iva...@us...> - 2003-08-31 17:30:46
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/aux In directory sc8-pr-cvs1:/tmp/cvs-serv17894 Added Files: estados.tex Log Message: added fichero auxiliar para los diagramas de estado --- NEW FILE: estados.tex --- % % Comandos y entornos para los diagramas de estados % \newcommand{\pssetdiagramasestado}{% \psset{% linearc=0.3,% % arm=1.2,% armA=1.2,% armB=0.8,% arrows=->,% arrowscale=2,% ncurv=2,% }% } |
From: <iva...@us...> - 2003-08-31 17:27:16
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno In directory sc8-pr-cvs1:/tmp/cvs-serv16970 Modified Files: dia-secuencia.tex diseno.tex interprete.tex Removed Files: dia-clases.tex Log Message: Recolocacion de los inputs y otros cambios menores Index: dia-secuencia.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/dia-secuencia.tex,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** dia-secuencia.tex 31 Aug 2003 10:35:10 -0000 1.3 --- dia-secuencia.tex 31 Aug 2003 17:27:13 -0000 1.4 *************** *** 4,13 **** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \input{aux/escenarios.tex} \section{Diagramas de secuencia del servidor} ! %\input{diseno/secuenciac1.tex} \input{diseno/secuenciac2.tex} ! %\input{diseno/secuenciac3.tex} ! %\input{diseno/secuenciac4.tex} ! %\input{diseno/secuenciac5.tex} ! %\clearpage \ No newline at end of file --- 4,13 ---- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Diagramas de secuencia del servidor} ! \input{diseno/secuenciac1.tex} \input{diseno/secuenciac2.tex} ! \input{diseno/secuenciac3.tex} ! \clearpage ! \input{diseno/secuenciac4.tex} ! \input{diseno/secuenciac5.tex} ! \clearpage \ No newline at end of file Index: diseno.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/diseno.tex,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** diseno.tex 31 Aug 2003 10:35:10 -0000 1.4 --- diseno.tex 31 Aug 2003 17:27:13 -0000 1.5 *************** *** 4,15 **** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! %\input{diseno/j2ee-uml.tex} ! %\clearpage ! %\input{diseno/general.tex} ! %\clearpage ! %\input{diseno/interprete.tex} ! %\clearpage ! %\input{diseno/paquetes.tex} ! %\input{diseno/dia-clases.tex} ! %\input{diseno/dia-secuencia.tex} ! \input{diseno/clases/clases.tex} \ No newline at end of file --- 4,15 ---- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! \input{diseno/j2ee-uml.tex} ! \clearpage ! \input{diseno/general.tex} ! \clearpage ! \input{diseno/interprete.tex} ! \clearpage ! \input{diseno/clases/clases.tex} ! \clearpage ! \input{diseno/dia-secuencia.tex} ! \input{diseno/paquetes.tex} Index: interprete.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/interprete.tex,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** interprete.tex 31 Aug 2003 10:35:10 -0000 1.2 --- interprete.tex 31 Aug 2003 17:27:13 -0000 1.3 *************** *** 5,10 **** % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \input{aux/escenarios.tex} - \input{aux/estados.tex} \section{Interfaces con el intérprete} --- 5,8 ---- --- dia-clases.tex DELETED --- |
From: <iva...@us...> - 2003-08-31 17:23:42
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/clases In directory sc8-pr-cvs1:/tmp/cvs-serv16276 Modified Files: clases.tex ejb-sessionjb.tex Added Files: dia-clases.tex Log Message: dia-clases ahora en este directorio. Corregidos algunos detalles, anyadidas nuevas imagenes --- NEW FILE: dia-clases.tex --- (This appears to be a binary file; contents omitted.) Index: clases.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/clases/clases.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** clases.tex 31 Aug 2003 10:39:08 -0000 1.1 --- clases.tex 31 Aug 2003 17:23:39 -0000 1.2 *************** *** 5,19 **** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! \section{Descripción detallada de clases de la aplicación} - A continuación exponemos las clases que componen \texttt{Prolix}. El package común a todas ellas es \texttt{org.asturlinux.frade}, por lo que lo obviamos en el nombre de cada una. Los métodos privados se marcan como <<$-$>>. \bgroup \newcommand{\descripcionClase}[1]{\subsubsection{\fbox{#1}}} \input{diseno/clases/ejb-sessionjb.tex} \input{diseno/clases/ejb-entityjb.tex} ! \input{diseno/clases/web-servlets.tex} ! \input{diseno/clases/web-beans.tex} \egroup --- 5,29 ---- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! \section{Diseño estático del sistema} ! ! A continuación exponemos los diagramas y una explicación detallada de las clases que componen \texttt{Prolix}. El package común a todas ellas es \texttt{org.asturlinux.frade}, por lo que lo obviamos en el nombre de cada una. ! ! \paragraph{Nomenclatura} \\ Se ha optado por poner los atributos de las clases con todas sus propiedades (visibilidad tipo nombre-variable), y en los métodos marcar sólo los privados con el simbolo <<$-$>>, siendo públicos por defecto. \bgroup \newcommand{\descripcionClase}[1]{\subsubsection{\fbox{#1}}} + \subsection{Descripción de las clases} \input{diseno/clases/ejb-sessionjb.tex} + \clearpage \input{diseno/clases/ejb-entityjb.tex} ! \clearpage ! ! \subsection{Diagramas de clases} ! \input{diseno/clases/dia-clases.tex} ! \clearpage ! %\input{diseno/clases/web-servlets.tex} ! %\input{diseno/clases/web-beans.tex} \egroup Index: ejb-sessionjb.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/clases/ejb-sessionjb.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ejb-sessionjb.tex 31 Aug 2003 10:50:12 -0000 1.1 --- ejb-sessionjb.tex 31 Aug 2003 17:23:39 -0000 1.2 *************** *** 115,119 **** \descripcionClase{Clase \texttt{prolix.ejb.sessionjb.CheckSolutionVisitor}} ! \paragraph{Descripción} Implementación de \texttt{TreeElementVisitor} (página \pageref{tevisitor}), que comprueba si el \texttt{TreeElement} sobre el que se aplica es solución. \paragraph{Relaciones de asociación} --- 115,119 ---- \descripcionClase{Clase \texttt{prolix.ejb.sessionjb.CheckSolutionVisitor}} ! \paragraph{Descripción} Implementación de \texttt{TreeElementVisitor}, que comprueba si el \texttt{TreeElement} sobre el que se aplica es solución. \paragraph{Relaciones de asociación} *************** *** 141,145 **** \descripcionClase{Clase \texttt{prolix.ejb.sessionjb.LastNodeTraversor}} ! \paragraph{Descripción} Implementación del interfaz \texttt{TreeTraversor} (página \pageref{ttinterfaz}), que busca el último nodo de un \texttt{TreeElement}. \paragraph{Relaciones de asociación} --- 141,145 ---- \descripcionClase{Clase \texttt{prolix.ejb.sessionjb.LastNodeTraversor}} ! \paragraph{Descripción} Implementación del interfaz \texttt{TreeTraversor}, que busca el último nodo de un \texttt{TreeElement}. \paragraph{Relaciones de asociación} |
From: <iva...@us...> - 2003-08-31 17:20:24
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/analisis In directory sc8-pr-cvs1:/tmp/cvs-serv15572 Modified Files: casos_de_uso.tex escenarios.tex Log Message: Algunos inputs suben de nivel pues se comparten entre varios capitulos Index: casos_de_uso.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/analisis/casos_de_uso.tex,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** casos_de_uso.tex 20 Aug 2003 18:09:37 -0000 1.4 --- casos_de_uso.tex 31 Aug 2003 17:20:21 -0000 1.5 *************** *** 6,11 **** \section{\label{seccion:casosuso}Casos de uso} - \input{aux/casos_uso.tex} - \begin{casosuso} --- 6,9 ---- Index: escenarios.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/analisis/escenarios.tex,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** escenarios.tex 26 Aug 2003 22:46:31 -0000 1.5 --- escenarios.tex 31 Aug 2003 17:20:21 -0000 1.6 *************** *** 8,14 **** \section{\label{seccion:escenarios}Escenarios} - \input{aux/escenarios.tex} - - \begin{escenariosAnalisis} --- 8,11 ---- |
From: <iva...@us...> - 2003-08-31 10:59:59
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno In directory sc8-pr-cvs1:/tmp/cvs-serv14837 Added Files: dia-clases.tex Log Message: Added class diagram file --- NEW FILE: dia-clases.tex --- (This appears to be a binary file; contents omitted.) |
From: <iva...@us...> - 2003-08-31 10:58:00
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/clases In directory sc8-pr-cvs1:/tmp/cvs-serv14591 Added Files: web-beans.tex Log Message: Added class descriptions of package web.beans --- NEW FILE: web-beans.tex --- (This appears to be a binary file; contents omitted.) |
From: <iva...@us...> - 2003-08-31 10:54:23
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/clases In directory sc8-pr-cvs1:/tmp/cvs-serv14293 Added Files: web-servlets.tex Log Message: added web.servlets packkage class description --- NEW FILE: web-servlets.tex --- (This appears to be a binary file; contents omitted.) |
From: <iva...@us...> - 2003-08-31 10:51:23
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/clases In directory sc8-pr-cvs1:/tmp/cvs-serv14016 Added Files: ejb-entityjb.tex Log Message: Added ejb.entityjb class descriptions --- NEW FILE: ejb-entityjb.tex --- (This appears to be a binary file; contents omitted.) |
From: <iva...@us...> - 2003-08-31 10:50:15
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/clases In directory sc8-pr-cvs1:/tmp/cvs-serv13915 Added Files: ejb-sessionjb.tex Log Message: added ejb.sessionjb package class descriptions --- NEW FILE: ejb-sessionjb.tex --- (This appears to be a binary file; contents omitted.) |
From: <iva...@us...> - 2003-08-31 10:39:12
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/clases In directory sc8-pr-cvs1:/tmp/cvs-serv12592/clases Added Files: clases.tex Log Message: Added class descriptions coordination file --- NEW FILE: clases.tex --- (This appears to be a binary file; contents omitted.) |
From: <iva...@us...> - 2003-08-31 10:36:38
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/clases In directory sc8-pr-cvs1:/tmp/cvs-serv12179/clases Log Message: Directory /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/clases added to the repository |
From: <iva...@us...> - 2003-08-31 10:35:15
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno In directory sc8-pr-cvs1:/tmp/cvs-serv11968 Modified Files: dia-secuencia.tex diseno.tex interprete.tex secuenciac2.tex Log Message: Updated secuence diagram to last refactorings Index: dia-secuencia.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/dia-secuencia.tex,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** dia-secuencia.tex 28 Aug 2003 23:08:06 -0000 1.2 --- dia-secuencia.tex 31 Aug 2003 10:35:10 -0000 1.3 *************** *** 6,13 **** \input{aux/escenarios.tex} \section{Diagramas de secuencia del servidor} ! \input{diseno/secuenciac1.tex} \input{diseno/secuenciac2.tex} ! \input{diseno/secuenciac3.tex} ! \input{diseno/secuenciac4.tex} ! \input{diseno/secuenciac5.tex} ! \clearpage \ No newline at end of file --- 6,13 ---- \input{aux/escenarios.tex} \section{Diagramas de secuencia del servidor} ! %\input{diseno/secuenciac1.tex} \input{diseno/secuenciac2.tex} ! %\input{diseno/secuenciac3.tex} ! %\input{diseno/secuenciac4.tex} ! %\input{diseno/secuenciac5.tex} ! %\clearpage \ No newline at end of file Index: diseno.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/diseno.tex,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** diseno.tex 28 Aug 2003 23:08:07 -0000 1.3 --- diseno.tex 31 Aug 2003 10:35:10 -0000 1.4 *************** *** 8,12 **** %\input{diseno/general.tex} %\clearpage ! \input{diseno/interprete.tex} ! \clearpage ! %\input{diseno/dia-secuencia.tex} \ No newline at end of file --- 8,15 ---- %\input{diseno/general.tex} %\clearpage ! %\input{diseno/interprete.tex} ! %\clearpage ! %\input{diseno/paquetes.tex} ! %\input{diseno/dia-clases.tex} ! %\input{diseno/dia-secuencia.tex} ! \input{diseno/clases/clases.tex} \ No newline at end of file Index: interprete.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/interprete.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** interprete.tex 28 Aug 2003 23:12:24 -0000 1.1 --- interprete.tex 31 Aug 2003 10:35:10 -0000 1.2 *************** *** 108,112 **** \ncWN{->}{EstadoCreado}{EstadoFinal}\ncput*[npos=0.5]{destroy}% \end{pspicture}% - %}% (resizebox) \end{center} \caption{\label{estadosContext}Diagrama de estados de \texttt{PrologContext}} --- 108,111 ---- *************** *** 129,133 **** ! \subsection{Resultados del intérprete} ! Al ejecutar step, el retorno del método es un tipo \texttt{TreeElement}. \ No newline at end of file --- 128,201 ---- ! \subsection{Resultados del intérprete (vista estática)} ! Al ejecutar step, el retorno del método es un tipo \texttt{TreeElement},cuyos métodos detallamos en la figura \ref{treeElement}). ! ! \begin{figure}[ht] ! \begin{center} ! \begin{DiagramaClases}{ ! \begin{pspicture}(12,4) %\psgrid ! \pssetdiagramasclase ! \rput(3,2){\umlClass[umlShadow=false]{TreeElement}{% ! boolean isCompletlyExplored() : boolean \\ ! boolean isFinal() : boolean \\ ! isSolution() : boolean \\ ! getQuery() : String \\ ! getNextLevelElements() : TreeElement[] \\ ! getParent() : TreeElement \\ ! getSubstitutions() : Substitution[] \\ ! accept(TreeElementVisitor v) }} ! \rput(10,2){\umlClass[umlShadow=false]{Substitution}{% ! getOriginalValue() : String \\ ! getNewValue() : String}} ! \end{pspicture} ! }\end{DiagramaClases} ! \end{center} ! \caption{\label{treeElement} Diagrama de clase de \texttt{TreeElement} y \texttt{Substitution}} ! \end{figure} ! ! ! El método \texttt{isCompletlyExplored()} devuelve si todos sus posibles hijos estan explorados. En caso de que lo estén, puede ser porque tiene hijos y están explorados, o porque es un nodo final, dato que podemos consultar con \texttt{isFinal()}. Si es final, puede ser solución. Si su query (\texttt{getQuery()}) es la clausula vacia, es una solución, aunque encapsulamos esta operación en el método \texttt{isSolution()}. ! ! Para navegar por el arbol se utilizan los métodos \texttt{getParent()} que devuelve una referencia al TreeElement padre del nodo actual. Y \texttt{getNextLevelElements()} para obtener los nodos hijos. ! ! En cada nodo deberiamos encontrar las substituticiones que se hicieron para llegar a el. Las solicitamos con el método \texttt{getSubstitutions()}, que devuelve de cero a varias referencias a \texttt{Substitution}, una clase que almacena el valor anterior y nuevo de una variable. ! ! Por último el interfaz de \texttt{TreeElement} incluye el método que le permite aceptar clases <<visitor>>, que hereden de la clase \texttt{TreeElementVisitor} cuyo diagrama mostramos en la figura \ref{visitor}. Su implementación no depende del programador del intérprete pues su código es: ! ! \begin{verbatim} ! void accept (TreeElementVisitor v) ! { ! v.visitTreeElement(this); ! } ! \end{verbatim} ! ! De esta forma, con el patrón <<visitor>> podemos implemetar operaciones diferentes sobre la estructura del arbol. ! ! \begin{figure}[ht] ! \begin{center} ! \begin{DiagramaClases}{ ! \begin{pspicture}(6,4) %\psgrid ! \pssetdiagramasclase ! \rput(3,2){\umlClass[umlShadow=false]{TreeElementVisitor}{% ! visitTreeElement(TreeElement te)\\ ! }} ! \end{pspicture} ! }\end{DiagramaClases} ! \end{center} ! \caption{\label{visitor} Clase de \texttt{TreeElementVisitor}} ! \end{figure} ! ! ! % FIXME: Ejemplo de TreeElement ! % versión facil: importar los dibujos de dia ! % versión pancha: escribir los diagramas con los objetos con latex :) ! %\subsection{Resultados del intérprete (vista dinámica)} ! % ! % En el apartado anterior comentamos la clase \texttt{TreeElement} que retorna el interprete cuando se le solicitan resultados. En este apartado explicamos como se representa el arbol de soluciones en esa estructura y como crece en cada consulta, usando un ejemplo. ! % ! % Sea el programa: ! %\begin{verbatim} ! %hermano(carlos,cesar). ! %Padre(X,Y):- a(X). ! %\end{verbatim} \ No newline at end of file Index: secuenciac2.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/secuenciac2.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** secuenciac2.tex 28 Aug 2003 23:08:07 -0000 1.1 --- secuenciac2.tex 31 Aug 2003 10:35:10 -0000 1.2 *************** *** 37,42 **** \mensaje{1}{3}{loadConsult(consult)} \mensaje{3}{2}{verifyPermissions(Student)} \mensaje{3}{4}{loadConsult(consult)} - \mensaje{5}{6}{load(program)} }\end{DiagramaSecuencia} \caption{\label{DSE21}Diagrama de secuencia del escenario E2.1} --- 37,42 ---- \mensaje{1}{3}{loadConsult(consult)} \mensaje{3}{2}{verifyPermissions(Student)} + \mensaje{3}{5}{} \mensaje{3}{4}{loadConsult(consult)} }\end{DiagramaSecuencia} \caption{\label{DSE21}Diagrama de secuencia del escenario E2.1} *************** *** 47,51 **** \subsubsection{Alumno avanza hasta siguiente solución} ! Se ha optado por representar la operación \texttt{visitLastNode()} de la clase \texttt{TreeTraversors} y \texttt{transformToTreeXML()} de la clase \texttt{TransformationControl} en diagramas diferentes (figuras \ref{visitLastNode} y \ref{transformToTreeXml} respectivamente), para obtener un diagrama de secuencia principal(figura \ref{DSE22}) más claro. \begin{sidewaysfigure}[hpb] --- 47,51 ---- \subsubsection{Alumno avanza hasta siguiente solución} ! Se ha optado por representar las operaciónes \texttt{isSolution()} y \texttt{getCompletlyExplored()} de la clase \texttt{TreeOperations} y \texttt{transformToTreeXML()} de la clase \texttt{TransformationControl} en diagramas diferentes (figuras \ref{isSolution}, \ref{isCE} y \ref{transformToTreeXml} respectivamente), para obtener un diagrama de secuencia principal(figura \ref{DSE22}) más claro. \begin{sidewaysfigure}[hpb] *************** *** 54,82 **** & [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} & [name=studentrole]\umlClass[umlShadow=false]{\underline{:StudentRole}}{} ! & [name=checksolutionvisitor]\umlClass[umlShadow=false]{\underline{:CheckSolutionVisitor}}{} ! & [name=treetraversors]\umlClass[umlShadow=false]{\underline{:TreeTraversors}}{} & [name=prologcontext]\umlClass[umlShadow=false]{\underline{:PrologContext}}{} ! & [name=treeelement]\umlClass[umlShadow=false]{\underline{:TreeElement}}{} ! & [name=transformationcontrol]\umlClass[umlShadow=false]{\underline{:TransformationControl}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % ! {} & {} & {} & {} & {} & {} & {} & {}\\ % ! {} & {} & {} & {} & {} & {} & {} & {}\\ % ! {} & {} & {} & {} & {} & {} & {} & {}\\ % ! {} & {} & {} & {} & {} & {} & {} & {}\\ % ! {} & {} & {} & {} & {} & {} & {} & {}\\ % ! {} & {} & {} & {} & {} & {} & {} & {}\\ % ! {} & {} & {} & {} & {} & {} & {} & {}\\ % ! {} & {} & {} & {} & {} & {} & {} & {}\\ % ! {} & {} & {} & {} & {} & {} & {} & {}\\ % ! {} & {} & {} & {} & {} & {} & {} & {}\\[0cm] % [name=clientewebEnd]{} & [name=accesscontrolEnd]{} & [name=studentroleEnd]{} ! & [name=checksolutionvisitorEnd]{} ! & [name=treetraversorsEnd]{} & [name=prologcontextEnd]{} - & [name=treeelementEnd]{} & [name=transformationcontrolEnd]{} & \\[-0.5cm] % --- 54,78 ---- & [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} & [name=studentrole]\umlClass[umlShadow=false]{\underline{:StudentRole}}{} ! & [name=treeoperation]\umlClass[umlShadow=false]{\underline{:TreeOperations}}{} & [name=prologcontext]\umlClass[umlShadow=false]{\underline{:PrologContext}}{} ! & [name=transformationcontrol]\umlClass[umlShadow=false]{\underline{:TransformationControl}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % ! {} & {} & {} & {} & {} & {} \\ % ! {} & {} & {} & {} & {} & {} \\ % ! {} & {} & {} & {} & {} & {} \\ % ! {} & {} & {} & {} & {} & {} \\ % ! {} & {} & {} & {} & {} & {} \\ % ! {} & {} & {} & {} & {} & {} \\ % ! {} & {} & {} & {} & {} & {} \\ % ! {} & {} & {} & {} & {} & {} \\ % ! {} & {} & {} & {} & {} & {} \\ % ! {} & {} & {} & {} & {} & {} \\[0cm] % [name=clientewebEnd]{} & [name=accesscontrolEnd]{} & [name=studentroleEnd]{} ! & [name=treeoperationEnd]{} & [name=prologcontextEnd]{} & [name=transformationcontrolEnd]{} & \\[-0.5cm] % *************** *** 85,92 **** \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} \ncline[linestyle=dashed]{studentrole}{studentroleEnd} ! \ncline[linestyle=dashed]{checksolutionvisitor}{checksolutionvisitorEnd} ! \ncline[linestyle=dashed]{treetraversors}{treetraversorsEnd} \ncline[linestyle=dashed]{prologcontext}{prologcontextEnd} - \ncline[linestyle=dashed]{treeelement}{treeelementEnd} \ncline[linestyle=dashed]{transformationcontrol}{transformationcontrolEnd} % --- 81,86 ---- \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} \ncline[linestyle=dashed]{studentrole}{studentroleEnd} ! \ncline[linestyle=dashed]{treeoperation}{treeoperationEnd} \ncline[linestyle=dashed]{prologcontext}{prologcontextEnd} \ncline[linestyle=dashed]{transformationcontrol}{transformationcontrolEnd} % *************** *** 97,151 **** \mensaje{3}{2}{verifyPermissions(Student)} \mensaje{3}{4}{<<create>>} ! \mensaje{3}{5}{<<create>>} ! \mensaje{3}{6}{[HACER MIENTRAS no solucion o no explorado completamente] step()} ! \mensaje{3}{5}{[HACER MIENTRAS no solucion o no explorado completamente]\simplifAntes{ visitLastNode(...)}} ! \mensaje{3}{4}{getIsSolution()} ! \mensaje{3}{7}{isCompletlyExplored()} ! \mensaje{3}{8}{\simplifAntes{transformToTreeXML()}} }\end{DiagramaSecuencia} \caption{\label{DSE22}Diagrama principal de secuencia del escenario E2.2} \end{sidewaysfigure} ! %Detalle de visitLastNode %\begin{sidewaysfigure}[hpb] \begin{figure} \begin{DiagramaSecuencia}{ [name=studentrole]\umlClass[umlShadow=false]{\underline{:StudentRole}}{} ! & [name=treetraversors]\umlClass[umlShadow=false]{\underline{:TreeTraversors}}{} & [name=treeelement]\umlClass[umlShadow=false]{\underline{:TreeElement}}{} - & [name=checksolutionvisitor]\umlClass[umlShadow=false]{\underline{:CheckSolutionVisitor}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % ! {} & {} & {} & {} \\ % ! {} & {} & {} & {} \\ % ! {} & {} & {} & {} \\ % ! {} & {} & {} & {} \\ % ! {} & {} & {} & {} \\ % ! {} & {} & {} & {} \\[0cm] % [name=studentroleEnd]{} ! & [name=treetraversorsEnd]{} & [name=treeelementEnd]{} - & [name=checksolutionvisitorEnd]{} & \\[-0.5cm] % % \ncline[linestyle=dashed]{studentrole}{studentroleEnd} ! \ncline[linestyle=dashed]{treetraversors}{treetraversorsEnd} \ncline[linestyle=dashed]{treeelement}{treeelementEnd} - \ncline[linestyle=dashed]{checksolutionvisitor}{checksolutionvisitorEnd} % \footnotesize\ttfamily% \psset{labelsep=1.5mm} ! \mensaje{1}{2}{visitLastNode(TreeElement,Visitor)} ! \mensaje{2}{3}{[MIENTRAS nodos hijo] getNextLevelElements()} ! \mensaje{2}{3}{accept(Visitor)} ! \mensaje{3}{4}{visitTreeElement()} ! \mensaje{4}{3}{isSolution()} }\end{DiagramaSecuencia} ! \caption{\label{visitLastNode}Diagrama de secuencia de la operación TreeTraversors::visitLastNode()} \end{figure} %\end{sidewaysfigure} %FIXME Se puede reflejar la reflectividad usando las lineas tradicionales %Detalle transform to treexml \begin{sidewaysfigure}[hpb] --- 91,189 ---- \mensaje{3}{2}{verifyPermissions(Student)} \mensaje{3}{4}{<<create>>} ! \mensaje{3}{5}{[HACER] step()} ! \mensaje{3}{4}{[MIENTRAS] \simplifAntes{isSolution}} ! \mensaje{3}{4}{[O] \simplifAntes{getCompletlyExplored}} ! \mensaje{3}{6}{<<create>>} ! \mensaje{3}{6}{\simplifAntes{transformToTreeXML()}} }\end{DiagramaSecuencia} \caption{\label{DSE22}Diagrama principal de secuencia del escenario E2.2} \end{sidewaysfigure} ! %Detalle de TreeOperations :: isSolution() %\begin{sidewaysfigure}[hpb] \begin{figure} \begin{DiagramaSecuencia}{ [name=studentrole]\umlClass[umlShadow=false]{\underline{:StudentRole}}{} ! & [name=treeoperations]\umlClass[umlShadow=false]{\underline{:TreeOperation}}{} ! & [name=checksolutionv]\umlClass[umlShadow=false]{\underline{:CheckSolutionVisitor}}{} ! & [name=lastnodet]\umlClass[umlShadow=false]{\underline{:LastNodeTraversor}}{} & [name=treeelement]\umlClass[umlShadow=false]{\underline{:TreeElement}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % ! {} & {} & {} & {} & {}\\ %1 ! {} & {} & {} & {} & {}\\ % ! {} & {} & {} & {} & {}\\ % ! {} & {} & {} & {} & {}\\ % ! {} & {} & {} & {} & {}\\ %5 ! {} & {} & {} & [name=reflecta]{} & {}\\ % ! {} & {} & {} & [name=reflectb]{} & {}\\ % ! {} & {} & {} & {} & {}\\ % ! {} & {} & {} & {} & {}\\ % ! {} & {} & {} & {} & {}\\ % ! {} & {} & {} & {} & {}\\ % ! {} & {} & {} & {} & {}\\[0cm] % [name=studentroleEnd]{} ! & [name=treeoperationsEnd]{} ! & [name=checksolutionvEnd]{} ! & [name=lastnodetEnd]{} & [name=treeelementEnd]{} & \\[-0.5cm] % % \ncline[linestyle=dashed]{studentrole}{studentroleEnd} ! \ncline[linestyle=dashed]{treeoperations}{treeoperationsEnd} ! \ncline[linestyle=dashed]{checksolutionv}{checksolutionvEnd} ! \ncline[linestyle=dashed]{lastnodet}{lastnodetEnd} \ncline[linestyle=dashed]{treeelement}{treeelementEnd} % \footnotesize\ttfamily% \psset{labelsep=1.5mm} ! \mensaje{1}{2}{isSolution(TreeElement)} ! \mensaje{2}{3}{<<create>>} ! \mensaje{2}{4}{<<create>>} ! \mensaje{2}{4}{visit(TreeElement,Visitor)} ! \mensaje{4}{5}{getNextLevelElements()} ! \mensaje{4}{6}{} ! \mensaje{4}{6}{} ! \ncEVW[offsetA=0,offsetB=0]{->}{reflecta}{reflectb}\ncput*[npos=1.5]{[MIENTRAS hijos] visit(hijo + a la derecha)} ! \mensaje{4}{5}{accept(Visitor)} ! \mensaje{5}{3}{visitTreeElement(this)} ! \mensaje{4}{6}{} ! \mensaje{3}{5}{isSolution()} ! \mensaje{2}{3}{getIsSolution()} }\end{DiagramaSecuencia} ! \caption{\label{isSolution}Diagrama de secuencia de la operación \texttt{TreeOperation :: isSolution()}} \end{figure} %\end{sidewaysfigure} %FIXME Se puede reflejar la reflectividad usando las lineas tradicionales + \begin{figure} + \begin{DiagramaSecuencia}{ + [name=studentrole]\umlClass[umlShadow=false]{\underline{:StudentRole}}{} + & [name=treeoperations]\umlClass[umlShadow=false]{\underline{:TreeOperation}}{} + & [name=treeelement]\umlClass[umlShadow=false]{\underline{:TreeElement}}{} + \\[+0.5cm] %1 + % \tablavacia{7}{6} + % + {} & {} & {} \\ % + {} & {} & {} \\ % + {} & {} & {} \\[0cm] % + [name=studentroleEnd]{} + & [name=treeoperationsEnd]{} + & [name=treeelementEnd]{} + & \\[-0.5cm] % + % + \ncline[linestyle=dashed]{studentrole}{studentroleEnd} + \ncline[linestyle=dashed]{treeoperations}{treeoperationsEnd} + \ncline[linestyle=dashed]{treeelement}{treeelementEnd} + % + \footnotesize\ttfamily% + \psset{labelsep=1.5mm} + \mensaje{1}{2}{getCompletlyExplored()} + \mensaje{2}{3}{isCompletlyExplored()} + }\end{DiagramaSecuencia} + \caption{\label{isCE}Diagrama de secuencia de la operación \texttt{getCompletlyExplored()} de la clase \texttt{TreeOperation}} + \end{figure} + %Detalle transform to treexml \begin{sidewaysfigure}[hpb] *************** *** 191,195 **** \footnotesize\ttfamily% \psset{labelsep=1.5mm} ! \mensaje{1}{2}{transformToTreeXml(TreeElement}} \mensaje{2}{3}{<<create>>} \mensaje{2}{4}{<<create>>} --- 229,233 ---- \footnotesize\ttfamily% \psset{labelsep=1.5mm} ! \mensaje{1}{2}{transformToTreeXml(TreeElement)} \mensaje{2}{3}{<<create>>} \mensaje{2}{4}{<<create>>} |
From: <iva...@us...> - 2003-08-31 10:28:55
|
Update of /cvsroot/pfc-prolog/prolix/src/org/asturlinux/frade/prolix/ejb/entityjb In directory sc8-pr-cvs1:/tmp/cvs-serv11250 Modified Files: UserBean.java Log Message: Removed commented code Index: UserBean.java =================================================================== RCS file: /cvsroot/pfc-prolog/prolix/src/org/asturlinux/frade/prolix/ejb/entityjb/UserBean.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** UserBean.java 22 Aug 2003 22:46:46 -0000 1.7 --- UserBean.java 31 Aug 2003 10:28:52 -0000 1.8 *************** *** 143,150 **** public abstract void setPrograms(java.util.Collection programs); - - // Dont required in 1:n relation - //* @jboss.relation related-pk-field="title" - //* fk-column="title" - } --- 143,145 ---- |
From: <iva...@us...> - 2003-08-31 10:28:15
|
Update of /cvsroot/pfc-prolog/prolix/src/org/asturlinux/frade/prolix/ejb/sessionjb In directory sc8-pr-cvs1:/tmp/cvs-serv11082 Modified Files: LibraryManagementBean.java TreeOperations.java TreeXmlVisitor.java Log Message: Removed commented code Index: LibraryManagementBean.java =================================================================== RCS file: /cvsroot/pfc-prolog/prolix/src/org/asturlinux/frade/prolix/ejb/sessionjb/LibraryManagementBean.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** LibraryManagementBean.java 29 Aug 2003 18:13:14 -0000 1.5 --- LibraryManagementBean.java 31 Aug 2003 10:27:40 -0000 1.6 *************** *** 168,180 **** // Remote - // Collection resultToClient = new LinkedList(); - // Iterator iteratorBeans = library.iterator(); - // while (iteratorBeans.hasNext()) - // { - // ProgramLocal pl = (ProgramLocal)iteratorBeans.next(); - // resultToClient.add(pl.getProgramValue()); - // } - - // return resultToClient; return exportProgramsCollection(library); } --- 168,171 ---- *************** *** 262,273 **** } - // Collection result = new LinkedList(); - // Iterator i = myPrograms.iterator(); - // while (i.hasNext()) - // { - // ProgramLocal p = (ProgramLocal)i.next(); - // ProgramValue pv = p.getProgramValue(); - // result.add(pv); - // } return exportProgramsCollection(myPrograms); } --- 253,256 ---- Index: TreeOperations.java =================================================================== RCS file: /cvsroot/pfc-prolog/prolix/src/org/asturlinux/frade/prolix/ejb/sessionjb/TreeOperations.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TreeOperations.java 29 Aug 2003 20:33:40 -0000 1.1 --- TreeOperations.java 31 Aug 2003 10:27:40 -0000 1.2 *************** *** 24,27 **** --- 24,28 ---- import org.asturlinux.frade.prolix.interpreter.interfaces.TreeElement; + import org.asturlinux.frade.prolix.ejb.sessionjb.LastNodeTraversor; public class TreeOperations Index: TreeXmlVisitor.java =================================================================== RCS file: /cvsroot/pfc-prolog/prolix/src/org/asturlinux/frade/prolix/ejb/sessionjb/TreeXmlVisitor.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TreeXmlVisitor.java 21 Aug 2003 16:31:20 -0000 1.4 --- TreeXmlVisitor.java 31 Aug 2003 10:27:40 -0000 1.5 *************** *** 53,57 **** } - //FIXME could be private this method? private void writeNode(TreeElement te) { --- 53,56 ---- |
From: <iva...@us...> - 2003-08-29 20:33:44
|
Update of /cvsroot/pfc-prolog/prolix/src/org/asturlinux/frade/prolix/ejb/sessionjb In directory sc8-pr-cvs1:/tmp/cvs-serv31457 Modified Files: StudentRoleBean.java Added Files: TreeOperations.java Log Message: Refactoring - Move some code from StudentRole to TreeOperations - Now Student role dont need to now TreeElement --- NEW FILE: TreeOperations.java --- /** * * Copyright 2003 Ivan Frade * * This file is part of Prolix. * * Prolix is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Prolix is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Prolix; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * **/ package org.asturlinux.frade.prolix.ejb.sessionjb; import org.asturlinux.frade.prolix.interpreter.interfaces.TreeElement; public class TreeOperations { public boolean isSolution(TreeElement tree) { CheckSolutionVisitor visitor = new CheckSolutionVisitor(); LastNodeTraversor tt = new LastNodeTraversor(); tt.visit(tree,visitor); return visitor.getIsSolution(); } public boolean getCompletlyExplored(TreeElement tree) { return tree.isCompletlyExplored(); } } Index: StudentRoleBean.java =================================================================== RCS file: /cvsroot/pfc-prolog/prolix/src/org/asturlinux/frade/prolix/ejb/sessionjb/StudentRoleBean.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** StudentRoleBean.java 29 Aug 2003 18:39:45 -0000 1.7 --- StudentRoleBean.java 29 Aug 2003 20:33:40 -0000 1.8 *************** *** 185,200 **** } - CheckSolutionVisitor visitor = new CheckSolutionVisitor(); - TreeElement treeResult; ! LastNodeTraversor tt = new LastNodeTraversor(); do { treeResult = _prologCtx.step(); - tt.visit(treeResult,visitor); } ! while (!visitor.getIsSolution() && !treeResult.isCompletlyExplored()); ! setLastSolution(treeResult.isCompletlyExplored()); TransformationControl tc = new TransformationControl(); return tc.transformToTreeXml(treeResult); --- 185,199 ---- } TreeElement treeResult; ! TreeOperations guardian = new TreeOperations(); ! do { treeResult = _prologCtx.step(); } ! while (!guardian.isSolution(treeResult) ! && !guardian.getCompletlyExplored(treeResult)); ! setLastSolution(guardian.getCompletlyExplored(treeResult)); TransformationControl tc = new TransformationControl(); return tc.transformToTreeXml(treeResult); *************** *** 219,227 **** TreeElement treeResult = _prologCtx.step(); if (treeResult == null) //FIXME Can be possible? setLastSolution(false); else ! setLastSolution(treeResult.isCompletlyExplored()); // FIXME: cache results --- 218,227 ---- TreeElement treeResult = _prologCtx.step(); + TreeOperations to = new TreeOperations(); if (treeResult == null) //FIXME Can be possible? setLastSolution(false); else ! setLastSolution(to.getCompletlyExplored(treeResult)); // FIXME: cache results |
From: <iva...@us...> - 2003-08-29 18:39:49
|
Update of /cvsroot/pfc-prolog/prolix/src/org/asturlinux/frade/prolix/ejb/sessionjb In directory sc8-pr-cvs1:/tmp/cvs-serv8296 Modified Files: StudentRoleBean.java TransformationControl.java TreeTraversors.java Added Files: LastNodeTraversor.java PostOrderTraversor.java PreOrderTraversor.java Log Message: Refactored TreeTraversors code --- NEW FILE: LastNodeTraversor.java --- /** * * Copyright 2003 Ivan Frade * * This file is part of Prolix. * * Prolix is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Prolix is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Prolix; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * **/ package org.asturlinux.frade.prolix.ejb.sessionjb; import org.asturlinux.frade.prolix.interpreter.interfaces.TreeElement; import org.asturlinux.frade.prolix.interpreter.interfaces.TreeElementVisitor; public class LastNodeTraversor implements TreeTraversors { /** * Apply visitor to last node in tree */ public void visit(TreeElement tree, TreeElementVisitor visitor) { // FIXME: Could be better not use recursivity TreeElement[] sons = tree.getNextLevelElements(); // FIXME: dont must be required check if sons == null if ( sons != null ) { if ( sons.length > 0 ) visit(sons[sons.length-1],visitor); else tree.accept(visitor); } else tree.accept(visitor); return; } } --- NEW FILE: PostOrderTraversor.java --- /** * * Copyright 2003 Ivan Frade * * This file is part of Prolix. * * Prolix is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Prolix is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Prolix; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * **/ package org.asturlinux.frade.prolix.ejb.sessionjb; import org.asturlinux.frade.prolix.interpreter.interfaces.TreeElement; import org.asturlinux.frade.prolix.interpreter.interfaces.TreeElementVisitor; public class PostOrderTraversor implements TreeTraversors { /** * Apply visitor to all nodes in tree using PostOrder path */ public void visit(TreeElement tree, TreeElementVisitor visitor) { /** * recursive pattern */ if (tree == null) return; TreeElement[] sons = tree.getNextLevelElements(); if (sons != null) //FIXME: Must not be required { for (int i = 0; i < sons.length; i++) visit(sons[i],visitor); } /** * node "treatment" using visitor pattern. * visitor write node's xml. */ System.out.println("DEBUG: Exploring node: " + tree.getQuery()); tree.accept(visitor); } } --- NEW FILE: PreOrderTraversor.java --- /** * * Copyright 2003 Ivan Frade * * This file is part of Prolix. * * Prolix is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Prolix is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Prolix; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * **/ package org.asturlinux.frade.prolix.ejb.sessionjb; import org.asturlinux.frade.prolix.interpreter.interfaces.TreeElement; import org.asturlinux.frade.prolix.interpreter.interfaces.TreeElementVisitor; public class PreOrderTraversor implements TreeTraversors { public void visit(TreeElement tree, TreeElementVisitor visitor) { /** * recursive pattern */ if (tree == null) return; /** * Node treatmet */ tree.accept(visitor); TreeElement[] sons = tree.getNextLevelElements(); if (sons != null) //FIXME: Must not be required { for (int i = 0; i < sons.length; i++) visit(sons[i],visitor); } } } Index: StudentRoleBean.java =================================================================== RCS file: /cvsroot/pfc-prolog/prolix/src/org/asturlinux/frade/prolix/ejb/sessionjb/StudentRoleBean.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** StudentRoleBean.java 22 Aug 2003 22:46:46 -0000 1.6 --- StudentRoleBean.java 29 Aug 2003 18:39:45 -0000 1.7 *************** *** 188,196 **** TreeElement treeResult; ! TreeTraversors tt = new TreeTraversors(); do { treeResult = _prologCtx.step(); ! tt.visitLastNode(treeResult,visitor); } while (!visitor.getIsSolution() && !treeResult.isCompletlyExplored()); --- 188,196 ---- TreeElement treeResult; ! LastNodeTraversor tt = new LastNodeTraversor(); do { treeResult = _prologCtx.step(); ! tt.visit(treeResult,visitor); } while (!visitor.getIsSolution() && !treeResult.isCompletlyExplored()); Index: TransformationControl.java =================================================================== RCS file: /cvsroot/pfc-prolog/prolix/src/org/asturlinux/frade/prolix/ejb/sessionjb/TransformationControl.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TransformationControl.java 14 Aug 2003 22:42:46 -0000 1.2 --- TransformationControl.java 29 Aug 2003 18:39:45 -0000 1.3 *************** *** 52,57 **** // process recursively the tree ! TreeTraversors tt = new TreeTraversors(); ! tt.visitPreOrder(tree,visitor); // generate end tag --- 52,57 ---- // process recursively the tree ! PreOrderTraversor tt = new PreOrderTraversor(); ! tt.visit(tree,visitor); // generate end tag *************** *** 86,91 **** // process recursively the tree ! TreeTraversors tt = new TreeTraversors(); ! tt.visitPreOrder(tree,visitor); // generate end tag --- 86,91 ---- // process recursively the tree ! PreOrderTraversor tt = new PreOrderTraversor(); ! tt.visit(tree,visitor); // generate end tag Index: TreeTraversors.java =================================================================== RCS file: /cvsroot/pfc-prolog/prolix/src/org/asturlinux/frade/prolix/ejb/sessionjb/TreeTraversors.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** TreeTraversors.java 21 Aug 2003 16:31:20 -0000 1.3 --- TreeTraversors.java 29 Aug 2003 18:39:45 -0000 1.4 *************** *** 28,103 **** ! public class TreeTraversors { ! /** ! * Apply visitor to last node in tree ! */ ! public void visitLastNode(TreeElement tree, TreeElementVisitor visitor) ! { ! ! // FIXME: Could be better not use recursivity ! ! TreeElement[] sons = tree.getNextLevelElements(); ! ! // FIXME: dont must be required check if sons == null ! if ( sons != null ) ! { ! if ( sons.length > 0 ) ! visitLastNode(sons[sons.length-1],visitor); ! else ! tree.accept(visitor); ! } ! else ! tree.accept(visitor); ! ! return; ! } ! ! /** ! * Apply visitor to all nodes in tree using PostOrder path ! */ ! public void visitPostOrder(TreeElement tree, TreeElementVisitor visitor) ! { ! /** ! * recursive pattern ! */ ! ! if (tree == null) ! return; ! ! TreeElement[] sons = tree.getNextLevelElements(); ! if (sons != null) //FIXME: Must not be required ! { ! for (int i = 0; i < sons.length; i++) ! visitPostOrder(sons[i],visitor); ! } ! /** ! * node "treatment" using visitor pattern. ! * visitor write node's xml. ! */ ! System.out.println("DEBUG: Exploring node: " + tree.getQuery()); ! tree.accept(visitor); ! } ! ! public void visitPreOrder(TreeElement tree, TreeElementVisitor visitor) ! { ! /** ! * recursive pattern ! */ ! ! if (tree == null) ! return; ! ! /** ! * Node treatmet ! */ ! tree.accept(visitor); ! ! TreeElement[] sons = tree.getNextLevelElements(); ! if (sons != null) //FIXME: Must not be required ! { ! for (int i = 0; i < sons.length; i++) ! visitPreOrder(sons[i],visitor); ! } ! } } --- 28,33 ---- ! public interface TreeTraversors { ! public void visit(TreeElement tree, TreeElementVisitor visitor); } |
From: <iva...@us...> - 2003-08-29 18:13:18
|
Update of /cvsroot/pfc-prolog/prolix/src/org/asturlinux/frade/prolix/ejb/sessionjb In directory sc8-pr-cvs1:/tmp/cvs-serv3288 Modified Files: LibraryManagementBean.java Log Message: Moved code to transform local references collection to values in a private method Index: LibraryManagementBean.java =================================================================== RCS file: /cvsroot/pfc-prolog/prolix/src/org/asturlinux/frade/prolix/ejb/sessionjb/LibraryManagementBean.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** LibraryManagementBean.java 22 Aug 2003 22:50:23 -0000 1.4 --- LibraryManagementBean.java 29 Aug 2003 18:13:14 -0000 1.5 *************** *** 157,161 **** { library = ProgramUtil.getLocalHome().findByAll(); - System.out.println("LibraryManagement Bean: library contain programs"); } catch (FinderException fe) --- 157,160 ---- *************** *** 169,182 **** // Remote ! Collection resultToClient = new LinkedList(); ! Iterator iteratorBeans = library.iterator(); ! while (iteratorBeans.hasNext()) ! { ! ProgramLocal pl = (ProgramLocal)iteratorBeans.next(); ! resultToClient.add(pl.getProgramValue()); ! } ! return resultToClient; ! } --- 168,181 ---- // Remote ! // Collection resultToClient = new LinkedList(); ! // Iterator iteratorBeans = library.iterator(); ! // while (iteratorBeans.hasNext()) ! // { ! // ProgramLocal pl = (ProgramLocal)iteratorBeans.next(); ! // resultToClient.add(pl.getProgramValue()); ! // } ! // return resultToClient; ! return exportProgramsCollection(library); } *************** *** 263,268 **** } Collection result = new LinkedList(); ! Iterator i = myPrograms.iterator(); while (i.hasNext()) { --- 262,280 ---- } + // Collection result = new LinkedList(); + // Iterator i = myPrograms.iterator(); + // while (i.hasNext()) + // { + // ProgramLocal p = (ProgramLocal)i.next(); + // ProgramValue pv = p.getProgramValue(); + // result.add(pv); + // } + return exportProgramsCollection(myPrograms); + } + + private Collection exportProgramsCollection(Collection locales) + { Collection result = new LinkedList(); ! Iterator i = locales.iterator(); while (i.hasNext()) { |
From: <iva...@us...> - 2003-08-29 18:11:05
|
Update of /cvsroot/pfc-prolog/prolix/src/org/asturlinux/frade/prolix/ejb/sessionjb In directory sc8-pr-cvs1:/tmp/cvs-serv2861 Modified Files: AccessControlBean.java Log Message: Rewrited obscure code in method Index: AccessControlBean.java =================================================================== RCS file: /cvsroot/pfc-prolog/prolix/src/org/asturlinux/frade/prolix/ejb/sessionjb/AccessControlBean.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** AccessControlBean.java 22 Aug 2003 22:46:46 -0000 1.5 --- AccessControlBean.java 29 Aug 2003 18:11:01 -0000 1.6 *************** *** 1,2 **** --- 1,3 ---- + /** * *************** *** 173,180 **** throw new UsernameNotAvailableException(); - UserValue signmeup = new UserValue(); - signmeup.setUser(username); - signmeup.setPassword(password); - signmeup.setPermissions(rights); try --- 174,177 ---- *************** *** 185,191 **** catch (FinderException fe) { } - - UserUtil.getLocalHome().create(signmeup); } --- 182,191 ---- catch (FinderException fe) { + UserValue signmeup = new UserValue(); + signmeup.setUser(username); + signmeup.setPassword(password); + signmeup.setPermissions(rights); + UserUtil.getLocalHome().create(signmeup); } } |
From: <iva...@us...> - 2003-08-28 23:12:27
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno In directory sc8-pr-cvs1:/tmp/cvs-serv15740 Added Files: interprete.tex Log Message: Added section with interpreter documentation - incomplete --- NEW FILE: interprete.tex --- (This appears to be a binary file; contents omitted.) |
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno In directory sc8-pr-cvs1:/tmp/cvs-serv14892 Modified Files: dia-secuencia.tex diseno.tex secuenciac1.tex Added Files: secuenciac2.tex secuenciac3.tex secuenciac4.tex secuenciac5.tex Log Message: added secuence diagram to all scenarios --- NEW FILE: secuenciac2.tex --- (This appears to be a binary file; contents omitted.) --- NEW FILE: secuenciac3.tex --- (This appears to be a binary file; contents omitted.) --- NEW FILE: secuenciac4.tex --- %% Caso de uso 4 \subsection{Control de acceso} %% Escenario 4.1 \subsubsection{Usuario hace login en el sistema} El sistema comprueba si el usuario que pretende hacer login es el administrador. Si es así se asegura de que haya un administrador creado (figura \ref{yaHayAdmin}) o crea uno si todavia o existe (figura \ref{noHayAdmin}). En cualquier caso (sea administrador o no), el sistema cierra la sesión anterior si la hubiese, y comienza una nueva con ese usuario y password solicitado, como representamos en la figura \ref{DSE41}, la secuencia principal. %%%% login \begin{figure}[ht] \begin{DiagramaSecuencia}{ [name=clienteweb]\umlClass[umlShadow=false]{\underline{:Cliente Web}}{} & [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} & [name=uutil]\umlClass[umlShadow=false]{\underline{:UserUtil}}{} & [name=uhome]\umlClass[umlShadow=false]{\underline{:UserHome}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % {} & {} & {} & {} \\ % {} & [name=reflecta]{} & {} & {} \\ % {} & [name=reflectb]{} & {} & {} \\ % {} & [name=reflectc]{} & {} & {} \\ % {} & [name=reflectd]{} & {} & {} \\ % {} & {} & {} & {} \\ % {} & {} & {} & {} \\[0cm] % [name=clientewebEnd]{} & [name=accesscontrolEnd]{} & [name=uutilEnd]{} & [name=uhomeEnd]{} & \\[-0.5cm] % % \ncline[linestyle=dashed]{clienteweb}{clientewebEnd} \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} \ncline[linestyle=dashed]{uutil}{uutilEnd} \ncline[linestyle=dashed]{uhome}{uhomeEnd} % \footnotesize\ttfamily% \psset{labelsep=1.5mm} \mensaje{1}{2}{login(user,pass)} \mensaje{1}{6}{} \mensaje{1}{6}{} \ncEVW[offsetA=0,offsetB=0]{->}{reflecta}{reflectb}\ncput*[npos=1.5]{[user == admin] \simplifAntes{ensureAdminCreated()}} \mensaje{1}{6}{} \mensaje{1}{6}{} \ncEVW[offsetA=0,offsetB=0]{->}{reflectc}{reflectd}\ncput*[npos=1.5]{logout()} \mensaje{2}{3}{getLocalHome()} \mensaje{2}{4}{findByUserAndPass(user,pass)} }\end{DiagramaSecuencia} \caption{\label{DSE41}Diagrama de secuencia del escenario E4.1} \end{figure} %ensureAdminCreate: NO esta creado. \begin{figure} \begin{DiagramaSecuencia}{ [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} & [name=uutil]\umlClass[umlShadow=false]{\underline{:UserUtil}}{} & [name=uhome]\umlClass[umlShadow=false]{\underline{:UserHome}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % {} & {} & {} & {} \\ % {} & {} & {} & {} \\[0cm] % [name=accesscontrolEnd]{} & [name=uutilEnd]{} & [name=uhomeEnd]{} & \\[-0.5cm] % % \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} \ncline[linestyle=dashed]{uutil}{uutilEnd} \ncline[linestyle=dashed]{uhome}{uhomeEnd} % \footnotesize\ttfamily% \psset{labelsep=1.5mm} \mensaje{1}{2}{getLocalHome()} \mensaje{1}{3}{findByUser(admin)} }\end{DiagramaSecuencia} \caption{\label{yaHayAdmin}Diagrama de secuencia de la operación \texttt{ensureAdminCreate} de la clase \texttt{AccessControl}, si ya existe el administrador} \end{figure} %ensureAdminCreate: NO esta creado. \begin{figure} \begin{DiagramaSecuencia}{ [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} & [name=uutil]\umlClass[umlShadow=false]{\underline{:UserUtil}}{} & [name=uhome]\umlClass[umlShadow=false]{\underline{:UserHome}}{} & [name=uvalue]\umlClass[umlShadow=false]{\underline{:UserValue}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % {} & {} & {} & {} \\ % {} & {} & {} & {} \\ % {} & {} & {} & {} \\ % {} & {} & {} & {} \\ % {} & {} & {} & {} \\ % {} & {} & {} & {} \\ % {} & {} & {} & {} \\[0cm] % [name=accesscontrolEnd]{} & [name=uutilEnd]{} & [name=uhomeEnd]{} & [name=uvalueEnd]{} & \\[-0.5cm] % % \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} \ncline[linestyle=dashed]{uutil}{uutilEnd} \ncline[linestyle=dashed]{uhome}{uhomeEnd} \ncline[linestyle=dashed]{uvalue}{uvalueEnd} % \footnotesize\ttfamily% \psset{labelsep=1.5mm} \mensaje{1}{2}{getLocalHome()} \mensaje{1}{3}{findByUser(admin)} \mensaje{1}{4}{<<create>>} \mensaje{1}{4}{setUser(admin)} \mensaje{1}{4}{setPassword(admin)} \mensaje{1}{4}{setPermissions(Student + Administrator)} \mensaje{1}{3}{create(UserValue)} }\end{DiagramaSecuencia} \caption{\label{noHayAdmin}Diagrama de secuencia de la operación \texttt{ensureAdminCreate} de la clase \texttt{AccessControl}, si es el primer login de administrador} \end{figure} %% Escenario 4.2 \subsubsection{Usuario hace logout en el sistema} Escenario representado en la figura \ref{DSE42}. \begin{figure}[ht] \begin{DiagramaSecuencia}{ [name=clienteweb]\umlClass[umlShadow=false]{\underline{:Cliente Web}}{} & [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} & [name=loggedu]\umlClass[umlShadow=false]{\underline{loggedUser:UserLocal}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % {} & {} & {} \\ % {} & {} & {} \\ % {} & {} & {} \\[0cm] % [name=clientewebEnd]{} & [name=accesscontrolEnd]{} & [name=loggeduEnd]{} & \\[-0.5cm] % % \ncline[linestyle=dashed]{clienteweb}{clientewebEnd} \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} \ncline[linestyle=dashed]{loggedu}{loggeduEnd} % \footnotesize\ttfamily% \psset{labelsep=1.5mm} \mensaje{1}{2}{logout()} \mensaje{2}{3}{<<destroy>>} }\end{DiagramaSecuencia} \caption{\label{DSE42}Diagrama de secuencia del escenario E4.2} \end{figure} %% Escenario 4.3 \subsubsection{Alumno se registra} El diagrama principal lo presentamos en la figura \ref{DSE43}. La acción de login ya esta representada en la figura \ref{DSE41}, y la operación \texttt{createUser()} se presenta en dos esquemas separados, para el caso de que el usuario ya exista (\ref{crearUsuarioExiste}) o no (\ref{crearUsuarioNoExiste}) \begin{figure}[ht] \begin{DiagramaSecuencia}{ [name=clienteweb]\umlClass[umlShadow=false]{\underline{:Cliente Web}}{} & [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % {} & {} \\ % {} & [name=reflecta]{} \\ % {} & [name=reflectb]{} \\ % {} & [name=reflectc]{} \\ % {} & [name=reflectd]{} \\[0cm] % [name=clientewebEnd]{} & [name=accesscontrolEnd]{} & \\[-0.5cm] % % \ncline[linestyle=dashed]{clienteweb}{clientewebEnd} \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} % \footnotesize\ttfamily% \psset{labelsep=1.5mm} \mensaje{1}{2}{signup(user,pass)} \ncEVW[offsetA=0,offsetB=0]{->}{reflecta}{reflectb}\ncput*[npos=1.5]{\simplifAntes{createUser(user,pass,permisos-student)}} \ncEVW[offsetA=0,offsetB=0]{->}{reflectc}{reflectd}\ncput*[npos=1.5]{\simplifAntes{login()}} }\end{DiagramaSecuencia} \caption{\label{DSE43}Diagrama de secuencia del escenario E4.3} \end{figure} %Crear usuario que existe previamente \begin{figure} \begin{DiagramaSecuencia}{ [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} & [name=uutil]\umlClass[umlShadow=false]{\underline{:UserUtil}}{} & [name=uhome]\umlClass[umlShadow=false]{\underline{:UserHome}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % {} & {} & {} \\ % {} & {} & {} \\ % {} & {} & {} \\[0cm] % [name=accesscontrolEnd]{} & [name=uutilEnd]{} & [name=uhomeEnd]{} & \\[-0.5cm] % % \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} \ncline[linestyle=dashed]{uutil}{uutilEnd} \ncline[linestyle=dashed]{uhome}{uhomeEnd} % \footnotesize\ttfamily% \psset{labelsep=1.5mm} \mensaje{1}{1}{[username != admin]} \mensaje{1}{2}{getLocalHome()} \mensaje{1}{3}{findByUser()} }\end{DiagramaSecuencia} \caption{\label{crearUsuarioExiste}Diagrama de secuencia de la operación \texttt{createUser} de la clase \texttt{AccessControl} cuando el usuario ya existe} \end{figure} %% Crear usuario que no existe previamente \begin{figure} \begin{DiagramaSecuencia}{ [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} & [name=uutil]\umlClass[umlShadow=false]{\underline{:UserUtil}}{} & [name=uhome]\umlClass[umlShadow=false]{\underline{:UserHome}}{} & [name=uvalue]\umlClass[umlShadow=false]{\underline{:UserValue}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % {} & {} & {} & {} \\ % {} & {} & {} & {} \\ % {} & {} & {} & {} \\ % {} & {} & {} & {} \\ % {} & {} & {} & {} \\ % {} & {} & {} & {} \\ % {} & {} & {} & {} \\ % {} & {} & {} & {} \\ % {} & {} & {} & {} \\[0cm] % [name=accesscontrolEnd]{} & [name=uutilEnd]{} & [name=uhomeEnd]{} & [name=uvalueEnd]{} & \\[-0.5cm] % % \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} \ncline[linestyle=dashed]{uutil}{uutilEnd} \ncline[linestyle=dashed]{uhome}{uhomeEnd} \ncline[linestyle=dashed]{uvalue}{uvalueEnd} % \footnotesize\ttfamily% \psset{labelsep=1.5mm} \mensaje{1}{1}{[username != admin]} \mensaje{1}{2}{getLocalHome()} \mensaje{1}{3}{findByUser()} \mensaje{1}{4}{<<create>>} \mensaje{1}{4}{setUser()} \mensaje{1}{4}{setPassword()} \mensaje{1}{4}{setPermissions(permisos)} \mensaje{1}{2}{getLocalHome()} \mensaje{1}{3}{create(UserValue)} }\end{DiagramaSecuencia} \caption{\label{crearUsuarioNoExiste}Diagrama de secuencia de la operación \texttt{createUser} de la clase \texttt{AccessControl}, si el usuario no existía previamente} \end{figure} %% Escenario 4.4. \subsubsection{Usuario cambia su clave de acceso} Representación de su secuencia en la figura \ref{DSE44}. \begin{figure}[ht] \begin{DiagramaSecuencia}{ [name=clienteweb]\umlClass[umlShadow=false]{\underline{:Cliente Web}}{} & [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} & [name=loggedu]\umlClass[umlShadow=false]{\underline{loggedUser:UserLocal}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % {} & {} & {} \\ % {} & {} & {} \\ % {} & {} & {} \\[0cm] % [name=clientewebEnd]{} & [name=accesscontrolEnd]{} & [name=loggeduEnd]{} & \\[-0.5cm] % % \ncline[linestyle=dashed]{clienteweb}{clientewebEnd} \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} \ncline[linestyle=dashed]{loggedu}{loggeduEnd} % \footnotesize\ttfamily% \psset{labelsep=1.5mm} \mensaje{1}{2}{changePassword(newPass)} \mensaje{2}{3}{setPassword(newPass)} }\end{DiagramaSecuencia} \caption{\label{DSE44}Diagrama de secuencia del escenario E4.4} \end{figure} --- NEW FILE: secuenciac5.tex --- (This appears to be a binary file; contents omitted.) Index: dia-secuencia.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/dia-secuencia.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** dia-secuencia.tex 26 Aug 2003 22:39:19 -0000 1.1 --- dia-secuencia.tex 28 Aug 2003 23:08:06 -0000 1.2 *************** *** 5,9 **** \input{aux/escenarios.tex} ! \section{Diagramas de secuencia} \input{diseno/secuenciac1.tex} \clearpage --- 5,13 ---- \input{aux/escenarios.tex} ! \section{Diagramas de secuencia del servidor} \input{diseno/secuenciac1.tex} + \input{diseno/secuenciac2.tex} + \input{diseno/secuenciac3.tex} + \input{diseno/secuenciac4.tex} + \input{diseno/secuenciac5.tex} \clearpage Index: diseno.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/diseno.tex,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** diseno.tex 26 Aug 2003 22:38:25 -0000 1.2 --- diseno.tex 28 Aug 2003 23:08:07 -0000 1.3 *************** *** 8,10 **** %\input{diseno/general.tex} %\clearpage ! \input{diseno/dia-secuencia.tex} \ No newline at end of file --- 8,12 ---- %\input{diseno/general.tex} %\clearpage ! \input{diseno/interprete.tex} ! \clearpage ! %\input{diseno/dia-secuencia.tex} \ No newline at end of file Index: secuenciac1.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/secuenciac1.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** secuenciac1.tex 26 Aug 2003 22:39:19 -0000 1.1 --- secuenciac1.tex 28 Aug 2003 23:08:07 -0000 1.2 *************** *** 5,9 **** \subsubsection{Alumno carga programa} ! En la figura \ref{DSE11} mostramos el diagrama de secuencia del escenario <<Alumno carga programa>> \begin{sidewaysfigure}[hpb] --- 5,9 ---- \subsubsection{Alumno carga programa} ! En la figura \ref{DSE11} mostramos el diagrama de secuencia del escenario <<Alumno carga programa>>. El segundo caso de uso (<<cargar programa desde biblioteca>>) desde el punto de vista del servidor es igual que este, diferenciandose solo en la parte del cliente web. \begin{sidewaysfigure}[hpb] |
From: <iva...@us...> - 2003-08-27 21:09:06
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es In directory sc8-pr-cvs1:/tmp/cvs-serv16319 Modified Files: README test.tex Added Files: transform.sh Log Message: Added script to transform dia-grams in eps. Updated README --- NEW FILE: transform.sh --- #!/bin/sh FICHEROS=`find img/dia/ -name "*.dia"` for i in $FICHEROS; do dia -t eps $i; done; FICHEROS2=`find img/dia/ -name "*.eps"` for i in $FICHEROS2; do mv $i img/; done; Index: README =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/README,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** README 20 Aug 2003 18:09:37 -0000 1.6 --- README 25 Aug 2003 22:10:36 -0000 1.7 *************** *** 27,33 **** execute: $ ant ! It will generate the .ps & .pdf files. Ant is a tool like "make" to automatice compiling processes. "make" uses --- 27,37 ---- execute: + $ . transform.sh $ ant ! The first command is an script that transform with Dia the .dia diagrams in ! eps format, and move then to the directory where latex hope to find them. ! ! Then the second command produces the ps (and pdf if you want). Ant is a tool like "make" to automatice compiling processes. "make" uses *************** *** 71,74 **** Tested in debian: ! Ant 1.4.1 ! Java 1.3 --- 75,78 ---- Tested in debian: ! Ant 1.4.1 - 1.5.3 - 1.5.4 ! Java 1.3 - 1.4 Index: test.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/test.tex,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** test.tex 25 Aug 2003 20:56:02 -0000 1.5 --- test.tex 25 Aug 2003 22:10:37 -0000 1.6 *************** *** 27,33 **** %\clearpage ! %\chapter{Diseño} ! %\input{diseno/diseno.tex} ! %\clearpage %\chapter{Proceso de desarrollo} --- 27,33 ---- %\clearpage ! \chapter{Diseño} ! \input{diseno/diseno.tex} ! \clearpage %\chapter{Proceso de desarrollo} |
From: <iva...@us...> - 2003-08-27 20:06:46
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/manual In directory sc8-pr-cvs1:/tmp/cvs-serv2803/manual Added Files: configuracion.tex instalacion.tex manual.tex requisitos.tex Log Message: Added manual section to documentation --- NEW FILE: configuracion.tex --- (This appears to be a binary file; contents omitted.) --- NEW FILE: instalacion.tex --- (This appears to be a binary file; contents omitted.) --- NEW FILE: manual.tex --- (This appears to be a binary file; contents omitted.) --- NEW FILE: requisitos.tex --- % % Manual:: requisitos % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Requisitos} \subsection{Requisitos hardware} Los requisitos técnicos de esta aplicación vienen impuestos por la máquina virtual Java y el contenedor de aplicaciones jBoss. Para un funcionamiento correcto de la aplicación recomendamos utilizar al menos: \begin{itemize} \item Pentium III 800Mhz \item 512Mb RAM \item Tarjeta de Red 100Mbps \item Disco duro 7200 rpm \end{itemize} Estos requisitos deben ampliarse en proporción al número de usuarios y peticiones recibidas. jBoss esta diseñado para poder ser utilizando hasta en entornos de varios procesadores, y sistemas muy grandes. Luego su desempeño podra ser el que el hardware le permita. \subsection{Requisitos software para la ejecución} \subsubsection{Entorno de ejecución java (JRE) 1.4} Se requiere la máquina virtual de Java, en su versión 1.4, que se puede obtener para diferentes plataformas en \cite{sun-java-web} \subsubsection{Contenedor de aplicaciones: jBoss 3.2.1} Para su ejecución la aplicación se despliega en un contenedor de aplicaciones. En el caso de \textt{Prolix} se utiliza jBoss, que puede obtenerse en \cite{jboss-web}. Incluye el servidor web Tomcat. \subsubsection{Base de datos MySQL y conector Java-MySQL} Es necesario disponer de un SGBDR en el servidor. Para este proyecto se utilizó MySQL\cite{mysql-web}. En la misma web se puede obtener el conector para java. \subsection{Requisitos software para la compilación} Para compilar el proyecto es necesario además disponer del siguiente software, que comentamos con mas detalle en la sección de configuración. \begin{itemize} \item Herramienta de compilación Ant 1.5.4\cite{ant-web}. \item Generador de código XDoclet\cite{xdoclet-web} \item Plataforma J2EE\cite{j2ee-web} \item Biblioteca Batik\cite{batik-web} \end{itemize} Todos estos elementos se pueden obtener de forma gratuita en internet, en las páginas anotadas en la bibliografia, y disponen de abundante documentación tanto online, como localmente una vez instaladas. El conector tiene una instalación particular del contenedor. |
From: <iva...@us...> - 2003-08-26 22:46:37
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/analisis In directory sc8-pr-cvs1:/tmp/cvs-serv20033 Modified Files: escenarios.tex Log Message: Puestas precondiciones y secuencias alternativas a los escenarios Index: escenarios.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/analisis/escenarios.tex,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** escenarios.tex 20 Aug 2003 18:09:37 -0000 1.4 --- escenarios.tex 26 Aug 2003 22:46:31 -0000 1.5 *************** *** 19,29 **** \subsubsection{Alumno carga programa} \begin{enumerate} \item Alumno introduce programa escrito en Prolog al sistema ! en un formulario en la página Web . \item El sistema chequea el programa. \item El sistema devuelve una pagina con el programa no editable y la posibilidad de ejecutar consultas. \end{enumerate} \begin{figure}[ht] \begin{center} --- 19,41 ---- \subsubsection{Alumno carga programa} + \textbf{Precondiciones:} + \begin{itemize} + \item Alumno logeado. + \end{itemize} + + \textbf{Secuencia principal:} \begin{enumerate} \item Alumno introduce programa escrito en Prolog al sistema ! en un formulario en la página Web. \item El sistema chequea el programa. \item El sistema devuelve una pagina con el programa no editable y la posibilidad de ejecutar consultas. \end{enumerate} + \textbf{Secuencias alternativas:} + \begin{itemize} + \item El programa puede tener errores léxicos. + \item El programa puede tener errores sintácticos. + \end{itemize} + \begin{figure}[ht] \begin{center} *************** *** 59,66 **** \subsubsection{Alumno carga programa de biblioteca} \begin{enumerate} ! \item Alumno selecciona el programa a cargar de un listado con los títulos y descripciones de programas disponibles en la biblioteca.. \item El sistema carga el programa, que se supone verificado. ! \item El sistema muestra al alumno una página donde introducir las consultas \end{enumerate} --- 71,84 ---- \subsubsection{Alumno carga programa de biblioteca} + \textbf{Precondiciones:} + \begin{itemize} + \item Alumno logeado. + \end{itemize} + + \textbf{Secuencia principal:} \begin{enumerate} ! \item Alumno selecciona el programa a cargar de un listado con los títulos y descripciones de programas disponibles en la biblioteca. \item El sistema carga el programa, que se supone verificado. ! \item El sistema muestra al alumno una página donde introducir las consultas. \end{enumerate} *************** *** 101,112 **** %% Escenario 2.1 \subsubsection{Alumno carga consulta} \begin{enumerate} ! \item{Alumno introduce una consulta al sistema en sintaxis de ! Prolog} ! \item{El sistema procesa la consulta} ! \item{El sistema muestra el resultado de consulta cargada y espera instrucciones del usuario sobre la forma de avanzar en la resolución} \end{enumerate} \begin{figure}[ht] \begin{center} --- 119,141 ---- %% Escenario 2.1 \subsubsection{Alumno carga consulta} + \textbf{Precondiciones:} + \begin{itemize} + \item Alumno logeado. + \item Programa cargado. + \end{itemize} + \textbf{Secuencia principal:} \begin{enumerate} ! \item Alumno introduce una consulta al sistema en sintaxis de Prolog. ! \item El sistema procesa la consulta. ! \item El sistema muestra el resultado de consulta cargada y espera instrucciones del usuario sobre la forma de avanzar en la resolución. \end{enumerate} + \textbf{Secuencias alternativas:} + \begin{itemize} + \item La consulta puede tener errores léxicos. + \item La consulta puede tener errores sintácticos. + \end{itemize} + \begin{figure}[ht] \begin{center} *************** *** 142,149 **** \subsubsection{Alumno avanza hasta siguiente solución} \begin{enumerate} ! \item Alumno solicita un nuevo resultado con la opción <<Siguiente solución>> \item El sistema evalua la consulta hasta llegar a solución, o a la conclusión de no haber mas soluciones. ! \item El sistema muestra a la solución o mensaje de no haber más soluciones \end{enumerate} --- 171,186 ---- \subsubsection{Alumno avanza hasta siguiente solución} + \textbf{Precondiciones:} + \begin{itemize} + \item Alumno logeado. + \item Programa cargado. + \item Consulta cargada. + \end{itemize} + + \textbf{Secuencia principal:} \begin{enumerate} ! \item Alumno solicita un nuevo resultado con la opción <<Siguiente solución>>. \item El sistema evalua la consulta hasta llegar a solución, o a la conclusión de no haber mas soluciones. ! \item El sistema muestra a la solución o mensaje de no haber más soluciones. \end{enumerate} *************** *** 179,189 **** %% Escenario 2.3 - %% Prerequisitos: Estar en modo gráfico. \subsubsection{Alumno avanza un paso la ejecución} \begin{enumerate} ! \item{Alumno solicita avanzar un paso en la ejecución} ! \item{El sistema evalua la petición} ! \item{El sistema muestra el arbol de resolución actualizado} \end{enumerate} --- 216,234 ---- %% Escenario 2.3 \subsubsection{Alumno avanza un paso la ejecución} + \textbf{Precondiciones:} + \begin{itemize} + \item Alumno logeado. + \item Programa cargado. + \item Consulta cargada. + \item Seleccionada consulta gráfica. + \end{itemize} + + \textbf{Secuencia principal:} \begin{enumerate} ! \item Alumno solicita avanzar un paso en la ejecución. ! \item El sistema evalua la petición. ! \item El sistema muestra el arbol de resolución actualizado. \end{enumerate} *************** *** 222,229 **** \subsubsection{Alumno visualiza soluciones} \begin{enumerate} ! \item{Alumno solicita un nuevo resultado con la opción <<Siguiente solución>>} ! \item{El sistema devuelve resultado si este existe, o informa ! de que no hay más soluciones} \end{enumerate} --- 267,281 ---- \subsubsection{Alumno visualiza soluciones} + \textbf{Precondiciones:} + \begin{itemize} + \item Alumno logeado. + \item Programa cargado. + \item Consulta cargada. + \end{itemize} + + \textbf{Secuencia principal:} \begin{enumerate} ! \item Alumno solicita un nuevo resultado con la opción <<Siguiente solución>>. ! \item El sistema devuelve resultado si este existe, o informa de que no hay más soluciones. \end{enumerate} *************** *** 258,264 **** \subsubsection{Alumno visualiza arbol de representación de soluciones} \begin{enumerate} ! \item{Alumno solicita representación gráfica de la resolución} ! \item{El sistema muestra el arbol del resolución en su estado actual} \end{enumerate} --- 310,324 ---- \subsubsection{Alumno visualiza arbol de representación de soluciones} + \textbf{Precondiciones:} + \begin{itemize} + \item Alumno logeado. + \item Programa cargado. + \item Consulta cargada. + \end{itemize} + + \textbf{Secuencia principal:} \begin{enumerate} ! \item Alumno solicita representación gráfica de la resolución ! \item El sistema muestra el arbol del resolución en su estado actual \end{enumerate} *************** *** 297,304 **** --- 357,378 ---- \subsubsection{Alumno guarda programa en la biblioteca} + \textbf{Precondiciones:} + \begin{itemize} + \item Alumno logeado. + \item Programa cargado. + \end{itemize} + + \textbf{Secuencia principal:} \begin{enumerate} \item Alumno introduce nombre y descripción del programa, y solicita guardar programa. \item El sistema actualiza biblioteca. \end{enumerate} + %Item deberia comprobar que no existe un programa con ese nombre!!! + + \textbf{Secuencias alternativas:} + \begin{itemize} + \item Nombre del programa en blanco. + \item Descripción del programa en blanco. + \end{itemize} \begin{figure}[ht] *************** *** 333,336 **** --- 407,416 ---- \subsubsection{Alumno elimina programa propio de la biblioteca} + \textbf{Precondiciones:} + \begin{itemize} + \item Alumno logeado. + \end{itemize} + + \textbf{Secuencia principal:} \begin{enumerate} \item Alumno selecciona uno de sus programas y solicita borrar. *************** *** 375,378 **** --- 455,464 ---- \subsubsection{Administrador suprime programa en la biblioteca} + \textbf{Precondiciones:} + \begin{itemize} + \item Administrador logeado. + \end{itemize} + + \textbf{Secuencia principal:} \begin{enumerate} \item Administrador selecciona un programa en un listado y solicita borrarlo. *************** *** 414,420 **** \subsubsection{Alumno lista sus programas en biblioteca} \begin{enumerate} ! \item Alumno solicita obtener sus programas ! \item El sistema obtiene todos los programas pertenecientes a ese Alumno \item El sistema muestra un listado con los programas obtenidos. \end{enumerate} --- 500,512 ---- \subsubsection{Alumno lista sus programas en biblioteca} + \textbf{Precondiciones:} + \begin{itemize} + \item Alumno logeado. + \end{itemize} + + \textbf{Secuencia principal:} \begin{enumerate} ! \item Alumno solicita obtener sus programas. ! \item El sistema obtiene todos los programas pertenecientes a ese Alumno. \item El sistema muestra un listado con los programas obtenidos. \end{enumerate} *************** *** 453,459 **** \subsubsection{Alumno lista todos los programas de la biblioteca} \begin{enumerate} ! \item Alumno solicita visualizar la biblioteca ! \item El sistema obtiene todos los programas de la biblioteca \item El sistema muesta el listado con los programas obtenidos. \end{enumerate} --- 545,557 ---- \subsubsection{Alumno lista todos los programas de la biblioteca} + \textbf{Precondiciones:} + \begin{itemize} + \item Alumno logeado. + \end{itemize} + + \textbf{Secuencia principal:} \begin{enumerate} ! \item Alumno solicita visualizar la biblioteca. ! \item El sistema obtiene todos los programas de la biblioteca. \item El sistema muesta el listado con los programas obtenidos. \end{enumerate} *************** *** 493,502 **** \subsubsection{Usuario hace login en el sistema} \begin{enumerate} ! \item Usuario introduce nombre de usuario y clave de acceso ! \item El sistema valida el usuario y la contraseña ! \item El sistema muestra la página de acceso correspondiente \end{enumerate} \begin{figure}[ht] \begin{center} --- 591,607 ---- \subsubsection{Usuario hace login en el sistema} + \textbf{Secuencia principal:} \begin{enumerate} ! \item Usuario introduce nombre de usuario y clave de acceso. ! \item El sistema valida el usuario y la contraseña. ! \item El sistema muestra la página de acceso correspondiente. \end{enumerate} + \textbf{Secuencias alternativas:} + \begin{itemize} + \item El usuario no existe. + \item El usuario existe pero la clave no es correcta. + \end{itemize} + \begin{figure}[ht] \begin{center} *************** *** 533,538 **** \subsubsection{Usuario hace logout en el sistema} \begin{enumerate} ! \item Usuario solicita salir del sistema \item El sistema cierra la session de usuario. \item El sistema muestra la página de login de nuevo usuario. --- 638,649 ---- \subsubsection{Usuario hace logout en el sistema} + \textbf{Precondiciones:} + \begin{itemize} + \item Usuario logeado. + \end{itemize} + + \textbf{Secuencia principal:} \begin{enumerate} ! \item Usuario solicita salir del sistema. \item El sistema cierra la session de usuario. \item El sistema muestra la página de login de nuevo usuario. *************** *** 573,576 **** --- 684,688 ---- \subsubsection{Alumno se registra} + \textbf{Secuencia principal:} \begin{enumerate} \item Usuario completa y envia un formulario con los datos requeridos. *************** *** 578,581 **** --- 690,699 ---- \end{enumerate} + \textbf{Secuencias alternativas:} + \begin{itemize} + \item Nombre de usuario ya ocupado. + \item Clave y confirmación no coinciden. + \end{itemize} + \begin{figure}[ht] \begin{center} *************** *** 616,625 **** \subsubsection{Usuario cambia su clave de acceso} \begin{enumerate} ! \item Usuario solicita cambiar su clave \item El sistema solicita la nueva clave dos veces, comprueba su igualdad y cambia la clave. \item El sistema muestra la página principal para el usuario. \end{enumerate} \begin{figure}[ht] --- 734,753 ---- \subsubsection{Usuario cambia su clave de acceso} + \textbf{Precondiciones:} + \begin{itemize} + \item Alumno logeado. + \end{itemize} + + \textbf{Secuencia principal:} \begin{enumerate} ! \item Usuario solicita cambiar su clave. \item El sistema solicita la nueva clave dos veces, comprueba su igualdad y cambia la clave. \item El sistema muestra la página principal para el usuario. \end{enumerate} + \textbf{Secuencias alternativas:} + \begin{itemize} + \item Clave y confirmación no coinciden. + \end{itemize} \begin{figure}[ht] *************** *** 658,661 **** --- 786,795 ---- \subsubsection{Administrador crea otro administrador} + \textbf{Precondiciones:} + \begin{itemize} + \item Administrador logeado. + \end{itemize} + + \textbf{Secuencia principal:} \begin{enumerate} \item Administrador introduce los datos necesarios y solicita crear nuevo administrador. *************** *** 664,667 **** --- 798,807 ---- \end{enumerate} + \textbf{Secuencias alternativas:} + \begin{itemize} + \item Nombre de usuario administrador ya en uso. + \item Clave y confirmación no coinciden. + \end{itemize} + \begin{figure}[ht] \begin{center} *************** *** 702,705 **** --- 842,851 ---- \subsubsection{Administrador elimina usuario de la aplicación} + \textbf{Precondiciones:} + \begin{itemize} + \item Administrador logeado. + \end{itemize} + + \textbf{Secuencia principal:} \begin{enumerate} \item Administrador selecciona un usuario de la lista de todos los usuarios y la opción de borrar. *************** *** 708,712 **** \end{enumerate} - \begin{figure}[ht] \begin{center} --- 854,857 ---- *************** *** 745,753 **** \subsubsection{Administrador cambia clave de usuario} \begin{enumerate} \item Administrador selecciona un usuario, introduce la nueva clave y la opción de <<cambiar clave>>. \item El sistema comprueba los permisos y realiza la operación. \end{enumerate} ! \begin{figure}[ht] --- 890,904 ---- \subsubsection{Administrador cambia clave de usuario} + \textbf{Precondiciones:} + \begin{itemize} + \item Administrador logeado. + \end{itemize} + + \textbf{Secuencia principal:} \begin{enumerate} \item Administrador selecciona un usuario, introduce la nueva clave y la opción de <<cambiar clave>>. \item El sistema comprueba los permisos y realiza la operación. \end{enumerate} ! %FIXME: es un dolor. Adaptar a lo actual!!!! \begin{figure}[ht] *************** *** 778,782 **** \caption{Intercambio de información en el escenario 5.3} \end{figure} - \end{escenariosAnalisis} --- 929,932 ---- |
From: <iva...@us...> - 2003-08-26 22:39:23
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno In directory sc8-pr-cvs1:/tmp/cvs-serv18849 Added Files: dia-secuencia.tex secuenciac1.tex Log Message: Begins the secuence diagram section --- NEW FILE: dia-secuencia.tex --- % % Coordinacion de diagramas por Escenarios % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \input{aux/escenarios.tex} \section{Diagramas de secuencia} \input{diseno/secuenciac1.tex} \clearpage --- NEW FILE: secuenciac1.tex --- %%% CASO DE USO 1 \subsection{Cargar Programa} %% Escenario 1.1 \subsubsection{Alumno carga programa} En la figura \ref{DSE11} mostramos el diagrama de secuencia del escenario <<Alumno carga programa>> \begin{sidewaysfigure}[hpb] \begin{DiagramaSecuencia}{ [name=clienteweb]\umlClass[umlShadow=false]{\underline{:Cliente Web}}{} & [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} & [name=studentroleutil]\umlClass[umlShadow=false]{\underline{:StudentRoleUtil}}{} & [name=studentrolehome]\umlClass[umlShadow=false]{\underline{:StudentRoleHome}}{} & [name=studentrole]\umlClass[umlShadow=false]{\underline{:StudentRole}}{} & [name=prologcontext]\umlClass[umlShadow=false]{\underline{:PrologContext}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {}\\[0cm] % [name=clientewebEnd]{} & [name=accesscontrolEnd]{} & [name=studentroleutilEnd]{} & [name=studentrolehomeEnd]{} & [name=studentroleEnd]{} & [name=prologcontextEnd]{} & \\[-0.5cm] % % \ncline[linestyle=dashed]{clienteweb}{clientewebEnd} \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} \ncline[linestyle=dashed]{studentroleutil}{studentroleutilEnd} \ncline[linestyle=dashed]{studentrolehome}{studentrolehomeEnd} \ncline[linestyle=dashed]{studentrole}{studentroleEnd} \ncline[linestyle=dashed]{prologcontext}{prologcontextEnd} % \footnotesize\ttfamily% \psset{labelsep=1.5mm} \mensaje{1}{2}{getStudentRole()} \mensaje{2}{3}{[studentRole == null]getHome()} \mensaje{2}{4}{[studentRole == null]create()} \mensaje{2}{5}{[studentRole == null]setAccessControl()} \mensaje{1}{5}{loadProgram(program)} \mensaje{5}{2}{verifyPermissions(Student)} \mensaje{5}{6}{load(program)} }\end{DiagramaSecuencia} \caption{\label{DSE11}Diagrama de secuencia del escenario E1.1} \end{sidewaysfigure} |
From: <iva...@us...> - 2003-08-26 22:38:29
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno In directory sc8-pr-cvs1:/tmp/cvs-serv18662 Modified Files: diseno.tex Added Files: general.tex Removed Files: representacion.tex Log Message: moved representacion to general --- NEW FILE: general.tex --- (This appears to be a binary file; contents omitted.) Index: diseno.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/diseno.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** diseno.tex 25 Aug 2003 20:56:02 -0000 1.1 --- diseno.tex 26 Aug 2003 22:38:25 -0000 1.2 *************** *** 4,9 **** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! \input{diseno/j2ee-uml.tex} ! \clearpage ! \input{diseno/representacion.tex} ! \clearpage \ No newline at end of file --- 4,10 ---- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! %\input{diseno/j2ee-uml.tex} ! %\clearpage ! %\input{diseno/general.tex} ! %\clearpage ! \input{diseno/dia-secuencia.tex} \ No newline at end of file --- representacion.tex DELETED --- |