Skip to content

Commit

Permalink
Merge pull request modelica#3090 from HansOlsson/ImproveSync
Browse files Browse the repository at this point in the history
Improve sync
  • Loading branch information
HansOlsson committed Feb 8, 2022
2 parents ae71c00 + b198303 commit 30f04e6
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions chapters/synchronous.tex
Expand Up @@ -883,6 +883,13 @@ \subsection{Connected Components of the Equations and Variables Graph}\label{con
\emph{Connected components}) of this graph with appropriate definition of
the incidence operator.

A special case is the built-in variable \lstinline!time! (see \cref{built-in-variable-time}).
Each use of \lstinline!time! is conceptually included as a separate variable in this analysis, $\mathit{time}_i$ with $\text{\lstinline!der!}(\mathit{time}_{i}) = 1$.
\begin{nonnormative}
This means that \lstinline!time! can be used in different partitions without any restrictions.
Additionally, it means that every partition directly referencing \lstinline!time! contains a call to \lstinline!der!.
\end{nonnormative}

\subsection{Base-Clock Partitioning}\label{base-clock-partitioning}

The goal is to identify all clocked equations and variables that should
Expand Down Expand Up @@ -1050,9 +1057,11 @@ \section{Clocked Discretized Partition}\label{continuous-time-equations-in-clock
\end{nonnormative}

\begin{nonnormative}
It is not defined, how events are handled that appear when solving the continuous-time partition. For example, a tool could handle events exactly in the same way as for a usual
simulation. Alternatively, relations might be interpreted literally, so that events are no longer triggered (in order that the time for an integration step is always the same,
as needed for hard real-time requirements).
It is not defined how to handle events that are triggered while solving the continuous-time partition.
For example, a tool could handle events in the same way as for a usual simulation -- but only check them at the time associated with clock-ticks.

Alternatively, relations might be interpreted literally, so that events are no longer triggered (in order that the time for an integration step is always the same, as needed for hard real-time requirements).
However, even if relations do not generate events, when-clauses and operators \lstinline!edge! and \lstinline!change! should behave as normal.
\end{nonnormative}

From the view of the clocked partition, the continuous-time
Expand All @@ -1073,7 +1082,7 @@ \subsection{Clocked Discrete-Time and Discretized Continuous-Time}\label{clocked

After sub-clock inferencing, see \cref{sub-clock-inferencing}, every partition that is associated to a clock has to be categorized as \willintroduce{clocked discrete-time} or \willintroduce{clocked discretized continuous-time} partition.

If a clocked partition contains no operator \lstinline!der!, \lstinline!delay!, \lstinline!spatialDistribution!, no event related operators from \cref{event-related-operators-with-function-syntax} (with exception of \lstinline!noEvent!), and no \lstinline!when!-clause with a \lstinline!Boolean! condition, it is a \firstuse[clocked!discrete-time partition]{clocked discrete-time}\index{partition!clocked discrete-time} partition.
If a clocked partition contains no operator \lstinline!der!, \lstinline!delay!, \lstinline!spatialDistribution!, no event related operators from \cref{event-related-operators-with-function-syntax} (with exception of \lstinline!noEvent! and \lstinline!smooth!), and no \lstinline!when!-clause with a \lstinline!Boolean! condition, it is a \firstuse[clocked!discrete-time partition]{clocked discrete-time}\index{partition!clocked discrete-time} partition.

\begin{nonnormative}
That is, the clocked discrete-time partition is a standard sampled data system that is described by difference equations.
Expand Down

0 comments on commit 30f04e6

Please sign in to comment.