From 32c9d036ad15271e18ea8190fa95c428a2002f9c Mon Sep 17 00:00:00 2001 From: Henrik Tidefelt Date: Thu, 26 Nov 2020 23:35:47 +0100 Subject: [PATCH] Upgrade from BibTeX to biblatex --- MLS.tex | 6 +++--- chapters/statemachines.tex | 4 ++-- chapters/synchronous.tex | 12 ++++++------ preamble.tex | 14 ++++++++++---- 4 files changed, 21 insertions(+), 15 deletions(-) diff --git a/MLS.tex b/MLS.tex index f6c344d38..d97808a92 100644 --- a/MLS.tex +++ b/MLS.tex @@ -2,6 +2,7 @@ \NeedsTeXFormat{LaTeX2e} \usepackage[utf8]{inputenc} \input{preamble.tex} +\addbibresource{mls.bib} % Define title for use by LaTeXML. % An extended title is defined separately in the 'titlepage'. @@ -165,10 +166,9 @@ % Modelica Revision History \input{chapters/revisions} -\clearpage -\phantomsection +\clearpage\phantomsection \addcontentsline{toc}{chapter}{\bibname} -\bibliography{mls} +\printbibliography % Literature \input{chapters/literature} diff --git a/chapters/statemachines.tex b/chapters/statemachines.tex index d72084d5d..5c72c53fe 100644 --- a/chapters/statemachines.tex +++ b/chapters/statemachines.tex @@ -1,12 +1,12 @@ \chapter{State Machines}\label{state-machines} This chapter defines language elements to define clocked state machines. -These state machines have a similar modeling power as Statecharts \citep{Harel1987Statecharts} and have the important feature that at one clock tick, there is only one assignment to every variable (for example, it is an error if state machines are executed in parallel and they assign to the same variable at the same clock tick; such errors are detected during translation). +These state machines have a similar modeling power as Statecharts \parencite{Harel1987Statecharts} and have the important feature that at one clock tick, there is only one assignment to every variable (for example, it is an error if state machines are executed in parallel and they assign to the same variable at the same clock tick; such errors are detected during translation). Furthermore, it is possible to activate and deactivate clocked equations and blocks at a clock tick. An efficient implementation will only evaluate the equations and blocks that are active at the current clock tick. With other Modelica language elements, this important feature cannot be defined. -The semantics of the state machines defined in this chapter is inspired by mode automata and is basically the one from Lucid Synchrone 3.0 \citep{Pouzet2006LucidSynchrone30}. +The semantics of the state machines defined in this chapter is inspired by mode automata and is basically the one from Lucid Synchrone 3.0 \parencite{Pouzet2006LucidSynchrone30}. Note, safety critical control software in aircrafts is often defined with such kind of state machines. The following properties are different to Lucid Synchrone 3.0: \begin{itemize} diff --git a/chapters/synchronous.tex b/chapters/synchronous.tex index cbfb7012e..642b0977f 100644 --- a/chapters/synchronous.tex +++ b/chapters/synchronous.tex @@ -61,9 +61,9 @@ \chapter{Synchronous Language Elements}\label{synchronous-language-elements} clock only at a few places (above only in the sampler, whereas in the discrete controller and the hold the sampling period is inferred). \item - The approach in this chapter is based on the clock calculus and inference system proposed by \citet{ColacoPouzet2003ClocksFirstClass} and implemented in Lucid Synchrone version 2 and 3 \citep{Pouzet2006LucidSynchrone30}. - However, the Modelica approach also uses multi-rate periodic clocks based on rational arithmetic introduced by \citet{ForgetEtAl2008MultiPeriodic}, as an extension of the Lucid Synchrone semantics. - These approaches belong to the class of synchronous languages \citep{BenvenisteEtAl2003SynchronousTwelveYearsLater}. + The approach in this chapter is based on the clock calculus and inference system proposed by \textcite{ColacoPouzet2003ClocksFirstClass} and implemented in Lucid Synchrone version 2 and 3 \parencite{Pouzet2006LucidSynchrone30}. + However, the Modelica approach also uses multi-rate periodic clocks based on rational arithmetic introduced by \textcite{ForgetEtAl2008MultiPeriodic}, as an extension of the Lucid Synchrone semantics. + These approaches belong to the class of synchronous languages \parencite{BenvenisteEtAl2003SynchronousTwelveYearsLater}. \end{itemize} \section{Rationale for Clocked Semantics}\label{rationale-for-clocked-semantics} @@ -127,7 +127,7 @@ \section{Rationale for Clocked Semantics}\label{rationale-for-clocked-semantics} For a standard when-clause the condition (sampling) must be explicitly propagated to all blocks, which is tedious and error prone for large systems. \item - Possible to use general continuous-time models in synchronous models (e.g.\ some advanced controllers use an inverse model of a plant in the feedforward path of the controller, see \citet{ThummelEtAl2005InverseModels}). + Possible to use general continuous-time models in synchronous models (e.g.\ some advanced controllers use an inverse model of a plant in the feedforward path of the controller, see \textcite{ThummelEtAl2005InverseModels}). This powerful feature of Modelica to use a nonlinear plant model in a controller would require to export the continuous-time model with an embedded integration method and then import it in an environment where the rest of the controller is defined. With clocked equations, clocked controllers with continuous-time models can be directly defined in Modelica. \item @@ -1021,7 +1021,7 @@ \section{Continuous-Time Equations in Clocked Partitions}\label{continuous-time- \begin{nonnormative} The goal is that every continuous-time Modelica model can be utilized in a sampled data control system. This is achieved by solving the continuous-time equations with a defined integration method between clock ticks. -With this feature, it is for example possible to invert the nonlinear dynamic model of a plant, see \citet{ThummelEtAl2005InverseModels}, and use it in a feedforward path of an advanced control system that is associated with a clock. +With this feature, it is for example possible to invert the nonlinear dynamic model of a plant, see \textcite{ThummelEtAl2005InverseModels}, and use it in a feedforward path of an advanced control system that is associated with a clock. This feature also allows defining multi-rate systems: Different parts of the continuous-time model are associated to different clocks and are solved with different integration methods between clock ticks, e.g., a very fast sub-system with an implicit solver with a small step-size and a slow sub-system with an explicit solver with a large step-size. @@ -1249,7 +1249,7 @@ \subsection{Solver Methods}\label{solver-methods} \begin{nonnormative} For the implicit integration methods the efficiency can be enhanced by utilizing the discretization formula during the symbolic transformation of the equations. For example, linear differential equations are then mapped to linear and not non-linear algebraic equation systems, and also the structure of the equations can be utilized. -For details see \citet{ElmqvistOtterCellier1995InlineIntegration}. +For details see \textcite{ElmqvistOtterCellier1995InlineIntegration}. It might be necessary to associate additional data for an implicit integration method, e.g.\ the relative tolerance to solve the non-linear algebraic equation systems, or the maximum number of iterations in case of hard realtime requirements. This data is tool specific and is typically either defined with a vendor annotation or is given in the simulation environment. \end{nonnormative} diff --git a/preamble.tex b/preamble.tex index 1abb7b669..ba28b7420 100644 --- a/preamble.tex +++ b/preamble.tex @@ -76,14 +76,20 @@ \fi \setcounter{totalnumber}{1000} \raggedbottom -\usepackage[backref=page]{hyperref} + +\usepackage{hyperref} % The bookmarks are used as table-of-contents in Acrobat % The default (magenta for urls and red for internal links) isn't nice \hypersetup{bookmarksnumbered=true, hidelinks, urlcolor=blue, linkcolor=blue} -\usepackage{multirow} % for multirow entries in tables -\usepackage[round,authoryear]{natbib} -\bibliographystyle{plainnat} +\usepackage[ + style=authoryear, + backref=true, + maxnames=6, +]{biblatex} +\setlength\bibitemsep{0.5\baselineskip} + +\usepackage{multirow} % for multirow entries in tables % When producing PDF, the ttfamily looks better in size \small, but with LaTeXML this becomes too small, % and the size is applied deep down on the HTML elements, making it hard to adjust using CSS.