\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}