Onika: A Multilevel Human-Machine Interface for ReconfigurableReal-Time Control Systems

Investigators: Matthew W. Gertz, Pradeep K. Khosla

The development of software for dynamically reconfigurable sensor-based control systems is a complicated and tedious process, requiring highly specialized skills in real-time systems programming. The total development time can be reduced by automatically integrating reusable software modules to create applications. The integration of these modules can be further simplified by the use of a high-level programming interface which can integrate modules developed at different sites.

The Advanced Manipulators Laboratory has developed Onika, an iconically programmed human-machine interface, to interact with a real-time operating system in the context of a reconfigurable software framework to create reusable code. Onika presents appropriate work environments for both application engineers and end-users.

For engineers, icons representing real-time software modules can be combined to form real-time jobs. These combinations resemble control-block diagrams, making programming intuitive to the engineer. Connections between modules are done automatically. Modules and jobs can be executed and completely controlled from within Onika with just a few mouse-clicks. A status window keeps the user informed of the state of the underlying real-time operating system, while another window displays the values of system variables. Jobs can be saved for later recall and modification, and can be iconified for use by higher-level end-users. Onika verifies that all jobs are complete and syntactically correct.

For the end-user, icons representing jobs and objects are assembled into full-length event-driven applications. The syntax of these icons is made apparent by the colors and shapes of their edges, which allow icons to interlock like jigsaw puzzle pieces. Onika verifies that each application is syntactically correct, non-ambiguous, and complete. It can then be executed from within Onika, or iconified and used in yet a higher-level application.

In the event of any type of error, the real-time operating system signals Onika. Onika then informs the user as to the nature of the error, and allows the user to correct the error before continuing execution.

Onika can retrieve and use software modules created at other sites via hyperlinks, integrating them with other modules created locally. Aliases can be assigned to state variables, ensuring that modules which are created at one site will be executable at another site without modifications.

Onika has been fully integrated with the Chimera real-time operating system in order to control several different robotic systems in the Advanced Manipulators Laboratory at Carnegie Mellon University. Connection between Onika and Chimera is achieved via the Internet. Currently, Onika runs on the Sun4 and Sparc 10 platforms, and requires a color monitor for all functions to be enabled (monochrome monitors are sufficient for lower-level programming, however).

Research issues associated with Onika include investigation of a grammar to describe iconic programs, creation of reusable and modular real-time software, support for non-native software packages, improving Onika's hypermedia capabilities, and reduction of costs associated with the creation of real-time software.

The Onika User's Manual gives a detailed explanation of Onika's functionality.


Last updated on 02 May 1997 by clh@cs.cmu.edu.