# Applicazione per macchina a stati finiti

**URL:** <https://www.ruby-forum.com/t/applicazione-per-macchina-a-stati-finiti/226085>\
**Category:** IT\
**Created:** [October 12, 2010, 11:55pm UTC](https://www.ruby-forum.com/t/applicazione-per-macchina-a-stati-finiti/226085 "2010-10-12T23:55:15Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [October 12, 2010, 11:55pm UTC](https://www.ruby-forum.com/t/applicazione-per-macchina-a-stati-finiti/226085/1 "2010-10-12T23:55:15Z")

</div>

Dovrei fare un’applicazione per seguire l’installazione e sostituzione  
di tutti i pc della mia azienda.  
I pc da sostituire sono qualche centinaio.  
In pratica il lavoro si dovrebbe svolgere nel seguente modo:  
un certo numero di incaricati ricevono delle schede.  
A seguito di intervista con gli utilizzatori dei pc, le schede vengono  
compilate, ad esempio inserendo l’elenco del software di cui l’utente  
ha necessita’ e che quindi deve trovarsi sul nuovo pc assegnatogli in  
sostituzione del vecchio, oppure inserendo il nome della macchina che  
deve essere configurato nella nuova, la data e l’ora in cui l’utente  
dice di poter essere disponibile per quando dovra’ essergli sostituito  
il pc, ecc. ecc.  
Una volta compilate tali schede vengono visionate da un responsabile e  
consegnate alla ditta incaricata della sostituzione e installazione  
dei nuovi pc.  
Durante questo lavoro di sostituzione dei nuovi pc possono sorgere  
ovviamente degli imprevisti, ad esempio l’utente non si fa trovare,  
oppure si manifesta qualche problema durante l’installazione e altri  
imprevisti di qualsiasi genere.  
Se il lavoro si svolge regolarmente la ditta comunica al responsabile  
l’ok, altrimenti il lavoro viene sospeso, oppure annullato o rimandato  
ad altra data.  
Pensate che un tipo di applicazione di questo genere sia adatta per  
l’utilizzo di una macchina a stati finiti?

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [October 13, 2010, 10:22am UTC](https://www.ruby-forum.com/t/applicazione-per-macchina-a-stati-finiti/226085/2 "2010-10-13T10:22:11Z")

</div>

2010/10/12 Mauro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Dovrei fare un’applicazione per seguire l’installazione e sostituzione  
> di tutti i pc della mia azienda.  
> …  
> Pensate che un tipo di applicazione di questo genere sia adatta per  
> l’utilizzo di una macchina a stati finiti?

In un certo senso si, ma non del tutto, visto che ci sono molte  
possibilita’ che qualcosa vada storto in modi differenti fra  
installazione e installazione: ovvero, non vorrei dover rappresentare  
uno stato specifico per il concetto ‘risolvere incompatibilita’ fra il  
particolare x e il particolare y.  
Piuttosto la vedrei come un workflow: esiste il processo ‘installare  
il pc di x’, il quale e’ rappresentabile come un grafo di stati in cui  
il processo puo’ trovarsi, uno stato all’interno del processo ed uno  
storico di come ci e’ arrivato (ad esempio, bisogna accordarsi con  
l’utente perche’ la prima volta non si e’ presentato e neanche la  
seconda).  
insomma, alla fine e’ sempre una specie di macchina a stati finiti, ma  
con storico ed annotazioni, che una FSM pura non ha.

Ci sono anche dei software per disegnare questi grafi e poi per  
instanziarli, qui da me stanno usando un affare che si chiama bonita  
con una certa soddisfazione, ma personalmente non lo conosco.

Ciao
