Metodologia di progettazione

I problemi concorrenti e distribuiti sono spesso abbastanza complessi da capire e gestire. Serve allora un approccio sistematico per descrivere e ragionare su tali problemi, che faciliti la progettazione e la realizzazione di una soluzione.

La progettazione riguarda la creazione di collezioni di oggetti che si coordinano tra loro per risolvere un problema. Il problema può essere scomposto in oggetti di due tipi:

La progettazione basata su questa suddivisione comporta i seguenti passi:

  1. scrivere una breve descrizione, tipicamente testuale e informale, del problema da risolvere
  2. descrivere il sistema con UML, identificando gli oggetti attivi, quelli passivi e le loro interazioni;
  3. implementare gli oggetti attivi come thead Java
  4. implementare gli oggetti passivi come monitor
  5. scrivere un oggetto di controllo (il “main”) che crea le istanze di tutti gli altri oggetti.

Esempio di specifiche testuali

Come esempio, si considera il problema del produttore-consumatore, le cui specifiche (già viste in precedenza) sono le seguenti: