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?
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