Contro-ordine per quanto riguarda la gestione delle relazioni con le tabelle bidimensionali. La notizia buona è che la gestione risulta semplificata per voi in quanto il discorso relazione con transizione nulla viene gestito dal core , quella cattiva è che se avete già fatto qualcosa dovete modificarlo. In pratica molto semplicemente, l'array bidimensionale delle relazioni, contenente ora n x m entry (contro le (n+1)x(m+1) di prima), con n numero delle transizioni di fsm1 e m numero transizioni di fsm2, contiene relazioni solo dei tre tipi SINCRONA, ASINCRONA, M.EX.. L'id delle transizioni rimane sempre autoincrementale ma adesso deve cominciare da 0, non più da 1. Adesso bisogna solo riempire la tabella senza curarsi delle relazioni nulle. Ciò significa che,per esempio, nell'entry [0][0] dell'array adesso abbiamo la relazione tra la transizione di id=0 della fsm1 e la transizione di id=0 della fsm2, che sono transizioni effettive, non più nulle. In questo modo riduciamo fortemente le dipendenze inter-component tra io e core e semplifichiamo anche l'algoritmo di abilitazione delle transizioni. La virtualizzazione è sta eseguita mediante l'utilizzo della classe TransizioniAbilitate. Date un occhiata ai diagrammi uml inclusi come allegato se volete approfondire il discorso ( a discrezione della vostra curiosità ovviamente). Se avete domande postate.
Attachment:
coreIngSW_A.png
Description: PNG image
Attachment:
State Machine Diagram1.jpg
Description: JPEG image