\subsubsection{Memory}
\label{memory}

A \memory is specified by the following definitions \cite{Blake09}:\\

(1) It is a deployment unit for a software component.\\

(2) It models any entity a process can address: code, data, stack, heap.\\ 

(3) In uniprocessor designs, the memory system can be a rather 
simple component, 
consisting of a few levels of cache to feed the single 
processor with data and instructions.\\

(4) In multi-cores, the caches are can be  part of the 
memory system. The other components 
include the consistency model, cache coherence support, 
and the intra-chip interconnect.\\

\begin{center}
Standard attributes
\end{center}

$Name$ : It is the unique name of $Memory$.\\

$size$ : 

$access_{-}latency$ : 

$memory_{-}category$ : 

$shared_{-}access_{-}latency$ : 

$private_{-}access_{-}latency$ : 

$l_{-}rw_{-}inter$ : 

$l_{-}act_{-}inter$ : 

$l_{-}pre_{-}inter$ : 

$n_{-}reorder$ : 

$l_{-}conhit$ : 

$l_{-}conf$ : 

$nb_{-}bank$ :

$partition_{-}mode$ : 
 
\begin{center}
Legality rules
\end{center}

(L1) The \memory name must not be empty.\\

(L2) The \memory name must be valid identifier.\\

\begin{center}
Implementation
\end{center}

\begin{center}
Example
\end{center}