[Top][All Lists]
[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
late-arriving.diff
Description: Text Data
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [certi-dev] late arriving federate,
Mathias Fröhlich <=