certi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[certi-dev] late arriving federate


From: Mathias Fröhlich
Subject: [certi-dev] late arriving federate
Date: Sun, 27 Sep 2009 13:54:32 +0200
User-agent: KMail/1.12.1 (Linux/2.6.30.5-43.fc11.x86_64; KDE/4.3.1; x86_64; ; )

Hi,

I try to get up two federates both time constrained and time regulating.
One starts up immediately enables time constrained gets 0 as federate time in 
the timeConstrainedEnabled callback, past that it calls 
enableTimeRegulation(0, 0.1) gets back a federate time of 0.1 in the 
timeRegulationEnabled callback. Then classes are subscribed and objects 
registered and the regular timeAdvanceRequest/update loop is entered.

At some later time, a second federate joins the federation and executes the 
same code as above with a different federate name and so on.
The second federate also gets 0 and 0.1 in the appropriate callbacks.

But then the first federate stops getting timeAdvanceGrant callbacks until the 
second federate's federation time has reached the same numeric value than the 
federation time of the first federate. Then the time advances again in both 
federates.

I would expect that from within the timeRegulationEnabled call I get the 
actual minimum logical time I need to become time regulating instead of 
stopping the other federates until the new one catches up.

Portico behaves like expected.
Well in contrast to portico certi behaves very different wrt the federate time 
and lbts and the time values returned in the timeConstraintEnabled and 
timeRegulationEnabled.
Since I do not have any standard document for HLA/ieee1516 available I am not 
sure how this is supposed to work, but at least I would think that certi's 
behavior is wrong and to me, porticos behavior looks much more plausible.

I have done a patch to rtig to return at least something that is about at the 
current logical time of the federation in the timeRegulationEnabled callback.
But I believe that this change is still wrong since it returns the lbts 
instead of the federate time if I understand right.
Anyway, I do not really understand the current implementation to its end, so I 
have just attached the change that appears to improve the situation as a 
discussion base for a correct solution.

Knowledge, suggestions, hints?
... help?
:)

Greetings

Mathias

Attachment: late-arriving.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]