| Week 1 | |
|
| 17/02/2026 (12:00-15:00) | Lab2 |
|
| 18/02/2026 (11:30-14:30) | Lab2 |
|
| Week 2 | | |
| 24/02/2026 (12:00-15:00) | Lab2 |
|
| 25/02/2026 (11:30-14:30) | Lab2 |
- Definizione del 'core' applicativo: le interfacce Java IGrid e ICell
come prime formalizzazioni (modelli) delle entità del dominio
Goal dello Sprint1: realizzare le entità-base del dominio
(Progetto conway26Java)
escludendo LifeController.
- Definizione di
Piani di Testing funzionale a partire dalele interfacce. Come evitare dettagli tecnologici nei costruttori
- Verso una formalizazione della entità Life: dalla interface LifeInterface alla classe
- Il
Main come CompositionRoot della applicazione.
|
| Week 3 | | |
| 3/03/2026 (12:00-15:00) | Lab2 |
|
| 4/03/2026 (11:30-14:30) | Lab2 |
- Creazione di un file jar eseguibile che contiene le dipendenze
- Il progetto
conway26JavaSwing
come evoluzione (Sprint2)
del progetto conway26Java riusando il file jar (non fat) dello Sprint1 come libreria.
-
DA UNA FUNZIONE A UN SERVIZIO
|
| Week 4 | | |
| 10/03/2026 (12:00-15:00) | Lab2 |
|
| 11/03/2026 (11:30-14:30) | Lab2 |
|
| Week 5 | | |
| 17/03/2026 (12:00-15:00) | Lab2 |
|
| 18/03/2026 (11:30-14:30) | Lab2 |
|
| Week 6 | | |
| 24/03/2026 (12:00-15:00) | Lab2 |
Lezione soppressa
Collegamento via Teams alle 17:30 per discussione sui progetti proposti.
Disucssione si ConwaySprint3 e conseguente
esempio di analisii del problema
:
|
| 25/03/2026 () | Lab2 |
|
| Week 7 | |
|
| 31/03/2026 (12:00-15:00) | Lab2 |
|
| 1/04/2026 (11:30-14:30) | Lab2 |
|
| Week 8 | | |
| 8/04/2026 (11:30-14:30) | Lab2 |
|
| Week 9 | | |
| 14/04/2026 (12:00-15:00) | Lab2 |
|
| 15/04/2026 (11:30-14:30) | Lab2 |
|
| Week 10 | | |
| 21/04/2026 (12:00-15:00) | Lab2 |
|
| 22/04/2026 (11:30-14:30) | Lab2 |
-
Aggiornamento delle librerie unibo.
-
La
sintassi del linguaggio qak.
-
Principali
Azioni di un QActor nel linguaggio qak.
-
Costruzione cooperativa in Lab2 di un modello qak di un sistema che opera come
SistemaS con Javalin.
WORK TO DO:
Fare un documento di analisi/confronto critico tra le due modalità di impostazione/descrizione del sistema
-
WORK TO DO:
- definere un modello qak di un sistema firefly che simula il comportamento di una lucciola.
- estendere il modello per la simulazione di 3 lucciole
- estendere il modello per la simulazione di 100 lucciole
|
| Week 11 | | |
| 28/04/2026 (12:00-15:00) | Lab2 |
|
| 29/04/2026 (11:30-14:30) | Lab2 |
|
| Week 12 | | |
| 5/05/2026 (12:00-15:00) | Lab2 |
- Modifica della libreria unibo.basicomm23-1.0.jar
-
Discussione con i singoli studenti sugli elaborati ricevuti e
contemporaneo sviluppo in Lab2 della analisi dei seguenti requisiiti:
Costruire un sistema software che comanda un Differential Drive Robot (DDR) in modo che,
partendo dalla posizione iniziale HOME, il robot si sposti lungo il perimetro di una stanza rettangolare vuota.
Il DDR si deve fermare quando tornato in HOME.
Il DDR è anche sensibile ai dati rilevati da un Radar.
Quando il Radar rileva un 'intruso' a una distanza minore di una distanza prefissata ``DMIN``:
- se il DDR si sta muovendo , il DDR si ferma fino a che il Radar non rileva più un 'intruso' così vicino
- se il DDR è fermo in HOME, il DDR ruota su sè stesso fino a che un 'intruso' così vicino scompare
|
| 6/05/2026 (11:30-14:30) | Lab2 |
- Modifica della libreria unibo.basicomm23-1.0.jar
-
Lucciole che sincronizzano i loro lampeggi
- Introduzione al
VirtualRobot26 come definzione formale di un DDR.
-
Il TemaFinale25
|
| Week 13 | | |
| 12/05/2026 (12:00-15:00) | Lab2 |
-
Modifica della libreria unibo.basicomm23-1.0.jar
-
Il progetto
vrusage26:
esempi di uso del
VirtualRobot26 e del POJO
RobotObj26 come oggetto osservabile.
- Uso del virtual robot mediante websocket: TestMovesUsingWs26.java e
BoundaryWalkNaiveUsingWs26.java.
Analisi del log files e dei thread di esecuzione.
-
Uso del POJO RobotObj26:
BoundaryWithBasicMoves.java.
La nuova operazione
step e sua calibrazione: TuneSteptime.java
- Calcolo della lungheza dei lati della stanza in unità robotiche: RoomSideLength.java
-
WORKTODO: Realizzare il sistema proposto il 5/05 usando un sonar collegato a un Raspberry PICOW
|
| 13/05/2026 (11:30-14:30) | Lab2 |
-
La semplificazione introdotta dal movimento step di
RobotObj26 :
BoundaryWithStep.java. Confronto con
BoundaryWalkNaiveUsingWs26.java. Analisi del log files e dei thread di esecuzione.
-
Verso un robot come servizio
(robotservice26) fruibile via rete e
osservabile mediante eventi: inserzione di oggetti Java antro attori qak
(Demo UsingObjects)
-
Rilevazione delle opinioni degli studenti
-
WORKTODO:
utilizzare RobotService26 per costruire una mappa della stanza in cui si muove il robot,
nella ipotesi di ostacoli fissi e bordi perimetrali liberi da ostacoli (su una fascia di larghezza robotica).
|
| Week 14 | | |
| 19/05/2026 (12:00-15:00) | Lab2 |
|
| 20/05/2026 (11:30-14:30) | Lab2 |
- Confronto con quanto elaborato dagli studenti in merito alla analisi dei requsiti
-
Sperimentazione
di un
Raspberry PICO W. Attivazione di sonar HC-SR04 e acquisizione dei dati rilevati.
-
WORK TODO: analisi dei requisiti del TemaFinale25
al fine di capire se il tema preenta un 'abstraction gap' rispetto a quanto sviluppato fino ad ora.
|
| Week 15 | | |
| 26/05/2026 (12:00-15:00) | Lab2 |
- Aggiornamento della libreria unibo.qakactor23-5.0
-
Discussione su come impostare l'analisi dei requisiti: il caso del
TemaFinale25
-
Un nuovo 'tipo di robot':
Robotsmart26
- Un esempio di uso:
robotsmart26placetopos.qak
-
WORK TODO: con riferimento al modello
robotsmart26boundary.qak
analizzare le modifiche ritenute necessarie per interrompere e riattivare il giro del robot lungo il perimetro della stanza,
in funzione delle distanze rilevate da un Sonar collegato a un PicoW.
|
| 27/05/2026 (11:30-14:30) | Lab2 |
|
| Week 16 | | |
| 03/06/2025 (11:30-14:30) | Lab2 |
|
| 05/06/2026(11.00) | Online Teams |
|
| Week 17 | | |
| (12:00-15:00) | Lab2 |
|
| (11:30-14:30) | Lab2 |
|