Appello di luglio 2008

Scelta multipla [1/30]

Quando viene valutata una sentinella, in una macchina a stati finiti?

Scelta multipla [1/30]

Quale delle seguenti relazioni non appare normalmente in un diagramma delle classi?

Scelta multipla [1/30]

In quale diagramma UML sono usate le Swimlanes (o partizioni)?

Problema [5+5+5/30]

Un sistema miniaturizzato di rifornimento automatico di insulina, controllato da un software, funziona utilizzando un microsensore inserito nel paziente per misurare un certo parametro del sangue che viene inviato al microcontrollore che calcola la quantità necessaria di insulina da pompare nel paziente. Il problema del giusto dosaggio di insulina è che il livello di insulina nel sangue non dipende solo dal livello degli zuccheri, ma è funzione del momento in cui è fatta l'iniezione di insulina, che può portare gli zuccheri nel sangue a livelli troppo bassi (se c'è troppa insulina) o molto alti (se ce n'è poca). La prima situazione è peggiore nel breve termine (perdita di conoscenza e morte); la seconda, nel lungo termine, porta danni a vari organi del paziente.

Si voglia progettare un sistema di simulazione "paziente-macchina insulina" per mettere a punto il sistema miniaturizzato di rifornimento automatico di insulina. Le specifiche sperimentali della macchina sono: misura del livello degli zuccheri nel sangue ogni dieci unità di tempo; la dose calcolata di insulina, funzione della misura fatta del livello degli zuccheri, chiamata DoseCalc, viene fornita se, ovviamente, è maggiore di zero e se il tasso di cambiamento è in crescita nelle ultime due misure e deve essere inferiore ad una DoseMax definita, altrimenti viene fornita una dose fissa chiamata DoseFix solo se la DoseCalc è maggiore di zero; la DoseFix è ovviamente inferiore alla DoseCalc; la DoseCumulativa fornita in un periodo di 24 ore, non deve superare la DoseMaxGiornaliera; la DoseCumulativa giornaliera viene azzerata alla mezzanotte.

Il paziente viene simulato da un oggetto che genera quasi casualmente un valore di zuccheri nel sangue; questa generazione è anche funzione del tempo trascorso e dell'insulina somministrata, il prototipo del metodo è: int ValoreZuccheri(int tempo, int insulinaPompata);

L'unità di tempo nella realtà sarà il minuto, nella simulazione potrà essere impostato a piacere. Per le eventuali specifiche mancanti, fare le opportune ipotesi di lavoro.

5/30: Disegnare il diagramma delle classi che risolve l'intero problema con tutti i dettagli necessari (diagrammi reali).

5/30: Disegnare un diagramma di attività del metodo che restituisce il valore dell'insulina somministrato.

5/30: Disegnare un diagramma di sequenza, che illustri la fase di test del sistema per un periodo di 48 ore.