Harald JOHNSEN schreef:
> Martin Spott wrote:
>> Hi Jim,
>> Jim Campbell wrote:
>>> Some discussions have already taken place on JSBsim devel mailing list 
>>> regards communication between "modules" of flightgear.
>> Indeed, the idea of cutting FlightGear into modules is not a new one
>> and has been floating around way before this nice "new arcitecture"
>> paper came up that everybody takes as a reference.
>> Using some sort of networked database is a nice start and definitely
>> honours the idea of portability - yet I don't see such thing that is
>> capable of handling data at a rate that meets the requirements of
>> FlightGear. OpenLDAP as well as MySQL are very bad at handling a high
>> rate of concurrent read/write requests - they miss the target by a huge
>> distance, they both are faaar to complex (even MySQL :-)  for such a
>> task.
>> Personally I think some thing like distributed shared memory might fill
>> the gap. I've been doing some literature research on this topic several
>> years ago, the idea looks pretty promising and different OpenSource
>> implementations already have been around by that time - but I would not
>> like to be the one to debug such a tricky beast ....  :-)
>> Cheers,
>>      Martin.
> One should not forget that FG has allready some networking capacity. 
> This alone has allready allowed ppl to split fdm and rendering on 
> several machines. Perhaps there is something to reuse here.
> Harald.
Real-world flight simulation systems, as used in flight training 
devices, have been using this tactic for decades.

A flight simulator as supplied by a commercial producer of training 
devices, has been split into a set of large functional blocks, each of 
them consisting of different modules:

* Flight dynamics block -- consists of a set of systems that handle 
everything related to the aircraft's aerodynamic profile and the forces 
acting upon it. It does know nothing about scenery (aside from terrain 
elevation data, to detect ground movement), and knows nothing about the 
aircraft's systems. The only thing it knows about the aircraft is 
basically a 3D model with aerodynamic description, the position of the 
A/C's control surfaces and other extensions (landing gear, doors, 
spoilers), and the user-induced forces on the aircraft (engine thrust). 
It does a very good job at handling flight dynamics, and is fitted with 
a heavy CPU. Mathematical power is more important here than memory.

* Systems block -- keeps track of everything happening inside the 
aircraft. From the engines to the air conditioning, everything that 
can't be connected as real avionics is simulated inside this unit. Most 
of the aircraft-specific descriptions are found here.

* Visual system -- The visual system only needs to receive position and 
orientation data, and possibly the first and second derivative of it. 
 From that it renders the (usually multichannel) outside view for 
projection onto the simulator's front screen. All of the scenery data is 
stored here.

These three functional big blocks communicate over a high-speed network. 
Mostly, the units are built in dual-redundant sets to cope with eventual 

Most of the cockpit systems in a real simulator consist of real 
avionics. ARINC buses connect the real aircraft avionics (like the FMC, 
RMU's, and most of the display systems) to the simulator as if they 
connected to an actual aircraft. The simulator's systems block takes the 
place of the aircraft's IRS, GNS, ADC, VOR and other navigation systems.

Splitting up FlightGear into multiple functional units is something I'm 
really voting for. Especially, when you use a well-defined interface for 
every module. That way you can create a plugin-driven system that is 
easily extended upon, and could easily be split up physically using 
multiple machines across a network. I'm more into developing glass 
cockpits myself, but I'm also interested in creating a complete 
full-mission flight simulation suite. Especially since that would 
attract commercial funders (aviation industry companies like CAE, 
FlightSafety and Boeing) and possibly achieve FAA certification.

This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
Flightgear-devel mailing list

Reply via email to