ODTBX-GMAT notional diagrams

Discussions related to the effort to build an interface between GMAT and OD Toolbox.

ODTBX-GMAT notional diagrams

Postby abrown » Mon Jan 24, 2011 3:58 pm

This is a copy of an email I sent out on Thursday 1/20/2011. Joel suggested I place it here for all to see.
-Allen

All,
I sketched up some quick diagrams on some ODTBX-GMAT interface ideas. These are my current thoughts but I thought they would help discussions.

The "components" diagram has some high-level ideas. I'm assuming that the many GMAT libraries and classes are all hidden behind a GMAT C++ API which also hides some of the GMAT complexity (I'm assuming something like a mediator pattern here). The details on this API is TBD and I'm not trying to assume that content. Essentially that C++ API could allow a "GMAT server" application that listens on a port for socket connections. For ODTBX that same C++ API is wrapped by a C wrapper (adaptor). A gmatForces.m MATLAB function would interact with a "GMAT World" item in the MATLAB workspace. This "GMAT World" could be implemented as a direct MATLAB loadlibrary set of calls, via a MATLAB MEX (library), or via Java JNA or JNI... all of which would have to call the GMAT C wrapper.

For prototyping, I'll be using Darrel's mockup code as the GMAT C++ API, I'll create a C wrapper for that and try the different "GMAT world" implementations to support ODTBX needs.

For the ODTBX side look at the "odtbx_system" diagram. The gmatWorld could be implemented several ways but it ultimately supports a gmatForces.m and the current estimator architecture. The driving implementation requirements in ODTBX are performance, gmatWorld lifetime management, and serialization to support the parallel computing toolbox and distributed computing server. gmatForces.m is probably "think" like jatForces.m. I'm leaning towards making the gmatWorld itself a relatively lightweight MATLAB class that makes the low-level calls over to the C wrapper. gmatWorld is mainly for resource lifetime management and keeping the GMAT configuration data separate to support serialization.

That's what I have now and I hope it helps discussions, Allen
Attachments
GMAT_ODTBX_IF_1_odtbx_system.pdf
Lower-level "ODTBX system" ideas
(19.7 KiB) Downloaded 450 times
GMAT_ODTBX_IF_1_components.pdf
High-level notional component ideas
(18.94 KiB) Downloaded 360 times
abrown
 
Posts: 2
Joined: Thu Jan 20, 2011 4:11 pm

Return to GMAT/ODTBX Integration

Who is online

Users browsing this forum: No registered users and 2 guests