// Segnature delle attivitˆ atomiche // ================================= // // VerificaSuccessiva(cas:Insieme):(ok:bool) // VerificaSalti(cas:Insieme):(ok:bool) // LeggiGiocatori():(is:Insieme) // PosizionaGiocatore(g:Insieme,cas:Insieme) // StampaOK() // StampaKO() InizioSpecificaAttivita Principale Principale(caselle: Insieme) Variabili Processo giocatori: Insieme esitoSucc: Bool esitoSalti: Bool InizioProcesso VerificaSuccessiva(caselle):(esitoSucc); if (esitoSucc) { fork thread t1 : { VerificaSalti(caselle):(esitoSalti); } thread t2 : { LeggiGiocatori():(giocatori); PosizionaGiocatore(giocatori,caselle); } } join t1,t2; if (esitoSalti) StampaOK(); else StampaKO(); } else StampaKO(); FineProcesso FineSpecifica