![Page 1: Ingegneria del Software 10. Esercizi sulle macchinepages.di.unipi.it/gadducci/lezioniIS/10.IngegneriaSoftware.pdf · Ingegneria del Software 10. ... • Giornalmente, CellEx registra](https://reader031.vdocuments.mx/reader031/viewer/2022021710/5c6576a209d3f2876e8cacc1/html5/thumbnails/1.jpg)
Ingegneria del Software 10. Esercizi sulle macchine
Dipartimento di Informatica Università di Pisa
A.A. 2014/15
![Page 2: Ingegneria del Software 10. Esercizi sulle macchinepages.di.unipi.it/gadducci/lezioniIS/10.IngegneriaSoftware.pdf · Ingegneria del Software 10. ... • Giornalmente, CellEx registra](https://reader031.vdocuments.mx/reader031/viewer/2022021710/5c6576a209d3f2876e8cacc1/html5/thumbnails/2.jpg)
un passo alla volta…
• Lo studente deve completare il “basic level” prima di passare a quello “advanced”
![Page 3: Ingegneria del Software 10. Esercizi sulle macchinepages.di.unipi.it/gadducci/lezioniIS/10.IngegneriaSoftware.pdf · Ingegneria del Software 10. ... • Giornalmente, CellEx registra](https://reader031.vdocuments.mx/reader031/viewer/2022021710/5c6576a209d3f2876e8cacc1/html5/thumbnails/3.jpg)
un passo alla volta…• Lo studente deve
completare il “basic level” prima di passare a quello “advanced”
• Per superare un livello, deve sostenere con successo cinque esami
![Page 4: Ingegneria del Software 10. Esercizi sulle macchinepages.di.unipi.it/gadducci/lezioniIS/10.IngegneriaSoftware.pdf · Ingegneria del Software 10. ... • Giornalmente, CellEx registra](https://reader031.vdocuments.mx/reader031/viewer/2022021710/5c6576a209d3f2876e8cacc1/html5/thumbnails/4.jpg)
un passo alla volta…• Lo studente deve
completare il “basic level” prima di passare a quello “advanced”
• Per superare un livello, deve sostenere con successo cinque esami
• Al “basic level”, un esame può essere sostenuto max. tre volte, dopodiché lo studente viene “dis-iscritto”
[problema sugli esami “in parallelo”]
![Page 5: Ingegneria del Software 10. Esercizi sulle macchinepages.di.unipi.it/gadducci/lezioniIS/10.IngegneriaSoftware.pdf · Ingegneria del Software 10. ... • Giornalmente, CellEx registra](https://reader031.vdocuments.mx/reader031/viewer/2022021710/5c6576a209d3f2876e8cacc1/html5/thumbnails/5.jpg)
una stanza…• Si fornisca un diagramma di macchina a stati
che descrive l’evoluzione dello stato di una stanza d’albergo, assumendo che
• sia inizialmente libera e prenotabile
• debba essere liberata entro le 10, pena il pagamento di un’altra notte
• le prenotazioni avvengano dopo le 10 e debbano essere confermate entro le 18, pena la cancellazione
![Page 6: Ingegneria del Software 10. Esercizi sulle macchinepages.di.unipi.it/gadducci/lezioniIS/10.IngegneriaSoftware.pdf · Ingegneria del Software 10. ... • Giornalmente, CellEx registra](https://reader031.vdocuments.mx/reader031/viewer/2022021710/5c6576a209d3f2876e8cacc1/html5/thumbnails/6.jpg)
![Page 7: Ingegneria del Software 10. Esercizi sulle macchinepages.di.unipi.it/gadducci/lezioniIS/10.IngegneriaSoftware.pdf · Ingegneria del Software 10. ... • Giornalmente, CellEx registra](https://reader031.vdocuments.mx/reader031/viewer/2022021710/5c6576a209d3f2876e8cacc1/html5/thumbnails/7.jpg)
una registrazione• I docenti utilizzano il cellulare per verbalizzare gli esami, mediante
l’invio di un SMS al numero telefonico del servizio statini
• Giornalmente, CellEx registra gli esami della giornata nel sistema S3 (che è in uso da anni nell’Ateneo) e invia ai docenti una mail contenente un’indicazione di tutti gli esami del loro corso registrati in giornata. In seguito alla ricezione della mail, il docente provvede a rispondere per confermare. CellEx attende 60 giorni l’invio della mail di conferma. Gli esami confermati sono definitivamente archiviati in S3, quelli non confermati sono cancellati da S3 e devono essere registrati manualmente
• Si fornisca un diagramma di macchina a stati che descriva l’evoluzione dello stato di un esame
![Page 8: Ingegneria del Software 10. Esercizi sulle macchinepages.di.unipi.it/gadducci/lezioniIS/10.IngegneriaSoftware.pdf · Ingegneria del Software 10. ... • Giornalmente, CellEx registra](https://reader031.vdocuments.mx/reader031/viewer/2022021710/5c6576a209d3f2876e8cacc1/html5/thumbnails/8.jpg)
giunzione
![Page 9: Ingegneria del Software 10. Esercizi sulle macchinepages.di.unipi.it/gadducci/lezioniIS/10.IngegneriaSoftware.pdf · Ingegneria del Software 10. ... • Giornalmente, CellEx registra](https://reader031.vdocuments.mx/reader031/viewer/2022021710/5c6576a209d3f2876e8cacc1/html5/thumbnails/9.jpg)
scelta vs. giunzione• Scelta statica, giunzione dinamica
• “Junction pseudo-state vertices are vertices that are used to chain together multiple transitions. They are used to construct compound transition paths between states. For example, a junction can be used to converge multiple incoming transitions into a single outgoing transition representing a shared transition path (this is known as a merge)”
• “Conversely, they can be used to split an incoming transition into multiple outgoing transition segments with different guard conditions. This realizes a static conditional branch. (In the latter case, outgoing transitions whose guard conditions evaluate to false are disabled”
![Page 10: Ingegneria del Software 10. Esercizi sulle macchinepages.di.unipi.it/gadducci/lezioniIS/10.IngegneriaSoftware.pdf · Ingegneria del Software 10. ... • Giornalmente, CellEx registra](https://reader031.vdocuments.mx/reader031/viewer/2022021710/5c6576a209d3f2876e8cacc1/html5/thumbnails/10.jpg)
gestire le scorte• Si fornisca un diagramma di macchina a stati
che descriva l’evoluzione della scorta di un prodotto, tenendo conto
• degli acquisti
• del normale ripristino delle scorte quando la quantità disponibile scende sotto una data soglia
• della possibilità di trasferire articoli da un punto vendita all’altro, se un prodotto è esaurito
![Page 11: Ingegneria del Software 10. Esercizi sulle macchinepages.di.unipi.it/gadducci/lezioniIS/10.IngegneriaSoftware.pdf · Ingegneria del Software 10. ... • Giornalmente, CellEx registra](https://reader031.vdocuments.mx/reader031/viewer/2022021710/5c6576a209d3f2876e8cacc1/html5/thumbnails/11.jpg)
versione base
![Page 12: Ingegneria del Software 10. Esercizi sulle macchinepages.di.unipi.it/gadducci/lezioniIS/10.IngegneriaSoftware.pdf · Ingegneria del Software 10. ... • Giornalmente, CellEx registra](https://reader031.vdocuments.mx/reader031/viewer/2022021710/5c6576a209d3f2876e8cacc1/html5/thumbnails/12.jpg)
versione con ripristino
[con problemi: errato sulle dispense!!]
![Page 13: Ingegneria del Software 10. Esercizi sulle macchinepages.di.unipi.it/gadducci/lezioniIS/10.IngegneriaSoftware.pdf · Ingegneria del Software 10. ... • Giornalmente, CellEx registra](https://reader031.vdocuments.mx/reader031/viewer/2022021710/5c6576a209d3f2876e8cacc1/html5/thumbnails/13.jpg)
due semafori, 1• Si fornisca una macchina a stati che descriva l’evoluzione
nel tempo del sistema costituito dai due semafori
NB: per manutenzione, il
sistema può essere bloccato
![Page 14: Ingegneria del Software 10. Esercizi sulle macchinepages.di.unipi.it/gadducci/lezioniIS/10.IngegneriaSoftware.pdf · Ingegneria del Software 10. ... • Giornalmente, CellEx registra](https://reader031.vdocuments.mx/reader031/viewer/2022021710/5c6576a209d3f2876e8cacc1/html5/thumbnails/14.jpg)
domande…• Perché lo stato composito
non contiene 3 stati?
• Sarebbe ambiguo
• Exit point?
• Inutile in quanto non esiste una uscita di default
• Entry point?
• Inutile in quanto si inizia sempre dallo stesso stato
• Dopo lo sblocco, da dove si riparte?
• Rischi? (tempo di blocco minore del tempo di doppia luce rossa)
• E se si volesse ripartire da dove ci si era interrotti?
• Next slide
![Page 15: Ingegneria del Software 10. Esercizi sulle macchinepages.di.unipi.it/gadducci/lezioniIS/10.IngegneriaSoftware.pdf · Ingegneria del Software 10. ... • Giornalmente, CellEx registra](https://reader031.vdocuments.mx/reader031/viewer/2022021710/5c6576a209d3f2876e8cacc1/html5/thumbnails/15.jpg)
due semafori, 2• Si fornisca una macchina a stati che descriva l’evoluzione
nel tempo del sistema costituito dai due semafori
NB: il periodo di blocco potrebbe
sennò essere troppo breve
![Page 16: Ingegneria del Software 10. Esercizi sulle macchinepages.di.unipi.it/gadducci/lezioniIS/10.IngegneriaSoftware.pdf · Ingegneria del Software 10. ... • Giornalmente, CellEx registra](https://reader031.vdocuments.mx/reader031/viewer/2022021710/5c6576a209d3f2876e8cacc1/html5/thumbnails/16.jpg)
due semafori, 3
• Il sistema è dotato di sensori: dopo che è passato un periodo di tempo minimo in uno stato, e non ci sono macchine in vista, si può transire verso uno stato diverso
![Page 17: Ingegneria del Software 10. Esercizi sulle macchinepages.di.unipi.it/gadducci/lezioniIS/10.IngegneriaSoftware.pdf · Ingegneria del Software 10. ... • Giornalmente, CellEx registra](https://reader031.vdocuments.mx/reader031/viewer/2022021710/5c6576a209d3f2876e8cacc1/html5/thumbnails/17.jpg)