Skip to main navigation Skip to search Skip to main content

galsC: A language for event-driven embedded systems

  • Elaine Cheong*
  • , Jie Liu
  • *Corresponding author for this work
  • University of California at Berkeley
  • Microsoft USA

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

We introduce galsC, a language designed for programming event-driven embedded systems such as sensor networks. galsC implements the TinyGALS programming model. At the local level, software components are linked via synchronous method calls to form actors. At the global level, actors communicate with each other asynchronously via message passing, which separates the flow of control between actors. A complementary model called TinyGUYS is a guarded yet synchronous model designed to allow thread-safe sharing of global state between actors via parameters without explicitly passing messages. The galsC compiler extends the nesC compiler, which allows for better type checking and code generation. Having a well-structured concurrency model at the application level greatly reduces the risk of concurrency errors, such as deadlock and race conditions. The galsC language is implemented on the Berkeley motes and is compatible with the TinyOS/nesC component library. We use a multi-hop wireless sensor network as an example to illustrate the effectiveness of the language.

Original languageEnglish
Title of host publicationProceedings - Design, Automation and Test in Europe, DATE '05
Pages1050-1055
Number of pages6
DOIs
StatePublished - 2005
Externally publishedYes
EventDesign, Automation and Test in Europe, DATE '05 - Munich, Germany
Duration: 7 Mar 200511 Mar 2005

Publication series

NameProceedings -Design, Automation and Test in Europe, DATE '05
VolumeII
ISSN (Print)1530-1591

Conference

ConferenceDesign, Automation and Test in Europe, DATE '05
Country/TerritoryGermany
CityMunich
Period7/03/0511/03/05

Fingerprint

Dive into the research topics of 'galsC: A language for event-driven embedded systems'. Together they form a unique fingerprint.

Cite this