Electrical Engineering
      and Computer Sciences

Electrical Engineering and Computer Sciences

COLLEGE OF ENGINEERING

UC Berkeley

Actor-Oriented Programming for Wireless Sensor Networks

Elaine Cheong

EECS Department
University of California, Berkeley
Technical Report No. UCB/EECS-2007-112
August 30, 2007

http://www.eecs.berkeley.edu/Pubs/TechRpts/2007/EECS-2007-112.pdf

Wireless sensor networks is an emerging area of embedded systems that has the potential to revolutionize our lives at home and at work, with wide-ranging applications, including environmental monitoring and conservation, manufacturing and industrial control, business asset management, seismic and structural monitoring, transportation, health care, and home automation. Building sensor networks today requires piecing together a variety of hardware and software components, each with different design methodologies and tools, making it a challenging and error-prone process. In this dissertation, I advocate using an actor-oriented approach to designing, generating, programming, and simulating wireless sensor network applications. Actor-oriented programming provides a common high-level language that unifies the programming interface between the operating system, node-centric, middleware, and macroprogramming layers of a sensor network application. This dissertation presents the TinyGALS (Globally Asynchronous, Locally Synchronous) programming model, which is built on the TinyOS programming model. TinyGALS is implemented in the galsC programming language, which provides constructs to systematically build concurrent tasks called actors. The galsC compiler toolsuite provides high-level type checking and code generation facilities and allows developers to deploy actor-oriented programs on actual sensor node hardware. This dissertation then describes Viptos (Visual Ptolemy and TinyOS), a joint modeling and design environment for wireless networks and sensor node software. Viptos is built on Ptolemy II, an actor-oriented graphical modeling and simulation environment for embedded systems, and TOSSIM, an interrupt-level discrete-event simulator for TinyOS networks. This dissertation also presents methods for using higher-order actors with various metaprogramming and generative programming techniques that enable wireless sensor network application developers to create high-level, parameterizable descriptions and automatically generate sensor network simulation scenarios from these models. All of the tools I developed and describe in this dissertation are open-source and freely available on the web. The networked embedded computing community can use these tools and the knowledge shared in this dissertation to improve the way we program wireless sensor networks.

Advisor: Edward A. Lee


BibTeX citation:

@phdthesis{Cheong:EECS-2007-112,
    Author = {Cheong, Elaine},
    Title = {Actor-Oriented Programming for Wireless Sensor Networks},
    School = {EECS Department, University of California, Berkeley},
    Year = {2007},
    Month = {Aug},
    URL = {http://www.eecs.berkeley.edu/Pubs/TechRpts/2007/EECS-2007-112.html},
    Number = {UCB/EECS-2007-112},
    Abstract = {Wireless sensor networks is an emerging area of embedded systems that has the potential to revolutionize our lives at home and at work, with wide-ranging applications, including environmental monitoring and conservation, manufacturing and industrial control, business asset management, seismic and structural monitoring, transportation, health care, and home automation.  Building sensor networks today requires piecing together a variety of hardware and software components, each with different design methodologies and tools, making it a challenging and error-prone process.

In this dissertation, I advocate using an actor-oriented approach to designing, generating, programming, and simulating wireless sensor network applications.  Actor-oriented programming provides a common high-level language that unifies the programming interface between the operating system, node-centric, middleware, and macroprogramming layers of a sensor network application.

This dissertation presents the TinyGALS (Globally Asynchronous, Locally Synchronous) programming model, which is built on the TinyOS programming model.  TinyGALS is implemented in the galsC programming language, which provides constructs to systematically build concurrent tasks called actors.  The galsC compiler toolsuite provides high-level type checking and code generation facilities and allows developers to deploy actor-oriented programs on actual sensor node hardware.

This dissertation then describes Viptos (Visual Ptolemy and TinyOS), a joint modeling and design environment for wireless networks and sensor node software.  Viptos is built on Ptolemy II, an actor-oriented graphical modeling and simulation environment for embedded systems, and TOSSIM, an interrupt-level discrete-event simulator for TinyOS networks.

This dissertation also presents methods for using higher-order actors with various metaprogramming and generative programming techniques that enable wireless sensor network application developers to create high-level, parameterizable descriptions and automatically generate sensor network simulation scenarios from these models.

All of the tools I developed and describe in this dissertation are open-source and freely available on the web.  The networked embedded computing community can use these tools and the knowledge shared in this dissertation to improve the way we program wireless sensor networks.}
}

EndNote citation:

%0 Thesis
%A Cheong, Elaine
%T Actor-Oriented Programming for Wireless Sensor Networks
%I EECS Department, University of California, Berkeley
%D 2007
%8 August 30
%@ UCB/EECS-2007-112
%U http://www.eecs.berkeley.edu/Pubs/TechRpts/2007/EECS-2007-112.html
%F Cheong:EECS-2007-112