feat (report): Progress on report.
This commit is contained in:
parent
36806f9af5
commit
5d40900390
7 changed files with 3019 additions and 189 deletions
22
LICENSE.txt
22
LICENSE.txt
|
|
@ -1,3 +1,25 @@
|
|||
License Exception for "alphanumeric.csl"
|
||||
|
||||
The "alphanumeric.csl" file located in the "doc/" directory of this project
|
||||
is sourced from an external repository and is subject to different
|
||||
licensing terms. Specifically, this file is released under the CREATIVE
|
||||
COMMONS ATTRIBUTION-SHAREALIKE 3.0 UNPORTED license.
|
||||
|
||||
Conditions for Use:
|
||||
|
||||
* Attribution: Any software using the "alphanumeric.csl" file must
|
||||
include a clear mention of the CSL project and a link to
|
||||
[https://citationstyles.org/].
|
||||
* Redistribution: When redistributing the "alphanumeric.csl" file,
|
||||
the listings of authors and contributors in the style metadata must
|
||||
be preserved as is.
|
||||
|
||||
This exception applies solely to the "alphanumeric.csl" file and does
|
||||
not affect the licensing of the rest of the project, which remains under
|
||||
the CeCILL FREE SOFTWARE LICENSE AGREEMENT, Version 2.1 dated 2013-06-21,
|
||||
included below.
|
||||
|
||||
|
||||
|
||||
CeCILL FREE SOFTWARE LICENSE AGREEMENT
|
||||
|
||||
|
|
|
|||
361
doc/alphanumeric.csl
Normal file
361
doc/alphanumeric.csl
Normal file
|
|
@ -0,0 +1,361 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="de-DE">
|
||||
<info>
|
||||
<title>DIN 1505-2 (alphanumeric, Deutsch) - standard superseded by ISO-690</title>
|
||||
<id>http://www.zotero.org/styles/din-1505-2-alphanumeric</id>
|
||||
<link href="http://www.zotero.org/styles/din-1505-2-alphanumeric" rel="self"/>
|
||||
<link href="http://www.angst-vor-dem-leeren-blatt.de/docs/download/zitierrichtlinie_din_1505.pdf" rel="documentation"/>
|
||||
<link href="http://www.bui.haw-hamburg.de/fileadmin/redaktion/diplom/Lorenzen__litverz.pdf" rel="documentation"/>
|
||||
<link href="http://de.wikipedia.org/wiki/DIN_1505-2" rel="documentation"/>
|
||||
<link href="http://forums.zotero.org/discussion/5239/1/first-letter-of-author-as-citation/" rel="documentation"/>
|
||||
<author>
|
||||
<name>Sven Rothe</name>
|
||||
<email>mmoole@googlemail.com</email>
|
||||
</author>
|
||||
<contributor>
|
||||
<name>Julian Onions</name>
|
||||
<email>julian.onions@gmail.com</email>
|
||||
</contributor>
|
||||
<contributor>
|
||||
<name>Sebastian Karcher</name>
|
||||
</contributor>
|
||||
<category citation-format="label"/>
|
||||
<category field="generic-base"/>
|
||||
<summary>Style following DIN 1505-2, using the alphanumeric citation keys, for other media types on additional standards
|
||||
Hinweise zur Benutzung:
|
||||
* Zitieren von Gesetzen:
|
||||
- hier müssen manuell §, Abs und S. zur Seitenangabe beim Zitieren eingetragen werden
|
||||
- im Kurzbeleg wird der Kurztitel verwendet, dafür keine Autoren eintragen!
|
||||
- als Jahresangabe wird 'Datum des Inkrafttretens' herangezogen, Verwenden nur bei Verweis auf nicht z.Z. gültige Gesetze, z.B. (idF. v. 12.12.1972)
|
||||
* Zitieren von Normen und Standards - nicht vollständig nach DIN 1505
|
||||
- Nutzen Sie den Typ 'Bericht' - als Abhilfe, da es keinen Typ 'Standard' gibt.
|
||||
- als Autor die Kurzbezeichnung inkl. Nummer und Jahr eingeben (z.B. VDI 2222-1997), Vorname leer, Jahr leer
|
||||
- als Titel den ausführlichen Titel bei Bedarf (z.B. VDI Richtlinie 2222 Blatt 1 - Konstruktionsmethodik - Methodisches Entwickeln von Lösungsprinzipien)</summary>
|
||||
<!-- This is just a beginning to try to have a DIN 1505 citation style,
|
||||
Feel free to send me any comments, suggestions etc...
|
||||
todo:
|
||||
* basic media types (book, journal article, etc..)
|
||||
* more media types (according DINxxx) audio video etc...
|
||||
* fine tuning
|
||||
* correcting errors
|
||||
known bugs, help appreciated
|
||||
* Abbreviations (Mitarb.) & (Hrsg. der Reihe) are missing (contributor, seriesEditor labels)
|
||||
* "contributor" is not valid as a name variable , nevertheless it works but doesnt validate!
|
||||
* author etc. first names should not be abbreviated
|
||||
* reviewed author seems to be not available as variable (newspaper article)
|
||||
* thesis type does notoffer a PLACE or FACULTY as variable!
|
||||
how to show the place if it is not included in the University title!?!?
|
||||
* thesis type: publisher (university), genre (type) dont seem to get through!?
|
||||
-->
|
||||
<!-- useful things:
|
||||
non breaking space:  
|
||||
narrow no break space: uni202F /   - but this is not supported widely!
|
||||
em dash: —
|
||||
space:  
|
||||
tab: 	
|
||||
|
||||
-->
|
||||
<updated>2012-09-27T22:06:38+00:00</updated>
|
||||
<rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
|
||||
</info>
|
||||
<locale xml:lang="de">
|
||||
<terms>
|
||||
<term name="anonymous" form="short">o. A.</term>
|
||||
<term name="no date" form="short">o. J.</term>
|
||||
<term name="collection-editor" form="short">Hrsg.</term>
|
||||
<term name="retrieved">abgerufen am</term>
|
||||
<term name="composer" form="short">Komp.</term>
|
||||
<term name="composer" form="long">Komponist</term>
|
||||
</terms>
|
||||
</locale>
|
||||
<macro name="author">
|
||||
<names variable="author" delimiter=" ; ">
|
||||
<name name-as-sort-order="all" sort-separator=", " delimiter=" ; " delimiter-precedes-last="always" font-variant="small-caps"/>
|
||||
<label form="short" prefix=" (" suffix=")"/>
|
||||
</names>
|
||||
</macro>
|
||||
<macro name="author-container">
|
||||
<names variable="container-author" delimiter=" ; ">
|
||||
<name name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter=" ; " delimiter-precedes-last="always" font-variant="small-caps"/>
|
||||
<label form="short" prefix=" (" suffix=")"/>
|
||||
</names>
|
||||
</macro>
|
||||
<macro name="editor">
|
||||
<names variable="editor" delimiter=" ; ">
|
||||
<name name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter=" ; " delimiter-precedes-last="always" font-variant="small-caps"/>
|
||||
<label form="short" prefix=" (" suffix=")"/>
|
||||
<!-- needed: Label should appear as suffix to EVERY name...!-->
|
||||
</names>
|
||||
</macro>
|
||||
<macro name="editor-collection">
|
||||
<names variable="collection-editor" delimiter=" ; ">
|
||||
<name name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter=" ; " delimiter-precedes-last="always" font-variant="small-caps"/>
|
||||
<label form="short" prefix=" (" suffix=")"/>
|
||||
<!-- needed: Label should appear as suffix to EVERY name...!-->
|
||||
</names>
|
||||
</macro>
|
||||
<macro name="composer">
|
||||
<names variable="composer" delimiter=" ; ">
|
||||
<name name-as-sort-order="all" sort-separator=", " delimiter=" ; " delimiter-precedes-last="always" font-variant="small-caps"/>
|
||||
<label form="long" prefix=" (" suffix=")"/>
|
||||
<!-- needed: Label should appear as suffix to EVERY name...!-->
|
||||
</names>
|
||||
</macro>
|
||||
<!-- <macro name="contributor">
|
||||
<names variable=" " delimiter=" ; ">
|
||||
<name name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter=" ; "
|
||||
delimiter-precedes-last="always" font-variant="small-caps"/>
|
||||
<label form="short" prefix=" (" suffix=")"/>
|
||||
</names>
|
||||
</macro>-->
|
||||
<macro name="translator">
|
||||
<names variable="translator" delimiter=" ; ">
|
||||
<name name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter=" ; " delimiter-precedes-last="always" font-variant="small-caps"/>
|
||||
<label form="short" prefix=" (" suffix=")"/>
|
||||
<!-- needed: Label should appear as suffix to EVERY name...!-->
|
||||
</names>
|
||||
</macro>
|
||||
<macro name="recipient">
|
||||
<names variable="recipient" delimiter=" ; ">
|
||||
<name name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter=" ; " delimiter-precedes-last="always" font-variant="small-caps"/>
|
||||
<!--<label form="long" prefix=" (" suffix=")"/>-->
|
||||
<!-- needed: Label should appear as suffix to EVERY name...!-->
|
||||
</names>
|
||||
</macro>
|
||||
<macro name="access">
|
||||
<group>
|
||||
<text term="retrieved" suffix=" "/>
|
||||
<date variable="accessed">
|
||||
<date-part name="year" form="long" suffix="-"/>
|
||||
<date-part name="month" form="numeric-leading-zeros" suffix="-"/>
|
||||
<date-part name="day" form="numeric-leading-zeros"/>
|
||||
</date>
|
||||
<!--<date variable="accessed" form="numeric" date-parts="year-month-day"/> // dd.mm.yyy -->
|
||||
</group>
|
||||
</macro>
|
||||
<macro name="title">
|
||||
<choose>
|
||||
<if type="bill legislation" match="any">
|
||||
<group delimiter=" — ">
|
||||
<text variable="title-short" font-style="normal"/>
|
||||
<text variable="title"/>
|
||||
</group>
|
||||
</if>
|
||||
<else-if type="book graphic legal_case motion_picture report song" match="any">
|
||||
<text variable="title" font-style="italic"/>
|
||||
</else-if>
|
||||
<else>
|
||||
<text variable="title"/>
|
||||
</else>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="genre">
|
||||
<choose>
|
||||
<if type="report thesis manuscript map" match="any">
|
||||
<group>
|
||||
<text variable="genre"/>
|
||||
<!--<text term="number" form="short" suffix=" "/>-->
|
||||
<text variable="number" prefix=" Nr. "/>
|
||||
</group>
|
||||
</if>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="volumes">
|
||||
<group delimiter=" ">
|
||||
<text term="volume" form="short" plural="false"/>
|
||||
<number variable="volume" form="numeric"/>
|
||||
<number variable="number-of-volumes" form="numeric" prefix="v. "/>
|
||||
</group>
|
||||
</macro>
|
||||
<macro name="edition">
|
||||
<choose>
|
||||
<if is-numeric="edition">
|
||||
<group delimiter=" ">
|
||||
<number variable="edition" form="numeric" suffix=". "/>
|
||||
<text term="edition" form="short" plural="false"/>
|
||||
</group>
|
||||
</if>
|
||||
<else>
|
||||
<text variable="edition" suffix="."/>
|
||||
</else>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="pages">
|
||||
<choose>
|
||||
<if type="chapter paper-conference article-journal" match="any">
|
||||
<label variable="page" form="short" suffix=" "/>
|
||||
<text variable="page"/>
|
||||
</if>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="dimensions">
|
||||
<group>
|
||||
<text variable="dimensions"/>
|
||||
</group>
|
||||
</macro>
|
||||
<macro name="medium">
|
||||
<group>
|
||||
<text variable="medium"/>
|
||||
</group>
|
||||
</macro>
|
||||
<macro name="scale">
|
||||
<group>
|
||||
<text term="scale"/>
|
||||
<text prefix=" " variable="scale"/>
|
||||
</group>
|
||||
</macro>
|
||||
<macro name="recipient-show">
|
||||
<choose>
|
||||
<if type="personal_communication">
|
||||
<choose>
|
||||
<if variable="genre">
|
||||
<text variable="genre" text-case="capitalize-first"/>
|
||||
</if>
|
||||
<else>
|
||||
<text term="letter" text-case="capitalize-first"/>
|
||||
</else>
|
||||
</choose>
|
||||
</if>
|
||||
</choose>
|
||||
<text macro="recipient" prefix=", "/>
|
||||
</macro>
|
||||
<citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="false" disambiguate-add-givenname="false" collapse="year">
|
||||
<sort>
|
||||
<key variable="citation-label"/>
|
||||
</sort>
|
||||
<layout prefix="[" suffix="]" delimiter="; ">
|
||||
<group delimiter=", ">
|
||||
<text variable="citation-label"/>
|
||||
<group>
|
||||
<label variable="locator" form="short"/>
|
||||
<text variable="locator"/>
|
||||
</group>
|
||||
</group>
|
||||
</layout>
|
||||
</citation>
|
||||
<bibliography et-al-min="9" et-al-use-first="8" second-field-align="flush">
|
||||
<sort>
|
||||
<key variable="citation-label"/>
|
||||
</sort>
|
||||
<layout>
|
||||
<text variable="citation-label" prefix="[" suffix="] "/>
|
||||
<group delimiter=" ; " suffix=":">
|
||||
<text macro="author"/>
|
||||
<choose>
|
||||
<if type="bill book graphic legal_case legislation manuscript map motion_picture report song thesis webpage" match="any">
|
||||
<!-- except type="chapter article " etc.... -->
|
||||
<text macro="editor"/>
|
||||
<text macro="editor-collection"/>
|
||||
<text macro="composer"/>
|
||||
</if>
|
||||
</choose>
|
||||
<!-- <text macro="contributor"/> -->
|
||||
<text macro="translator"/>
|
||||
</group>
|
||||
<choose>
|
||||
<!-- Tabelle 1 aus litverz.ps -->
|
||||
<if type="bill book broadcast graphic legal_case legislation manuscript map motion_picture report song" match="any">
|
||||
<text prefix=" " macro="title"/>
|
||||
<text prefix=", " variable="collection-title" font-style="italic"/>
|
||||
<!--Reihe-->
|
||||
<text prefix=" (" macro="genre" suffix=")"/>
|
||||
<text prefix=". " macro="volumes"/>
|
||||
<text prefix=". " macro="edition"/>
|
||||
<text prefix=". " macro="medium"/>
|
||||
<text prefix=". " macro="dimensions"/>
|
||||
<text prefix=". " variable="publisher-place"/>
|
||||
<text prefix=" : " variable="publisher"/>
|
||||
<date prefix=", " variable="issued" form="numeric" date-parts="year"/>
|
||||
<!-- " (1. Gesamttitel mit Zählung)"
|
||||
" (2. Gesamttitel mit Zählung)" -->
|
||||
<text prefix=" – " macro="scale"/>
|
||||
<text prefix=". — " variable="note"/>
|
||||
<text prefix=" — ISBN " variable="ISBN"/>
|
||||
</if>
|
||||
<!-- Tabelle 3 aus litverz.ps -->
|
||||
<else-if type="chapter paper-conference" match="any">
|
||||
<text prefix=" " macro="title" suffix="."/>
|
||||
<text prefix=". " term="in" text-case="capitalize-all" suffix=": "/>
|
||||
<!-- verfahre nach Tabelle 1... -->
|
||||
<group delimiter=" ; " suffix=": ">
|
||||
<text macro="author-container"/>
|
||||
<text macro="editor"/>
|
||||
<text macro="editor-collection"/>
|
||||
</group>
|
||||
<text variable="container-title" font-style="italic"/>
|
||||
<text prefix=", " variable="collection-title" font-style="italic"/>
|
||||
<!-- Reihe -->
|
||||
<text prefix=". " macro="volumes"/>
|
||||
<!-- <text prefix=" : " variable="title of volumes"/> what is this? -->
|
||||
<text prefix=". " macro="edition"/>
|
||||
<text prefix=". " variable="publisher-place"/>
|
||||
<text prefix=" : " variable="publisher"/>
|
||||
<date prefix=", " variable="issued" form="numeric" date-parts="year"/>
|
||||
<!-- " (1. Gesamttitel mit Zählung)"
|
||||
" (2. Gesamttitel mit Zählung)" -->
|
||||
<text prefix=". — " variable="note"/>
|
||||
<text prefix=" — ISBN " variable="ISBN"/>
|
||||
<text prefix=", " macro="pages"/>
|
||||
</else-if>
|
||||
<!-- Tabelle 5 aus litverz.ps - Hochschulschriften
|
||||
(Diplomarbeiten, Dissertationen, Master-A., unverö. Studienarbeiten -->
|
||||
<else-if type="thesis" match="any">
|
||||
<text prefix=" " macro="title" font-style="italic"/>
|
||||
<text prefix=". " macro="edition"/>
|
||||
<text prefix=". " variable="publisher-place"/>
|
||||
<text prefix=", " variable="publisher" form="long"/>
|
||||
<!-- <text prefix=", " variable="faculty"/> -->
|
||||
<text prefix=", " macro="genre"/>
|
||||
<date prefix=", " variable="issued" form="numeric" date-parts="year"/>
|
||||
<text prefix=". — " variable="note"/>
|
||||
</else-if>
|
||||
<else-if type="webpage post post-weblog" match="any">
|
||||
<text prefix=" " macro="title" suffix=". " font-style="italic"/>
|
||||
<text prefix="URL " variable="URL"/>
|
||||
<text prefix=". - " macro="access"/>
|
||||
<text prefix=". — " variable="container-title"/>
|
||||
<text prefix=". — " variable="note"/>
|
||||
</else-if>
|
||||
<!-- Tabelle 2 aus litverz.ps UND -->
|
||||
<!-- Tabelle 4 aus litverz.ps - Schriften von Tagungen, Konferenzen, Symposien, ...-->
|
||||
<else-if type="article article-journal article-magazine article-newspaper" match="any">
|
||||
<text prefix=" " variable="title"/>
|
||||
<!-- " : Zusatz zum Sachtitel"
|
||||
". Angabe des Teils"
|
||||
" (Gesamttitelangabe)" -->
|
||||
<group>
|
||||
<text prefix=". " term="in" text-case="capitalize-first" suffix=": "/>
|
||||
<text macro="editor" suffix=" "/>
|
||||
<text variable="container-title" font-style="italic"/>
|
||||
<text prefix=", " variable="collection-title" font-style="italic" suffix="."/>
|
||||
<!--", unterreihe der zeitschrift/zeitung" -->
|
||||
</group>
|
||||
<text prefix=" " macro="volumes"/>
|
||||
<text prefix=". " variable="publisher-place"/>
|
||||
<text prefix=", " variable="publisher" form="long"/>
|
||||
<date prefix=" (" suffix=")" variable="issued" form="numeric" date-parts="year"/>
|
||||
<text prefix=", Nr. " variable="issue"/>
|
||||
<text prefix=", " macro="pages"/>
|
||||
<text prefix=". — " variable="note"/>
|
||||
<text prefix=" — ISBN " variable="ISBN"/>
|
||||
</else-if>
|
||||
<!-- keiner der oben genannten fälle -->
|
||||
<else>
|
||||
<group suffix=".">
|
||||
<text prefix=" " macro="title"/>
|
||||
<text prefix=", " macro="editor"/>
|
||||
<text prefix=". " macro="recipient-show"/>
|
||||
</group>
|
||||
<group prefix=" " suffix=".">
|
||||
<text variable="container-title" font-style="italic"/>
|
||||
<group prefix=", ">
|
||||
<text variable="volume" font-style="italic"/>
|
||||
<text variable="issue" prefix="(" suffix=")"/>
|
||||
</group>
|
||||
<text prefix=", " macro="pages"/>
|
||||
</group>
|
||||
</else>
|
||||
</choose>
|
||||
</layout>
|
||||
</bibliography>
|
||||
</style>
|
||||
1001
doc/data/sincos_discrete.csv
Normal file
1001
doc/data/sincos_discrete.csv
Normal file
File diff suppressed because it is too large
Load diff
228
doc/remarques.typ
Normal file
228
doc/remarques.typ
Normal file
|
|
@ -0,0 +1,228 @@
|
|||
La phrase "it is less computationally intensive... the compiler". est mal dite;
|
||||
tu peux dire que c'est la methode classique, par exemple, implementee pour
|
||||
simulink et aussi Zelus.
|
||||
|
||||
Rmq:
|
||||
|
||||
- Les methodes numeriques (centralisees) les premieres ont ete faites
|
||||
pour resoudre un probleme initial. dx/dt = f (x(t)) t et x(0) = x0 ou x est un
|
||||
vecteur.
|
||||
|
||||
- La "simulation distribuee" (cad faisant intervenir plusieurs solveurs)
|
||||
existe aussi mais pose d'autres problemes: efficacite, convergence. Elle est
|
||||
plus difficile a implementer.
|
||||
|
||||
- Sundials CVODE a une methode centralisee mais avec une implementation de
|
||||
manipulation des vecteurs qui peut etre parallele, cad que tous les calculs de
|
||||
vecteur/matrice peuvent se faire en parallele. On ne l'utilise pas dans Zelus.
|
||||
|
||||
p2.
|
||||
"we cannot necessarily use "pre"...": a mon avis, le lecteur ne peut pas
|
||||
comprendre ce que tu ecris ici. A mon avis, tu peux dire ce qui marche (si je ne
|
||||
me trompe pas, pouvoir internaliser le solveur au modele et donc le composer
|
||||
avec un observateur qui contient son propre solveur) et ce qui est a faire (si
|
||||
je comprends, pouvoir ecrire directement assert dans le code et la compilation
|
||||
pour pouvoir co-simuler le modele et ses differents observateurs/assertions.
|
||||
Pour le "pre", c'est un point que tu peux mentionner plus loin dans le rapport
|
||||
lorsque le lecteur a plus de contexte et de matiere sur ce que tu as fait.
|
||||
|
||||
Il n'y a pas de numero en bas des pages dans ton texte. Il en faut. Impossible
|
||||
de savoir ou on est sinon.
|
||||
|
||||
section 2. Tu parles de streams (Nat -> V) alors que tu donnes une semantique
|
||||
avec des etats. C'est bizarre. Tu ecris pre(s) alors que l'on ne sait pas ce que
|
||||
c'est. le
|
||||
|
||||
```ocaml
|
||||
let rec (o, s) = M.f_step(i, M.s0 -> pre(s))
|
||||
```
|
||||
|
||||
n'est pas du caml valide.
|
||||
|
||||
Que veux-tu dire ? Quel est le type de Simulate(M) ? Je pensais (cf. page
|
||||
d'apres) que tu voudrais ecrire:
|
||||
|
||||
```ocaml
|
||||
simulate(M): list(I) -> list(O)
|
||||
```
|
||||
|
||||
Le listing 1 ne correspond pas a la page precedente (ou l'inverse). Pourquoi ?
|
||||
|
||||
Page d'apres (5 ?).
|
||||
|
||||
Je ne suis pas fan de l'exemple sincos_discrete() tel que tu l'as ecrit car il
|
||||
diverge. Il laisse soupconner que l'on ne peut pas ecrire de schemas numeriques
|
||||
avec des streams. C'est faux, en general.
|
||||
|
||||
En somme, le code listing 2 est un mauvais programme. Il y a une raison
|
||||
mathematique liee a l'analyse des poles; je te montrerai a mon retour. Si tu
|
||||
veux garder cet exemple de sin/cos, il faut mettre deux integrateurs differents,
|
||||
un forward et un backward.
|
||||
|
||||
Ou alors, il faut faire un discours (plus long) pour expliquer pourquoi c'est
|
||||
mieux d'ecrire la forme a temps continu, que justement, elle permet de ne pas se
|
||||
casser la tete pour savoir ou et quand mettre un pre. Mais c'est un peu
|
||||
orthogonal a ce que tu veux raconter.
|
||||
|
||||
Discrete models -> Discrete-time models.
|
||||
Continuous models -> Continuous-time models.
|
||||
|
||||
Tu pourras ensuite dire que tu confonds les deux.
|
||||
|
||||
2.2 la raison de la divergence n'est pas la. Si tu prends un schema backward +
|
||||
forward, ca ne diverge pas. Par contre, si tu prends Van der Pol en discret, pas
|
||||
fixe, avec un pas trop petit ou trop petit, tu tombes sur nan. Regarde. J'avais
|
||||
fait l'exemple (regarde sur le depot; ou refais le).
|
||||
|
||||
Rmq: sin/cos n'est pas un super exemple pour justifier l'interet de Zelus (ou du
|
||||
temps continu en general) car ce systeme est lineaire. Un schema numerique pas
|
||||
fixe (donc programmable directement en synchrone) marche bien. C'est plutot
|
||||
quand la dynamique est compliquee, non lineaire, qu'il te faut un schema
|
||||
numerique plus elabore et que l'expression directe d'un modele a temps continu
|
||||
se justifie. La modelisation d'evenement en etat (zero-crossing) le justifie
|
||||
aussi. Le cas classique, c'est le modele bang-bang. Tu veux detecter les
|
||||
instants ou la temperature passe un seuil. Avec un modele de temps pas fixe, tu
|
||||
ne peux pas.
|
||||
|
||||
avant de donner CNode(...), dit ce qu'est le probleme.
|
||||
Qu'est ce qu'un modele M ?
|
||||
|
||||
```ocaml
|
||||
model (i) = o where
|
||||
der s = f_der i s
|
||||
der o = f_out i s
|
||||
```
|
||||
|
||||
2.3. Tu n'as pas dit/defini ce qu'etait un "initial value problem". Le faire
|
||||
(sinon, on ne comprends pas).
|
||||
|
||||
"the integr node from Listing 2 is another example of a numerical solver
|
||||
(albeit not a very good one)"
|
||||
|
||||
A mon avis, inutile. Que veux-tu dire que tu n'as pas deja dit (on peut calculer
|
||||
une approximation de `(der(x)/dt)(t)` a des instants `n * h` (`n in Nat`) par
|
||||
`(x - pre(x))/h`?
|
||||
|
||||
|
||||
"Of particular interest is the fact that numerical ODE solvers compute
|
||||
approximations sequentially. "
|
||||
|
||||
Ca depend. Les solveurs a memoire (dits "multi-pas"). Les solveurs sans memoire
|
||||
tels que RK, non. A mon avis, tu peux commencer par exempliquer ce que calcule
|
||||
un solveur: etant donne le IVP, l'objectif est de calculer une solution
|
||||
[0, tmax] -> V. En pratique, il ne calcule pas toute la solution. Il calcule une
|
||||
suite de solution pour [0, h0][h0, h1][h1, h2], etc. Relis l'article de
|
||||
Chapoutot et al., de memoire, c'est tres bien explique. Sinon, il y a les livres
|
||||
jaunes dans l'etagere de mon bureau.
|
||||
|
||||
"This sequential process gives way to a synchronous interpretation of an ODE
|
||||
solver as a discrete node."
|
||||
|
||||
Qu'est-ce qu'un "discrete node" ?
|
||||
|
||||
IVP(Y, Y'). Aurait du arriver bien plus tot.
|
||||
|
||||
dy /dt (t) = f t (y(t))
|
||||
y(0) = y0
|
||||
|
||||
donner l'horizon de temps (par defaut, +infty ?).
|
||||
|
||||
Je prendrais une autre lettre que "s". (on note s pour "state" en general). "o",
|
||||
pour "output" ?
|
||||
|
||||
La notation pointee est un peu troublante (en math, on la confond avec la
|
||||
multiplication. Utiliser une police ad-hoc pour h et u de sorte que s_0.u ne
|
||||
soit pas ambigu.
|
||||
|
||||
mets des numeros de ligne dans ton texte stp. Il y a un style latex pour ca. Ou
|
||||
au moins des no. de page.
|
||||
|
||||
"The ODE solver does not itself introduce discontinuities; the only
|
||||
discontinuities in the system are those introduced by the input signal."
|
||||
|
||||
Avant de dire cela, tu ne parles par d'entrees. Pour le moment, ton systeme
|
||||
n'est pas "hybride". C'est une ODE. Tu ne donnes pas d'hypotheses sur f. En
|
||||
faut-il ? Lesquelles ?
|
||||
|
||||
"The simulation of a continuous-time system with an ODE solver is now itself a
|
||||
synchronous node:"
|
||||
|
||||
c'est un point de vue. Puisque la simulation d'un modele a temps continu calcule
|
||||
une suite de solutions approchees, ne pourrait-on pas la voir elle meme comme
|
||||
une machine synchrone qui...
|
||||
|
||||
page suivante.
|
||||
|
||||
Plutot que Signal(V), j'utiliserais un autre nom. Tu as deja un langage qui
|
||||
manipule des signaux, non ?
|
||||
|
||||
Superdense(V) ? En reference aux travaux de Pnueli et al. Puis Edward Lee et al.
|
||||
Puis Caspi et al.
|
||||
|
||||
Superdence(V) = R+ -> Nat -> V avec, a cote, une fonction qui pour chaque t in
|
||||
R+, donne le nombre de sauts (relire les articles; j'ai oublie le nom de cette
|
||||
fonction). step(t) in Nat.
|
||||
|
||||
est-ce tres different de
|
||||
|
||||
Nat -> R+ -> V avec a cote, une fonction qui indique le temps qui s'ecoule pour
|
||||
chaque n in Nat ?
|
||||
|
||||
Dans un des articles de Edward Lee, il explique le type des signaux pour le
|
||||
temps continu. Regarde son livre (vert) sur mon etagere.
|
||||
|
||||
Le texte de cette page (8 ?) est un peu confus.
|
||||
|
||||
est-ce que les bouts de fonctions sont collees les uns aux autres ?
|
||||
|
||||
none a le sens de "not yet" ? Comment recolles-tu les morceaux ?
|
||||
|
||||
(h0, u0) (h1, u1) ... (hn, un)
|
||||
|
||||
est-ce equivalent a :
|
||||
|
||||
(h0, u0) none (h1, u1) none none (hn, un) ?
|
||||
|
||||
A ce stade, tu n'as pas dit ce qu'etait $italic("CNode")(I, O, S_M, S'_M)$. A
|
||||
quoi ca ressemble ?
|
||||
|
||||
Les elements du listing 4 doivent etre donnes dans le texte en maths. Le code
|
||||
caml doit etre mis aussi dans le listing 4. Je comprends bien mieux le code que
|
||||
les explications ! Sois plus precis dans le texte, ca aidera a comprendre.
|
||||
|
||||
utiliser hmax plutot que h pour ivp. Eviter les surcharges de noms autant que
|
||||
possible.
|
||||
|
||||
Plutot que "discrete node", utiliser "synchronous machine" ? Le terme "machine"
|
||||
est un terme technique des annees 60/70. Cf. articles historiques sur les
|
||||
automates et les "sequential machines". Tu peux dire, qui se caraterise par un
|
||||
etat initial, une fonction step lisant une entree et produisant une sortie,
|
||||
(plus une fonction reset) si tu veux.
|
||||
|
||||
"Since time is logical in discrete nodes". Un peu trop pedant (et obscur) a mon
|
||||
avis. On manipule des suites de valeurs; il n'y a donc pas de temps reel ou
|
||||
physique. Le temps est juste la succession des valeurs.
|
||||
|
||||
Le paragraphe "The question of discrete events..." est un peu confus. Donne un
|
||||
exemple. E.g., un timer: un controleur ouvre un robinet pendant 4s; une lumiere
|
||||
doit clignoter en alternant allume/eteint 1s/2s. ce sont des cas ou il y a des
|
||||
evenements en temps, cad en reference a la variable t (der t = 1 init 0).
|
||||
D'autres evenements ne sont pas des evenements en temps. E.g., une roue qui
|
||||
tourne (e.g. volant moteur). Compter le nombre de tours de roue par seconde avec
|
||||
un capteur. Le schema general est dit de "Zero-crossing". Etc. La balle qui
|
||||
rebondit, etc. Tu en trouveras d'autres !
|
||||
|
||||
|
||||
La suite est pas mal. Il faut expliquer (et possiblement donner le code, au
|
||||
moins en annexe) pour 2.5, 2.6, 2.7.
|
||||
|
||||
Ca prend forme. Tu peux donner l'intuition de la compilation. Dans le source, on
|
||||
melange les der, present, up, etc. et le compilo., apres une analyse statique
|
||||
(qui va verifier des proprietes et donc rejeter certains programmes), va
|
||||
produire les differentes fonctions necessaires a la simulation qui alterne des
|
||||
phases d'integration (le temps ronronne) et des pas discrets (reactions
|
||||
instantanees).
|
||||
|
||||
Super. Continue ! --Marc
|
||||
|
||||
|
||||
1497
doc/rep.typ
1497
doc/rep.typ
File diff suppressed because it is too large
Load diff
|
|
@ -41,7 +41,6 @@
|
|||
modelers).},
|
||||
}
|
||||
@inbook{cit:op_sem_hyb_sys,
|
||||
address = {Berlin, Heidelberg},
|
||||
series = {Lecture Notes in Computer Science},
|
||||
title = {Operational Semantics of Hybrid Systems},
|
||||
volume = {3414},
|
||||
|
|
@ -128,10 +127,88 @@
|
|||
author = {Alur, Rajeev and Courcoubetis, Costas and Halbwachs, Nicolas and
|
||||
Henzinger, Thomas A and Ho, P-H and Nicollin, Xavier and Olivero,
|
||||
Alfredo and Sifakis, Joseph and Yovine, Sergio},
|
||||
journal = {Theoretical computer science},
|
||||
journal = {Theoretical Computer Science},
|
||||
volume = {138},
|
||||
number = {1},
|
||||
pages = {3--34},
|
||||
year = {1995},
|
||||
publisher = {Elsevier},
|
||||
}
|
||||
@inproceedings{cit:lustre,
|
||||
title = {LUSTRE: A declarative language for programming synchronous systems},
|
||||
author = {Pilaud, Daniel and Halbwachs, N and Plaice, J.A.},
|
||||
booktitle = {Proceedings of the 14th Annual ACM Symposium on Principles of
|
||||
Programming Languages (14th POPL 1987). ACM, New York, NY},
|
||||
volume = {178},
|
||||
pages = {188},
|
||||
year = {1987},
|
||||
organization = {Citeseer},
|
||||
}
|
||||
@article{cit:sundials,
|
||||
title = {SUNDIALS: Suite of nonlinear and differential/algebraic equation
|
||||
solvers},
|
||||
author = {Hindmarsh, Alan C and Brown, Peter N and Grant, Keith E and Lee,
|
||||
Steven L and Serban, Radu and Shumaker, Dan E and Woodward, Carol S
|
||||
},
|
||||
journal = {ACM Transactions on Mathematical Software (TOMS)},
|
||||
volume = {31},
|
||||
number = {3},
|
||||
pages = {363--396},
|
||||
year = {2005},
|
||||
publisher = {ACM New York, NY, USA},
|
||||
}
|
||||
@inproceedings{cit:sundialsml,
|
||||
title = {Sundials/ML: interfacing with numerical solvers},
|
||||
author = {Bourke, Timothy and Inoue, Jun and Pouzet, Marc},
|
||||
booktitle = {ACM Workshop on ML},
|
||||
year = {2016},
|
||||
}
|
||||
@book{cit:theory_timed_io_automata,
|
||||
address = {Cham},
|
||||
series = {Synthesis Lectures on Distributed Computing Theory},
|
||||
title = {The Theory of Timed I/O Automata},
|
||||
rights = {https://www.springernature.com/gp/researchers/text-and-data-mining
|
||||
},
|
||||
ISBN = {978-3-031-00875-7},
|
||||
url = {https://link.springer.com/10.1007/978-3-031-02003-2},
|
||||
DOI = {10.1007/978-3-031-02003-2},
|
||||
abstractNote = {This monograph presents the Timed Input/Output Automaton
|
||||
(TIOA) modeling framework, a basic mathematical framework to
|
||||
support description and analysis of timed (computing)
|
||||
systems. Timed systems are systems in which desirable
|
||||
correctness or performance properties of the system depend on
|
||||
the timing of events, not just on the order of their
|
||||
occurrence. Timed systems are employed in a wide range of
|
||||
domains including communications, embedded systems, real-time
|
||||
operating systems, and automated control. Many applications
|
||||
involving timed systems have strong safety, reliability and
|
||||
predictability requirements, which makes it important to have
|
||||
methods for systematic design of systems and rigorous
|
||||
analysis of timing-dependent behavior. An important feature
|
||||
of the TIOA framework is its support for decomposing timed
|
||||
system descriptions. In particular, the framework includes a
|
||||
notion of external behavior for a timed I/O automaton, which
|
||||
captures its discrete interactions with its environment. The
|
||||
framework also defines what it means for one TIOA to implement
|
||||
another, based on an inclusion relationship between their
|
||||
external behavior sets, and defines notions of simulations,
|
||||
which provide sufficient conditions for demonstrating
|
||||
implementation relationships. The framework includes a
|
||||
composition operation for TIOAs, which respects external
|
||||
behavior, and a notion of receptiveness, which implies that a
|
||||
TIOA does not block the passage of time.},
|
||||
publisher = {Springer International Publishing},
|
||||
author = {Kaynar, Dilsun K. and Lynch, Nancy and Segala, Roberto and
|
||||
Vaandrager, Frits},
|
||||
year = {2011},
|
||||
collection = {Synthesis Lectures on Distributed Computing Theory},
|
||||
language = {en},
|
||||
}
|
||||
@article{cit:illinois,
|
||||
title = {Inverse interpolation, a real root of f (x)= 0},
|
||||
author = {Snyder, J.N.},
|
||||
journal = {University of Illinois Digital Computer Laboratory, ILLIAC I
|
||||
Library Routine H1-71},
|
||||
volume = {4},
|
||||
year = {1953},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,20 +6,30 @@ scope: source
|
|||
|
||||
contexts:
|
||||
main:
|
||||
- match: \b(let|in|where|rec|and|local)\b
|
||||
- match: \b(val|let|in|where|rec|and|local)\b
|
||||
scope: keyword.control
|
||||
|
||||
- match: \b(if|then|else)\b
|
||||
- match: \b(if|then|else|match|with)\b
|
||||
scope: keyword.control.conditional
|
||||
|
||||
- match: \b(hybrid|node)\b
|
||||
scope: keyword.control
|
||||
|
||||
- match: \b(up|assert|der|init|reset|last)\b
|
||||
scope: entity.name.constant
|
||||
- match: \b(period|up|assert|der|init|reset|present|last|fby|pre)\b
|
||||
scope: keyword.control
|
||||
|
||||
- match: \b(float|int)\b
|
||||
scope: entity.name.type
|
||||
|
||||
- match: \b[0-9]*(\.[0-9]+)?\b
|
||||
scope: constant
|
||||
|
||||
- match: \b(true|false)\b
|
||||
scope: constant
|
||||
|
||||
- match: '"'
|
||||
push: string
|
||||
|
||||
- match: \(\*
|
||||
push: comment
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue