Fire Fly Synch - A

Introduction

Goal:Costruire il simulatore di un sistema costituito da 3 lucciole. Inizialemente, le lucciole lampeggiamo ciascuna con una frequenza (costante) propria. Dopo 10 secondi le lucciole devono lampeggiare in modo sincronizzato.

Requirements

Costruire il simulatore di un sistema costituito da 3 lucciole. Inizialemente, le lucciole lampeggiamo ciascuna con una frequenza (costante) propria.
  • A) Dopo 10 secondi le lucciole devono lampeggiare in modo sincronizzato
  • B) Il sistema è dotato anche di un sonar . Quando il sonar rileva un ostacolo a una distanza minore di una distanza prefissata DMIN, le lucciole devoono lampeggiare in modo sincronizzato. Quando la distanza dell’ostacolo (ri)supera DMIN, le lucciole tornano a lampeggiare in modo random
  • Requirement analysis

        

    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.

    
    

    Problem analysis

     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 
    
    

    Test plans

    Project

    Testing

    Deployment

    Maintenance



    By Leonardo Ciacco email: leonardo.ciacco@studio.unibo.it, io https://github.com/Festus55/iss_leonardo_ciacco