Just a quick investigation! Observer Federate
sometimes receives an exception in main loop tick call.
I'm catching SpecifiedSaveLabelDoesNotExist,
ConcurrentAccessAttempted andRTIInternalError but its none of them.
Sometimes Observers RTIA procress console
shows message "TICK_REQUEST cannot be called recursively". Ideas?
Best regards,
Michael
Dipl.-Inf. Michael Raab
Fraunhofer-Institut für Fabrikbetrieb und -automatisierung IFF
Virtuell Interaktives Training
Sandtorstr. 22, 39106 Magdeburg, Germany
Telefon +49 (0) 391/ 40 90 122
Telefax +49 (0) 391/ 40 90 115
address@hidden http://www.iff.fraunhofer.de
oder http://www.vdtc.de
Von:
Michael Raab <address@hidden>
An:
address@hidden
Datum:
11/16/2010 10:33 AM
Betreff:
[certi-dev]
Time advancement
Gesendet von:
address@hidden
Hi Eric,
I have a question regarding time advancement.
At the moment I have the following scenario. I have 3 federates whereas
one of them is a passive observer and the remaining two are active models.
Both active models are regulating and constrained and have a lookahead
of 60. The start up is the following:
Observer -> create federation
Observer -> join federation
Observer -> do object class subscriptions
Observer -> do interaction class subscriptions
Observer -> enable time regulation (0.0, 0.0)
Observer -> start model 1
Model 1 -> join federation
Model 1 -> enable time regulation (0.0, 60.0)
Model 1 -> enable time constrained
Model 1 -> enable async delivery
Model 1 -> publish and subscribe some object classes
Model 1 -> publish and subscribe some interaction classes
Model 1-> MainLoop
{
NextEventRequest( newLocalTime );
tick until time advance grant;
}
Observer -> start model 2
Model 2 -> join federation
Model 2 -> enable time regulation (0.0, 60.0)
Model 2 -> enable time constrained
Model 2 -> enable async delivery
Model 2 -> publish and subscribe some object classes
Model 2 -> publish and subscribe some interaction classes
Model 2-> MainLoop
{
NextEventRequest( newLocalTime );
tick until time advance grant;
}
Observer -> disable time regulation
Observer -> enable async delivery
Observer -> main loop
{
tick (0.1f, 0.5f);
queryMinNextEventTime();
update user interface;
}
This kind of syncronization worked with DMSO. Using CERTI a blocking situation
occurs after some time advancement. That may related to the observer federate
as if I tried run both models without observer the simulation executes
well.
Do you see something unusual?