Open Systems Laboratory at Illinois

A modular approach for programming embedded systems

By Shangping Ren and Gul Agha. In European Educational Forum: School on Embedded Systems, volume 1494 of Lecture Notes in Computer Science, 170–207. Springer, 1996.

Full Text:
Download PDF
Publisher Link:


A real-time system not only must generate correct results, it must generate those results on time. In embedded systems, these results include control signals, actuator reactions, etc. Traditional approaches to the design and implementation of real-time embedded applications first transfer timing requirements into machine dependent operations using low level programming languages, such as Assembly or C. By intermixing functional behavior with timing behavior, low-level programming languages reduce the modularity and reusability of software components. For example, it is difficult to incrementally modify either existing application code to meet new functionality requirements, or the scheduling to meet changing hardware or network requirements. In order to address these difficulties, we develop a high-level language approach to support a stronger separation of design concerns. We use actors as a formal model of computation in an embedded system and separate timing requirements from the actors' functional behavior. A new language construct, called RTsynchronizer, is introduced to express timing requirements. Our approach provides a formal basis for a component-based compositional software development methodology for distributed real-time and embedded systems.

The research described has been made possible in part by support from the Office of Naval Research (ONR contract numbers N00014-90-J-1899 and N00014-93-1-0273), by an Incentives for Excellence Award from the Digital Equipment Corporation Faculty Program, by Hitachi, by the National Science Foundation (NSF CCR 93-12495, NSF CCR-9523253 and NSF CCR-9619522); and by the Air Force Office of Scientific Research (AF DC 5-36128). The authors would like to thank Brian Nielsen, Daniel Sturman, Mark Astley, Nadeem Jamali, WooYoung Kim, Prasannaa Thati, James Waldby and other members of the Open Systems Laboratory who have provided helpful suggestions and discussion.


    author = "Ren, Shangping and Agha, Gul",
    editor = "Rozenberg, Grzegorz and Vaandrager, Frits W.",
    title = "A Modular Approach for Programming Embedded Systems",
    booktitle = "European Educational Forum: School on Embedded
    crossref = "conf/eef/1996",
    ee = "",
    keywords = "sensor networks, real-time systems",
    pages = "170-207",
    year = "1996",

    editor = "Rozenberg, Grzegorz and Vaandrager, Frits W.",
    title = "Lectures on Embedded Systems, European Educational Forum,
             School on Embedded Systems, Veldhoven, The Netherlands, November
             25-29, 1996",
    isbn = "3-540-65193-4",
    publisher = "Springer",
    series = "Lecture Notes in Computer Science",
    volume = "1494",
    year = "1998",