certi-devel
[Top][All Lists]
Advanced

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

[certi-dev] Java interface progress update number 3


From: Andrej Pancik
Subject: [certi-dev] Java interface progress update number 3
Date: Sat, 6 Feb 2010 20:27:25 +0100

Hello Certi developers,

 I am here with more news on Java interface! Please fasten you seat
belts and prepare for ride :)

Java interface now contains many new functions and features
implemented since last release. It can be considered the beta stage as
it has all the requested functionality. The code still lacks proper
documentation and it can contain some bugs therefore tread carefully.

LibRTI with CERTI is now able to run pretty complex federates written
with standard SISO DLC API like this one:
http://porticoproject.org/index.php?title=Example_HLA1.3_Java_Federate
with little CERTI related modifications (e.g. it seems that CERTI's
FED file parser does not allow minus in the name while Portico does).
I can not distribute the modified version as it would be unfortunately
the violation of GPL license (I am afraid that the fact that I did try
to modify it was violation as well :-( but the deed is done and the
good news are that it works).

For demonstration I have ported two modified sample federates from
PyHLA UavSend and UavReceive. These can cooperate nicely with original
python ones.

Things that might not work right now are DDM and Time management. They
are, however, implemented in obvious way and I believe that with some
testing they will not pose any problem (as long as CERTI itself
handles them correctly :).
---------------------------------------------------

Proposed source patch:
In order to be able to run this beta release you need to make
following modifications to current CVS snapshot:

1. change handleArraySize read from int64 to int16 in
CHANGE_ATTRIBUTE_ORDER_TYPE and CHANGE_ATTRIBUTE_TRANSPORTATION_TYPE
messages. (Message_R.cc)

2. modify the order in which parameters are sent over socket
handleArraySize in SEND_INTERACTION, RECEIVE_INTERACTION,
CHANGE_ATTRIBUTE_TRANSPORTATION_TYPE, CHANGE_ATTRIBUTE_ORDER_TYPE,
UPDATE_ATTRIBUTE_VALUES and REFLECT_ATTRIBUTE_VALUES. The size must be
transferred just before the handle array. (Message_R.cc +
Message_W.cc)

3. change writeResignAction and readResignAction to do at least
following: msgBuffer.write_int32(0); in writeResignAction
msgBuffer.read_int32(); in the other one. (Message_R.cc +
Message_W.cc)
---------------------------------------------------

Installation instructions:
Please download the 7zip file from
https://savannah.nongnu.org/task/download.php?file_id=19635 or ZIP
file from http://gjgt.sk/~ave/certi/LibRTIBeta.zip (the file was to
big to upload to tracker).

Archive contains four folders three of which are NeBeans projects
(however they should be IDE agnostic at this point).
* LibRTI - interface itself
* UavSend, UavReceive - sample projects using it

The fourth directory is the last work-in-progress version of python
message generator and required data.

If you do not feel like compiling anything you can use corresponding
precompiled versions in dist folders.

Please note that logging is set to a very verbose mode and it is
sometimes hard to spot standard console out.

To run sample federates use java -jar UavSend.jar and java -jar
UavReceive.jar. Remember that you have to run RTIG in advance. LibRTI
now runs RTIA automatically from your PATH. Therefore make sure your
PATH contains the path to rtia executable.
---------------------------------------------------

If you have any trouble running samples please contact me as soon as
possible and I will try to reupload the correct version or more
detailed instructions.

regards

Andrej Pancik




reply via email to

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