R1: 3 lucciole che lampeggiano a una specifica frequenza -> tre entità indipendenti.
R2: frequenza iniziale delle lucciole diversa.
R3: dopo un intervallo di tempo definito (10 secondi) dalla partenza dell'applicazione
le 3 lucciole devono lampeggiare alla stessa frequenza costante per un tempo indeterminato.
1 - attori:
ci sono almeno 3 lucciole, modellate sul concetto di attori in quanto entità indipendenti, senza memoria condivisa ecc...
come affrontare il problema della sincronizzazione:
- lucciola regina che dopo un determinato periodo di tempo comunica alle lucciole lampeggianti la frequenza a cui lampeggiare
- lucciola regina, una tra le 3, che impone dopo il periodo di tempo la propria frequenza
- tutte le lucciole si sincronizzano sulla frequenza più alta dopo un periodo di tempo
- tutte le lucciole commutano spontaneamente su una frequenza nota a priori dopo un periodo di tempo
inizialmente si segue la strada più semplice che porta a un risultato, per poi pensare all'eventuale migrazione a sistemi più complessi
2 - cosa fanno le entità:
sistema con orchestratore - al dato tempo comunicherà a tutte le lucciole di sincronizzarsi, queste conosceranno a priori la frequenza di sincronizzazione
3 - quak: (vedere fireflysynch.qak)
collegamento con griddisplay in quanto già realizzato, permette di avere un prototipo funzionante, non ideale ma utile a velocizzare e
ridurre i costi di prototipazione
https://github.com/Festus55/iss_leonardo_ciacco