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 di
request 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.