certi-devel
[Top][All Lists]
Advanced

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

Re: [certi-dev] Java interface progress update


From: Eric Noulard
Subject: Re: [certi-dev] Java interface progress update
Date: Sun, 13 Dec 2009 13:09:45 +0100

2009/12/13 Andrej Pancik <address@hidden>:
> Hello Certi developers,

Hi Andrej,

>  I have decided to drop you a line about progress of Java CERTI
> interface implementation.

Nice to ear good progress report news from you.

> What have been done so far:
> I have modified source code by Yannick Bisiaux, Ronan Bossard and
> Samuel Reese to work with Certi 3.3.3. Basically it's port of message
> buffer (sending/receiving of messages) with implementation of
> federation management classes. It's able to connect to RTIA, create,
> join, resign and destroy federation. It was tested on windows but
> should work on Linux with checked RTIA_USE_TCP option too.

In fact on Linux (or any other Unix under which CERTI may be run)
you don't need to check  RTIA_USE_TCP anymore because if
you run rtia with the -p option, rtia knows it should open a TCP socket.
(and not a Unix one). Unix socket are used for "classical" federate
who forks RTIA after using a socketpair call (and provide the file descriptor
to rtia using "-f" option).

Switch RTIA_USE_TCP to ON will enforce "classical" C++ federate
to use TCP too but this is not necessary for launching an rtia instance
using TCP.

[ ... for eagerly curious people...

 This "not so small" change in RTIA behavior, came along with
 a patch from Mathias
 https://savannah.nongnu.org/patch/index.php?6893
 included in order to avoid the race (including a not so nice sleep(whatever))
 in the federate to RTIA connection process.
]

> There's still no DLC interface and therefore it has no practical use yet.
> ---------------------------------------------------
>
> Future plan:
> * to implement DLC interface
> * to program message classes generator
> * to create proper classes generation data

Nice plan.

> Installation instructions:
> To run the interface download it first from
> http://www.fi.muni.cz/~xpancik1/certi/LibRTI.jar . Open console with
> download directory and type "java -jar LibRTI.jar". Also you have to
> run RTI gateway and ambassador (in respective order) manually as this
> feature is not implemented yet. Default/hard coded port number for
> ambassador connection is 2000 so it's important to run rtia executable
> with "-p 2000" parameter.
>
> Standard command chain for console is following:
>  java -jar LibRTI.jar
>  rtig
>  rtia -p 2000
> ---------------------------------------------------

Works almost out of the box for me on Linux (x86_64).
The federate uses the uav.fed most probably borrowed from
Python binding example. I did add the the fed file to the
tracker in order to ease testing for others:
https://savannah.nongnu.org/task/index.php?6905

> Source code:
> You can grab source code for review on this url:
> http://www.fi.muni.cz/~xpancik1/certi/LibRTIsrc.zip . Zip file
> contains whole NetBeans project - interesting part is in "LibRTI/src"
> directory. Please do not consider any part of code as final as it is
> work in progress version. Overall architecture will probably change
> heavily while implementing DLC.
> ---------------------------------------------------

I did recompile the jar from source without netbeans (because I'm not
an NB user)
using the Ant build file. It works without trouble.
Small remark:
  I did have to install junit because it was not installed on my box
and the compilation
  was failing without it. May be you can try to load the junit task and
  not compile the unit tests if Junit is not there?
  May be your ant build file are generated by Netbean and you do not have
  much control over it. If it is the case don't take care if this remark.
  We may have to look into it when you are done in order to write
  IDE-agnostic build file.

>  Any questions or suggestions are welcome. I will keep you informed
> about any relevant progress in future.

Andrej, I suggest you to register a Savannah account and request
to be included to CERTI project.

If you are ok with that,
once you've done that I'll accept your inclusion and re-assign you the
task  in the tracker: https://savannah.nongnu.org/task/?6905.

This way you can attach files to the tracker (I did that for you currently)
and we can keep track of your progress in the tracker too.
Reporting on the ML is very good too, but adding some comment/files on
the tracker
would be more easy for external people (not ML subscriber) to follow
the task history.

If you find it useful we may discuss with you, Petr and others a
possible directory layout
for the Java binding in the CVS tree, such that you will be able to
appropriately
track your changes using CVS.

These are just "proposal" discuss those with Petr and may be you two
can inform me of what (and when) you wan't to do what you don't.

Whatever, keep going you are doing a good job.

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