David Toman

Streamlining software development

No picture available.Many of the consumer products developed today have tiny “computers” in them. Devices, like telephones, cable boxes or Global Positioning System (GPS) have small programs and databases with stored information. Finding efficient ways to create the programming within the devices and coordinate data transfer between central servers and the device is part of David Toman’s research.

“We are developing a software tool which will allow you to write a query in a natural way and ultimately compile code in the actual device,” says David. The tool requires the development of a description language, a variant of Structured Query Language (SQL) that allows programmers to more quickly and accurately write the code that lets these small devices communicate. David has been working for the past year on the theory of description language — how to think about description, complexity, system description and how to decide the questions to ask.

Now that a good portion of the theory work has been done, version 0.1 of the tool will allow the programmer to type a single query line. The query would be converted to C or Java and then executed within the device’s embedded system. A programmer would previously have to hand-write pages and pages of code to get the devices to communicate. A single coding mistake could result in “buggy” code and system failures.

David explains, “The goal is streamlining software development and making it more robust so people don’t have to do software upgrades.” The project (Database Technology for Embedded Systems) and the software tool have been developed using telecommunications as test systems. David sees applications beyond telecom to other industries with embedded systems and distributed devices. Grants from Nortel Networks™, Natural Sciences and Engineering Research Council of Canada (NSERC), CITO, and Canada Foundation for Innovation®/Ontario Innovation Trust (OIT) have made the research possible.

University of Waterloo Mathematics, Annual Report 2005

Note: Java is a trademark of Sun Microsystems, Inc. in the United States and other countries. Nortel is a trademark of Nortel Networks. CFI is a registered trademark of the Canada Foundation for Innovation.