Hi,

I wrote a similar application in C++ several years ago. My first observation for you is that the app took a whole year of hard work! However, it was dealing with a very high data intensity, and also several different types of sensor. Are you using multiple sensors of the same type, or are they different types of sensor? One issue I had was that each type of sensor was roughly the same amount of work all again - there was little code re-use.

Your basic structure is correct. For an application like this you should use an event driven model, and also have multiple layers of event, with increasing levels of abstraction - raw input, complete messages, etc, eventualyl storing the data in memory, and producing output (GUI) from that. I would log the data at the point of entry, not from storage, as you will use it extensively in debugging and verifying your program.

Your top level description describes a one way data flow - there is no control back to the sensors? Another aspect of these systems is that although the "interesting" and high volume data is coming from the sensors, a large part of the time, and architecture, is dedicated to the other direction.

The F# part of it for data processing and visualization should be a lot of fun, and the experience will put you at the leading edge of the software world.

Very good COTS software for scientific data visualisation is National

Instruments Measurement Studio. It's expensive, but you might be able to

get an academic price.

My C++ app was not much fun, but testing it sure was - we had a team working with multiple UAV's (small unmanned drones), which my app was controlling, and the field trial was at a rocket range in the Australian desert!

By on 5/31/2009 2:33 PM ()
IntelliFactory Offices Copyright (c) 2011-2012 IntelliFactory. All rights reserved.
Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us | Terms of Use | Privacy Policy | Cookie Policy
Built with WebSharper