\documentclass{article}
%\usepackage{times}


%\usepackage{amsthm}
\usepackage{algorithm} % for pseudo-codes
%\usepackage{enumerate}
\usepackage{algpseudocode}
%\usepackage{DotArrow}
%\usepackage{subfig}
%\usepackage{amsmath, environ}
%\usepackage{amssymb}
%\usepackage{amsthm}
%%\usepackage{bm}
%%\usepackage{mathtools}
\usepackage{graphicx} 
%\usepackage{wrapfig}
%\usepackage{minibox}
%\usepackage{multirow}
%\usepackage{pifont} % \ding{}
%\usepackage[percent]{overpic}
%\usepackage{scrextend} % labeling environment
%
%\newtheorem{theorem}{Theorem}
%\newtheorem{definition}{Definition}
%\newtheorem{example}{Example}
%
%\renewcommand{\textfraction}{0.05}
%\renewcommand{\floatpagefraction}{0.75}

\newcommand{\centerimage}[5][-7pt]{ % [vskip] | graphics-opt | imgname | label | caption
\begin{figure}[!htb]%
\centering%
\vspace{#1}%
\includegraphics[#2]{#3}%
\caption{#5}\label{#4}\vspace{2mm}%
%\vspace{-3pt}\caption{#5}\label{#4}\vspace{-2pt}%
\end{figure}}
\date{}
%\includegraphics[trim=1cm 2cm 3cm 4cm, clip=true]{example.pdf}



\begin{document}



\title{Relazione Esercizio Rete PT (B)}


\author{Francesco Galla`, francesco.galla@edu.unito.it}

\maketitle


%========================================================================= 
%%%%%%%                       INTRODUCTION                         %%%%%%%
%========================================================================= 

\section{Rete B}  \label{sec:reteB}
Due master identici e due slave, uno di tipo 1 e uno
di tipo 2. Ad ogni ciclo il master sceglie in modo
indipendente di quale dei due slave servirsi.
%=========================================================================================================
\subsection{La rete di Petri}  \label{ssec:reteB-PN}


La figura rappresenta la rete di Petri P/T del secondo esercizio (rete B). 
Il master è  modellato dai posti M\_Richiesta, M\_Attesa, M\_Risultato  e dalle transizioni Dispatch, Ottieni\_Risultato, M\_Return.
Lo slave di tipo 1 è modellato dai posti S1\_Attesa, Child1/Child2, Fine\_C1, Fine\_C2, S1\_Fine e dalle transizioni Fork, Processa\_C1/Processa\_C2, Join, S1\_Return.
Lo slave di tipo 2 è modellato dai posti S2\_Attesa, Richieste, Risultati, S2\_Fine, e dalle transizioni Receive, Processa, Send, S2\_Return.
La richiesta del servizio verso gli slave \`e gestita attraverso un buffer in ingresso (posto Buffer\_Richiesta) agli slave e uno in uscita (posto Buffer\_Risultato). Si utilizza un unico buffer in quanto il master non distingue quale slave processa la richiesta.

%\centerimage{trim=1cm 10cm 3cm 4cm, clip=true}
	\centerimage{width=\columnwidth}
{reteB.jpg}{img:reteB}
	{Modello P/T della rete B}


\subsection{I risultati}  \label{ssec:reteB-res}

%===================== TEST 2 FMS 
\begin{table}[h!]
  \centering
  \begin{tabular}{ |p{3cm}||p{3cm}|p{3cm}| }
    \hline
    \multicolumn{3}{|c|}{Effetto della marcatura iniziale su stati e archi} \\
    \hline
    nMaster / nSlave & Stati & Archi\\
    \hline
    1   & 36 & 68 \\
    2   & 473 & 1508 \\
    3   & 3676 & 15402 \\
    4   & 20475 & 102440 \\
    5   & 90272 & 513032 \\
    6   & 334243 & 2093364 \\
    \hline
  \end{tabular} \\
  \caption{Variazione dello spazio degli stati.}
    \label{tab:reteB}
\end{table}
%===================== 

La tabella elenca la dimensione dello spazio degli stati al variare del numero $nMaster$ di
master e $nSlave$ di slave. Si pu\`o osservare come, al variare della marcatura iniziale, il
l'aumento del numero di stati e archi del grafo tende a decrescere verso il fattore $2$.

\subsection{Considerazioni sulla Join}

Lo slave che esegue la $fork$ in questo modello \`e in grado di processare solo una richiesta
alla volta, con solo un token nella marcatura iniziale. Il problema della $join$ tra due processi
figli dello stesso processo si presenta solo al ritorno del risultato, come succedeva nel
caso della rete A.


\end{document}
