offrendo più token contemporaneamente nello schema delle attività

0

UML specification dice:

If multiple tokens are offered at the same time, then the tokens are offered in the same order as if they had been offered one at a time from the source

Voglio sapere "quale situazione si prova a descrivere"?

  • una fonte su un target?
  • una fonte su più target?
  • più origini su più destinazioni?
  • più origini su un target?

Inoltre sopra dice che "i token vengono sempre offerti al target uno per uno anche se sono offerti dalla fonte nello stesso momento"?

    
posta hasanghaforian 16.09.2018 - 09:57
fonte

1 risposta

1

Di cosa si tratta?

La citazione è dalla sezione 15.2.3.3, che spiega che ci sono due tipi di bordi di attività. Più precisamente, riguarda i bordi di ObjectFlow. Questi passa oggetti come token.

Una delle principali differenze, tra un flusso di oggetti e un normale flusso di controllo nel modello di attività, è che puoi usare nodi oggetto (vedere la sezione 15.4.3.1,). Questi mostrano quale tipo di oggetto viene creato e possono accumulare (a causa dei vincoli di sincronizzazione) i token oggetto generati da una fonte.

Che cosa significa?

If multiple tokens are offered at the same time, then the tokens are offered in the same order as if they had been offered one at a time from the source

deve essere inteso come:

Even if there's an object node in-between that could accumulate several tokens generated by a source, the object tokens are passed to the target one by one as if they were coming directly from the source and in their initial order.

Esempio del motivo per cui è importante

Ecco un esempio di utilizzo . Nella parte centrale del diagramma di esempio collegato, è possibile visualizzare 2 nodi oggetto ( product key e C2V key ) connessi a un nodo di join, che è connesso a un'attività activate product .

Possibili scenari:

  • Immagina di avere un request activation . Il flusso funziona senza problemi su entrambi i lati del diagramma e i due token oggetto richiesti sono pronti al gate: entrambi verranno passati insieme all'attività activate product . (A proposito, questo è diverso dai soliti bordi del flusso di controllo in cui 2 token sarebbero stati consumati come input ma solo un token avrebbe prodotto come output del gate).
  • Ora immagina 2% consecutivi direquest activation. Supponiamo ora che il lato cliente funzioni in modo ultrarapido e produca immediatamente il loro C2V key : nessuno di questi può passare il gate perché non è disponibile product key . Di conseguenza, entrambi i token attenderanno. Quindi, la gestione degli ordini elabora la prima richiesta e produce un primo product key . Grazie all'importanza della frase che hai citato puoi essere certo che questo primo product key verrà elaborato insieme al primo C2V key , e non a uno casuale che sarebbe pronto ma sarebbe essere correlato a un'altra richiesta.
risposta data 16.09.2018 - 13:36
fonte

Leggi altre domande sui tag