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
   56   57   58   59   60   61   62   63   64   65   66