Title: A Visual Programming Environment for Real-Time Control Systems
Author: Matthew Wayne Gertz
Thesis: Ph.D. Dissertation
Institution: ECE Dept., Carnegie Mellon University, Pittsburgh, PA 15213
Date: November 24, 1994
Link: Entire Document (198 pages, 1515 KBytes)

Abstract

The development of real-time software for control systems is an expensive process, accounting for a significant portion of total application costs. This expense can be reduced by automating the software development procedure; for instance, by providing a software framework in which coded routines are small, portable, and reusable. However, to make the integration and control of these routines accessible to programmers of various expertise, and thus further reduce the amount of required resources, a user-friendly high-level programming environment designed for the creation of reusable real-time software is required. A programming interface of this type would not only allow for the rapid developement of software, but would also considerable ease the process of debugging real-time code.

Much of the expense and tedium of software developement is caused by the limitations of textual code. To use a textual language properly, the programmer must undergo expensive training. The deciphering, debugging, and use of real-time textual code is particularly time-consuming, especially when the code is cryptic, non-portable, and uncommented. The sequential nature of text can cause confusion when tracing a program flow through subroutines, recursion, and processes spawned in parallel. These "coding complexities" inevitably consume many resources, adding to the mounting costs associated with the system. This limits the amount of application which may be developed for the system and, in turn, limits the system's usefulness.

In the past, researchers have created visual programming languages to address the problems of textual coding. However, these interfaces have been, in general, either very high-level and narrow in scope, or low-level and cryptic. Furthermore, these interfaces have not been designed with the specific requirements of real-time programming in mind. These requirements include the need to switch from one job to the next with minimal time loss, the need to modify the code of a job while it is executing, and the need to coordinate many jobs running in parallel.

In this dissertation, we present a multilevel/iconically-programmed visual programming environment called Onika. Its multiple interfaces directly connect with the underlying real-time operating system to coordinate the activities of several routines running in parallel. Each task on the real-time operating system is represented by an icon, which is manipulated by a mouse. These tasks are combined in a logical way to create jobs for the system to execute. The interface is able to switch from one job to the next quickly, in real-time, with minimal system delays. The user is also able to monitor and modify each routine running on the real-time operating system. Furthermore, a combination of routines created at one level can be saved as a reusable higher-level routine for others to use. Thus, routines at the higher levels become more specific, making programming accessible for naive users, without diminishing the programming scope for more knowledgeable users working at the lower levels. Both levels of users are presented with an interface appropriate for their programming abilities and application requirements. We show that the grammar and syntax of the language supported by the interface is complete with respect to traditional programming languages, and we demonstratevia standardized user testing that this new method of programming is much faster and less error-prone than traditional methods.

Onika has been demonstrated at the NASA Langley Research Center and in several joint Sandia National Laboratory and Carnegie Mellon University distributed laboratory demonstrations, and is in regular use at several outside laboratory sites, including Wright Patterson Air Force Base and NIST.



<< Back to the PUBLICATIONS Page

© 1999 University of Maryland, College Park, MD 20742. All Rights Reserved.
For more information on the SERTS Laboratory, contact Dr. D. Stewart at
dstewart@eng.umd.edu