Page 62 - DCAP608_REAL TIME SYSTEMS
P. 62
Unit 5: Real-time System Dependencies
object editor for modification of attributes. The object editor is parameterized with the Notes
type of object in the model. The code for drawing the object model, for the object editor,
and for extracting the help information, is all part of the framework, and can be reused by
other tools in the TTP-Tools family. This framework was of great help when building the
node configuration tool TTP-Build, which uses a network configuration generated by
TTP-Plan to produce the configuration of an individual node in the network.
Productivity of Programmers Using the Framework
Meanwhile, new tools were built using the existing framework. A programmer new to
both Python and our framework was able to build a new configuration tool for the LIN
protocol, a product that is now called LIN-Plan, within three months. The tool was initially
built for a first-time customer and is now generally available. It will soon see its second
release.
Tools not Written in Python
The good experiences with the Python-based tools are confirmed by other projects
originally coded in C++. The development of TTP-Load, the download tool, started in
1999. We decided to write this tool in C++ because the tool had to use a low-level Ethernet
driver in order to communicate with an Ethernet-to-TTP gateway, called a monitoring
node. The protocol for communicating with the monitoring node at the time used raw
Ethernet frames.
The year 2001 saw two major changes. A new TTP controller was introduced, and we faced
a redesign of TTP-Load because the download protocol of the chip had changed, and
support of different download targets was difficult. Communication over raw Ethernet to
the monitoring node used a hard-to-maintain driver that needed constant adaptation to
new Windows versions. Instead of porting the driver to new Windows versions at that
time Windows NT was supported but we had urgent requests for Windows 2000 and XP
was already visible on the horizon we decided to use standard internet protocols (UDP for
the old monitoring node and TCP for the new one) for communication. For TTP-Load,
which does not have performance requirements for the user interface, it was decided to
rewrite the tool from scratch, entirely in Python. This was done by one person not familiar
with the framework within six weeks.
In our experience, programming productivity is substantially higher with Python than
with C++. This is substantiated in detail in a paper presented at OSCON 1999 by one of our
developers.
Today, five people are involved with the daily development of our Python-coded tools.
Relying on our Python framework, we are able to quickly implement new features, and to
adapt the tools to newly available hardware on short notice.
To summarize, with Python we were able to produce a mission-critical set of software
products success of TTP as a communication protocol depends on the availability of high-
quality configuration tools within a short time frame. The code is very easy to maintain,
and recoding in Python a whole medium-sized project proved an easy task too. Overall,
using Python has led to a successful product line with an ever-growing number of satisfied
customers.
Questions:
1. Describe the significance of Python in TTTech.
2. What is the scope of Python?
Source: http://www.python.org/about/success/tttech/
LOVELY PROFESSIONAL UNIVERSITY 57