certi-devel
[Top][All Lists]
Advanced

[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



reply via email to

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