Esempi di modellazione di situazioni particolari Risorsa consumabile
Esempi di modellazione di situazioni particolari
Risorsa consumabile • Si puo’ pensare che sia gestita da un ruolo di Magazziniere che riceve la richiesta da piu’ (due) Clienti, verifica la disponibilita’ e a seconda di quest’ultima, consegna la merce al Cliente oppure ordina la merce ad un Fornitore. Magazziniere Ricevi merce Rich con C 1 Rich con C 2 Disponibile Non Disponibile Produce Consegna con C 2 Consegna con C 1 Fornitore Ordina merce
Interazioni tra tre componenti Tre amici A, B e B comunicano, insieme, via skype e lasciano a B la decisione se andare al cinema con A o con C. Nel secondo caso, B garantisce ad A che gli raccontera’ la trama. A B C Comnunicano con skype a 1 c Fa altro Vanno al cinema a 2 b 1 B racconta la trama d A b 2 Fa altro
Costruire il Grafo di Raggiungibilita’ • Verificare che lo stato globale (marcatura) <a 1, b 2, c> e’ raggiungibile (generabile) • Verificare invece che <a 1, b 2, c> non e’ raggiungibile.
In questo modello: B decide davvero? A B C Comnunicano con skype decide b Fa altro Vanno al cinema a Vanno al cinema c B racconta la trama ad A Fa altro
Non sempre …. • Se A e C decidono di fare altro la decisione di B non ha effetto. • Costruire il Grafo di Raggiungibilita’ e verificare che lo stato globale (marcatura) <a, b, c> e’ raggiungibile (generabile). • In questo stato globale B e’”bloccato” e non puo’ raggiungere nessuno suo stato finale (quelli blu, senza archi in uscita). • Non e’ un modello ben costruito. Provare a trovare delle alternative per risolvere il problema.
Gestione di interazioni “in parallelo” • Una componente vuole interagire con altre due componenti, separatamente, per chiedere delle informazioni (una offerta) e attendere da entrambe la risposta (il preventivo) per poter decidere successivamente con quale delle due continuare a collaborare. • Poiche’ un componente elementare non puo’ svolgere due azioni “simultaneamente”, le interazioni precedenti devono esser modellate in modo da poter essere svolte in qualunque ordine, una per volta. • Per semplicita’, si presuppone che la prima risposta (il preventivo) avvenga sempre dopo l’invio di entrambe le due richieste. • Il sistema precedente puo’ essere modellato come segue:
Interazioni “simultanee” simulate di C con A e B Offerta con C Preventivo con C A Offerta con B Offerta con A Preventivo con B C Offerta con A Offerta con B B Offerta con C Preventivo con B Preventivo con A
Provare realizzare la T-composizione • E’ necessario modificare le componenti A e B per poter avere le transizioni “giuste” da sovrapporre* • Ad es. A diventa (e B e’ simile): Offerta con C Preventivo con C Solo adesso e’ possibile fare la T-composizione A Provare a comporre A con C Offerta con C Preventivo con C * Si veda la terza clausola della regola di T-composizione
eliminiamo la semplificazione • Come cambia la rappresentazione se togliamo l’ipotesi che la prima risposta arrivi dopo che entrambe le rivhieste sono state fatte? • In questo caso, le quattro azioni (due di richiesta e due di risposta) in quant modi possono essere eseguite? • Ovviamente, ogni comportamento deve iniziare con una richiesta. .
- Slides: 10