From 767883d578b97592da9c444d03fc1eef81399560 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Pasteur?= Date: Thu, 5 Jul 2012 11:46:30 +0200 Subject: [PATCH] Small fixes --- manual/heptagon-manual.pdf | Bin 787587 -> 786998 bytes manual/heptagon-manual.tex | 27 ++++++++++++++------------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/manual/heptagon-manual.pdf b/manual/heptagon-manual.pdf index 261f89e5a563c8c7d30276ecf7a5e8ae3163c927..ab187d73a7e678a15ccda121b83f489f5e1d9257 100644 GIT binary patch delta 26059 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

JIV`I39InP_sK4{alp)NWpqQ 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 HX{7%JBnGfl delta 26686 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]+ is defined by $z_i = t_i[\min(\max(0, x_i), n-1)]$, where $n$ is the size of \lstinline+t+. +\item Accessing an element at a dynamic index with a default value: \lstinline{z = t.[x] default v} is a stream defined by $z_i = t_i[x_i]$ if $0 \leq x_i < n$ and $z_i = v_i$ otherwise (where $n$ is the size of \lstinline+t+). +\item Accessing an element at a truncated index: \lstinline+z = t[>x<]+ is defined by $z_i = t_i[\min(\max(0, x_i), n-1)]$ (where $n$ is the size of \lstinline+t+). \item Modifying an element: \lstinline{t' = [ t with [x] = v ]} is a new array equal to \lstinline+t+, except for the element at index \lstinline+x+ which is equal to $v$, that is for all j in $[0, n-1]$ such that $j \neq x_i$, $t'_i[j] = t[j]$ and $t'_i[x_i] = v_i$. \item Defining an array by copying one value: \lstinline+x^n+ is the array of size \lstinline+n+ whose elements are all equal to \lstinline+x+. \item Defining an array explicitely: \lstinline+[1, x, 3, y, 5]+. @@ -615,7 +615,7 @@ let tel \end{lstlisting} -If the backend support parametricity (like in Java), static parameters are kept in the generated code. Otherwise, a pass of the compiler generates all the versions of the node that are needed. If a parametrized node defined in a file \texttt{f1.ept} is used in \texttt{f2.ept}, it is necessary to first compile \texttt{f1.ept} with the \texttt{-c} option (and without any \texttt{-target}), that generates a binary file \texttt{f1.epo}. The compilation of the second file, this time with the \texttt{-target} option, will generate all the necessary nodes, from \texttt{f1.ept} and \texttt{f2.ept}. +If the backend support parametricity (like in Java), static parameters are kept in the generated code. Otherwise, a pass of the compiler generates all the versions of the node that are needed. If a parametrized node defined in a file \texttt{f1.ept} is used in \texttt{f2.ept}, it is necessary to first compile \texttt{f1.ept} with the \texttt{-c} option (and without any \texttt{-target}), in order to generate a binary file \texttt{f1.epo}. The compilation of the second file, this time with the \texttt{-target} option, will generate code for all the necessary nodes, from \texttt{f1.ept} and \texttt{f2.ept}. \subsection{Location annotations} @@ -830,16 +830,6 @@ tel \label{fig:n-del-task-2} \end{figure} -However, the controllability introduced here is know too strong. The synthesis -will succeed, but the computed controller, without knowing how \texttt{c} will -be instantiated, will actually block every tasks in their idle state. Indeed, if -the controller allows one task to go in its active state, the input \texttt{c} -can become false at the next instant, violating the property to enforce. - -Thus, we propose to add an assumption to this contract: the input \texttt{c} -will not become false if a task was active an instant before. This new contract -is visible in Figure~\ref{fig:n-del-tasks-3}. - \begin{figure}[htb] \centering \begin{lstlisting} @@ -864,6 +854,16 @@ tel \label{fig:n-del-tasks-3} \end{figure} +However, the controllability introduced here is know too strong. The synthesis +will succeed, but the computed controller, without knowing how \texttt{c} will +be instantiated, will actually block every tasks in their idle state. Indeed, if +the controller allows one task to go in its active state, the input \texttt{c} +can become false at the next instant, violating the property to enforce. + +Thus, we propose to add an assumption to this contract: the input \texttt{c} +will not become false if a task was active an instant before. This new contract +is visible in Figure~\ref{fig:n-del-tasks-3}. + We can then use this new \texttt{ntasks} version for the parallel composition, by instantiating the \texttt{c} input by a controllable variable and its negation. This composition can be found in Figure~\ref{fig:ntasks-compos}. @@ -890,6 +890,7 @@ tel \end{figure} +\clearpage \appendix \section{Generated code}