Skip to content

Commit

Permalink
Rename section to "Annotations for Symbolic Processing" and reference…
Browse files Browse the repository at this point in the history
… related sections
  • Loading branch information
henrikt-ma committed Apr 29, 2021
1 parent f930c88 commit f2e2a02
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 12 deletions.
4 changes: 2 additions & 2 deletions chapters/annotations.tex
Expand Up @@ -331,9 +331,9 @@ \subsubsection{Text Markup in Captions}\label{text-markup-in-captions}
In a similar way, vendor-specific markup can be used to prototype a link for future inclusion in the link markup (either by extending the meaning of Modelica URIs, or by introducing another pseudo-scheme similar to \lstinline!variable:!). This is an example where the vendor-specific markup could make use of the $\mathit{text}$ (for link text) together with the vendor-specific $\mathit{data}$ (describing the actual link).
\end{example}

\section{Annotations for Code Generation}\label{annotations-for-code-generation}
\section{Annotations for Symbolic Processing}\label{annotations-for-symbolic-processing}

The annotations listed below, appearing directly inside \lstinline!annotation($\ldots$)!, can influence the code generation.
The annotation listed below, in addition to annotations described in \crefrange{declaring-derivatives-of-functions}{function-inlining-and-event-generation}, can influence the symbolic processing.
\begin{center}
\begin{tabular}{l|l l}
\hline
Expand Down
2 changes: 1 addition & 1 deletion chapters/functions.tex
Expand Up @@ -1220,7 +1220,7 @@ \section{Declaring Derivatives of Functions}\label{declaring-derivatives-of-func

\subsection{Using the Derivative Annotation}\label{using-the-derivative-annotation}

A function declaration can have an annotation \fmtannotationindex{derivative} specifying the derivative function or preferably, for a function written in Modelica, use the \lstinline!smoothOrder! annotation to indicate that the tool can construct the derivative function automatically, \cref{annotations-for-code-generation}.
A function declaration can have an annotation \fmtannotationindex{derivative} specifying the derivative function or preferably, for a function written in Modelica, use the \lstinline!smoothOrder! annotation to indicate that the tool can construct the derivative function automatically, \cref{modelica:smoothOrder}.
The \lstinline!derivative! annotation can influence simulation time and accuracy and can be applied to both functions written in Modelica and to external functions.
A \lstinline!derivative! annotation can state that it is only valid under certain restrictions on the input arguments.
These restrictions are defined using the following optional attributes: \lstinline!order! (only a restriction if $\text{\lstinline!order!} > 1$, the default for \lstinline!order! is 1), \lstinline!noDerivative!, and \lstinline!zeroDerivative!.
Expand Down
13 changes: 6 additions & 7 deletions chapters/revisions.tex
Expand Up @@ -173,7 +173,7 @@ \subsection{Main changes in Modelica 3.5}\label{main-changes-in-modelica-3-5}
\begin{itemize}
\item Annotation SourceDirectory which is a starting point for exporting sources, \cref{annotations-for-external-libraries-and-include-files}.
Ticket \href{https://github.com/modelica/ModelicaSpecification/issues/2145}{\#2145}.
\item Clarified Evaluate annotation for hierarchical components, \cref{annotations-for-code-generation}.
\item Clarified Evaluate annotation for hierarchical components, \cref{annotations-for-symbolic-processing}.
Ticket \href{https://github.com/modelica/ModelicaSpecification/issues/2288}{\#2288}.
\item Added test-case annotation for incorrect models, \cref{modelica:TestCase}.
Ticket \href{https://github.com/modelica/ModelicaSpecification/issues/2340}{\#2340}.
Expand Down Expand Up @@ -1109,7 +1109,7 @@ \subsection{Main changes in Modelica 3.3}\label{main-changes-in-modelica-3-3}
Additional annotations allowing:
\begin{itemize}
\item
Functions to generate events, \cref{annotations-for-code-generation}.
Functions to generate events, \cref{modelica:GenerateEvents}.
\item
Experiments to specify a time-resolution of simulation result, \cref{modelica:experiment}.
\item
Expand Down Expand Up @@ -1264,11 +1264,10 @@ \subsection{Main changes in Modelica 3.2 Revision 2}\label{main-changes-in-model
\item
New built-in operator \lstinline!Connections.rooted(A.R)! to inquire whether an overdetermined type or record instance \lstinline!A.R! in a call to \lstinline!Connections.branch(A.R, B.R)! is closer to the root of the spanning tree than \lstinline!B.R!, \cref{overconstrained-equation-operators-for-connection-graphs} (used in MSL 3.2 to avoid algebraic loops in several components such as in \lstinline!Modelica.Mechanics.MultiBody.Joints.Revolute!).
\item
Several new annotations where vendor-specific variants were used in MSL 3.2; \cref{annotation-choices-for-suggested-redeclarations-and-modifications}, \cref{annotations-for-documentation}, \cref{annotations-for-code-generation}, \cref{modelica:experiment}, \cref{connections}, and \cref{annotations-for-the-graphical-user-interface}.
Several new annotations where vendor-specific variants were used in MSL 3.2; \cref{annotation-choices-for-suggested-redeclarations-and-modifications}, \cref{annotations-for-documentation}, \cref{annotations-for-symbolic-processing}, \cref{modelica:experiment}, \cref{connections}, and \cref{annotations-for-the-graphical-user-interface}.
\item
Specified that Evaluate can also occur in types, since this is used in
MSL and important for performance; \cref{annotations-for-code-generation}. Ticket
\href{https://github.com/modelica/ModelicaSpecification/issues/925}{\#925}.
Specified that \lstinline!Evaluate! can also occur in types, since this is used in MSL and important for performance; \cref{modelica:Evaluate}.
Ticket \href{https://github.com/modelica/ModelicaSpecification/issues/925}{\#925}.
\item
Macros in graphical text items, \cref{text}. Ticket
\href{https://github.com/modelica/ModelicaSpecification/issues/659}{\#659}. (This
Expand Down Expand Up @@ -2197,7 +2196,7 @@ \subsection{Main Changes in Modelica 3.0}\label{main-changes-in-modelica-3-0}
New annotation in \crefnameref{annotations-for-documentation}:\\
\lstinline!preferredView = info!, \lstinline!diagram! or \lstinline!text!
\item
New annotations \crefnameref{annotations-for-code-generation}:\\
New annotations in \crefnameref{function-inlining-and-event-generation}, \crefnameref{declaring-derivatives-of-functions}, and \crefnameref{annotations-for-symbolic-processing}:\\
\lstinline!Evaluate!, \lstinline!HideResult!, \lstinline!Inline!, \lstinline!LateInline!, \lstinline!smoothOrder!
\item
New annotation \cref{modelica:experiment}:\\
Expand Down
3 changes: 1 addition & 2 deletions chapters/scoping.tex
Expand Up @@ -514,8 +514,7 @@ \subsubsection{Steps of Instantiation}\label{steps-of-instantiation}
declaration are copied to the instance without merging.

\begin{nonnormative}
The annotations can be relevant for simulations, e.g.\ annotations for code generation (\cref{annotations-for-code-generation}.), simulation experiments
(\cref{modelica:experiment}) or functions (\cref{declaring-derivatives-of-functions}, \cref{declaring-inverses-of-functions} and \cref{external-function-interface}).
The annotations can be relevant for simulations, e.g.\ annotations for symbolic processing (\cref{modelica:Evaluate}), simulation experiments (\cref{modelica:experiment}) or functions (\cref{declaring-derivatives-of-functions}, \cref{declaring-inverses-of-functions} and \cref{external-function-interface}).
\end{nonnormative}

Extends clauses are not looked up, but empty extends clause nodes are created and inserted into the current instance (to be able to preserve the declaration order of components).
Expand Down

0 comments on commit f2e2a02

Please sign in to comment.