Page 61 - DCAP608_REAL TIME SYSTEMS
P. 61
Real Time Systems
Notes embedded systems, mostly in C and C++. Based on those experiences, it was clear that we
needed some way to speed up development. One of the requirements was platform
independence, our target platforms being all different Windows platforms and optionally
Linux. The configuration tools had to be scriptable, in order to interface easily with other
tools used by our customers.
These requirements suggested the use of a scripting language able to support a cross-
platform GUI toolkit. A prototype of the user interface was built with Python and Tkinter
over a weekend. The quick result dispelled top-management doubts, and the project was
started with Python.
Implementation
Within three months, an initial team of two people (one person working full-time, one
part-time) was able to develop and release the first version of our TTP network configuration
tool, TTP-Plan. We had anticipated that parts of the program, notably the scheduler, would
have to be recoded as Python extensions in C after the first prototype’s completion. In fact,
however, TTP-Plan is still coded in pure Python, yet our customers appreciate it for its
excellent performance.
Figure 1: The TTT-Plan Pilot Allows Users to Manipulate Object Data
and Links between Objects Zoom in
For the first tool, TTP-Plan, we created a framework in Python that let us apply Python’s
introspection features in order to reuse, for several different purposes, the information
already present in the code.
For example, the help texts present in the tool are reused to produce the reference section
in the written documentation. The object model of the configuration tool is visible to the
user, displayed in a “Pilot-Window”. The Pilot lets the user manipulate object data, and
links between objects, by clicking on the respective item (see Figure 1). This click opens an
Contd...
56 LOVELY PROFESSIONAL UNIVERSITY