esempi di modellazione di situazioni particolari
TRANSCRIPT
Esempi di modellazionedi 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.
Rich con C1
Rich con C2
Disponibile
Disponibile
Non Disponibile
Consegna con C1
Ordina merce
Ricevi merceMagazziniere
Fornitore
Produce
Non Disponibile
Consegna con C2
Interazioni tra tre componenti
Comnunicano con skype
A CB
Vanno al cinema
Vanno al cinema
Fa altro
B racconta la trama d A
Fa altro
a2b1
ca1
b2
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.
Costruire il Grafo di Raggiungibilita’
• Verificare che lo stato globale (marcatura)
<a1, b2, c>
e’ raggiungibile (generabile)
• Verificare invece che
<a1, b2, c>
non e’ raggiungibile.
In questo modello: B decide davvero?
Comnunicano con skype
A CB
Vanno al cinema
Vanno al cinema
Fa altro
B racconta la trama ad A
decide
a
b
c
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 B
Offerta con B
Offerta con A
Offerta con A
Preventivo con A
Preventivo con APreventivo con B
Preventivo con B
C
Offerta con C
Offerta con C
Preventivo con C
Preventivo con C
B
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):
Preventivo con C
A
Offerta con C
Preventivo con COfferta con C
Solo adesso e’ possibile fare la T-composizione
* Si veda la terza clausola della regola di T-composizione
Provare a comporre A con C
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 ....