certi-devel
[Top][All Lists]
Advanced

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

Re: [certi-dev] RTIG process behavior


From: Eric Noulard
Subject: Re: [certi-dev] RTIG process behavior
Date: Sun, 12 May 2013 18:05:02 +0200

2013/5/9 Gilles LASNIER <address@hidden>:
> Hi everybody,
>
> I'm Gilles Lasnier, postdoctoral researcher at ISAE/Supaero. I'm currently
> extending the PtolemyII simulation tool to make it interoperable with a
> HLA/CERTI Federation.
> I already finished a first implementation and developped demos about this
> work. They are available on the PtolemyII svn tree. I'm visiting the
> University of California Berkeley right
> about this project and to finish its integration.

This is very good news.
If you provide me with the appropriate URL I may add it to the list of
"External CERTI related projects" h which may be found there:
http://www.nongnu.org/certi/

>
> The Ptolemy team asks me to simplify the deployment phase for the user and
> to automatize the lunch of HLA demos from Ptolemy models (one Pt. Model =
> one federate) including the launch of the RTIG. A part of this
> implementation is already done but I have some difficulties to shutdown the
> RTIG correctly from the model that has launched the process.
>
> In some case I get an exception from the other federates. It appears that
> the simulation terminates correctly but sometimes the RTIG is killed before
> the other Federates are able to leave the federation.
>
> So, I'm wondering it there is a way to allow the RTIG to finish its
> execution after the destruction of a federation (maybe based on argument
> options, etc...).
>
> Any ideas or suggestions are welcome.

Here comes some explanations and thoughts:

  1) RTIG is not meant to be stopped once launched it is a pure
reactive process.

  2) RTIG may possibly handle "multiple federations" so that one cannot
      automaticllay end it when 1 federation is destroyed, we "may"
      add a command line option to stop it when the
      LAST one is destroyed. This kind of approach is subject to
distributed races if some
      concurrents process create / destroy federation at the same time.

  3) It should be easy to add command line option to RTIG executable
      in order to support optional behavior as soons as the default behavior
      is backward compatible.

  4) We could add specific [Network] messages and/or API
      between Federate/LibRTI and RTIG:
       - One which would test whether RTIG is running and alive
         ready to create federation. Currently this done when RTIAmbassador
         gets created and one gets an RTIinternalError Exception because
         Federate/LibRTI cannot connect to RTIA because the later failed
         to connect to RTIG (if it is not running).

       - Another one which would ask RTIG to terminate.
         NB: we already have OPEN_CONNEXION, CLOSE_CONNEXION
                which are used between Federate/libRTI and RTIA
               but those do not propagate to RTIG.

Those API will be non-standard w.r.t. HLA 1.3 or IEEE-1516-2000 or 2010
so if we introduce those we should try hard to remain DLC compatible
(see http://www.sisostds.org/ProductsPublications/Standards/SISOStandards.aspx
   SISO-STD-004-2004, SISO-STD-004-2004.1)

Whatever the solution remember that libRTI/Federate do not even know
the existence
of RTIG, if we implement (some day) a fully distributed RTIG
(decentralized RTI)
the Federate shouldn't be changed.

Anyway on my side any patch proposal will be seriously examined, just put it
on the patch tracker:
https://savannah.nongnu.org/patch/?group=certi
and start a discussion here on the ML about the patch.



--
Erk
L'élection n'est pas la démocratie -- http://www.le-message.org



reply via email to

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