latex + makefiles + fixini

This commit is contained in:
Francesco Mecca 2020-05-22 00:15:00 +02:00
parent b472e6db1c
commit d3775adf91
21 changed files with 110 additions and 31 deletions

14
.gitignore vendored
View file

@ -11,6 +11,20 @@ analisi.pn.tex
analisi.tex
tesi_unicode.tex
part4_unicode.tex
1.accenti.org
1.accenti.tex
1.accenti.tex~
2.accenti.org
2.accenti.tex
2.accenti.tex~
2.accenti.org
analisi_accenti.org
4.accenti.org
4.accenti.tex
4.accenti.tex~
4.tex
4_accenti.tex
4_accenti.tex~
## Core latex/pdflatex auxiliary files:

View file

@ -21,7 +21,7 @@ I numeri interi sono i numeri appartenenti all'insieme dei numeri interi ,
ovvero tutti i numeri il cui valore assoluto e` un numero naturale.
Possiamo rappresentare intuitivamente l'insieme dei numeri interi
come {n | ∃(a,b) ∈ ×, n = a-b}
come {n \vert{} ∃(a,b) ∈ ×, n = a-b}
** Numeri razionali
@ -34,20 +34,20 @@ non termina (numeri irrazionali).
L'intersezione fra due insiemi e` a sua volta un insieme contenente
gli elementi in comune fra i due insiemi:
| A∩B = {x | x∈A ∧ x∈B}
| A∩B = {x \vert{} x∈A ∧ x∈B}
** Unione
L'unione fra due insiemi e` a sua volta un insieme contenente
gli elementi dei due insiemi:
| A∩B = {x | x∈A x∈B}
| A∩B = {x \vert{} x∈A x∈B}
** Differenza
La differenza fra due insiemi e` a sua volta un insieme contenente
tutti gli elementi presenti nell'insieme a sinistra della differenza ma
non non contenuti nell'insieme a destra:
| A \\ B = {x | x∈A ∧ x∉B}
| A \\ B = {x \vert{} x∈A ∧ x∉B}
** Insieme Potenza
@ -57,7 +57,7 @@ l'insieme che contiene tutti i sottoinsiemi di S.
** Complemento di un insieme
Il complemento di un insieme e` a sua volta un insieme che contiene
tutti gli elementi che non appartengono all'insieme di partenza:
| Aᶜ = {a | a∉A}
| Aᶜ = {a \vert{} a∉A}
** Insieme contenuto
@ -70,23 +70,23 @@ loro volta elementi di B:
Un insieme A si dice strettamente contenuto in B se tutti gli elementi di A sono a
loro volta elementi di B ma ci sono degli elementi di B che non
appartengono ad A:
| A⊂B iff (∀a∈A, a∈B) ∧ (∃b∈B | b∉A)
| A⊂B iff (∀a∈A, a∈B) ∧ (∃b∈B \vert{} b∉A)
** Prodotto Cartesiano
Il prodotto cartesiano di due insiemi e` un insieme contenente tutte
le coppie ordinate di cui il primo elemento appartiene al primo
insieme ed il secondo elemento al secondo insieme:
| A × B = {(a, b) | a∈A ∧ b∈B}
| A × B = {(a, b) \vert{} a∈A ∧ b∈B}
** Arieta` n
** Arietà n
Si definisce arietà di una relazione R il numero di insiemi
a cui si applica quella relazione. Se una relazione ha arietà n:
| R ⊆ A₁×A₂×...×Aₙ
** Relazione binaria
Si definisce una relazione R binaria quando R ha arieta` 2:
Si definisce una relazione R binaria quando R ha arietà 2:
| R ⊆ A₁×A₂
** Proprieta` riflessiva
Considerato un insieme A e una relazione R, diciamo che R e` una
@ -118,8 +118,8 @@ Se la relazione R e` transitiva, allora R=R⁺
Definiamo funzione una relazione fra due insiemi A e B che associa un elemento
dell'insieme A ad esattamente un elemento dell'insieme B:
| f: X↦Y
** Funzione di arieta` n
Possiamo definire una funzione di arieta` n su un insieme S come:
** Funzione di arietà n
Possiamo definire una funzione di arietà n su un insieme S come:
| f: Sⁿ↦S
** Funzione iniettiva
Una funzione f: X↦Y si dice iniettiva quando presi due elementi

Binary file not shown.

View file

@ -1,6 +1,6 @@
SRC = 1.tex
AUX = 1.aux
DEL = 1.aux 1.bbl 1.blg 1.log 1.out 1_unicode.tex 1.pdf 1.tex texput.log 1.definizioni.aux 1.definizioni.out 1.toc 1.definizioni.log 1.definizioni.tex 1.definizioni.toc 1.tex 1.definizioni.tex
DEL = 1.aux 1.bbl 1.blg 1.log 1.out 1_unicode.tex 1.pdf 1.tex texput.log 1.definizioni.aux 1.definizioni.out 1.toc 1.definizioni.log 1.definizioni.tex 1.definizioni.toc 1.tex 1.definizioni.tex 1.accenti.tex
NAME = definizioni
tesi:
@ -9,8 +9,9 @@ tesi:
rm -f $(DEL)
@echo
@echo "=== Building from scratch ==="
emacs -batch 1.definizioni.org -f org-latex-export-to-latex --kill
python3 ../conv/conv.py 1.definizioni.tex 1.tex
accenti 1.definizioni.org > 1.accenti.org
emacs -batch 1.accenti.org -f org-latex-export-to-latex --kill
python3 ../conv/conv.py 1.accenti.tex 1.tex
pdflatex $(SRC)
@echo
@echo "=== All done. Generated $(NAME).pdf ==="

View file

@ -1,5 +1,6 @@
* Rete E
#+CAPTION: Rete E
[[./reteE.jpg]]
I master sono modellati dai posti Richiesta, Attesa e Elabora. Lo slave
@ -83,6 +84,7 @@ avvenga il join di due processi con lo diverso padre:
* Rete F
#+CAPTION: Rete F
[[./reteF.jpg]]
I master sono modellati dai posti Richiesta, Attesa e Elabora. Gli slave

View file

@ -1,6 +1,6 @@
SRC = 2.tex
SRC = 2.b.tex
AUX = 2.aux
DEL = 2.aux 2.bbl 2.blg 2.log 2.out 2_unicode.tex 2.pdf 2.tex texput.log 2.b.aux 2.b.out 2.toc 2.b.log 2.b.tex 2.b.toc 2.tex 2.b.tex
DEL = 2.aux 2.bbl 2.blg 2.log 2.out 2_unicode.tex 2.pdf 2.tex texput.log 2.b.aux 2.b.out 2.toc 2.b.log 2.b.tex 2.b.toc 2.tex 2.b.tex 2.accenti.org
NAME = b
tesi:
@ -9,8 +9,9 @@ tesi:
rm -f $(DEL)
@echo
@echo "=== Building from scratch ==="
emacs -batch 2.b.org -f org-latex-export-to-latex --kill
python3 ../conv/conv.py 2.b.tex 2.tex
accenti 2.b.org > 2.accenti.org
emacs -batch 2.accenti.org -f org-latex-export-to-latex --kill
python3 ../conv/conv.py 2.accenti.tex 2.b.tex
pdflatex $(SRC)
@echo
@echo "=== All done. Generated $(NAME).pdf ==="

Binary file not shown.

View file

@ -67,7 +67,9 @@ analisi; in ordine sono stati applicati:
** P e T invarianti
Tramite GreatSPN possiamo calcolare gli T- e P- semiflussi
#+CAPTION: T-semiflows
[[./semiflowsAT.jpg]]
#+CAPTION: P-semiflows
[[./semiflowsAP.jpg]]
Gli P-semiflussi sono i seguenti:
@ -181,7 +183,9 @@ di un lavoro richiesto da un altro master.
** P e T invarianti
Tramite GreatSPN possiamo calcolare gli T- e P- semiflussi
#+CAPTION: T-semiflows
[[./semiflowsBT.jpg]]
#+CAPTION: P-semiflows
[[./semiflowsBP.jpg]]
Gli P-invarianti sono i seguenti:
@ -266,7 +270,9 @@ FreeChoice e Risultato.
** P e T invarianti
Tramite GreatSPN possiamo calcolare gli T- e P- semiflussi
#+CAPTION: T-semiflows
[[./semiflowsCT.jpg]]
#+CAPTION: P-semiflows
[[./semiflowsCP.jpg]]
Gli P-invarianti sono i seguenti:
@ -334,7 +340,7 @@ Gli T-invarianti sono i seguenti:
Fine_Servizioₛ + Reset + Scelta₁ + copy_azione_localeₘ +
copy_Richiesta_Servizio + copy_Attesa_Elaborazione + copy_Resetₘ
Come nella rete B, in assenza di fairness non possiamo rispettare la
condizione di liveness e c'e` possiblita` di starvation.
condizione di liveness e c'e` possibilita` di starvation.
* Rete D
Due master identici, uno slave di tipo 1 e uno slave di tipo 1 scelti
@ -346,7 +352,9 @@ associati ciascuno ad un master diverso.
** P e T invarianti
Tramite GreatSPN possiamo calcolare gli T- e P- semiflussi
#+CAPTION: T-semiflows
[[./semiflowsDT.jpg]]
#+CAPTION: P-semiflows
[[./semiflowsDP.jpg]]
Gli P-invarianti sono i seguenti:
@ -372,7 +380,7 @@ Gli T-invarianti sono i seguenti:
azione_locale_{m2} + Richiesta_Servizio₂ + Attesa_Elaborazione₂ +
Reset_{m2}
Come nella rete B, in assenza di fairness non possiamo rispettare la
condizione di liveness e c'e` possiblita` di starvation.
condizione di liveness e c'e` possibilita` di starvation.
** Decision Diagram
L'efficacia dei decision diagram sulla generazione dello stato degli
@ -391,10 +399,17 @@ assegnazioni i seguenti algoritmi:
- Gibbs-Poole-Stockmeier: un altro algoritmo matriciale che nella rete
in analisi ha restituito il risultato peggiore
#+CAPTION: Algoritmo di Sloan
[[./diagrammi/sloan.jpg]]
#+CAPTION: Algoritmo di Cuthull-McKee
[[./diagrammi/mckee.jpg]]
#+CAPTION: Algoritmo di Tovchigrechko
[[./diagrammi/tovchi.jpg]]
#+CAPTION: Algoritmo di Noack
[[./diagrammi/noack.jpg]]
#+CAPTION: Algoritmo P-Chain
[[./diagrammi/p-chain.jpg]]
#+CAPTION: Algoritmo Gradient-P
[[./diagrammi/gradient.jpg]]
#+CAPTION: Algoritmo di Gibbs-Poole-Stockmeier
[[./diagrammi/gibbs.jpg]]

View file

@ -1,6 +1,6 @@
SRC = 2.tex
AUX = 2.aux
DEL = 2.aux 2.bbl 2.blg 2.log 2.out 2_unicode.tex 2.pdf 2.tex texput.log 2.pn.aux 2.pn.out 2.toc 2.pn.log 2.pn.tex 2.pn.toc 2.tex 2.pn.tex
DEL = 2.aux 2.bbl 2.blg 2.log 2.out 2_unicode.tex 2.pdf 2.tex texput.log 2.pn.aux 2.pn.out 2.toc 2.pn.log 2.pn.tex 2.pn.toc 2.tex 2.pn.tex 2.accenti.org
NAME = pn
tesi:
@ -9,7 +9,8 @@ tesi:
rm -f $(DEL)
@echo
@echo "=== Building from scratch ==="
emacs -batch 2.pn.org -f org-latex-export-to-latex --kill
accenti 2.pn.org > 2.accenti.org
emacs -batch 2.accenti.org -f org-latex-export-to-latex --kill && mv 2.accenti.tex 2.pn.tex
python3 ../conv/conv.py 2.pn.tex 2.tex
pdflatex $(SRC)
@echo

View file

@ -1,6 +1,6 @@
SRC = analisi.tex
AUX = analisi.aux
DEL = analisi.aux analisi.bbl analisi.blg analisi.log analisi.out analisi_unicode.tex analisi.pdf analisi.tex texput.log analisi.aux analisi.out analisi.toc analisi.log analisi.tex analisi.toc analisi.tex analisi.tex
DEL = analisi.aux analisi.bbl analisi.blg analisi.log analisi.out analisi_unicode.tex analisi.pdf analisi.tex texput.log analisi.aux analisi.out analisi.toc analisi.log analisi.tex analisi.toc analisi.tex analisi.tex analisi_accenti.org
NAME =
tesi:
@ -9,7 +9,8 @@ tesi:
rm -f $(DEL)
@echo
@echo "=== Building from scratch ==="
emacs -batch analisi.org -f org-latex-export-to-latex --kill
accenti analisi.org > analisi_accenti.org
emacs -batch analisi_accenti.org -f org-latex-export-to-latex --kill && mv analisi_accenti.tex analisi.tex
python3 ../conv/conv.py analisi.tex analisi.tex
pdflatex $(SRC)
@echo

View file

@ -85,6 +85,7 @@ AG (#P1==1 -> AF (#P3 == 1))
AG (#Q1==1 -> AF (#Q3 == 1))
AG (#Q1==1 -> EF (#Q3 == 1))
#+END_SRC
#+CAPTION: Rete 3.2
\includepdf{3.2.jpg}
** Algebra dei processi
Riportiamo il modello dell'algoritmo 3.2 secondo l'algebra dei
@ -106,7 +107,9 @@ processi CSP.
| Q₃ ::= critical_{q}.Q₄
| Q₄ ::= set_{p}.Q₁
#+CAPTION: Reachability Graph 3.2
\includepdf{rg_3.2.jpg}
#+CAPTION: Derivation Graph 3.2
\includepdf{derivation_3.2.jpg}
** Risultati
@ -229,6 +232,7 @@ AG(!(#Await_P == 1) || !(#Await_Q == 1)) = true
AG ((#Wait_P==1 || #Await_Q == 1) -> AF (#Done_P == 1 || #Done_Q == 1)) = false
AG (#Await_P==1 -> AF (#Done_P == 1)) = false
#+END_SRC
#+CAPTION: Rete 3.5
\includepdf{3.5.jpg}
** Risultati
@ -316,6 +320,7 @@ AG (#P1 == 1 -> EF(#Q4==1 || #Q4 == 1))
AG (#P2 == 1 -> AF (#P4 == 1))
AG (#Q2 == 1 -> AF (#Q4 == 1))
#+END_SRC
#+CAPTION: Rete 3.6
\includepdf{3.6.jpg}
** Algebra dei processi
L'algoritmo 3.6 modellato secondo NuSMV e GreatSPN mostra che non c'e`
@ -347,7 +352,9 @@ nodi ed e` equivalente al Reachability Graph.
| Q₅ ::= setFalse_{q}.Q₁
#+CAPTION: Reachability Graph 3.6
\includepdf{rg_3.6.jpg}
#+CAPTION: Derivation Graph 3.6
\includepdf{derivation_3.6.jpg}
** Risultati
@ -501,6 +508,7 @@ seguente formula CTL:
AG(#await_P == 1 -> EF(#critical_Q==1 || #critical_P == 1))
#+END_SRC
che conferma la presenza di deadlock causata dalle due variabili booleane.
#+CAPTION: Rete 3.8
\includepdf{3.8.jpg}
** Risultati
Nella tabella mostriamo i risultati ottenuti
@ -653,6 +661,7 @@ seguente formula CTL:
| AG(#setTrue_P == 1 -> EF(#critical_Q==1 || #critical_P == 1))
che conferma la presenza di deadlock causata dalle due variabili
booleane.
#+CAPTION: Rete 3.9
\includepdf{3.9.jpg}
** Risultati
Nella tabella mostriamo i risultati ottenuti
@ -911,6 +920,7 @@ AG ((#local_P==1 || #local_Q == 1) -> AF (#critical_P == 1 || \#critical_Q == 1)
AG (#local_P==1 -> AF (#critical_P == 1))
AG (#local_Q==1 -> AF (#critical_Q == 1))
#+END_SRC
#+CAPTION: Rete 3.10
\includepdf{dekker.jpg}
Ci aspettiamo che come in precedenza ci sia deadlock perche` viene
data ai processi la possibilita` di rimanere su /local/.
@ -975,7 +985,8 @@ La trace equivalence e` piu` debole della bisimulation equivalence:
| p q → p ⋍_{T} q
ma non viceversa
| p q ↛ p ⋍_{T} q
notiamo subito che una sequenza /s/ dove /criticalₚ/ e /critical_{q}/
Dato che l'algoritmo 3.6 non rispetta la mutua esclusione,
possiamo affermare che una sequenza /s/ dove /criticalₚ/ e /critical_{q}/
appaiono in successione, non e` una sequenza valida per il modello
dell'algoritmo 3.2 ma lo e` per il modello dell'algoritmo 3.6.
| s = ...criticalₚcritical_{q}...
@ -996,6 +1007,9 @@ stesse riduzioni:
Riportiamo le immagini delle due reti ridotte.
Le transizioni relative a /setTrue/ e /await/ non sono riducibili in
quanto hanno archi uscenti. Possiamo affermare che le due reti non
sono equivalenti, come era deducibile dal fatto che rispettano diverse proprieta`.
sono equivalenti, come era deducibile dal fatto che rispettano diverse
proprieta`.
#+CAPTION: Riduzione rete 3.6
[[./ridotto_3.6.jpg]]
#+CAPTION: Riduzione rete 3.8
[[./ridotto_3.8.jpg]]

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View file

@ -1,3 +1,5 @@
#+LaTeX_HEADER: \usepackage{pdfpages}
#+LaTeX_HEADER: \usepackage{comment}
* Modello A
Sono stati usati tre template per rappresentare un sender, un link wd
un receiver
@ -16,7 +18,7 @@ urgente /LM/ e resetta il clock /sc/.
Viene simulata la verifica dell'ack in un intervallo di tempo [2;4] e
successivamente l'automa torna allo stato iniziale resettando il clock
/sc/.
# \includepdf{sender_A.jpg}
#+CAPTION: Sender protocollo A
[[./sender_A.jpg]]
** Receiver
Il receiver e` simmetrico al sender. Dallo stato iniziale di /wait/
@ -28,6 +30,7 @@ La transizione dallo stato /done_pkg/ a /send_ack/ simula la generazione
di un pacchetto di ack in un intervallo di tempo [2;4] ed tornare allo
stato iniziale dopo aver inviato il pacchetto nel canale di
sincronizzazione urgente /RL/.
#+CAPTION: Receiver protocollo A
[[./receiver_A.jpg]]
** Link
Il link e` modellato come un canale perfetto senza perdite. Lo stato
@ -40,6 +43,7 @@ simula l'arrivo nello stato /received_ack/ dal canale di trasmissione
/RL/ e l'invio verso il sender dallo stato /resend_ack/ attraverso il
canale di trasmissione /LM/. Per il processing dei pacchetti
l'intervallo di tempo e` sempre [2;4].
#+CAPTION: Link protocollo A
[[./link_A.jpg]]
** Proprieta`
Sono state verificate tre proprieta` TCTL sul modello:
@ -69,11 +73,13 @@ Come si denota dall'immagine il link e` simile a quello del modello A
eccezion fatta per la possibilita` di procedere non
deterministicamente dagli spazi /received_pkg/ e /received_ack/ verso
/loss/
#+CAPTION: Link protocollo B
[[./link_B.jpg]]
Mostriamo un trace in cui il link perde un pacchetto di ack inviato
dal sender e il sistema va in deadlock.
Dalla figura possiamo notare la transizione che simula la perdita,
ovvero l'arco /received_ack//loss/.
#+CAPTION: Trace con deadlock
[[./trace_B.jpg]]
\includepdf{trace_B2.jpg}
** Proprieta`
@ -110,6 +116,7 @@ tenere traccia dei pacchetti inviati e degli ack ricevuti.
Di seguito viene mostrato il receiver del modello C. Rispetto al
Modello B il receiver utilizza una flag binaria locale /r_frame/ per tenere
traccia degli pacchetti gia` ricevuti e processati.
#+CAPTION: Receiver protocollo C
[[./receiver_C.jpg]]
** Sender
Il sender e` stato modellato raddopiando il numero di posti e archi,
@ -122,8 +129,10 @@ di spostarsi nello spazio /lost/ e riprovare l'invio del pacchetto.
Si nota subito che i due timer sono indipendenti l'uno dall'altro e vi
e` la possibilita` di modellare i sender senza duplicare il numero di
spazi.
[[./sender_2t.jpg]]
[[./sender_1t.jpg]]
#+CAPTION: Sender protocollo C (due timer)
[[./sender_2t_C.jpg]]
#+CAPTION: Sender protocollo C (un timer)
[[./sender_1t_C.jpg]]
La variabile che regola il timeout e` un numero intero uguale o
maggiore del piu` grande fra i seguenti valore:
- il massimo tempo necessario all'invio di un pacchetto che il sender non ha processato

BIN
anno3/vpc/consegne/4/4.pdf Normal file

Binary file not shown.

View file

@ -0,0 +1,20 @@
SRC = 4.tex
AUX = 4.aux
DEL = 4.aux 4.bbl 4.blg 4.log 4.out 4_unicode.tex 4.pdf 4.tex texput.log 4.aux 4.out 4.toc 4.log 4.tex 4.toc 4.tex 4.tex 4.accenti.org
NAME =
tesi:
@echo
@echo "=== Removing temporary files ==="
rm -f $(DEL)
@echo
@echo "=== Building from scratch ==="
accenti 4.org > 4.accenti.org
emacs -batch 4.accenti.org -f org-latex-export-to-latex --kill
python3 ../conv/conv.py 4.accenti.tex $(SRC)
pdflatex $(SRC)
@echo
@echo "=== All done. Generated $(NAME).pdf ==="
clean:
rm -f $(DEL)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View file

@ -4,7 +4,7 @@ from sys import argv
allsymbols = json.load(open('/home/user/UNITO/anno3/vpc/consegne/conv/unicode-latex.json'))
mysymbols = ['', '', '', '', '', '', '', '', '', 'ε', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'ʲ', '', 'π', 'α', 'β', '', 'σ', '', '', '', '', '', '', '', '', '', '', '', 'ˡ', '', '', '', '', '', '', '', '', '', '', '', '', 'Σ', '', '', '', 'τ', '', '', '', '' ]
mysymbols = ['', '', '', '', '', '', '', '', '', 'ε', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'ʲ', '', 'π', 'α', 'β', '', 'σ', '', '', '', '', '', '', '', '', '', '', '', 'ˡ', '', '', '', '', '', '', '', '', '', '', '', '', 'Σ', '', '', '', 'τ', '', '', '', '', '' ]
extrasymbols = {'': '\in',
'': '\llbracket',
'': r'\rrbracket',

View file

@ -1,5 +1,6 @@
* TODO VPC [16/20]
- [ ] Controlla good latex
- [ ] Uppaal muovi cartella file
- [X] chiedi della riduzione
- [X] calcolo semiflussi come da mail
- [X] chiedi dell'esame