Geoff
I'd prefer Turbo C++ or Java caviet for programming for embedded real-time systems. On the hardware side we could use Arduino or BlackbeagleBone. However they are mostly use LINUX systems.
The CORE- CLIENT system would require:
1. Physical connection to the device (LAN, Serial, Canbus, Wireless)
2. Ability to extract raw data in real-time ( 1Hz upto 400 HZ Sampling rate) both Numerical and Waveform
3. Data parsing of the raw data
4. Translate the parsed data into meaning data format i.e XML, HL7, etc
5. Display Numerical and waveform data in real-time.
6. Data storage of translation data.
7. Ability to set the data rate of storing the transitional data. (i.e every second, every minute etc)
8. use open source DDS (Data Distribution Service) as communication and transport layer for data instead of TCP/IP and UDP or use Jini Technology by SUN if using Java code.