From 7dc7ffdc2ce81e49076a94acb707088c1d2f6ec2 Mon Sep 17 00:00:00 2001 From: Henrik Tidefelt Date: Sun, 22 Nov 2020 23:39:55 +0100 Subject: [PATCH] Say 'parameter expression' instead of using undefined term 'parametric' --- chapters/connectors.tex | 4 +--- chapters/statemachines.tex | 6 ++++-- chapters/synchronous.tex | 13 +++++-------- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/chapters/connectors.tex b/chapters/connectors.tex index 4568d5504..ec9a37674 100644 --- a/chapters/connectors.tex +++ b/chapters/connectors.tex @@ -571,9 +571,7 @@ \section{Restrictions of Connections and Connectors}\label{restrictions-of-conne \begin{itemize} \item - The connect-equations (and the special functions for overdetermined - connectors) can only be used in equations and shall not be used inside - if-equations with non-parametric condition, or in when-equations. + The connect-equations (and the special functions for overdetermined connectors) can only be used in equations, and shall not be used inside if-equations with conditions that are not parameter expressions, or in when-equations. \begin{nonnormative} For-equations always have parameter expressions for the array expression. \end{nonnormative} diff --git a/chapters/statemachines.tex b/chapters/statemachines.tex index b19709c00..0b26866c1 100644 --- a/chapters/statemachines.tex +++ b/chapters/statemachines.tex @@ -67,7 +67,7 @@ \section{Transitions}\label{transitions} \end{tabular} \end{center} -The \lstinline!transition! and \lstinline!initialState! equations can only be used in equations and cannot be used inside if-equations with non-parametric condition, or in when-equations. +The \lstinline!transition! and \lstinline!initialState! equations can only be used in equations, and cannot be used inside if-equations with conditions that are not parameter expressions, or in when-equations. The operators listed below are used to query the status of the state machine. \begin{center} @@ -89,7 +89,9 @@ \section{Transitions}\label{transitions} immediate=$\mathit{imm}$, reset=$\mathit{reset}$, synchronize=$\mathit{synch}$, priority=$\mathit{prio}$) \end{lstlisting}\end{synopsis} \begin{semantics} -Arguments $\mathit{from}$ and $\mathit{to}$ are block instances, and $\mathit{condition}$ is a \lstinline!Boolean! argument. The optional arguments \lstinline!immediate!, \lstinline!reset!, and \lstinline!synchronize! are of type \lstinline!Boolean!, have parametric variability and a default of \lstinline!true!, \lstinline!true!, \lstinline!false! respectively. The optional argument \lstinline!priority! is of type \lstinline!Integer!, has parametric variability and a default of 1. +Arguments $\mathit{from}$ and $\mathit{to}$ are block instances, and $\mathit{condition}$ is a \lstinline!Boolean! argument. +The optional arguments \lstinline!immediate!, \lstinline!reset!, and \lstinline!synchronize! are of type \lstinline!Boolean!, have parameter variability and a default of \lstinline!true!, \lstinline!true!, \lstinline!false! respectively. +The optional argument \lstinline!priority! is of type \lstinline!Integer!, has parameter variability and a default of 1. This operator defines a transition from instance $\mathit{from}$ to instance $\mathit{to}$. The $\mathit{from}$ and $\mathit{to}$ instances become states of a state machine. The transition fires when $\mathit{condition} = \text{\lstinline!true!}$ if $\mathit{imm} = \text{\lstinline!true!}$ (this is called an \firstuse{immediate transition}) or \lstinline!previous($\mathit{condition}$)! when $\mathit{imm} = \text{\lstinline!false!}$ (this is called a \firstuse{delayed transition}). Argument \lstinline!priority! defines the priority of firing when several transitions could fire. In this case the transition with the smallest value of \lstinline!priority! fires. It is required that $\mathit{prio} \geq 1$ and that for all transitions from the same state, the priorities are different. If $\mathit{reset} = \text{\lstinline!true!}$, the states of the target state are reinitialized, i.e.\ state machines are restarted in initial state and state variables are reset to their start values. If $\mathit{synch} = \text{\lstinline!true!}$, any transition is disabled until all state machines of the from-state have reached final states, i.e.\ states without outgoing transitions. For the precise details about firing a transition, see \cref{state-machine-semantics}. \end{semantics} diff --git a/chapters/synchronous.tex b/chapters/synchronous.tex index 4296da79b..4a82d4a5f 100644 --- a/chapters/synchronous.tex +++ b/chapters/synchronous.tex @@ -474,11 +474,8 @@ \section{Clock Constructors}\label{clock-constructors} \end{enumerate} Clock variables can be used in a restricted form of expressions. -Generally, every expression switching between clock variables must have -parametric variability (in order that clock analysis can be -performed when translating a model). -Thus subscripts on Clock-variables and conditions of if-then-else switching between Clock-variables must -be parameter expressions, and there are similar restrictions for sub-clock conversion operators \cref{sub-clock-conversion-operators}. +Generally, every expression switching between clock variables must have parameter variability (in order that clock analysis can be performed when translating a model). +Thus subscripts on Clock-variables and conditions of if-then-else switching between Clock-variables must be parameter expressions, and there are similar restrictions for sub-clock conversion operators \cref{sub-clock-conversion-operators}. Otherwise, the following expressions are allowed: \begin{itemize} \item @@ -1015,8 +1012,8 @@ \subsection{Sub-clock Partitioning}\label{sub-clock-partitioning} \subsection{Sub-clock Inferencing}\label{sub-clock-inferencing} For each base-clock partition, the base interval needs to be determined and for each sub-clock partition, the sub-sampling factors and shift need to be determined. -For each sub-clock partition, the interval might be rational or \lstinline!Real! type and known or parametric or being unspecified. -The sub-clock partition intervals are constrained by \lstinline!subSample! and \lstinline!superSample! factors which might be known (or parametric) or unspecified, as well as by \lstinline!shiftSample!, \lstinline!shiftCounter! and \lstinline!resolution!, or \lstinline!backSample!, \lstinline!backCounter! and \lstinline!resolution!. +For each sub-clock partition, the interval might be rational or \lstinline!Real! type and known or parameter expression or being unspecified. % This sentence is impossible to parse! +The sub-clock partition intervals are constrained by \lstinline!subSample! and \lstinline!superSample! factors which might be known (or parameter expression) or unspecified, as well as by \lstinline!shiftSample!, \lstinline!shiftCounter! and \lstinline!resolution!, or \lstinline!backSample!, \lstinline!backCounter! and \lstinline!resolution!. This constraint set is used to solve for all intervals and sub-sampling factors and shift of the sub-clock partitions. The model is erroneous if no solution exist. @@ -1383,7 +1380,7 @@ \section{Other Operators}\label{other-operators} \begin{semantics} This operator returns the interval between the previous and present tick of the clock of the expression, in which this operator is called. The optional argument $u$ is only used for clock inference, see \cref{clock-partitioning}. At the first tick of the clock the following is returned: \begin{enumerate} -\item If the specified clock interval is parametric, this value is returned. +\item If the specified clock interval is a parameter expression, this value is returned. \item Otherwise the start value of the variable specifying the interval is returned. \item For an event clock the additional \lstinline!startInterval! argument to the event clock constructor is returned. \end{enumerate}