書上給的例子是一個NER方式,一個TAR方式,這個比較好理解。 NER方式下的聯邦成員,其LBTS就是另外一個TAR方式聯邦的輸出時間。而TAR方式的聯邦的輸出時間:1)時間批准情況下,爲 當前仿真時間+lookahead;2)在時間推進情況下,爲 請求推進時間+lookahead。
現在假設兩個聯邦成員組成的一個聯邦,都是NER方式,當前都處在時間推進方式下(NER 1.01, NER 1.5),當前仿真時間都是0.01,則RTI如何發出time grant? 假設兩個聯邦其內部隊列中都沒有事件。
如上圖,分幾種情況討論:
1)A NER 1.0, B NER 1.5, 則A time grant to 1.0;接着 A NER 1.5, 則A time grant to 1.5, B time grant to 1.5;
在上述基礎上,
2)B NER 1.8, A updateAttributeValues with timestamp 1.7 (TSO) then A NER 1.7,則B time grant to 1.7, A time grant to 1.7
注意,後一種情況下,當A發出updateAttributeValues at 1.7時,B並沒有立即進行callback調用。而是等B time grant to 1.7時,才發出reflectAttributeValues callback調用。實驗中,B time grant to 1.69時,甚至都不會引發callback調用。猜測RTI中會有事件隊列,並會根據各個聯邦成員的時間推進情況,適時發出callback調用。