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

Re: [Orekit Users] SFDaaS : Space Flight Dynamics as a Service



My responses are below.

On Sun, Oct 9, 2011 at 11:10, MAISONOBE Luc <luc.maisonobe@c-s.fr> wrote:
haisam.ido@gmail.com a écrit :



This may be of interest to others.  I've added my crude Space Flight Dynamics
as a Service (SFDaaS) application on GitHub here
https://github.com/haisam/SFDaaS .

Thank you very much Haisam, this is interesting.
I have two questions about this project.

The first question is a legal one. Are people allowed to use this code, change it and publish it ? I did not find any copyright nor licensing terms. Orekit by itself is Apache licensed, to allow almost any use, but without any hint about the licensing scheme, we do not know even if we can simply use your project locally, notwithstanding modifying or republish it.


Good question! Your guidance in this area would appreciated.  Let me know how I can make it "legal".
 
The second question is a technical one. One of the current problem in Orekit is thread-safety (see issue <https://www.orekit.org/forge/issues/3>. The reason this problem is not solved yet is due to data caching needs, which implies that simply adding a bunch of "synchronized" statements does NOT work (see <https://www.orekit.org/forge/projects/orekit/wiki/SOCIS#secure-multi-threading-in-Orekit-while-preserving-data-caching-features>). This is a major problem and it typically appears in web services. Thomas addressed the problems of Frames, but there are  more problems like this one in the library. Did you experience any concurrency problems ? Do you have some ideas about how to solve it ?


I haven't experienced it yet because my testing has not been extensive enough.  I assume you're using a distributed shared memory service like memcached.  I think one should setup appropriate key value pairs that take care of this.  As an example, process id (PID) 111111 should have 111111 as one of its primary keys such that only that PIDs cached data is returned.  If there are global data caching needs then one of the keys could be GLOBAL, etc.
 
Can you elaborate on the 

best regards,
Luc



Currently, its only capability is to propagate state forwards or backwards in
time using the http://orekit.org Java library.


Requirements:

 * Eclipse IDE
 * Tomcat 6.0
 * apache.commons.math (included)


Usage:

http://localhost:8080/SFDaaS/PropagateServlets?t0=2010-05-28T12:00:00.000&tf=2010-05-29T12:00:00.000&r0=[3198022.67,2901879.73,5142928.95]&v0=[-6129.640631,4489.647187,1284.511245]



Output:

-------------------------------------------------------------------------------------
Run Start : 2011-10-07T23:48:48.894-0400
Run End : 2011-10-07T23:48:48.907-0400

A priori state :
Epoch = 2010-05-28T12:00:00.000
r = [3198022.67,2901879.73,5142928.95]
v = [-6129.640631,4489.647187,1284.511245]


Posteriori state :
Epoch = 2010-05-29T12:00:00.000
r = [5630517.796159,-3606350.100536,-606046.049292627]
v = [3048.698685,3756.457104,6000.256417807639]

The epochs are assumed to be UTC and r0 and v0 are in meters and in the J2000
Earth-centered frame.
-------------------------------------------------------------------------------------





----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.