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 failure. 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. http://sourceforge.net/powerbar/db2/ _______________________________________________ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel