Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/952532.952668acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
Article

TinyGALS: a programming model for event-driven embedded systems

Published: 09 March 2003 Publication History

Abstract

Networked embedded systems such as wireless sensor networks are usually designed to be event-driven so that they are reactive and power efficient. Programming embedded systems with multiple reactive tasks is difficult due to the complex nature of managing the concurrency of execution threads and consistency of shared states. This paper describes a globally asynchronous and locally synchronous model (TinyGALS) for programming event-driven embedded systems. Software components are composed locally through synchronous method calls to form modules, and asynchronous message passing is used between modules to separate the flow of control. In addition, a guarded yet synchronous model (TinyGUYS) is designed to allow thread-safe sharing of global state by multiple modules without explicitly passing messages. This programming model is structured such that all asynchronous message passing code and module triggering mechanisms can be automatically generted from a high-level specification. We have implemented the programming model and code generation facilities on a wireless sensor network platform known as the Berkeley motes. As an example, we have redesigned a multi-hop ad hoc communication protocol using the TinyGALS model.

References

[1]
B. A. Akyol, M. Fredette, A. W. Jackson, R. Krishnan, D. Mankins, C. Partridge, N. Shectman, and G. D. Troxel, "Smart Office Spaces," USENIX Workshop on Embedded Systems, Cambridge, MA, USA, Mar 29--31, 1999.]]
[2]
G. R. Andrews, Concurrent Programming: Principles and Practice, Addison-Wesley, 1991.]]
[3]
F. Balarin, M. Chiodo, P. Giusto, H. Hsieh, A. Jurecska, L. Lavagno, A. Sangiovanni-Vincentelli, E. Sentovich, and K. Suzuki, "Synthesis of Software Programs for Embedded Control Applications," IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, Vol. 18, No. 6, 1999, pp. 834--849.]]
[4]
S. S. Bhattacharyya, P. K. Murthy, and E. A. Lee, Software Synthesis from Dataflow Graphs, Kluwer, 1996.]]
[5]
A. Benveniste, B. Caillaud and P. Le Guernic. "From synchrony to asynchrony," in J. C. M. Baeten and S. Mauw, editors, 10th International Conference on Concurrency Theory (CONCUR'99), LNCS 1664, Springer Verlag, 1999, pp. 162--177.]]
[6]
G. Berry and G. Gonthier, "The Esterel Synchronous Programming Language: Design, Semantics, Implementation," Science of Computer Programming, Vol. 19, No. 2, pp. 87--152, 1992.]]
[7]
M. Cornero, F. Thoen, G. Goossens, and F. Curatelli, "Software synthesis for real-time information processing systems," in P. Marwedel and G. Goossens, Eds., Code Generation for Embedded Processors, pp. 260--279. Kluwer Academic Publishers, 1995.]]
[8]
D. E. Culler, J. Hill, P. Buonadonna, R. Szewczyk, and A. Woo, "A Network-Centric Approach to Embedded Software for Tiny Devices," First Workshop on Embedded Software (EMSOFT2001), Lake Tahoe, CA, USA, Oct. 8--10, 2001, pp. 114--130.]]
[9]
J. Eker, J. W. Janneck, E. A. Lee, J. Liu, X. Liu, J. Ludvig, S. Neuendorffer, S. Sachs, and Y. Xiong, "Taming Heterogeneity---the Ptolemy Approach," to appear in Proceedings of the IEEE.]]
[10]
D. Estrin, L. Girod, G. Pottie, and M. Srivastava, "Instrumenting the world with wireless sensor networks," in Proc. of ICASSP'2001, Salt Lake City, UT, May 2001, pp. 2675--2678.]]
[11]
J. G. Ganssle, The Art of Designing Embedded Systems, Newnes, 1999.]]
[12]
P. Le Guernic, T. Gautier, M. Le Borgne, and C. Le Maire. "Programming real-time applications with Signal," Proc. of the IEEE, Vol. 79, No. 9, pp. 1321--1336, 1991.]]
[13]
N. Halbwachs, Synchronous Programming of Reactive Systems, Kluwer Academic Publishers, 1993.]]
[14]
J. Hill, R. Szewczyk, A. Woo, S. Hollar, D. E. Culler, and K. Pister, "System architecture directions for network sensors," in Proc. of the 9th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-IX), Cambridge, MA, Nov. 12--15, 2000.]]
[15]
H. Kopetz, Real-Time Systems: Design Principles for Distributed Embedded Applications, Kluwer Academic Publishers, 1997.]]
[16]
E. A. Lee, "What's Ahead for Embedded Software?" IEEE Computer, September 2000, pp. 18--26.]]
[17]
E. A. Lee and Y. Xiong, "System-Level Types for Component-Based Design," First Workshop on Embedded Software (EMSOFT2001), Lake Tahoe, CA, USA, Oct. 8--10, 2001, pp. 237--253.]]
[18]
A. Mainwaring, J. Polastre, R. Szewczyk, and D. Culler, "Wireless Sensor Networks for Habitat Monitoring," 2002 ACM International Workshop on Wireless Sensor Networks and Applications (WSNA'02), Atlanta, GA, Sept. 2002.]]
[19]
T. J. Mowbray, W. A. Ruh, R. M. Soley, Inside Corba: Distributed Object Standards and Applications, Addison-Wesley, 1997.]]
[20]
J. Muttersbach, T. Villiger, W. Fichtner, "Practical Design of Globally-Asychronous Locally-Synchronous Systems", in Proc. of the Sixth International Symposium on Advanced Research in Asynchronous Circuits and Systems, ASYNC'2000, Eilat, Israel, pp. 52--59, April 2--6, 2000.]]
[21]
D. C. Schmidt, H. Rohnert, M. Stal, and D. Schultz, Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects, Vol. 2, 2nd Ed., Wiley, John & Sons, 2000.]]
[22]
A. Silberschatz, P. B. Galvin, and G. Gagne, Operating System Concepts (6th Ed.), John Wiley & Sons, 2001.]]
[23]
D. B. Stewart, R. A. Volpe, and P. K. Khosla, "Design of Dynamically Reconfigurable Real-Time Software Using Port-Based Objects," IEEE Trans. on Software Engineering, Vol. 23, No. 12, Dec. 1997, pp. 759--776.]]
[24]
Pravin Varaiya, "Smart Cars on Smart Roads: Problems of Control," IEEE Trans. on Automatic Control, AC-38(2), 1993, pp. 195--207.]]
[25]
L. Wernli, Design and implementation of a code generator for the CAL actor language, Technical Memo UCB/ERL M02/5, University of California, Berkeley, CA 94720, March 2002.]]
[26]
F. Zhao, J. Shin, and J. Reich, "Information-Driven Dynamic Sensor Collaboration," IEEE Signal Processing Magazine, Vol. 19, No. 2, March 2002, pp. 61--85.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '03: Proceedings of the 2003 ACM symposium on Applied computing
March 2003
1268 pages
ISBN:1581136242
DOI:10.1145/952532
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 March 2003

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. code generation
  2. embedded systems
  3. globally synchronous and locally asynchronous
  4. programming models
  5. sensor network

Qualifiers

  • Article

Conference

SAC03
Sponsor:
SAC03: ACM Symposium on Applied Computing
March 9 - 12, 2003
Florida, Melbourne

Acceptance Rates

Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Event-Based OpenMP Tasks for Time-Sensitive GPU-Accelerated SystemsAdvancing OpenMP for Future Accelerators10.1007/978-3-031-72567-8_3(31-45)Online publication date: 23-Sep-2024
  • (2023)Models of Embedded SystemsEmbedded and Real-Time Operating Systems10.1007/978-3-031-28701-5_4(99-114)Online publication date: 15-Sep-2023
  • (2020)A Statecharts-Based Approach for WSN Application DevelopmentJournal of Sensor and Actuator Networks10.3390/jsan90400459:4(45)Online publication date: 25-Sep-2020
  • (2019)BikeGPSACM Transactions on Sensor Networks10.1145/334385715:4(1-28)Online publication date: 17-Oct-2019
  • (2019)AirContourACM Transactions on Sensor Networks10.1145/334385515:4(1-25)Online publication date: 17-Oct-2019
  • (2019)Concurrent Hash TablesACM Transactions on Parallel Computing10.1145/33092065:4(1-32)Online publication date: 22-Feb-2019
  • (2019)Optimizing I/O Performance of HPC Applications with AutotuningACM Transactions on Parallel Computing10.1145/33092055:4(1-27)Online publication date: 8-Mar-2019
  • (2019)Interaction Net as a Representation Model of a Programming LanguageCurrent Trends in Semantic Web Technologies: Theory and Practice10.1007/978-3-030-06149-4_3(57-83)Online publication date: 18-Jan-2019
  • (2018)Deep Learning for Environmentally Robust Speech RecognitionACM Transactions on Intelligent Systems and Technology10.1145/31781159:5(1-28)Online publication date: 24-Apr-2018
  • (2018)Mining Significant Microblogs for Misinformation IdentificationACM Transactions on Intelligent Systems and Technology10.1145/31734589:5(1-20)Online publication date: 24-Apr-2018
  • Show More Cited By

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