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

Re: Fwd: [Orekit Developers] ESA SoCiS project: Create a web application for orbit propagation with operational forecasts



Thank you Luc,

Yesterday I submitted my proposal,
I heard that there were problems with the system,
if you can not see my proposal please let me know

Regards

--Panzón


2013/8/3 MAISONOBE Luc <luc.maisonobe@c-s.fr>
Ricardo Aguirre <el.mastin@gmail.com> a écrit :

Hi LUC,

Hi Ricardo,


I think that in my last reply, my questions were not sufficiently
evidenced. I hope this style works better.

2013/7/25 MAISONOBE Luc <luc.maisonobe@c-s.fr>

Ricardo Aguirre <el.mastin@gmail.com> a écrit :


Hi


Hi Ricardo,



my name is Ricardo Aguirre

I study in Italy and I'm interested in your ESA SoCiS project "Create a web

application for orbit propagation with operational forecasts".

I have some questions for you:


1.- When you refer Apache Software license, do you mean  Apache License,

Version 2.0?


Yes.



2.- If you say that entire development should be done in Java, then it will

have problems to run over a tiny devices (mobile phone). Doesn't matters?


Many mobile phones now have Java available, and in fact previous projects
have already proven a complete Orekit propagation runs quite well on a
mobile phone. So this case should be even less demanding on the device.


Another point is that the mobile phone use case was only one example use
case among others, we can also think of a desktop computer connecting to
the service. If you look at the proposed splitting into work packages, we
propose to do the project mainly on a desktop computer first.




ok, but can I use just jme or the entire jvm on the tiny devices?
I mean, I have to design a solution and is easier if I have the entire
virtual machine, but maybe it's a bad assumption.

You can use the entire JVM.





3.- Maybe this question have no space here (because maybe SoCiS student

should do this, during the program) but. Can you enlist all the direct

method calls (used in the standalone application) that want to be

distributed by the mentioned Messaging patterns?


You can find some example code for the three propagation modes here: <
https://www.orekit.org/**static/tutorial/propagation.**html<https://www.orekit.org/static/tutorial/propagation.html>
>.


The most important calls are:


 slave mode:

   the call to propagate(extrapDate) inside the time loop,

   which is a call from the client to the server

This looks like a asynchronous call:
At first server, respond with some kind of "acknowledge",
and then, when server has already computed the operation, it will reply to
the client with the real result.

Yes, this is a fine way to do it.





 master mode:

   the call to handleStep which is a callback from the server

   to the client, and during the processing the client calls

   methods getDate and getOrbit in this case, using the

   object provided by the server

in this case getDate and getOrbit, are "local calls" to one object that was
previously provided by server, true?

Yes. When the server calls the handleStep method, it provides a SpacecraftState object as an argument. This object has, among others, getDate and getOrbit. So as the object was already sent to the client, these calls remain local.

Note that the SpacecraftState object is immutable and serializable. A new object will be sent by the server each time a new step is performed and henve each time it calls the client handleStep method.





 ephemeris mode:

   the call to propagate followed by the call to getGeneratedEphemeris



The caller of getGeneratedEphemeris is the Server, right?

No, in this case it would be the client.


Seems like a natural  Publish/Subscriber messaging

Not really. Publish/subscribe is more related to master mode, as the handleStep method called by the server could be seen as a notification sent to the client that a new step as been computed.

Here is is more a Request/Reply, the client asking only once for a (big) ephemeris to be sent to it.

best regards,
Luc


Of course, there are also all the initial setup calls which are less
demanding.


The main differences to be expected in the three modes are the following.
In slave mode, the client doest a lot of requests to the server, sending
only a date and receiving only a spacecraft state. In master mode, it is
mainly the server that has to somehow call the client back each time a new
spacecraft state has been generated. In ephemeris mode, there are only a
handful of calls, but huge amounts of data are transmitted when the
ephemeris is transfered.



best regards,

Luc



Regards


--Panzón





------------------------------**------------------------------**----

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




Regards
--Panzón




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