Python and GUI in soft real-time systems?

mdeaver at my-deja.com mdeaver at my-deja.com
Sun Oct 8 16:51:05 EDT 2000


To replace the aging GUI front-end for my
company's earth station monitor and control
system, I'm intrigued by the possibility of using
Python and one of the Python GUIs (wxPython,
tkinter, other?).  I like the idea of reducing
the time to develop and add enhancements to our
GUI via a scripting language.  I'm also attracted
by Python's object-oriented nature, and by the
ability to integrate Python scripts with existing
C and C++ code (we will certainly want to keep
much of our C/C++ non-GUI code).

My one concern is performance of an interpreted
scripting language.  Has Python and any of its
associated GUIs been used successfully in real-
time systems?  Here are some particulars about
our system that our GUI must support:

- The GUI runs on Windows NT SP5 (Most of the
C/C++ components run on a proprietary RTOS in
other computers connected by Ethernet).  A
typical computer has one Pentium II or III CPU
with at least 128 MB RAM.

- Our system has soft real-time requirements.
Example:  Once our back-end software detects an
alarm in an earth station device, we want the
alarm event to display in our GUI in one second
or less, but occasional responses of 1.1 or 1.2
seconds are acceptable.  The GUI will get about
an 0.3 - 0.4 second slice of this window to
handle and display the event.

- Events, alarm and otherwise, generally trickle
in at one event every 5 - 15 seconds or so.
Occasionally (say, once or twice an hour) a burst
of 10 - 150 events will arrive.

- Typically, a user of our GUI will have 3 - 6
windows active at once.  One window will show a
scrolling table of events, alarm and otherwise.
Most of the other windows will show either a
graphical or tabular view of some of the earth
station equipment.  The data on these windows
changes in near real-time as telemetry comes in
from devices.

- A typical graphical window will have anywhere
from 10 - 50 shapes, most of which can be
animated.  Animation consists of color changes
and flashing at 0.5-second intervals.  Users can
click on shapes to drill-down to lower-level
windows.  Most shapes are simple boxes; some
display bitmaps.

- Occasionally (say, once or twice an hour), a
user will display other windows containing
tabular event reports (up to 1000 rows), and
graphs of collected data (anywhere from 10 - 1000
datapoints).  Some graphs are static, others
update in real-time as strip charts.

So, is Python - it's interpreter and one of the
available GUIs - worth considering for this type
of application?  Or should I be looking elsewhere?

Thanks in advance for advice.

Mason Deaver
VertexRSI
mason.deaver at tripointglobal.com


Sent via Deja.com http://www.deja.com/
Before you buy.



More information about the Python-list mailing list