Real-Time Software Systems

Researchers: Shamik Bandyopadhyay
Christopher Brooks
Elaine Cheong
Jackie Man-Kit Leung
Gang Zhou
Rachel Zhou
Advisor:Edward A. Lee

In the real-time systems project, we are studying real-time software systems including models of computation with time and concurrency, metaprogramming techniques, code generation and optimization, domain-specific languages, schedulability analysis, and programming of sensor networks.

Ptolemy II [1] is a graphical modeling environment for embedded software design. We are developing a code generator for Ptolemy II models which will generate fast, portable C code for real-time systems.

The code generator needs to create C code according to:

  1. the type of director in the model,
  2. the firing order of the actors,
  3. and the actions performed by the actors.

We define code generation helper classes that are associated with each Ptolemy II actor. These helper classes contain C code that describe the behaviors of the associated actors. Many primitive features and/or functionalities of the Ptolemy II actors are directly transformable to the C helpers; however, there are still non-trivial conversions that prevent the automation of creating the C helpers. In particular, code generation must overcome issues such as converting Java object types to C primitive types and using language-specific hardware APIs.

[1] Christopher Brooks, Edward A. Lee, Xiojun Liu, Stephen Neuendorffer, Yang Zhao, and Haiyang Zheng. Heterogeneous concurrent modeling and design in Java. Technical Report UCB/ERL M05/21, EECS, University of California, Berkeley, 2005.

Last updated 10/17/05