git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@98 331e1502-861f-0410-8da2-ba01fb791d7f

This commit is contained in:
legrand 2006-12-20 13:04:18 +00:00
commit 8fe0255b24
55 changed files with 45668 additions and 0 deletions

Binary file not shown.

View file

@ -0,0 +1,39 @@
all: clean refman.dvi
ps: refman.ps
pdf: refman.pdf
ps_2on1: refman_2on1.ps
pdf_2on1: refman_2on1.pdf
refman.ps: refman.dvi
dvips -o refman.ps refman.dvi
refman.pdf: refman.ps
ps2pdf refman.ps refman.pdf
refman.dvi: refman.tex doxygen.sty
echo "Running latex..."
latex refman.tex
echo "Running makeindex..."
makeindex refman.idx
echo "Rerunning latex...."
latex refman.tex
latex_count=5 ; \
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
do \
echo "Rerunning latex...." ;\
latex refman.tex ;\
latex_count=`expr $$latex_count - 1` ;\
done
refman_2on1.ps: refman.ps
psnup -2 refman.ps >refman_2on1.ps
refman_2on1.pdf: refman_2on1.ps
ps2pdf refman_2on1.ps refman_2on1.pdf
clean:
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf

View file

@ -0,0 +1,27 @@
\section{Paradis\-EO Class List}
Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList}
\item\contentsline{section}{{\bf Communicable} }{\pageref{class_communicable}}{}
\item\contentsline{section}{{\bf Communicator} }{\pageref{class_communicator}}{}
\item\contentsline{section}{{\bf Cooperative} }{\pageref{class_cooperative}}{}
\item\contentsline{section}{{\bf Node} }{\pageref{struct_node}}{}
\item\contentsline{section}{{\bf peo\-Agg\-Eval\-Func$<$ EOT $>$} (The {\bf peo\-Agg\-Eval\-Func}{\rm (p.\,\pageref{classpeo_agg_eval_func})} class offers only the interface for creating aggregate evaluation functions - there are no direct internal functions provided )}{\pageref{classpeo_agg_eval_func}}{}
\item\contentsline{section}{{\bf peo\-Async\-Island\-Mig$<$ EOT $>$} (The {\bf peo\-Async\-Island\-Mig}{\rm (p.\,\pageref{classpeo_async_island_mig})} class offers the elementary basis for implementating an asynchronous island migration model - requires the specification of several basic parameters, i.e )}{\pageref{classpeo_async_island_mig}}{}
\item\contentsline{section}{{\bf peo\-EA$<$ EOT $>$} (The {\bf peo\-EA}{\rm (p.\,\pageref{classpeo_e_a})} class offers an elementary evolutionary algorithm implementation )}{\pageref{classpeo_e_a}}{}
\item\contentsline{section}{{\bf peo\-No\-Agg\-Eval\-Func$<$ EOT $>$} (The {\bf peo\-No\-Agg\-Eval\-Func}{\rm (p.\,\pageref{classpeo_no_agg_eval_func})} class does nothing more than an association between a fitness value and a specified individual )}{\pageref{classpeo_no_agg_eval_func}}{}
\item\contentsline{section}{{\bf peo\-Para\-Pop\-Eval$<$ EOT $>$} (The {\bf peo\-Para\-Pop\-Eval}{\rm (p.\,\pageref{classpeo_para_pop_eval})} represents a wrapper for creating a functor capable of applying in parallel an EO-derived evaluation functor )}{\pageref{classpeo_para_pop_eval}}{}
\item\contentsline{section}{{\bf peo\-Para\-SGATransform$<$ EOT $>$} }{\pageref{classpeo_para_s_g_a_transform}}{}
\item\contentsline{section}{{\bf peo\-Pop\-Eval$<$ EOT $>$} (The {\bf {\bf peo\-Pop\-Eval}{\rm (p.\,\pageref{classpeo_pop_eval})}} class provides the interface for constructing Paradis\-EO specific evaluation functors )}{\pageref{classpeo_pop_eval}}{}
\item\contentsline{section}{{\bf peo\-Seq\-Pop\-Eval$<$ EOT $>$} (The {\bf peo\-Seq\-Pop\-Eval}{\rm (p.\,\pageref{classpeo_seq_pop_eval})} class acts only as a Paradis\-EO specific sequential evaluation functor - a wrapper for incorporating an {\bf eo\-Eval\-Func$<$ EOT $>$}-derived class as evaluation functor )}{\pageref{classpeo_seq_pop_eval}}{}
\item\contentsline{section}{{\bf peo\-Seq\-Transform$<$ EOT $>$} (The {\bf peo\-Seq\-Transform}{\rm (p.\,\pageref{classpeo_seq_transform})} represent a wrapper for offering the possibility of using EO derived transform operators along with the Paradis\-EO evolutionary algorithms )}{\pageref{classpeo_seq_transform}}{}
\item\contentsline{section}{{\bf peo\-Sync\-Island\-Mig$<$ EOT $>$} (The {\bf peo\-Sync\-Island\-Mig}{\rm (p.\,\pageref{classpeo_sync_island_mig})} class offers the elementary basis for implementating a synchronous island migration model - requires the specification of several basic parameters, i.e )}{\pageref{classpeo_sync_island_mig}}{}
\item\contentsline{section}{{\bf peo\-Sync\-Multi\-Start$<$ EOT $>$} (The {\bf peo\-Sync\-Multi\-Start}{\rm (p.\,\pageref{classpeo_sync_multi_start})} class provides the basis for implementing the synchronous multi-start model, for launching several solution-based algorithms in parallel on a specified initial population )}{\pageref{classpeo_sync_multi_start}}{}
\item\contentsline{section}{{\bf peo\-Transform$<$ EOT $>$} (The {\bf peo\-Transform}{\rm (p.\,\pageref{classpeo_transform})} class acts only as an interface for creating transform operators - for an example please refer to the {\bf {\bf peo\-Seq\-Transform}{\rm (p.\,\pageref{classpeo_seq_transform})}} and the {\bf {\bf peo\-Para\-SGATransform}{\rm (p.\,\pageref{classpeo_para_s_g_a_transform})}} classes )}{\pageref{classpeo_transform}}{}
\item\contentsline{section}{{\bf Reactive\-Thread} }{\pageref{class_reactive_thread}}{}
\item\contentsline{section}{{\bf Ring\-Topology} }{\pageref{class_ring_topology}}{}
\item\contentsline{section}{{\bf Runner} }{\pageref{class_runner}}{}
\item\contentsline{section}{{\bf SEND\_\-REQUEST} }{\pageref{struct_s_e_n_d___r_e_q_u_e_s_t}}{}
\item\contentsline{section}{{\bf Service} }{\pageref{class_service}}{}
\item\contentsline{section}{{\bf Thread} }{\pageref{class_thread}}{}
\item\contentsline{section}{{\bf Topology} }{\pageref{class_topology}}{}
\item\contentsline{section}{{\bf Worker} }{\pageref{class_worker}}{}
\end{CompactList}

View file

@ -0,0 +1,269 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 57.1429
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 8.75 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 7 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(Communicable) cw
(Cooperative) cw
(Runner) cw
(Service) cw
(Worker) cw
(peoAsyncIslandMig< EOT >) cw
(peoSyncIslandMig< EOT >) cw
(peoEA< EOT >) cw
(peoPopEval< EOT >) cw
(peoSyncMultiStart< EOT >) cw
(peoTransform< EOT >) cw
(peoParaPopEval< EOT >) cw
(peoSeqPopEval< EOT >) cw
(peoParaSGATransform< EOT >) cw
(peoSeqTransform< EOT >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(Communicable) 3 3 box
(Cooperative) 0.5 2 box
(Runner) 2 2 box
(Service) 4 2 box
(Worker) 5 2 box
(peoAsyncIslandMig< EOT >) 0 1 box
(peoSyncIslandMig< EOT >) 1 1 box
(peoEA< EOT >) 2 1 box
(peoPopEval< EOT >) 3 1 box
(peoSyncMultiStart< EOT >) 4 1 box
(peoTransform< EOT >) 5 1 box
(peoParaPopEval< EOT >) 2.5 0 box
(peoSeqPopEval< EOT >) 3.5 0 box
(peoParaSGATransform< EOT >) 4.5 0 box
(peoSeqTransform< EOT >) 5.5 0 box
% ----- relations -----
solid
1 3 2.25 out
solid
0.5 5 3 conn
solid
0 0.5 2.75 in
solid
1 0.5 1.25 out
solid
0 1 2 conn
solid
0 2 2.75 in
solid
1 2 1.25 out
solid
0 4 2.75 in
solid
1 4 1.25 out
solid
3 5 2 conn
solid
0 5 2.75 in
solid
0 0 1.75 in
solid
0 1 1.75 in
solid
0 2 1.75 in
solid
0 3 1.75 in
solid
1 3 0.25 out
solid
2.5 3.5 1 conn
solid
0 4 1.75 in
solid
0 5 1.75 in
solid
1 5 0.25 out
solid
4.5 5.5 1 conn
solid
0 2.5 0.75 in
solid
0 3.5 0.75 in
solid
0 4.5 0.75 in
solid
0 5.5 0.75 in

View file

@ -0,0 +1,63 @@
\section{Communicable Class Reference}
\label{class_communicable}\index{Communicable@{Communicable}}
Inheritance diagram for Communicable::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.6cm]{class_communicable}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf Communicable} ()\label{class_communicable_8ae1827ecf7569b3db1ed386c7d8ad78}
\item
virtual {\bf $\sim$Communicable} ()\label{class_communicable_2280b0dfa0d3a515fccf62c2a9fd5f41}
\item
COMM\_\-ID {\bf get\-Key} ()\label{class_communicable_db4307b69b9ccacff55fdbf84b8f50e4}
\item
void {\bf lock} ()\label{class_communicable_e1f8bd1ee810fd73d44315c95998d19d}
\item
void {\bf unlock} ()\label{class_communicable_caa814847192e71f434fbf9479ede862}
\item
void {\bf stop} ()\label{class_communicable_cb53e6534b947bc889aa181d9dbbd13b}
\item
void {\bf resume} ()\label{class_communicable_3306a9adb11a0ab5af342c0db9f7bb2a}
\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item
COMM\_\-ID {\bf key}\label{class_communicable_605b0efeffe81326f216c9903f5bbf4c}
\item
sem\_\-t {\bf sem\_\-lock}\label{class_communicable_cf9639312f71a2f348bc1e7789ccbd9d}
\item
sem\_\-t {\bf sem\_\-stop}\label{class_communicable_29c53b9191348e0505e3bcba6d8b82b1}
\end{CompactItemize}
\subsection*{Static Protected Attributes}
\begin{CompactItemize}
\item
static unsigned {\bf num\_\-comm} = 0\label{class_communicable_7a6acfdc781a67c9c0ec4f17893f86c3}
\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 31 of file communicable.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
communicable.h\item
communicable.cpp\end{CompactItemize}

View file

@ -0,0 +1,203 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 550.459
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 0.908333 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 3 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(Communicator) cw
(ReactiveThread) cw
(Thread) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(Communicator) 0 0 box
(ReactiveThread) 0 1 box
(Thread) 0 2 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in

View file

@ -0,0 +1,30 @@
\section{Communicator Class Reference}
\label{class_communicator}\index{Communicator@{Communicator}}
Inheritance diagram for Communicator::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3cm]{class_communicator}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf Communicator} (int $\ast$\_\-\_\-argc, char $\ast$$\ast$$\ast$\_\-\_\-argv)\label{class_communicator_7c9dce4ea92bd04d01d53f80c0ef08ee}
\item
void {\bf start} ()\label{class_communicator_142fae13b16b166519315f248a513c62}
\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 30 of file comm.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
comm.h\item
comm.cpp\end{CompactItemize}

View file

@ -0,0 +1,209 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 166.667
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 3 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 3 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(Cooperative) cw
(Communicable) cw
(peoAsyncIslandMig< EOT >) cw
(peoSyncIslandMig< EOT >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(Cooperative) 0.5 1 box
(Communicable) 0.5 2 box
(peoAsyncIslandMig< EOT >) 0 0 box
(peoSyncIslandMig< EOT >) 1 0 box
% ----- relations -----
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
1 0.5 0.25 out
solid
0 1 1 conn
solid
0 0 0.75 in
solid
0 1 0.75 in

View file

@ -0,0 +1,48 @@
\section{Cooperative Class Reference}
\label{class_cooperative}\index{Cooperative@{Cooperative}}
Inheritance diagram for Cooperative::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3cm]{class_cooperative}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf Runner} $\ast$ {\bf get\-Owner} ()\label{class_cooperative_4012b4e8329e87d26ee266491e1a883e}
\item
void {\bf set\-Owner} ({\bf Runner} \&\_\-\_\-runner)\label{class_cooperative_fe7b022567174c8305bc78d8c5749b12}
\item
virtual void {\bf pack} ()=0\label{class_cooperative_6a4848c94031289df281a571ea427d46}
\item
virtual void {\bf unpack} ()=0\label{class_cooperative_7c31a68fb29e0a9cbe1da8019e4cdafa}
\item
void {\bf send} ({\bf Cooperative} $\ast$\_\-\_\-coop)\label{class_cooperative_c609f2a1200da7d1ac96005602515fc6}
\item
virtual void {\bf notify\-Sending} ()\label{class_cooperative_4439ddeaa1246a2e44c003bfb781739b}
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
{\bf Runner} $\ast$ {\bf owner}\label{class_cooperative_7604f094479d08154ede4996a45bf79e}
\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 32 of file cooperative.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
cooperative.h\item
coop.cpp\end{CompactItemize}

View file

@ -0,0 +1,209 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 275.229
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.81667 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 3 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(ReactiveThread) cw
(Thread) cw
(Communicator) cw
(Worker) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(ReactiveThread) 0.5 1 box
(Thread) 0.5 2 box
(Communicator) 0 0 box
(Worker) 1 0 box
% ----- relations -----
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
1 0.5 0.25 out
solid
0 1 1 conn
solid
0 0 0.75 in
solid
0 1 0.75 in

View file

@ -0,0 +1,39 @@
\section{Reactive\-Thread Class Reference}
\label{class_reactive_thread}\index{ReactiveThread@{ReactiveThread}}
Inheritance diagram for Reactive\-Thread::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3cm]{class_reactive_thread}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf Reactive\-Thread} ()\label{class_reactive_thread_77381649429941c99a3e3d568113d6cf}
\item
void {\bf sleep} ()\label{class_reactive_thread_8263c2a32d8c99a49a05f1a7717d4262}
\item
void {\bf wake\-Up} ()\label{class_reactive_thread_a724a54575de10f09cc03ab7aa4e59ce}
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
sem\_\-t {\bf sem}\label{class_reactive_thread_915e5a42dc8cb1bcf6738d5fe883a4e7}
\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 31 of file reac\_\-thread.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
reac\_\-thread.h\item
reac\_\-thread.cpp\end{CompactItemize}

View file

@ -0,0 +1,197 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 412.371
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.2125 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 2 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(RingTopology) cw
(Topology) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(RingTopology) 0 0 box
(Topology) 0 1 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in

View file

@ -0,0 +1,27 @@
\section{Ring\-Topology Class Reference}
\label{class_ring_topology}\index{RingTopology@{RingTopology}}
Inheritance diagram for Ring\-Topology::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{class_ring_topology}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void {\bf set\-Neighbors} ({\bf Cooperative} $\ast$\_\-\_\-mig, std::vector$<$ {\bf Cooperative} $\ast$ $>$ \&\_\-\_\-from, std::vector$<$ {\bf Cooperative} $\ast$ $>$ \&\_\-\_\-to)\label{class_ring_topology_292a7746993788f96042f2f628cfcbc5}
\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 29 of file ring\_\-topo.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
ring\_\-topo.h\item
ring\_\-topo.cpp\end{CompactItemize}

View file

@ -0,0 +1,209 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 280.374
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.78333 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 3 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(Runner) cw
(Communicable) cw
(Thread) cw
(peoEA< EOT >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(Runner) 0.5 1 box
(Communicable) 0 2 box
(Thread) 1 2 box
(peoEA< EOT >) 0.5 0 box
% ----- relations -----
solid
0 0.5 1 out
solid
0 1 2 conn
solid
1 0 2 in
solid
1 1 2 in
solid
1 0.5 0.25 out
solid
0 0.5 0.75 in

View file

@ -0,0 +1,61 @@
\section{Runner Class Reference}
\label{class_runner}\index{Runner@{Runner}}
Inheritance diagram for Runner::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3cm]{class_runner}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf Runner} ()\label{class_runner_7acb8258c21da9daa62f9a177a2e5acd}
\item
void {\bf start} ()\label{class_runner_7dc4419051fcc5cc9dadd54ecc9cd47d}
\item
void {\bf wait\-Starting} ()\label{class_runner_5bc239db2be753b77369fa9a038769fd}
\item
bool {\bf is\-Local} ()\label{class_runner_40adbfb7d6944189b4fff60b02e669ca}
\item
void {\bf terminate} ()\label{class_runner_0f133e75c28fb8264549814f80608e68}
\item
virtual void {\bf run} ()=0\label{class_runner_2d306c1835d8710258d2b52b8cc8312c}
\item
RUNNER\_\-ID {\bf get\-ID} ()\label{class_runner_5026c74eec184e3a15cb3c0ec4200a57}
\item
void {\bf pack\-Termination} ()\label{class_runner_2ad6d199d684d6f34347fc202ffe2fa3}
\item
void {\bf notify\-Sending\-Termination} ()\label{class_runner_3591be473e0fcee1105fb57319b529aa}
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
sem\_\-t {\bf sem\_\-start}\label{class_runner_4b0827d5df2df632db4ab71dd55e81b2}
\item
unsigned {\bf id}\label{class_runner_1989c1f8e0b0b54ad2e60a341007e59d}
\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 34 of file runner.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
runner.h\item
core/runner.cpp\item
rmc/mpi/runner.cpp\end{CompactItemize}

View file

@ -0,0 +1,237 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 100
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 5 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 4 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(Service) cw
(Communicable) cw
(peoPopEval< EOT >) cw
(peoSyncMultiStart< EOT >) cw
(peoTransform< EOT >) cw
(peoParaPopEval< EOT >) cw
(peoSeqPopEval< EOT >) cw
(peoParaSGATransform< EOT >) cw
(peoSeqTransform< EOT >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(Service) 1.5 2 box
(Communicable) 1.5 3 box
(peoPopEval< EOT >) 0.5 1 box
(peoSyncMultiStart< EOT >) 1.5 1 box
(peoTransform< EOT >) 2.5 1 box
(peoParaPopEval< EOT >) 0 0 box
(peoSeqPopEval< EOT >) 1 0 box
(peoParaSGATransform< EOT >) 2 0 box
(peoSeqTransform< EOT >) 3 0 box
% ----- relations -----
solid
0 1.5 2 out
solid
1 1.5 3 in
solid
1 1.5 1.25 out
solid
0.5 2.5 2 conn
solid
0 0.5 1.75 in
solid
1 0.5 0.25 out
solid
0 1 1 conn
solid
0 1.5 1.75 in
solid
0 2.5 1.75 in
solid
1 2.5 0.25 out
solid
2 3 1 conn
solid
0 0 0.75 in
solid
0 1 0.75 in
solid
0 2 0.75 in
solid
0 3 0.75 in

View file

@ -0,0 +1,70 @@
\section{Service Class Reference}
\label{class_service}\index{Service@{Service}}
Inheritance diagram for Service::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.8cm]{class_service}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void {\bf set\-Owner} ({\bf Thread} \&\_\-\_\-owner)\label{class_service_33b149b98498c0e7e401b0f0839d7f0d}
\item
{\bf Thread} $\ast$ {\bf get\-Owner} ()\label{class_service_0dae00309c51a7b7069788142aed799f}
\item
void {\bf request\-Resource\-Request} (unsigned \_\-\_\-how\_\-many=1)\label{class_service_7e2ae35a9070a05dcd46488df649896d}
\item
void {\bf pack\-Resource\-Request} ()\label{class_service_c4289f98d1cd9ed53e850efbb6a947bd}
\item
virtual void {\bf pack\-Data} ()\label{class_service_aea4b8f7f8fb88e83862ee4bfd9ab207}
\item
virtual void {\bf unpack\-Data} ()\label{class_service_3bd87b444710813d30fd754d4d0b4df3}
\item
virtual void {\bf execute} ()\label{class_service_e4f2894e6121e60f38d41cfbd7447ae4}
\item
virtual void {\bf pack\-Result} ()\label{class_service_e5e4f90b2315e15c2a2913bd370f4cf5}
\item
virtual void {\bf unpack\-Result} ()\label{class_service_45c06344edbfa482b91f68e2035a6099}
\item
virtual void {\bf notify\-Sending\-Data} ()\label{class_service_81ad4d6ebb50045b8977e2ab74826f30}
\item
virtual void {\bf notify\-Sending\-Resource\-Request} ()\label{class_service_94e2012e76aaae3aa8199250f558d503}
\item
virtual void {\bf notify\-Sending\-All\-Resource\-Requests} ()\label{class_service_f94cc8a5c2665d4574041737e61e9ffc}
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
{\bf Thread} $\ast$ {\bf owner}\label{class_service_8b615c65c876f342fe8209eb7e36d7b2}
\item
unsigned {\bf num\_\-sent\_\-rr}\label{class_service_a5b2ad9520bb3710b54348b99acebd58}
\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 32 of file service.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
service.h\item
core/service.cpp\item
rmc/mpi/service.cpp\end{CompactItemize}

View file

@ -0,0 +1,221 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 183.486
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 2.725 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 3 def
/cols 3 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(Thread) cw
(ReactiveThread) cw
(Runner) cw
(Communicator) cw
(Worker) cw
(peoEA< EOT >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(Thread) 1.25 2 box
(ReactiveThread) 0.5 1 box
(Runner) 2 1 box
(Communicator) 0 0 box
(Worker) 1 0 box
(peoEA< EOT >) 2 0 box
% ----- relations -----
solid
1 1.25 1.25 out
solid
0.5 2 2 conn
solid
0 0.5 1.75 in
solid
1 0.5 0.25 out
solid
0 1 1 conn
solid
0 2 1.75 in
solid
1 2 0.25 out
solid
0 0 0.75 in
solid
0 1 0.75 in
solid
0 2 0.75 in

View file

@ -0,0 +1,45 @@
\section{Thread Class Reference}
\label{class_thread}\index{Thread@{Thread}}
Inheritance diagram for Thread::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3cm]{class_thread}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf Thread} ()\label{class_thread_95c703fb8f2f27cb64f475a8c940864a}
\item
virtual {\bf $\sim$Thread} ()\label{class_thread_37d9edd3a1a776cbc27dedff949c9726}
\item
virtual void {\bf start} ()=0\label{class_thread_c667c1d8fd7243d669043e3dd762b567}
\item
void {\bf set\-Active} ()\label{class_thread_e197c46f8f62ecce6d2a7fe95bdc5b38}
\item
void {\bf set\-Passive} ()\label{class_thread_20632ffe9ddfa2a478afb0c84dc1096b}
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
bool {\bf act}\label{class_thread_1b155d63bca3096ac4a1d039aea83c7c}
\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 31 of file thread.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
thread.h\item
thread.cpp\end{CompactItemize}

View file

@ -0,0 +1,197 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 412.371
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.2125 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 2 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(Topology) cw
(RingTopology) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(Topology) 0 1 box
(RingTopology) 0 0 box
% ----- relations -----
solid
1 0 0.25 out
solid
0 0 0.75 in

Some files were not shown because too many files have changed in this diff Show more