diff --git a/Ingegneria del Software/0621_0/correct.txt b/Ingegneria del Software/0621_0/correct.txt
new file mode 100644
index 0000000..81ceb23
--- /dev/null
+++ b/Ingegneria del Software/0621_0/correct.txt	
@@ -0,0 +1,14 @@
+class Monitor
+
+InputReal x, y, z;  // plant output
+OutputBoolean wy;
+Boolean wz;
+initial equation
+wy = false;
+equation
+wz = (time > 50) and (x < 0.6*y) and (x + y <= 0.3*z);
+algorithm
+when edge(wz) then
+wy := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_0/quest.txt b/Ingegneria del Software/0621_0/quest.txt
new file mode 100644
index 0000000..2eb7f69
--- /dev/null
+++ b/Ingegneria del Software/0621_0/quest.txt	
@@ -0,0 +1,4 @@
+Si consideri il seguente requisito:
+RQ:  Dopo 50 unità di tempo dall'inizio dell'esecuzione vale la seguente proprietà:
+se la variabile x è minore del 60% della variabile y allora la somma di x ed y è maggiore del 30% della variabile z
+Quale dei seguenti monitor meglio descrive il requisito RQ ?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_0/wrong0.txt b/Ingegneria del Software/0621_0/wrong0.txt
new file mode 100644
index 0000000..e09501c
--- /dev/null
+++ b/Ingegneria del Software/0621_0/wrong0.txt	
@@ -0,0 +1,14 @@
+class Monitor
+
+InputReal x, y, z;  // plant output
+OutputBoolean wy;
+Boolean wz;
+initial equation
+wy = false;
+equation
+wz = (time > 50) and (x >= 0.6*y) and (x + y <= 0.3*z);
+algorithm
+when edge(wz) then
+wy := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_0/wrong1.txt b/Ingegneria del Software/0621_0/wrong1.txt
new file mode 100644
index 0000000..f7ab72e
--- /dev/null
+++ b/Ingegneria del Software/0621_0/wrong1.txt	
@@ -0,0 +1,14 @@
+class Monitor
+
+InputReal x, y, z;  // plant output
+OutputBoolean wy;
+Boolean wz;
+initial equation
+wy = false;
+equation
+wz = (time > 50) and (x < 0.6*y) and (x + y > 0.3*z);
+algorithm
+when edge(wz) then
+wy := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_1/correct.txt b/Ingegneria del Software/0621_1/correct.txt
new file mode 100644
index 0000000..b740a0a
--- /dev/null
+++ b/Ingegneria del Software/0621_1/correct.txt	
@@ -0,0 +1,14 @@
+model System
+Integer y;
+Real r1024;
+Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState];
+equation
+y = if (r1024 <= 0.3) then 1 else 0;
+algorithm
+when initial() then
+state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020);
+r1024     := 0;
+elsewhen sample(0,1) then
+(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024));
+end when;
+end System;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_1/quest.txt b/Ingegneria del Software/0621_1/quest.txt
new file mode 100644
index 0000000..5a1289f
--- /dev/null
+++ b/Ingegneria del Software/0621_1/quest.txt	
@@ -0,0 +1 @@
+Si consideri l'ambiente (use case) che consiste di un utente che, ad ogni unità di tempo (ad esempio, un secondo) manda al nostro sistema input 1 (ad esempio, esegue una prenotazione) con probabilità 0.3 oppure input 0 con probabilità 0.7. Quale dei seguenti modelli Modelica rappresenta correttamente tale ambiente.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_1/wrong1.txt b/Ingegneria del Software/0621_1/wrong1.txt
new file mode 100644
index 0000000..57fc69d
--- /dev/null
+++ b/Ingegneria del Software/0621_1/wrong1.txt	
@@ -0,0 +1,13 @@
+model System
+Integer y;  Real r1024;
+Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState];
+equation
+y = if (r1024 <= 0.3) then 0 else 1;
+algorithm
+when initial() then
+state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020);
+r1024     := 0;
+elsewhen sample(0,1) then
+(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024));
+end when;
+end System;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_1/wrong2.txt b/Ingegneria del Software/0621_1/wrong2.txt
new file mode 100644
index 0000000..3390b13
--- /dev/null
+++ b/Ingegneria del Software/0621_1/wrong2.txt	
@@ -0,0 +1,13 @@
+model System
+Integer y;  Real r1024;
+Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState];
+equation
+y = if (r1024 >= 0.3) then 1 else 0;
+algorithm
+when initial() then
+state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020);
+r1024     := 0;
+elsewhen sample(0,1) then
+(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024));
+end when;
+end System;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_10/correct.txt b/Ingegneria del Software/0621_10/correct.txt
new file mode 100644
index 0000000..f8c9568
--- /dev/null
+++ b/Ingegneria del Software/0621_10/correct.txt	
@@ -0,0 +1 @@
+Per tutti gli istanti di tempo della forma 1 + 4*k (con k = 0, 1, 2, 3, ...) x vale 1.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_10/quest.txt b/Ingegneria del Software/0621_10/quest.txt
new file mode 100644
index 0000000..ba1496d
--- /dev/null
+++ b/Ingegneria del Software/0621_10/quest.txt	
@@ -0,0 +1,13 @@
+Si consideri il seguente modello Modelica:
+<html>
+class System
+Integer x;
+initial equation
+x = 0;
+equation
+when sample(0, 2) then
+    x = 1 - pre(x);
+end when;
+end System;
+</html>
+Quale delle seguenti affermazioni è vera per la variabile intera x?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_10/wrong0.txt b/Ingegneria del Software/0621_10/wrong0.txt
new file mode 100644
index 0000000..f485a50
--- /dev/null
+++ b/Ingegneria del Software/0621_10/wrong0.txt	
@@ -0,0 +1 @@
+Per tutti gli istanti di tempo della forma  3 + 4*k (con k = 0, 1, 2, 3, ...) x vale 1.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_10/wrong1.txt b/Ingegneria del Software/0621_10/wrong1.txt
new file mode 100644
index 0000000..a7af2cb
--- /dev/null
+++ b/Ingegneria del Software/0621_10/wrong1.txt	
@@ -0,0 +1 @@
+Per tutti gli istanti di tempo della forma 1 + 4*k (con k = 0, 1, 2, 3, ...) x vale 0.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_11/correct.txt b/Ingegneria del Software/0621_11/correct.txt
new file mode 100644
index 0000000..896ce37
--- /dev/null
+++ b/Ingegneria del Software/0621_11/correct.txt	
@@ -0,0 +1,13 @@
+class Monitor
+InputReal x, y; 
+OutputBoolean wy;
+Boolean wz;
+initial equation
+wy = false;
+equation
+wz = (time > 60) and (delay(x, 10) > 0) and (y >= 0);
+algorithm
+when edge(wz) then
+wy := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_11/quest.txt b/Ingegneria del Software/0621_11/quest.txt
new file mode 100644
index 0000000..06f6627
--- /dev/null
+++ b/Ingegneria del Software/0621_11/quest.txt	
@@ -0,0 +1,5 @@
+Si consideri il seguente requisito:
+RQ:  Dopo 60 unità di tempo dall'inizio dell'esecuzione vale la seguente proprietà:
+se 10 unità di tempo nel passato x era maggiore di 0 allora ora y è negativa.
+Tenendo presente che, al tempo time, delay(z, w) ritorna 0 se time <= w e ritorna il valore che z aveva al tempo (time - w), se time = w.
+Quale dei seguenti monitor meglio descrive il requisito RQ ?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_11/wrong0.txt b/Ingegneria del Software/0621_11/wrong0.txt
new file mode 100644
index 0000000..3e4bc83
--- /dev/null
+++ b/Ingegneria del Software/0621_11/wrong0.txt	
@@ -0,0 +1,13 @@
+class Monitor
+InputReal x, y; 
+OutputBoolean wy;
+Boolean wz;
+initial equation
+wy = false;
+equation
+wz = (time > 60) and (delay(x, 10) <= 0) and (y >= 0);
+algorithm
+when edge(wz) then
+wy := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_11/wrong1.txt b/Ingegneria del Software/0621_11/wrong1.txt
new file mode 100644
index 0000000..a0b3200
--- /dev/null
+++ b/Ingegneria del Software/0621_11/wrong1.txt	
@@ -0,0 +1,14 @@
+class Monitor
+InputReal x, y; 
+OutputBoolean wy;
+Boolean wz;
+initial equation
+wy = false;
+equation
+wz = (time > 60) or (delay(x, 10) > 0) or  (y >= 0);
+
+algorithm
+when edge(wz) then
+wy := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_12/quest.txt b/Ingegneria del Software/0621_12/quest.txt
new file mode 100644
index 0000000..f50c002
--- /dev/null
+++ b/Ingegneria del Software/0621_12/quest.txt	
@@ -0,0 +1,4 @@
+L'input ad un sistema è costituito da un utente (umano) che preme due pulsanti etichettati, rispettivamente, con 1 ed 2.
+L'utente può anche decidere di non premere alcun pulsante.
+Con probabilità 0.2 l'utente preme il pulsante 1, con probabilità 0.3 l'utente preme il pulsante 2, con probabilità 0.5 non fa nulla (pulsante 0 per convenzione).
+Quale dei seguenti modelli Modelica fornisce un modello ragionevole per l'utente di cui sopra?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_12/wrong0.txt b/Ingegneria del Software/0621_12/wrong0.txt
new file mode 100644
index 0000000..677ef8b
--- /dev/null
+++ b/Ingegneria del Software/0621_12/wrong0.txt	
@@ -0,0 +1,19 @@
+model Env
+Integer x;  // Pulsante premuto dall'utente (0 nessun pulsante)
+Real r1024;
+Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState];
+algorithm
+when initial() then
+   state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020);
+   x := 0;
+   r1024 := 0;
+elsewhen sample(0,1) then
+  (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024));
+  if (r1024 <= 0.5)
+  then x := 0; 
+  else
+         (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024));
+         if   (r1024 <= 0.4)   then x := 1;   else x:= 0; end if;
+  end if;
+end when;
+end Env;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_12/wrong1.txt b/Ingegneria del Software/0621_12/wrong1.txt
new file mode 100644
index 0000000..752ea2c
--- /dev/null
+++ b/Ingegneria del Software/0621_12/wrong1.txt	
@@ -0,0 +1,19 @@
+model Env
+Integer x;  // Pulsante premuto dall'utente (0 nessun pulsante)
+Real r1024;
+Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState];
+algorithm
+when initial() then
+   state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020);
+   x := 0;
+   r1024 := 0;
+elsewhen sample(0,1) then
+  (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024));
+  if (r1024 <= 0.5)
+  then x := 0; 
+  else
+         (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024));
+         if   (r1024 <= 0.3)   then x := 0;   else x:= 1; end if;
+  end if;
+end when;
+end Env;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_12/wrong2.txt b/Ingegneria del Software/0621_12/wrong2.txt
new file mode 100644
index 0000000..2e77985
--- /dev/null
+++ b/Ingegneria del Software/0621_12/wrong2.txt	
@@ -0,0 +1,19 @@
+model Env
+Integer x;  // Pulsante premuto dall'utente (0 nessun pulsante)
+Real r1024;
+Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState];
+algorithm
+when initial() then
+   state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020);
+   x := 0;
+   r1024 := 0;
+elsewhen sample(0,1) then
+  (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024));
+  if (r1024 <= 0.5)
+  then x := 0; 
+  else
+         (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024));
+         if   (r1024 <= 0.2)   then x := 1;   else x:= 0; end if;
+  end if;
+end when;
+end Env;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_13/correct.txt b/Ingegneria del Software/0621_13/correct.txt
new file mode 100644
index 0000000..0c54a95
--- /dev/null
+++ b/Ingegneria del Software/0621_13/correct.txt	
@@ -0,0 +1 @@
+Sviluppo plan-driven.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_13/quest.txt b/Ingegneria del Software/0621_13/quest.txt
new file mode 100644
index 0000000..3c60626
--- /dev/null
+++ b/Ingegneria del Software/0621_13/quest.txt	
@@ -0,0 +1 @@
+Si pianifica di sviluppare un software gestionale per una università. Considerando che questo può essere considerato un sistema mission-critical, quali dei seguenti modelli di processi software generici è più adatto per lo sviluppo di tale software.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_13/wrong0.txt b/Ingegneria del Software/0621_13/wrong0.txt
new file mode 100644
index 0000000..9d2b250
--- /dev/null
+++ b/Ingegneria del Software/0621_13/wrong0.txt	
@@ -0,0 +1 @@
+Sviluppo Iterativo
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_13/wrong1.txt b/Ingegneria del Software/0621_13/wrong1.txt
new file mode 100644
index 0000000..b37e1a6
--- /dev/null
+++ b/Ingegneria del Software/0621_13/wrong1.txt	
@@ -0,0 +1 @@
+Sviluppo Agile.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_14/correct.txt b/Ingegneria del Software/0621_14/correct.txt
new file mode 100644
index 0000000..a4a8878
--- /dev/null
+++ b/Ingegneria del Software/0621_14/correct.txt	
@@ -0,0 +1 @@
+Testare l'interazione tra  le componenti del sistema (cioè, integrazione di molte unità di sistema).
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_14/quest.txt b/Ingegneria del Software/0621_14/quest.txt
new file mode 100644
index 0000000..8bbcdb8
--- /dev/null
+++ b/Ingegneria del Software/0621_14/quest.txt	
@@ -0,0 +1 @@
+Il system testing si concentra su:
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_14/wrong0.txt b/Ingegneria del Software/0621_14/wrong0.txt
new file mode 100644
index 0000000..3214f65
--- /dev/null
+++ b/Ingegneria del Software/0621_14/wrong0.txt	
@@ -0,0 +1 @@
+Testare le interfacce per ciascuna componente.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_14/wrong1.txt b/Ingegneria del Software/0621_14/wrong1.txt
new file mode 100644
index 0000000..6a9cb98
--- /dev/null
+++ b/Ingegneria del Software/0621_14/wrong1.txt	
@@ -0,0 +1 @@
+Testare le funzionalità di unità software individuali, oggetti, classi o metodi.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_15/correct.txt b/Ingegneria del Software/0621_15/correct.txt
new file mode 100644
index 0000000..d4074cf
--- /dev/null
+++ b/Ingegneria del Software/0621_15/correct.txt	
@@ -0,0 +1 @@
+Testare funzionalità di unità software individuali, oggetti, classi o metodi.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_15/quest.txt b/Ingegneria del Software/0621_15/quest.txt
new file mode 100644
index 0000000..367356f
--- /dev/null
+++ b/Ingegneria del Software/0621_15/quest.txt	
@@ -0,0 +1 @@
+Unit testing si concentra su:
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_15/wrong0.txt b/Ingegneria del Software/0621_15/wrong0.txt
new file mode 100644
index 0000000..f67535f
--- /dev/null
+++ b/Ingegneria del Software/0621_15/wrong0.txt	
@@ -0,0 +1 @@
+Testare le interfacce di ciascuna componente.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_15/wrong1.txt b/Ingegneria del Software/0621_15/wrong1.txt
new file mode 100644
index 0000000..5d19792
--- /dev/null
+++ b/Ingegneria del Software/0621_15/wrong1.txt	
@@ -0,0 +1 @@
+Testare l'interazione tra componenti.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_16/correct.txt b/Ingegneria del Software/0621_16/correct.txt
new file mode 100644
index 0000000..e86ff88
--- /dev/null
+++ b/Ingegneria del Software/0621_16/correct.txt	
@@ -0,0 +1 @@
+1/1000
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_16/quest.txt b/Ingegneria del Software/0621_16/quest.txt
new file mode 100644
index 0000000..7cae29d
--- /dev/null
+++ b/Ingegneria del Software/0621_16/quest.txt	
@@ -0,0 +1 @@
+Il rischio R può essere calcolato come R = P*C, dove P è la probabilità dell'evento avverso (software failure nel nostro contesto) e C è il costo dell'occorrenza dell'evento avverso. Si consideri un software il cui costo per la failure è C = 1000000 EUR. Volendo un rischio non superiore a 1000 EUR quale è il valore massimo della probabilità di failure P accettabile?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_16/wrong0.txt b/Ingegneria del Software/0621_16/wrong0.txt
new file mode 100644
index 0000000..bb7060e
--- /dev/null
+++ b/Ingegneria del Software/0621_16/wrong0.txt	
@@ -0,0 +1 @@
+1/10
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_16/wrong1.txt b/Ingegneria del Software/0621_16/wrong1.txt
new file mode 100644
index 0000000..78abc32
--- /dev/null
+++ b/Ingegneria del Software/0621_16/wrong1.txt	
@@ -0,0 +1 @@
+1/100
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_17/correct.txt b/Ingegneria del Software/0621_17/correct.txt
new file mode 100644
index 0000000..3f5bba6
--- /dev/null
+++ b/Ingegneria del Software/0621_17/correct.txt	
@@ -0,0 +1,13 @@
+class Monitor
+InputReal x, y; 
+OutputBoolean wy;
+Boolean wz;
+initial equation
+wy = false;
+equation
+wz = (time > 60) and (delay(x, 10) > 0) and (y <= 0);
+algorithm
+when edge(wz) then
+wy := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_17/quest.txt b/Ingegneria del Software/0621_17/quest.txt
new file mode 100644
index 0000000..de77723
--- /dev/null
+++ b/Ingegneria del Software/0621_17/quest.txt	
@@ -0,0 +1,5 @@
+Si consideri il seguente requisito:
+RQ:  Dopo 60 unità di tempo dall'inizio dell'esecuzione vale la seguente proprietà:
+se 10 unità di tempo nel passato era stata richiesta una risorsa (variabile x positiva) allora ora è concesso l'accesso alla risorsa (variabile y positiva)
+Tenendo presente che, al tempo time, delay(z, w) ritorna 0 se time < w e ritorna il valore che z aveva al tempo (time - w), se time >= w.
+Quale dei seguenti monitor meglio descrive il requisito RQ ?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_17/wrong0.txt b/Ingegneria del Software/0621_17/wrong0.txt
new file mode 100644
index 0000000..d23fe8e
--- /dev/null
+++ b/Ingegneria del Software/0621_17/wrong0.txt	
@@ -0,0 +1,14 @@
+class Monitor
+InputReal x, y; 
+OutputBoolean wy;
+Boolean wz;
+initial equation
+wy = false;
+equation
+wz = (time > 60) or (delay(x, 10) > 0) or  (y <= 0);
+
+algorithm
+when edge(wz) then
+wy := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_17/wrong1.txt b/Ingegneria del Software/0621_17/wrong1.txt
new file mode 100644
index 0000000..33310f9
--- /dev/null
+++ b/Ingegneria del Software/0621_17/wrong1.txt	
@@ -0,0 +1,13 @@
+class Monitor
+InputReal x, y; 
+OutputBoolean wy;
+Boolean wz;
+initial equation
+wy = false;
+equation
+wz = (time > 60) and (delay(x, 10) > 0) and (y > 0);
+algorithm
+when edge(wz) then
+wy := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_18/correct.txt b/Ingegneria del Software/0621_18/correct.txt
new file mode 100644
index 0000000..8bb1b6b
--- /dev/null
+++ b/Ingegneria del Software/0621_18/correct.txt	
@@ -0,0 +1 @@
+2*A*(p +1)
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_18/quest.txt b/Ingegneria del Software/0621_18/quest.txt
new file mode 100644
index 0000000..3f3c598
--- /dev/null
+++ b/Ingegneria del Software/0621_18/quest.txt	
@@ -0,0 +1 @@
+Si consideri un software sviluppato seguendo un approccio iterativo implementato con due fasi: F1 seguita da F2. Ciascuna fase ha costo A e deve essere ripetuta una seconda volta con probabilità p. Qual'e' il costo atteso dello sviluppo dell'intero software?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_18/wrong0.txt b/Ingegneria del Software/0621_18/wrong0.txt
new file mode 100644
index 0000000..ebab514
--- /dev/null
+++ b/Ingegneria del Software/0621_18/wrong0.txt	
@@ -0,0 +1 @@
+3*A*(p + 1)
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_18/wrong1.txt b/Ingegneria del Software/0621_18/wrong1.txt
new file mode 100644
index 0000000..a8c46e7
--- /dev/null
+++ b/Ingegneria del Software/0621_18/wrong1.txt	
@@ -0,0 +1 @@
+2*A*(p + 2)
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_19/correct.txt b/Ingegneria del Software/0621_19/correct.txt
new file mode 100644
index 0000000..d3826b5
--- /dev/null
+++ b/Ingegneria del Software/0621_19/correct.txt	
@@ -0,0 +1 @@
+Ad ogni istante di tempo della forma 1 + 4*k (k = 0, 1, 2, 3, ...), x vale "true".
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_19/quest.txt b/Ingegneria del Software/0621_19/quest.txt
new file mode 100644
index 0000000..b3ee6d9
--- /dev/null
+++ b/Ingegneria del Software/0621_19/quest.txt	
@@ -0,0 +1,13 @@
+Si consideri il seguente modello Modelica.
+<html>
+class System
+Boolean x;
+initial equation
+x = false;
+equation
+when sample(0, 2) then
+    x = not (pre(x));
+end when;
+end System;
+</html>
+Quale delle seguenti affermazioni vale per la variabile booleana x ?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_19/wrong0.txt b/Ingegneria del Software/0621_19/wrong0.txt
new file mode 100644
index 0000000..6245a2f
--- /dev/null
+++ b/Ingegneria del Software/0621_19/wrong0.txt	
@@ -0,0 +1 @@
+At time instants of form 1 + 4*k (with k = 0, 1, 2, 3, ...) x takes value "false".
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_19/wrong1.txt b/Ingegneria del Software/0621_19/wrong1.txt
new file mode 100644
index 0000000..0ba96d3
--- /dev/null
+++ b/Ingegneria del Software/0621_19/wrong1.txt	
@@ -0,0 +1 @@
+Ad ogni istante di tempo della forma 3 + 4*k (k = 0, 1, 2, 3, ...), x vale "true".
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_2/correct.txt b/Ingegneria del Software/0621_2/correct.txt
new file mode 100644
index 0000000..23cbd0e
--- /dev/null
+++ b/Ingegneria del Software/0621_2/correct.txt	
@@ -0,0 +1 @@
+6*A
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_2/quest.txt b/Ingegneria del Software/0621_2/quest.txt
new file mode 100644
index 0000000..c91abc9
--- /dev/null
+++ b/Ingegneria del Software/0621_2/quest.txt	
@@ -0,0 +1 @@
+Si consideri un software sviluppato seguendo un approccio plan-driven implementato con tre fasi: F1, F2, F3 ciascuna con costo A. Le "change request" possono arrivare solo al fine di una fase e provocano la ripetizione (con relativo costo) di tutte le fasi che precedono. Si assuma che dopo la fase F3 (cioè al termine dello sviluppo) arriva una change request. Qual'e' il costo totale per lo sviluppo del software in questione.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_2/wrong0.txt b/Ingegneria del Software/0621_2/wrong0.txt
new file mode 100644
index 0000000..489e74c
--- /dev/null
+++ b/Ingegneria del Software/0621_2/wrong0.txt	
@@ -0,0 +1 @@
+5*A
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_2/wrong1.txt b/Ingegneria del Software/0621_2/wrong1.txt
new file mode 100644
index 0000000..63ca2eb
--- /dev/null
+++ b/Ingegneria del Software/0621_2/wrong1.txt	
@@ -0,0 +1 @@
+4*A
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_20/correct.txt b/Ingegneria del Software/0621_20/correct.txt
new file mode 100644
index 0000000..de99e64
--- /dev/null
+++ b/Ingegneria del Software/0621_20/correct.txt	
@@ -0,0 +1 @@
+S = (1/b)*ln(C/R)
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_20/quest.txt b/Ingegneria del Software/0621_20/quest.txt
new file mode 100644
index 0000000..9a91655
--- /dev/null
+++ b/Ingegneria del Software/0621_20/quest.txt	
@@ -0,0 +1 @@
+Il rischio R può essere calcolato come R = P*C, dove P è la probabilità dell'evento avverso (software failure nel nostro contesto) e C è il costo dell'occorrenza dell'evento avverso. Assumiamo che la probabilità P sia legata al costo di sviluppo S dalla formula P = exp(-b*S), dove b è una opportuna costante note da dati storici aziendali. Quale sarà il costo dello sviluppo S di un software il cui costo della failure è C ed il rischio ammesso è R?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_20/wrong0.txt b/Ingegneria del Software/0621_20/wrong0.txt
new file mode 100644
index 0000000..9807142
--- /dev/null
+++ b/Ingegneria del Software/0621_20/wrong0.txt	
@@ -0,0 +1 @@
+S = b*ln(R/C)
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_20/wrong1.txt b/Ingegneria del Software/0621_20/wrong1.txt
new file mode 100644
index 0000000..587fc4b
--- /dev/null
+++ b/Ingegneria del Software/0621_20/wrong1.txt	
@@ -0,0 +1 @@
+S = (1/b)*ln(R/C)
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_21/correct.txt b/Ingegneria del Software/0621_21/correct.txt
new file mode 100644
index 0000000..c24cae9
--- /dev/null
+++ b/Ingegneria del Software/0621_21/correct.txt	
@@ -0,0 +1 @@
+A*(2 + p)
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_21/quest.txt b/Ingegneria del Software/0621_21/quest.txt
new file mode 100644
index 0000000..77c80a6
--- /dev/null
+++ b/Ingegneria del Software/0621_21/quest.txt	
@@ -0,0 +1 @@
+Si consideri un software costituito da due fasi F1 ed F2 ciascuna di costo A. Con probabilità p la fase F1 deve essere ripetuta (a causa di change requests) e con probabilità (1 - p) si passa alla fase F2 e poi al completamento (End) dello sviluppo. Qual'eè il costo atteso per lo sviluppo del software seguendo il processo sopra descritto ?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_21/wrong0.txt b/Ingegneria del Software/0621_21/wrong0.txt
new file mode 100644
index 0000000..a9b1c29
--- /dev/null
+++ b/Ingegneria del Software/0621_21/wrong0.txt	
@@ -0,0 +1 @@
+3*A*p
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_21/wrong1.txt b/Ingegneria del Software/0621_21/wrong1.txt
new file mode 100644
index 0000000..6e771e9
--- /dev/null
+++ b/Ingegneria del Software/0621_21/wrong1.txt	
@@ -0,0 +1 @@
+A*(1 + p)
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_22/1.png b/Ingegneria del Software/0621_22/1.png
new file mode 100644
index 0000000..99c7a5f
Binary files /dev/null and b/Ingegneria del Software/0621_22/1.png differ
diff --git a/Ingegneria del Software/0621_22/2.png b/Ingegneria del Software/0621_22/2.png
new file mode 100644
index 0000000..ad1e664
Binary files /dev/null and b/Ingegneria del Software/0621_22/2.png differ
diff --git a/Ingegneria del Software/0621_22/3.png b/Ingegneria del Software/0621_22/3.png
new file mode 100644
index 0000000..bc19a09
Binary files /dev/null and b/Ingegneria del Software/0621_22/3.png differ
diff --git a/Ingegneria del Software/0621_22/correct.txt b/Ingegneria del Software/0621_22/correct.txt
new file mode 100644
index 0000000..83f9204
--- /dev/null
+++ b/Ingegneria del Software/0621_22/correct.txt	
@@ -0,0 +1 @@
+img=https://i.imgur.com/LSxqSIl.png
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_22/quest.txt b/Ingegneria del Software/0621_22/quest.txt
new file mode 100644
index 0000000..5d926db
--- /dev/null
+++ b/Ingegneria del Software/0621_22/quest.txt	
@@ -0,0 +1 @@
+Si consideri un software sviluppato seguendo un approccio plan-driven implementato con tre fasi: F1, F2, F3. Dopo ogni fase c'e' una probabilità p di dover ripeter la fase precedente ed una probabilità (1 - p) di passare alla fase successiva (sino ad arrivare al termine dello sviluppo). Quale delle seguenti catene di Markov modella il processo software descritto sopra?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_22/wrong0.txt b/Ingegneria del Software/0621_22/wrong0.txt
new file mode 100644
index 0000000..d2eb66b
--- /dev/null
+++ b/Ingegneria del Software/0621_22/wrong0.txt	
@@ -0,0 +1 @@
+img=https://i.imgur.com/yGc7Zf2.png
diff --git a/Ingegneria del Software/0621_22/wrong1.txt b/Ingegneria del Software/0621_22/wrong1.txt
new file mode 100644
index 0000000..dbdbad5
--- /dev/null
+++ b/Ingegneria del Software/0621_22/wrong1.txt	
@@ -0,0 +1 @@
+img=https://i.imgur.com/3t92wEw.png
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_23/correct.txt b/Ingegneria del Software/0621_23/correct.txt
new file mode 100644
index 0000000..fab2eea
--- /dev/null
+++ b/Ingegneria del Software/0621_23/correct.txt	
@@ -0,0 +1,15 @@
+class Monitor
+
+InputReal x;  // plant output
+OutputBoolean y;
+
+Boolean z;
+initial equation
+y = false;
+equation
+z = (time > 0) and ((x >= 5) or (x <= 0))  and  ((x >= 15) or (x <= 10)) ;
+algorithm
+when edge(z) then
+y := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_23/quest.txt b/Ingegneria del Software/0621_23/quest.txt
new file mode 100644
index 0000000..5c0b607
--- /dev/null
+++ b/Ingegneria del Software/0621_23/quest.txt	
@@ -0,0 +1,3 @@
+Si consideri il seguente requisito:
+RQ1:  Durante l'esecuzione del programma (cioè per tutti gli istanti di tempo positivi) la variabile x è sempre nell'intervallo [0, 5] oppure [10, 15]
+Quale dei seguenti monitor meglio descrive il requisito RQ1 ?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_23/wrong0.txt b/Ingegneria del Software/0621_23/wrong0.txt
new file mode 100644
index 0000000..d30f887
--- /dev/null
+++ b/Ingegneria del Software/0621_23/wrong0.txt	
@@ -0,0 +1,15 @@
+class Monitor
+
+InputReal x;  // plant output
+OutputBoolean y;
+
+Boolean z;
+initial equation
+y = false;
+equation
+z = (time > 0) and ((x >= 0) or (x <= 5))  and  ((x >= 10) or (x <= 15)) );
+algorithm
+when edge(z) then
+y := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_23/wrong1.txt b/Ingegneria del Software/0621_23/wrong1.txt
new file mode 100644
index 0000000..c6e9bd3
--- /dev/null
+++ b/Ingegneria del Software/0621_23/wrong1.txt	
@@ -0,0 +1,15 @@
+class Monitor
+
+InputReal x;  // plant output
+OutputBoolean y;
+
+Boolean z;
+initial equation
+y = false;
+equation
+z = (time > 0) and ( ((x >= 0) and (x <= 5))  or ((x >= 10) and (x <= 15)) );
+algorithm
+when edge(z) then
+y := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_24/correct.txt b/Ingegneria del Software/0621_24/correct.txt
new file mode 100644
index 0000000..a7029bc
--- /dev/null
+++ b/Ingegneria del Software/0621_24/correct.txt	
@@ -0,0 +1 @@
+La variabile x è nell'intervallo [1, 4] oppure nell'intervallo [15, 20].
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_24/quest.txt b/Ingegneria del Software/0621_24/quest.txt
new file mode 100644
index 0000000..e943282
--- /dev/null
+++ b/Ingegneria del Software/0621_24/quest.txt	
@@ -0,0 +1,17 @@
+Si consideri il monitor seguente che ritorna true appena il sistema viola il requisito monitorato.
+<html>
+block Monitor
+input Real x;  
+output Boolean y;
+Boolean w;
+initial equation
+y = false;
+equation
+w = ((x < 1) or (x > 4)) and ((x < 15) or (x > 20));
+algorithm
+when edge(w) then
+y := true;
+end when;
+end Monitor;
+</html>
+Quale delle seguenti affermazioni meglio descrive il requisito monitorato?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_24/wrong0.txt b/Ingegneria del Software/0621_24/wrong0.txt
new file mode 100644
index 0000000..710b111
--- /dev/null
+++ b/Ingegneria del Software/0621_24/wrong0.txt	
@@ -0,0 +1 @@
+La variabile x è fuori dall'intervallo [1, 4] e fuori dall'intervallo [15, 20].
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_24/wrong1.txt b/Ingegneria del Software/0621_24/wrong1.txt
new file mode 100644
index 0000000..a82929b
--- /dev/null
+++ b/Ingegneria del Software/0621_24/wrong1.txt	
@@ -0,0 +1 @@
+La variabile x è nell'intervallo [1, 4] e fuori dall'intervallo [15, 20].
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_25/correct.txt b/Ingegneria del Software/0621_25/correct.txt
new file mode 100644
index 0000000..d08430f
--- /dev/null
+++ b/Ingegneria del Software/0621_25/correct.txt	
@@ -0,0 +1,12 @@
+class System
+Real x; // MB in buffer
+Real u; // input pulse
+initial equation
+x = 3;
+u = 0;
+equation
+when sample(0, 1) then
+  u = 1 - pre(u);
+end when;
+der(x) = 2*u - 1.0;
+end System;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_25/quest.txt b/Ingegneria del Software/0621_25/quest.txt
new file mode 100644
index 0000000..72850a2
--- /dev/null
+++ b/Ingegneria del Software/0621_25/quest.txt	
@@ -0,0 +1 @@
+Un I/O buffer è alimentato da una componente che fornisce un input periodico di periodo 2 secondi. Durante la prima metà del periodo, l'input rate è 2MB/s mentre durante la seconda metà del periodo l'input rate è 0. Quindi l'input rate medio è di 1MB/s. L' I/O buffer, a sua volta, alimenta una componente che richiede (in media) 1MB/s. Quale dei seguenti modelli Modelica  è un modello ragionevole per il sistema descritto sopra ?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_25/wrong1.txt b/Ingegneria del Software/0621_25/wrong1.txt
new file mode 100644
index 0000000..4bea8db
--- /dev/null
+++ b/Ingegneria del Software/0621_25/wrong1.txt	
@@ -0,0 +1,12 @@
+class System
+Real x; // MB in buffer
+Real u; // input pulse
+initial equation
+x = 3;
+u = 0;
+equation
+when sample(0, 1) then
+  u = 1 - pre(u);
+end when;
+der(x) = 2*u - 2.0;
+end System;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_25/wrong2.txt b/Ingegneria del Software/0621_25/wrong2.txt
new file mode 100644
index 0000000..59f99c3
--- /dev/null
+++ b/Ingegneria del Software/0621_25/wrong2.txt	
@@ -0,0 +1,12 @@
+class System
+Real x; // MB in buffer
+Real u; // input pulse
+initial equation
+x = 3;
+u = 0;
+equation
+when sample(0, 1) then
+  u = 1 - pre(u);
+end when;
+der(x) = 2*u + 1.0;
+end System;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_26/correct.txt b/Ingegneria del Software/0621_26/correct.txt
new file mode 100644
index 0000000..5bca5f8
--- /dev/null
+++ b/Ingegneria del Software/0621_26/correct.txt	
@@ -0,0 +1 @@
+Testare le interfacce per ciascun componente.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_26/quest.txt b/Ingegneria del Software/0621_26/quest.txt
new file mode 100644
index 0000000..561755a
--- /dev/null
+++ b/Ingegneria del Software/0621_26/quest.txt	
@@ -0,0 +1 @@
+Il component testing si concentra su:
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_26/wrong0.txt b/Ingegneria del Software/0621_26/wrong0.txt
new file mode 100644
index 0000000..d4074cf
--- /dev/null
+++ b/Ingegneria del Software/0621_26/wrong0.txt	
@@ -0,0 +1 @@
+Testare funzionalità di unità software individuali, oggetti, classi o metodi.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_26/wrong1.txt b/Ingegneria del Software/0621_26/wrong1.txt
new file mode 100644
index 0000000..7a3fe03
--- /dev/null
+++ b/Ingegneria del Software/0621_26/wrong1.txt	
@@ -0,0 +1 @@
+Testare l'interazione tra molte componenti (cioè integrazione di molte unità).
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_27/correct.txt b/Ingegneria del Software/0621_27/correct.txt
new file mode 100644
index 0000000..88f9125
--- /dev/null
+++ b/Ingegneria del Software/0621_27/correct.txt	
@@ -0,0 +1 @@
+Requisito utente.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_27/quest.txt b/Ingegneria del Software/0621_27/quest.txt
new file mode 100644
index 0000000..e544e9e
--- /dev/null
+++ b/Ingegneria del Software/0621_27/quest.txt	
@@ -0,0 +1 @@
+Si consideri il seguente requisito: "Il sistema fornisce l'elenco dei clienti in ordine alfabetico". Di che tipo di requisito si tratta?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_27/wrong0.txt b/Ingegneria del Software/0621_27/wrong0.txt
new file mode 100644
index 0000000..4cae0da
--- /dev/null
+++ b/Ingegneria del Software/0621_27/wrong0.txt	
@@ -0,0 +1 @@
+Requisito di sistema.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_27/wrong1.txt b/Ingegneria del Software/0621_27/wrong1.txt
new file mode 100644
index 0000000..6084c49
--- /dev/null
+++ b/Ingegneria del Software/0621_27/wrong1.txt	
@@ -0,0 +1 @@
+Requisito non-funzionale.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_28/1.png b/Ingegneria del Software/0621_28/1.png
new file mode 100644
index 0000000..bc19a09
Binary files /dev/null and b/Ingegneria del Software/0621_28/1.png differ
diff --git a/Ingegneria del Software/0621_28/correct.txt b/Ingegneria del Software/0621_28/correct.txt
new file mode 100644
index 0000000..af9b00c
--- /dev/null
+++ b/Ingegneria del Software/0621_28/correct.txt	
@@ -0,0 +1,33 @@
+model System
+parameter Integer F1 = 1;
+parameter Integer F2 = 2;
+parameter Integer F3 = 3;
+parameter Integer End = 4;
+parameter Real p = 0.3;
+parameter Real A[4, 4] =
+[
+0, 1, 0, 0;
+p, 0, 1-p, 0;
+0, p, 0, 1-p;
+0, 0, 0, 1
+];
+Integer x;  Real r1024;
+Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState];
+algorithm
+when initial() then
+   state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020);
+   x := F1;
+   r1024 := 0;
+elsewhen sample(0,1) then
+(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024));
+if (r1024 <= A[x, F1]) then
+ x := F1;
+ elseif (r1024 <= A[x, F1] + A[x, F2]) then
+ x := F2;
+ elseif (r1024 <= A[x, F1] + A[x, F2] + A[x, F3]) then
+ x := F3;
+ else
+ x := End;
+end if;
+end when;
+end System;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_28/quest.txt b/Ingegneria del Software/0621_28/quest.txt
new file mode 100644
index 0000000..101846b
--- /dev/null
+++ b/Ingegneria del Software/0621_28/quest.txt	
@@ -0,0 +1,3 @@
+img=https://i.imgur.com/t1KV4Qy.png
+Si consideri la seguente Markov Chain:
+Quale dei seguenti modelli Modelica fornisce un modello ragionevole per la Markov Chain di cui sopra?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_28/wrong0.txt b/Ingegneria del Software/0621_28/wrong0.txt
new file mode 100644
index 0000000..3ebddcf
--- /dev/null
+++ b/Ingegneria del Software/0621_28/wrong0.txt	
@@ -0,0 +1,33 @@
+model System
+parameter Integer F1 = 1;
+parameter Integer F2 = 2;
+parameter Integer F3 = 3;
+parameter Integer End = 4;
+parameter Real p = 0.3;
+parameter Real A[4, 4] =
+[
+0, 1, 0, 0;
+p, 0, 0, 1-p;
+0, 0, p, 1-p;
+0, 0, 0, 1
+];
+Integer x;  Real r1024;
+Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState];
+algorithm
+when initial() then
+state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020);
+x := F1;
+r1024 := 0;
+elsewhen sample(0,1) then
+(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024));
+if (r1024 <= A[x, F1]) then
+ x := F1;
+ elseif (r1024 <= A[x, F1] + A[x, F2]) then
+ x := F2;
+ elseif (r1024 <= A[x, F1] + A[x, F2] + A[x, F3]) then
+ x := F3;
+ else
+ x := End;
+end if;
+end when;
+end System;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_28/wrong2.txt b/Ingegneria del Software/0621_28/wrong2.txt
new file mode 100644
index 0000000..d1520c9
--- /dev/null
+++ b/Ingegneria del Software/0621_28/wrong2.txt	
@@ -0,0 +1,33 @@
+model System
+parameter Integer F1 = 1;
+parameter Integer F2 = 2;
+parameter Integer F3 = 3;
+parameter Integer End = 4;
+parameter Real p = 0.3;
+parameter Real A[4, 4] =
+[
+0, 1, 0, 0;
+p, 1-p, 0, 0;
+0, 0, p, 1-p;
+0, 0, 0, 1
+];
+Integer x;  Real r1024;
+Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState];
+algorithm
+when initial() then
+state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020);
+x := F1;
+r1024 := 0;
+elsewhen sample(0,1) then
+(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024));
+if (r1024 <= A[x, F1]) then
+ x := F1;
+ elseif (r1024 <= A[x, F1] + A[x, F2]) then
+ x := F2;
+ elseif (r1024 <= A[x, F1] + A[x, F2] + A[x, F3]) then
+ x := F3;
+ else
+ x := End;
+end if;
+end when;
+end System;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_29/correct.txt b/Ingegneria del Software/0621_29/correct.txt
new file mode 100644
index 0000000..b3843cf
--- /dev/null
+++ b/Ingegneria del Software/0621_29/correct.txt	
@@ -0,0 +1 @@
+1.5*A
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_29/quest.txt b/Ingegneria del Software/0621_29/quest.txt
new file mode 100644
index 0000000..e4ebc4a
--- /dev/null
+++ b/Ingegneria del Software/0621_29/quest.txt	
@@ -0,0 +1 @@
+Si consideri un software sviluppato seguendo un approccio plan-driven implementato con due fasi: F1, F2. La fase F1 ha costo A e la fase F2 ha costo il 50% di A. Qual'e' il costo dello sviluppo del software?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_29/wrong0.txt b/Ingegneria del Software/0621_29/wrong0.txt
new file mode 100644
index 0000000..54d2e91
--- /dev/null
+++ b/Ingegneria del Software/0621_29/wrong0.txt	
@@ -0,0 +1 @@
+0.5*A
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_29/wrong1.txt b/Ingegneria del Software/0621_29/wrong1.txt
new file mode 100644
index 0000000..8c7e5a6
--- /dev/null
+++ b/Ingegneria del Software/0621_29/wrong1.txt	
@@ -0,0 +1 @@
+A
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_3/correct.txt b/Ingegneria del Software/0621_3/correct.txt
new file mode 100644
index 0000000..68bfd31
--- /dev/null
+++ b/Ingegneria del Software/0621_3/correct.txt	
@@ -0,0 +1 @@
+Una release del software è resa disponibile agli utenti (beta users) per permettergli di sperimentare e quindi segnalare eventuali problemi rilevati agli sviluppatori.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_3/quest.txt b/Ingegneria del Software/0621_3/quest.txt
new file mode 100644
index 0000000..4589c15
--- /dev/null
+++ b/Ingegneria del Software/0621_3/quest.txt	
@@ -0,0 +1 @@
+Quale delle seguenti affermazione è vera riguardo al beta testing ?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_3/wrong0.txt b/Ingegneria del Software/0621_3/wrong0.txt
new file mode 100644
index 0000000..ab58544
--- /dev/null
+++ b/Ingegneria del Software/0621_3/wrong0.txt	
@@ -0,0 +1 @@
+Test automatizzato sono eseguiti sulla versione finale del sistema presso il sito di sviluppo del software.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_3/wrong1.txt b/Ingegneria del Software/0621_3/wrong1.txt
new file mode 100644
index 0000000..f021931
--- /dev/null
+++ b/Ingegneria del Software/0621_3/wrong1.txt	
@@ -0,0 +1 @@
+Test automatizzato sono eseguiti sulla versione finale del sistema presso il cliente.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_30/correct.txt b/Ingegneria del Software/0621_30/correct.txt
new file mode 100644
index 0000000..61e5080
--- /dev/null
+++ b/Ingegneria del Software/0621_30/correct.txt	
@@ -0,0 +1,13 @@
+class Monitor
+InputReal x, y; 
+OutputBoolean wy;
+Boolean wz;
+initial equation
+wy = false;
+equation
+wz = (time > 40) and (delay(x, 10) > 1) and (y < 0);
+algorithm
+when edge(wz) then
+wy := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_30/quest.txt b/Ingegneria del Software/0621_30/quest.txt
new file mode 100644
index 0000000..a8b6d94
--- /dev/null
+++ b/Ingegneria del Software/0621_30/quest.txt	
@@ -0,0 +1,5 @@
+Si consideri il seguente requisito:
+RQ:  Dopo 40 unità di tempo dall'inizio dell'esecuzione vale la seguente proprietà:
+se 10 unità di tempo nel passato x era maggiore di 1 allora ora y è nonegativa.
+Tenendo presente che, al tempo time, delay(z, w) ritorna 0 se time <= w e ritorna il valore che z aveva al tempo (time - w), se time = w.
+Quale dei seguenti monitor meglio descrive il requisito RQ ?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_30/wrong0.txt b/Ingegneria del Software/0621_30/wrong0.txt
new file mode 100644
index 0000000..7711cd7
--- /dev/null
+++ b/Ingegneria del Software/0621_30/wrong0.txt	
@@ -0,0 +1,13 @@
+class Monitor
+InputReal x, y; 
+OutputBoolean wy;
+Boolean wz;
+initial equation
+wy = false;
+equation
+wz = (time > 40) or (delay(x, 10) > 1) or (y < 0);
+algorithm
+when edge(wz) then
+wy := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_30/wrong1.txt b/Ingegneria del Software/0621_30/wrong1.txt
new file mode 100644
index 0000000..9c912b6
--- /dev/null
+++ b/Ingegneria del Software/0621_30/wrong1.txt	
@@ -0,0 +1,13 @@
+class Monitor
+InputReal x, y; 
+OutputBoolean wy;
+Boolean wz;
+initial equation
+wy = false;
+equation
+wz = (time > 40) and (delay(x, 10) > 1) and (y >= 0);
+algorithm
+when edge(wz) then
+wy := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_31/correct.txt b/Ingegneria del Software/0621_31/correct.txt
new file mode 100644
index 0000000..2563af3
--- /dev/null
+++ b/Ingegneria del Software/0621_31/correct.txt	
@@ -0,0 +1 @@
+Plan driven
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_31/quest.txt b/Ingegneria del Software/0621_31/quest.txt
new file mode 100644
index 0000000..f48b2fb
--- /dev/null
+++ b/Ingegneria del Software/0621_31/quest.txt	
@@ -0,0 +1 @@
+Un azienda ha un team di sviluppo in cui il 90% dei membri è junior (cioè con poca esperienza) ed il 10% è senior (cioè con molta esperienza).  Con l'obiettivo di massimizzare il numero di progetti completati nell'unità di tempo, quale dei seguenti modelli di sviluppo software appare più opportuno.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_31/wrong0.txt b/Ingegneria del Software/0621_31/wrong0.txt
new file mode 100644
index 0000000..32417b7
--- /dev/null
+++ b/Ingegneria del Software/0621_31/wrong0.txt	
@@ -0,0 +1 @@
+Basato sul riuso
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_31/wrong1.txt b/Ingegneria del Software/0621_31/wrong1.txt
new file mode 100644
index 0000000..f28b849
--- /dev/null
+++ b/Ingegneria del Software/0621_31/wrong1.txt	
@@ -0,0 +1 @@
+Iterativo
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_32/correct.txt b/Ingegneria del Software/0621_32/correct.txt
new file mode 100644
index 0000000..ddb0d65
--- /dev/null
+++ b/Ingegneria del Software/0621_32/correct.txt	
@@ -0,0 +1 @@
+La variabile x è nell'intervallo [0, 5].
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_32/quest.txt b/Ingegneria del Software/0621_32/quest.txt
new file mode 100644
index 0000000..7004fa1
--- /dev/null
+++ b/Ingegneria del Software/0621_32/quest.txt	
@@ -0,0 +1,17 @@
+Si consideri il monitor seguente che ritorna true appena i requisiti per il sistema monitorato sono violati.
+<html>
+block Monitor
+input Real x;  
+output Boolean y;
+Boolean w;
+initial equation
+y = false;
+equation
+w = ((x < 0) or (x > 5));
+algorithm
+when edge(w) then
+y := true;
+end when;
+end Monitor;
+</html>
+Quale delle seguenti affermazioni meglio descrive il requisito monitorato.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_32/wrong0.txt b/Ingegneria del Software/0621_32/wrong0.txt
new file mode 100644
index 0000000..3e05ae7
--- /dev/null
+++ b/Ingegneria del Software/0621_32/wrong0.txt	
@@ -0,0 +1 @@
+La variabile x è fuori dall'intervallo [0, 5].
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_32/wrong1.txt b/Ingegneria del Software/0621_32/wrong1.txt
new file mode 100644
index 0000000..7c7a691
--- /dev/null
+++ b/Ingegneria del Software/0621_32/wrong1.txt	
@@ -0,0 +1 @@
+La variable x è minore di 0.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_33/correct.txt b/Ingegneria del Software/0621_33/correct.txt
new file mode 100644
index 0000000..a910f40
--- /dev/null
+++ b/Ingegneria del Software/0621_33/correct.txt	
@@ -0,0 +1 @@
+Gli utenti del sistema lavorano insieme al team di sviluppo per testare il software nel sito di sviluppo.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_33/quest.txt b/Ingegneria del Software/0621_33/quest.txt
new file mode 100644
index 0000000..c35e04d
--- /dev/null
+++ b/Ingegneria del Software/0621_33/quest.txt	
@@ -0,0 +1 @@
+Quale delle seguenti affermazioni è vera riguardo all'alpha testing ?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_33/wrong0.txt b/Ingegneria del Software/0621_33/wrong0.txt
new file mode 100644
index 0000000..e43ca64
--- /dev/null
+++ b/Ingegneria del Software/0621_33/wrong0.txt	
@@ -0,0 +1 @@
+Test automatizzati sono eseguiti sulla prima release del sistema.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_33/wrong1.txt b/Ingegneria del Software/0621_33/wrong1.txt
new file mode 100644
index 0000000..9a5ec0f
--- /dev/null
+++ b/Ingegneria del Software/0621_33/wrong1.txt	
@@ -0,0 +1 @@
+Test automatizzati sono eseguiti su una versione preliminare del sistema.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_34/correct.txt b/Ingegneria del Software/0621_34/correct.txt
new file mode 100644
index 0000000..1146d53
--- /dev/null
+++ b/Ingegneria del Software/0621_34/correct.txt	
@@ -0,0 +1,15 @@
+class Monitor
+
+InputReal x;  // plant output
+OutputBoolean y;
+
+Boolean z;
+initial equation
+y = false;
+equation
+z = (time > 20) and ((x >= 30) or (x <= 20)) ;
+algorithm
+when edge(z) then
+y := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_34/quest.txt b/Ingegneria del Software/0621_34/quest.txt
new file mode 100644
index 0000000..e77688e
--- /dev/null
+++ b/Ingegneria del Software/0621_34/quest.txt	
@@ -0,0 +1,3 @@
+Si consideri il seguente requisito:
+RQ1:  Dopo 20 unità di tempo dall'inizio dell'esecuzione la variabile x è sempre nell'intervallo [20, 30] .
+Quale dei seguenti monitor meglio descrive il requisito RQ1 ?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_34/wrong0.txt b/Ingegneria del Software/0621_34/wrong0.txt
new file mode 100644
index 0000000..4b67df9
--- /dev/null
+++ b/Ingegneria del Software/0621_34/wrong0.txt	
@@ -0,0 +1,15 @@
+class Monitor
+
+InputReal x;  // plant output
+OutputBoolean y;
+
+Boolean z;
+initial equation
+y = false;
+equation
+z = (time > 20) or ((x >= 20) and (x <= 30)) ;
+algorithm
+when edge(z) then
+y := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_34/wrong1.txt b/Ingegneria del Software/0621_34/wrong1.txt
new file mode 100644
index 0000000..30d3000
--- /dev/null
+++ b/Ingegneria del Software/0621_34/wrong1.txt	
@@ -0,0 +1,15 @@
+class Monitor
+
+InputReal x;  // plant output
+OutputBoolean y;
+
+Boolean z;
+initial equation
+y = false;
+equation
+z = (time > 20) and (x >= 20) and (x <= 30) ;
+algorithm
+when edge(z) then
+y := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_35/correct.txt b/Ingegneria del Software/0621_35/correct.txt
new file mode 100644
index 0000000..0dcbeca
--- /dev/null
+++ b/Ingegneria del Software/0621_35/correct.txt	
@@ -0,0 +1 @@
+Per ciascun incremento di funzionalità, scrivi test automatizzati, implementa la funzionalità, esegui i test e rivedi l'implementazione come necessario.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_35/quest.txt b/Ingegneria del Software/0621_35/quest.txt
new file mode 100644
index 0000000..f3019d0
--- /dev/null
+++ b/Ingegneria del Software/0621_35/quest.txt	
@@ -0,0 +1 @@
+Si consideri il Test-Driven Development (TDD). Quale delle seguenti affermazioni è vera?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_35/wrong0.txt b/Ingegneria del Software/0621_35/wrong0.txt
new file mode 100644
index 0000000..2891ab7
--- /dev/null
+++ b/Ingegneria del Software/0621_35/wrong0.txt	
@@ -0,0 +1 @@
+Scrivi test automatizzati per tutti i requisiti di sistema, esegui i test e rivedi l'implementazione come necessario.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_35/wrong1.txt b/Ingegneria del Software/0621_35/wrong1.txt
new file mode 100644
index 0000000..cf5eab4
--- /dev/null
+++ b/Ingegneria del Software/0621_35/wrong1.txt	
@@ -0,0 +1 @@
+Per ciascun incremento di funzionalità, implementa la funzionalità, scrivi test automatizzati, esegui i test e rivedi l'implementazione come necessario.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_36/correct.txt b/Ingegneria del Software/0621_36/correct.txt
new file mode 100644
index 0000000..fc560a2
--- /dev/null
+++ b/Ingegneria del Software/0621_36/correct.txt	
@@ -0,0 +1,15 @@
+class Monitor
+
+InputReal x;  // plant output
+OutputBoolean y;
+
+Boolean z;
+initial equation
+y = false;
+equation
+z = (time > 0) and ((x > 5) or (x < 0));
+algorithm
+when edge(z) then
+y := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_36/quest.txt b/Ingegneria del Software/0621_36/quest.txt
new file mode 100644
index 0000000..6473814
--- /dev/null
+++ b/Ingegneria del Software/0621_36/quest.txt	
@@ -0,0 +1,3 @@
+Si consideri il seguente requisito:
+RQ:  Durante l'esecuzione del programma (cioè per tutti gli istanti di tempo positivi) la variabile x è sempre nell'intervallo [0, 5].
+Quale dei seguenti monitor meglio descrive il requisito RQ ?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_36/wrong0.txt b/Ingegneria del Software/0621_36/wrong0.txt
new file mode 100644
index 0000000..61fa628
--- /dev/null
+++ b/Ingegneria del Software/0621_36/wrong0.txt	
@@ -0,0 +1,15 @@
+class Monitor
+
+InputReal x;  // plant output
+OutputBoolean y;
+
+Boolean z;
+initial equation
+y = false;
+equation
+z = (time > 0) and (x > 0) and (x < 5);
+algorithm
+when edge(z) then
+y := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_36/wrong1.txt b/Ingegneria del Software/0621_36/wrong1.txt
new file mode 100644
index 0000000..c8a2c3d
--- /dev/null
+++ b/Ingegneria del Software/0621_36/wrong1.txt	
@@ -0,0 +1,15 @@
+class Monitor
+
+InputReal x;  // plant output
+OutputBoolean y;
+
+Boolean z;
+initial equation
+y = false;
+equation
+z =  (time > 0) and ((x > 0) or (x < 5));
+algorithm
+when edge(z) then
+y := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_37/correct.txt b/Ingegneria del Software/0621_37/correct.txt
new file mode 100644
index 0000000..994f202
--- /dev/null
+++ b/Ingegneria del Software/0621_37/correct.txt	
@@ -0,0 +1,13 @@
+model System
+Integer y;  Real r1024;
+Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState];
+equation
+y = if (r1024 <= 0.2) then -1 else if (r1024 <= 0.7) then 0 else 1;
+algorithm
+when initial() then
+state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020);
+r1024     := 0;
+elsewhen sample(0,1) then
+(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024));
+end when;
+end System;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_37/quest.txt b/Ingegneria del Software/0621_37/quest.txt
new file mode 100644
index 0000000..45f5869
--- /dev/null
+++ b/Ingegneria del Software/0621_37/quest.txt	
@@ -0,0 +1 @@
+Si consideri l'ambiente (use case) consistente di un utente che ad ogni unità di tempo (ad esempio, un secondo) invia al nostro sistema input -1 con probabilità 0.2, input 0 con probabilità 0.5 ed input 1 con probabilità 0.3. Quale dei seguenti modelli Modelica rappresenta correttamente tale ambiente.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_37/wrong0.txt b/Ingegneria del Software/0621_37/wrong0.txt
new file mode 100644
index 0000000..4481c24
--- /dev/null
+++ b/Ingegneria del Software/0621_37/wrong0.txt	
@@ -0,0 +1,13 @@
+model System
+Integer y;  Real r1024;
+Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState];
+equation
+y = if (r1024 <= 0.3) then -1 else if (r1024 <= 0.7) then 0 else 1;
+algorithm
+when initial() then
+state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020);
+r1024     := 0;
+elsewhen sample(0,1) then
+(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024));
+end when;
+end System;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_37/wrong2.txt b/Ingegneria del Software/0621_37/wrong2.txt
new file mode 100644
index 0000000..b94d213
--- /dev/null
+++ b/Ingegneria del Software/0621_37/wrong2.txt	
@@ -0,0 +1,13 @@
+model System
+Integer y;  Real r1024;
+Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState];
+equation
+y = if (r1024 <= 0.2) then -1 else if (r1024 <= 0.5) then 0 else 1;
+algorithm
+when initial() then
+state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020);
+r1024     := 0;
+elsewhen sample(0,1) then
+(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024));
+end when;
+end System;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_38/correct.txt b/Ingegneria del Software/0621_38/correct.txt
new file mode 100644
index 0000000..f4e4c53
--- /dev/null
+++ b/Ingegneria del Software/0621_38/correct.txt	
@@ -0,0 +1 @@
+Il performance testing è tipicamente eseguito una volta che il sistema è stato completamento integrato.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_38/quest.txt b/Ingegneria del Software/0621_38/quest.txt
new file mode 100644
index 0000000..4a711a4
--- /dev/null
+++ b/Ingegneria del Software/0621_38/quest.txt	
@@ -0,0 +1 @@
+Quale delle seguenti affermazioni è vera riguardo al performance testing?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_38/wrong0.txt b/Ingegneria del Software/0621_38/wrong0.txt
new file mode 100644
index 0000000..4885062
--- /dev/null
+++ b/Ingegneria del Software/0621_38/wrong0.txt	
@@ -0,0 +1 @@
+Il performance testing è tipicamente eseguito su un prototipo del sistema.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_38/wrong1.txt b/Ingegneria del Software/0621_38/wrong1.txt
new file mode 100644
index 0000000..bd881bc
--- /dev/null
+++ b/Ingegneria del Software/0621_38/wrong1.txt	
@@ -0,0 +1 @@
+Il performance testing è tipicamente eseguito solo sulle componenti del sistema prima dell'integrazione.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_39/1.png b/Ingegneria del Software/0621_39/1.png
new file mode 100644
index 0000000..26d9334
Binary files /dev/null and b/Ingegneria del Software/0621_39/1.png differ
diff --git a/Ingegneria del Software/0621_39/2.png b/Ingegneria del Software/0621_39/2.png
new file mode 100644
index 0000000..99c7a5f
Binary files /dev/null and b/Ingegneria del Software/0621_39/2.png differ
diff --git a/Ingegneria del Software/0621_39/3.png b/Ingegneria del Software/0621_39/3.png
new file mode 100644
index 0000000..ad1e664
Binary files /dev/null and b/Ingegneria del Software/0621_39/3.png differ
diff --git a/Ingegneria del Software/0621_39/correct.txt b/Ingegneria del Software/0621_39/correct.txt
new file mode 100644
index 0000000..91e6e0a
--- /dev/null
+++ b/Ingegneria del Software/0621_39/correct.txt	
@@ -0,0 +1 @@
+img=https://i.imgur.com/J4TFpmw.png
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_39/quest.txt b/Ingegneria del Software/0621_39/quest.txt
new file mode 100644
index 0000000..406c612
--- /dev/null
+++ b/Ingegneria del Software/0621_39/quest.txt	
@@ -0,0 +1 @@
+Si consideri un software sviluppato seguendo un approccio plan-driven implementato con tre fasi: F1, F2, F3. Le "change requests"  arrivano con probabilità p dopo ciascuna fase e provocano la ripetizione (con relativo costo) di tutte le fasi che precedono. Quali delle seguenti catene di Markov modella lo sviluppo software descritto.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_39/wrong0.txt b/Ingegneria del Software/0621_39/wrong0.txt
new file mode 100644
index 0000000..0f68af0
--- /dev/null
+++ b/Ingegneria del Software/0621_39/wrong0.txt	
@@ -0,0 +1 @@
+img=https://i.imgur.com/xVrmeoj.png
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_39/wrong1.txt b/Ingegneria del Software/0621_39/wrong1.txt
new file mode 100644
index 0000000..908366a
--- /dev/null
+++ b/Ingegneria del Software/0621_39/wrong1.txt	
@@ -0,0 +1 @@
+img=https://i.imgur.com/4Ew3YtM.png
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_4/correct.txt b/Ingegneria del Software/0621_4/correct.txt
new file mode 100644
index 0000000..8c7d085
--- /dev/null
+++ b/Ingegneria del Software/0621_4/correct.txt	
@@ -0,0 +1 @@
+Sviluppo Plan-driven.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_4/quest.txt b/Ingegneria del Software/0621_4/quest.txt
new file mode 100644
index 0000000..ddce8d2
--- /dev/null
+++ b/Ingegneria del Software/0621_4/quest.txt	
@@ -0,0 +1 @@
+Si pianifica lo sviluppo di un sistema software per controllare il sistema di anti-lock braking in un automobile. Quale dei seguenti è il tipico processo software usato per questo tipo di sistema software ?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_4/wrong0.txt b/Ingegneria del Software/0621_4/wrong0.txt
new file mode 100644
index 0000000..774698d
--- /dev/null
+++ b/Ingegneria del Software/0621_4/wrong0.txt	
@@ -0,0 +1 @@
+Extreme programming.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_4/wrong1.txt b/Ingegneria del Software/0621_4/wrong1.txt
new file mode 100644
index 0000000..61e542a
--- /dev/null
+++ b/Ingegneria del Software/0621_4/wrong1.txt	
@@ -0,0 +1 @@
+Sviluppo Iterativo.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_5/correct.txt b/Ingegneria del Software/0621_5/correct.txt
new file mode 100644
index 0000000..793f9d6
--- /dev/null
+++ b/Ingegneria del Software/0621_5/correct.txt	
@@ -0,0 +1,15 @@
+class Monitor
+
+InputReal x, y;  // plant output
+OutputBoolean wy;
+
+Boolean wz;
+initial equation
+wy = false;
+equation
+wz = (time > 10) and (x >= 10) and (x <= 20) and ((y < 0.5*x) or (y > 0.7*x)) ;
+algorithm
+when edge(wz) then
+wy := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_5/quest.txt b/Ingegneria del Software/0621_5/quest.txt
new file mode 100644
index 0000000..b1c19dc
--- /dev/null
+++ b/Ingegneria del Software/0621_5/quest.txt	
@@ -0,0 +1,3 @@
+Si consideri il seguente requisito:
+RQ:  Dopo 10 unità di tempo dall'inizio dell'esecuzione vale la seguente proprietà: se la variabile x è nell'intervallo [10, 20]  allora la variabile y è compresa tra il 50% di x ed il 70% di x.
+Quale dei seguenti monitor meglio descrive il requisito RQ ?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_5/wrong0.txt b/Ingegneria del Software/0621_5/wrong0.txt
new file mode 100644
index 0000000..284d4d1
--- /dev/null
+++ b/Ingegneria del Software/0621_5/wrong0.txt	
@@ -0,0 +1,15 @@
+class Monitor
+
+InputReal x, y;  // plant output
+OutputBoolean wy;
+
+Boolean wz;
+initial equation
+wy = false;
+equation
+wz = (time > 10) and ((x < 10) or (x > 20)) and ((y < 0.5*x) or (y > 0.7*x)) ;
+algorithm
+when edge(wz) then
+wy := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_5/wrong1.txt b/Ingegneria del Software/0621_5/wrong1.txt
new file mode 100644
index 0000000..21a20d4
--- /dev/null
+++ b/Ingegneria del Software/0621_5/wrong1.txt	
@@ -0,0 +1,15 @@
+class Monitor
+
+InputReal x, y;  // plant output
+OutputBoolean wy;
+
+Boolean wz;
+initial equation
+wy = false;
+equation
+wz = (time > 10) and (x >= 10) and (x <= 20) and (y >= 0.5*x) and (y <= 0.7*x)  ;
+algorithm
+when edge(wz) then
+wy := true;
+end when;
+end Monitor;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_6/1.png b/Ingegneria del Software/0621_6/1.png
new file mode 100644
index 0000000..e7a829f
Binary files /dev/null and b/Ingegneria del Software/0621_6/1.png differ
diff --git a/Ingegneria del Software/0621_6/correct.txt b/Ingegneria del Software/0621_6/correct.txt
new file mode 100644
index 0000000..81653ea
--- /dev/null
+++ b/Ingegneria del Software/0621_6/correct.txt	
@@ -0,0 +1,16 @@
+function next
+input Integer x;
+output Integer y;
+algorithm
+   y := 1 - x;
+end next;
+
+class System
+Integer x;
+initial equation
+x = 0;
+equation
+when sample(0, 1) then
+    x = next(pre(x));
+end when;
+end System;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_6/quest.txt b/Ingegneria del Software/0621_6/quest.txt
new file mode 100644
index 0000000..8bc0606
--- /dev/null
+++ b/Ingegneria del Software/0621_6/quest.txt	
@@ -0,0 +1,3 @@
+img=https://i.imgur.com/F6JCFSU.png
+Si consideri l'automa segunete:
+Quale dei seguenti modelli Modelica fornisce un modello ragionevole per l'automa di cui sopra.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_6/wrong0.txt b/Ingegneria del Software/0621_6/wrong0.txt
new file mode 100644
index 0000000..4c7125e
--- /dev/null
+++ b/Ingegneria del Software/0621_6/wrong0.txt	
@@ -0,0 +1,16 @@
+function next
+input Integer x;
+output Integer y;
+algorithm
+   y := x;
+end next;
+
+class System
+Integer x;
+initial equation
+x = 0;
+equation
+when sample(0, 1) then
+    x = next(pre(x));
+end when;
+end System;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_6/wrong1.txt b/Ingegneria del Software/0621_6/wrong1.txt
new file mode 100644
index 0000000..47cf8cd
--- /dev/null
+++ b/Ingegneria del Software/0621_6/wrong1.txt	
@@ -0,0 +1,16 @@
+function next
+input Integer x;
+output Integer y;
+algorithm
+   y := 1 + x;
+end next;
+
+class System
+Integer x;
+initial equation
+x = 0;
+equation
+when sample(0, 1) then
+    x = next(pre(x));
+end when;
+end System;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_7/correct.txt b/Ingegneria del Software/0621_7/correct.txt
new file mode 100644
index 0000000..c7c83e5
--- /dev/null
+++ b/Ingegneria del Software/0621_7/correct.txt	
@@ -0,0 +1 @@
+3*A
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_7/quest.txt b/Ingegneria del Software/0621_7/quest.txt
new file mode 100644
index 0000000..e0052c2
--- /dev/null
+++ b/Ingegneria del Software/0621_7/quest.txt	
@@ -0,0 +1 @@
+Si consideri un software sviluppato seguendo un approccio iterativo implementato con tre fasi: F1, F2, F3. Ciascuna fase ha costo A. Qual'e' il costo dello sviluppo dell'intero software?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_7/wrong0.txt b/Ingegneria del Software/0621_7/wrong0.txt
new file mode 100644
index 0000000..8c7e5a6
--- /dev/null
+++ b/Ingegneria del Software/0621_7/wrong0.txt	
@@ -0,0 +1 @@
+A
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_7/wrong1.txt b/Ingegneria del Software/0621_7/wrong1.txt
new file mode 100644
index 0000000..ff38c25
--- /dev/null
+++ b/Ingegneria del Software/0621_7/wrong1.txt	
@@ -0,0 +1 @@
+2*A
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_8/1.png b/Ingegneria del Software/0621_8/1.png
new file mode 100644
index 0000000..26d9334
Binary files /dev/null and b/Ingegneria del Software/0621_8/1.png differ
diff --git a/Ingegneria del Software/0621_8/correct.txt b/Ingegneria del Software/0621_8/correct.txt
new file mode 100644
index 0000000..28ec59c
--- /dev/null
+++ b/Ingegneria del Software/0621_8/correct.txt	
@@ -0,0 +1,33 @@
+model System
+parameter Integer F1 = 1;
+parameter Integer F2 = 2;
+parameter Integer F3 = 3;
+parameter Integer End = 4;
+parameter Real p = 0.3;
+parameter Real A[4, 4] =
+[
+p, 1-p, 0, 0;
+p, 0, 1-p, 0;
+p, 0, 0, 1-p;
+0, 0, 0, 1
+];
+Integer x;  Real r1024;
+Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState];
+algorithm
+when initial() then
+   state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020);
+   x := F1;
+   r1024 := 0;
+elsewhen sample(0,1) then
+(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024));
+if (r1024 <= A[x, F1]) then
+ x := F1;
+ elseif (r1024 <= A[x, F1] + A[x, F2]) then
+ x := F2;
+ elseif (r1024 <= A[x, F1] + A[x, F2] + A[x, F3]) then
+ x := F3;
+ else
+ x := End;
+end if;
+end when;
+end System;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_8/quest.txt b/Ingegneria del Software/0621_8/quest.txt
new file mode 100644
index 0000000..8107c95
--- /dev/null
+++ b/Ingegneria del Software/0621_8/quest.txt	
@@ -0,0 +1,3 @@
+img=https://i.imgur.com/cHaHubX.png
+Si consideri la seguente Markov Chain:
+Quale dei seguenti modelli Modelica fornisce un modello ragionevole per la Markov Chain di cui sopra?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_8/wrong0.txt b/Ingegneria del Software/0621_8/wrong0.txt
new file mode 100644
index 0000000..c3a7393
--- /dev/null
+++ b/Ingegneria del Software/0621_8/wrong0.txt	
@@ -0,0 +1,33 @@
+model System
+parameter Integer F1 = 1;
+parameter Integer F2 = 2;
+parameter Integer F3 = 3;
+parameter Integer End = 4;
+parameter Real p = 0.3;
+parameter Real A[4, 4] =
+[
+p, 0, 1-p, 0;
+0, p, 1-p, 0;
+p, 0, 0, 1-p;
+0, 0, 0, 1
+];
+Integer x;  Real r1024;
+Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState];
+algorithm
+when initial() then
+state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020);
+x := F1;
+r1024 := 0;
+elsewhen sample(0,1) then
+(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024));
+if (r1024 <= A[x, F1]) then
+ x := F1;
+ elseif (r1024 <= A[x, F1] + A[x, F2]) then
+ x := F2;
+ elseif (r1024 <= A[x, F1] + A[x, F2] + A[x, F3]) then
+ x := F3;
+ else
+ x := End;
+end if;
+end when;
+end System;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_8/wrong1.txt b/Ingegneria del Software/0621_8/wrong1.txt
new file mode 100644
index 0000000..1b498b3
--- /dev/null
+++ b/Ingegneria del Software/0621_8/wrong1.txt	
@@ -0,0 +1,33 @@
+model System
+parameter Integer F1 = 1;
+parameter Integer F2 = 2;
+parameter Integer F3 = 3;
+parameter Integer End = 4;
+parameter Real p = 0.3;
+parameter Real A[4, 4] =
+[
+p, 0 , 1-p, 0;
+p, 1-p, 0, 0;
+p, 0, 0, 1-p;
+0, 0, 0, 1
+];
+Integer x;  Real r1024;
+Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState];
+algorithm
+when initial() then
+state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020);
+x := F1;
+r1024 := 0;
+elsewhen sample(0,1) then
+(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024));
+if (r1024 <= A[x, F1]) then
+ x := F1;
+ elseif (r1024 <= A[x, F1] + A[x, F2]) then
+ x := F2;
+ elseif (r1024 <= A[x, F1] + A[x, F2] + A[x, F3]) then
+ x := F3;
+ else
+ x := End;
+end if;
+end when;
+end System;
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_9/correct.txt b/Ingegneria del Software/0621_9/correct.txt
new file mode 100644
index 0000000..4bef521
--- /dev/null
+++ b/Ingegneria del Software/0621_9/correct.txt	
@@ -0,0 +1 @@
+Requirements specification precedes the component analysis activity.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_9/quest.txt b/Ingegneria del Software/0621_9/quest.txt
new file mode 100644
index 0000000..47b8c7e
--- /dev/null
+++ b/Ingegneria del Software/0621_9/quest.txt	
@@ -0,0 +1 @@
+Consider reuse-based software development. Which of the following is true?
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_9/wrong0.txt b/Ingegneria del Software/0621_9/wrong0.txt
new file mode 100644
index 0000000..d37b8fe
--- /dev/null
+++ b/Ingegneria del Software/0621_9/wrong0.txt	
@@ -0,0 +1 @@
+Requirements specification is not needed thanks to reuse.
\ No newline at end of file
diff --git a/Ingegneria del Software/0621_9/wrong1.txt b/Ingegneria del Software/0621_9/wrong1.txt
new file mode 100644
index 0000000..53c7eb8
--- /dev/null
+++ b/Ingegneria del Software/0621_9/wrong1.txt	
@@ -0,0 +1 @@
+Development and integration are not needed thanks to reuse.
\ No newline at end of file