Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1109/DATE.2005.165acmconferencesArticle/Chapter ViewAbstractPublication PagesdateConference Proceedingsconference-collections
Article

galsC: A Language for Event-Driven Embedded Systems

Published: 07 March 2005 Publication History

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.

References

[1]
{1} E. Cheong, J. Liebman, J. Liu, and F. Zhao, "TinyGALS: A programming model for event-driven embedded systems," in SAC'03, pp. 698- 704.
[2]
{2} D. Gay et al., "The nesC language: A holistic approach to networked embedded systems," in PLDI 2003.
[3]
{3} N. Halbwachs, Synchronous Programming of Reactive Systems. Kluwer Academic Publishers, 1993.
[4]
{4} D. B. Stewart et al., "Design of dynamically reconfigurable real-time software using port-based objects," IEEE Trans. on Software Engineering , pp. 759-776, December 1997.
[5]
{5} W. A. Najjar, E. A. Lee, and G. R. Gao, "Advances in the dataflow computational model," Parallel Computing, January 1999.
[6]
{6} F. Balarin et al., "Synthesis of software programs for embedded control applications," IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, pp. 834-849, June 1999.
[7]
{7} J. Bhasker, A SystemC Primer, 2nd ed. Star Galaxy Pub.
[8]
{8} W. LaRue et al., "Functional and performance modeling of concurrency in vcc," in Concurrency and Hardware Design : Advances in Petri Nets. LNCS 2549, Springer-Verlag Heidelberg, 2002, pp. 191-227.
[9]
{9} M. Wand, "Type inference for record concatenation and multiple inheritance," in 4th Annual Symposium on Logic in Computer Science, 1989.
[10]
{10} "nesC compiler," http://sourceforge.net/projects/nescc/.
[11]
{11} "TinyOS: a component"based OS for the networked sensor regime," http://www.tinyos.net/.
[12]
{12} Crossbow Technology, Inc., http://www.xbow.com/.
[13]
{13} E. Cheong and J. Liu, "galsC: A language for event-driven embedded systems," University of California, Berkeley, Memorandum UCB/ERL M04/7, April 2004.
[14]
{14} G. Kahn, "The semantics of a simple language for parallel programming," in Proceedings of the IFIP Congress 74, 1974, pp. 471-475.
[15]
{15} "The Ptolemy project," http://ptolemy.eecs.berkeley.edu.
[16]
{16} E. A. Lee and Y. Xiong, "System-level types for component-based design," in EMSOFT 2001, October, pp. 237-253.

Cited By

View all
  • (2016)Understanding and detecting wake lock misuses for Android applicationsProceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering10.1145/2950290.2950297(396-409)Online publication date: 1-Nov-2016
  • (2013)Fusing statecharts and javaACM Transactions on Embedded Computing Systems10.1145/2435227.243524112:1s(1-21)Online publication date: 21-Mar-2013
  • (2006)OASiSProceedings of the 13th Monterey conference on Composition of embedded systems: scientific and industrial issues10.5555/1785644.1785654(125-149)Online publication date: 16-Oct-2006
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
DATE '05: Proceedings of the conference on Design, Automation and Test in Europe - Volume 2
March 2005
630 pages
ISBN:0769522882

Sponsors

Publisher

IEEE Computer Society

United States

Publication History

Published: 07 March 2005

Check for updates

Qualifiers

  • Article

Conference

DATE05
Sponsor:

Acceptance Rates

Overall Acceptance Rate 518 of 1,794 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2016)Understanding and detecting wake lock misuses for Android applicationsProceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering10.1145/2950290.2950297(396-409)Online publication date: 1-Nov-2016
  • (2013)Fusing statecharts and javaACM Transactions on Embedded Computing Systems10.1145/2435227.243524112:1s(1-21)Online publication date: 21-Mar-2013
  • (2006)OASiSProceedings of the 13th Monterey conference on Composition of embedded systems: scientific and industrial issues10.5555/1785644.1785654(125-149)Online publication date: 16-Oct-2006
  • (2005)A concurrency abstraction for reliable sensor network applicationsProceedings of the 12th Monterey conference on Reliable systems on unreliable networked platforms10.5555/1765571.1765579(143-160)Online publication date: 22-Sep-2005
  • (2005)Programming paradigms for networked sensingProceedings of the 7th international conference on Distributed Computing10.1007/11603771_50(451-462)Online publication date: 27-Dec-2005

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media