Java and LXRT/COMEDI
khj at be.cs.appstate.edu
Thu Oct 28 18:30:11 CEST 2004
As long time members of these list know, I have used RTAI (RTLinux at
first) and COMEDI for many years in my undergraduate/graduate
"real-time systems" course. Though I and some graduate students have
"experimented" with LXRT, most of our projects have used RTAI, kernel
modules and Tcl/Tk -- *not* LXRT.
Next semester I am considering using LXRT and COMEDI with Java as the
GUI front end instead of Tcl/Tk.
I know Java works using the "kernel modules approach" where multiple
threads interact with RT FIFOs (to avoid blocking "issues") and the RT
side is written in C.
However, Paolo and others are encouraging the use of LXRT over the
deprecated "kernel modules approach" for reasons that have been stated
many times on the RTAI list.
It appears that the LXRT/Java approach would require me and my
students to write Java-callable routines in C for the actual, time-
critical RT code. These "methods" themselves would invoke
rt_make_hard_real_time(), rt_make_soft_real_time(), etc., and have to
be written following the JNI (Java Native Interface).
Compared to using the multiple thread/kernel modules approach
described above, this would be a *lot* of work (unless someone else
has already done it) and require learning JNI. Also, I'm not sure
there wouldn't be problems (scheduling, timing, etc) with the JNI
"RT methods" interacting with the Java virtual machine.
Have others used LXRT, COMEDI and Java *without* kernel modules?
I am *most* interested in hearing others' experiences, thoughts,
suggestions, and/or comments ...
Prof Kenneth H Jacker khj at cs.appstate.edu
Computer Science Dept www.cs.appstate.edu/~khj
Appalachian State Univ
Boone, NC 28608 USA
More information about the Rtai