[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [certi-dev] Problems using timed simulation
From: |
Eric Noulard |
Subject: |
Re: [certi-dev] Problems using timed simulation |
Date: |
Mon, 23 May 2011 16:21:35 +0200 |
2011/5/23 Christoph Laesche <address@hidden>:
> Hello,
>
> I am currently writing my masters thesis about HLA and porting software
> from the pitch rti to CERTI. After having successfully ported an example
> without time management (hooray :) ) I encountered two problems when
> trying to insert time management into the example.
>
> The first problem I encountered is that when one requests a time advance
> (using timeAdvanceRequest) one has to supply a RTI1516fedTime object (or
> a derived one) and not a object that is derived from LogicalTime. This
> is because internally there is a certi_cast from the supplied time
> object to a RTI1516fedTime object. What is the reason for this
> implementation? It seems to limit compatibility with other RTIs.
Mostly: lack of time to do it cleanly.
You may find a longer story here (and reference therein):
https://savannah.nongnu.org/bugs/?30003
The design of libRTI + libFedTime has created a circular ref which is
just a pain,
I would be glad to have a portable solution for this issue.
Conveying user-provided LogicalTime class does not currently work with CERTI,
mainly because until now we did not have the need for it.
Do you use your own LogicalTime class?
[note that the optional NULL_MESSAGE_PRIME
time management protocol
used by CERTI needs CERTI FedTime as well
see http://download.savannah.gnu.org/releases/certi/papers/11S-SIW-045.pdf
for the detail]
> The other problem is with the RTI1516fedTime class itself. It implements
> various operators which require an LogicalTimeInterval object. As far as
> i can see, there is a RTI1516fedTimeInterval object which implements the
> LogicalTimeInterval. However, the operator functions of the
> RTI1516fedTime class cast the LogicalTimeInterval object to a
> HLA1516fedTime object (unfortunately without throwing an exception so
> one won't notice if it fails). So, how am i supposed to, e.g., add a
> time to an RTI1516fedTime object when I am required to provide an
> RTI1516fedTime to the operator+= function which is not a derived class
> of LogicalTimeInterval? Am i missing something?
Some bugs were fixed in this areas lately, which version of CERTI are you using?
Is is 3.4.0 or did you already tried CVS HEAD?
If it is CVS HEAD please give us the reference file + line number such
that we can
look at the very same piece of source code.
If if is 3.4.0, could you try CVS HEAD?
> Thanks in advance for your help,
> Christoph Laesche
--
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org