Sightings: Bits & Chips
TOM Home
TOM Tasks

Download TOM
TOM Software
Bug Database
Mailing Lists

tiggr at

Short Cuts:

all of 'em
tom [an error occurred while processing this directive]
tesla [an error occurred while processing this directive]
mu [an error occurred while processing this directive]
tomgtk [an error occurred while processing this directive]

all of 'em
tom 1.1.1
tomgtk 0.11
tesla 0.91
gp 0.5
mu 1.0

GIF free NOW!

Free Programming Language from Eindhoven University of Technology

TOM-code can be flexibly adapted to new applications

René Raaijmakers, Bits & Chips 1:4, 7 Oct 1999
(originally in Dutch)

Pieter Schoenmakers developed during his Ph.D. studies at the department of Electrical Engineering at the Eindhoven University of Technology a new programming language called TOM. The language is targeted at the efficient reuse of code and at easy fixing errors. The timing is perfect. Every chip producer is currently looking into reuse of IP (Intellectual Property, not to be mixed up with Internet Protocol) by means of hardware and software components. Through reuse chip producers want to conquer the increasing complexity in chips and software, in an attempt to reduce time to market. EDA companies are bringing to market construction kits with which the customer can easily build embedded systems. Now chip producers too want to offer the necessary tools for complete solutions. The Silicon Systems Platform recently introduced by Philips Semiconductors is an example of this (see side box [in the original, ed.]).

`Companies make a lot of noise about their CPU cores. And software is freely available,' according to Schoenmakers' promotor, professor Jochen Jess. `Few technologies enable reuse. For that you need a development environment to suit.' Schoenmakers developed a programming language that does promote the reuse of the components - the objects.

Contemporary object-oriented programming languages use the so-called classes as the unit of reuse. At the same time, the class is also the unit of design. To reuse a class, it must fit in the new design. `This suits planned reuse,' says Schoenmakers. `But things go wrong when you do not take future reuse into account. If we want to grow to widespread reuse, unplanned reuse is much more important.'

TOM offers possibilities of such unplanned reuse. It also enables adjusting code at run time (while the embedded system is in operation). Errors can be fixed without requiring recompilation. Schoenmakers: `To test a moden car, the mechanic inserts a plug and monitors the car electronically. That is what you want with software too. You can take this into account during the design, but that does not suffice. If it takes some effort to program such functionality, designers often omit it because of the lack of time. That's why I wanted TOM to offer that flexibility. And when you do not need it, you can have it removed by a compiler.'

It is uncertain whether TOM will be widely accepted as a programming language. The TOM compiler generates C code, but TOM is different from Java and C. TOM has the disadvantage of not coming with an integrated development environment, something that seems to be a prerequisite for a breakthrough nowadays. To stimulate the use of TOM, Schoenmakers maintains a web site with information and examples on this software technology. Everybody is free to use the TOM compiler and tools for commercial product development. One condition is that bugs in the TOM libraries and tools are made public.

Copyright © 1997-2002 Programmers Without Deadlines