Type inference for record concatenatiOn and multiple inheritance
Proceedings of the Fourth Annual Symposium on Logic in computer science
Design of Dynamically Reconfigurable Real-Time Software Using Port-Based Objects
IEEE Transactions on Software Engineering
Advances in the dataflow computational model
Parallel Computing - Special Anniversary issue
Synchronous Programming of Reactive Systems
Synchronous Programming of Reactive Systems
System-Level Types for Component-Based Design
EMSOFT '01 Proceedings of the First International Workshop on Embedded Software
Functional and Performance Modeling of Concurrency in VCC
Concurrency and Hardware Design, Advances in Petri Nets
The nesC language: A holistic approach to networked embedded systems
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
TinyGALS: a programming model for event-driven embedded systems
Proceedings of the 2003 ACM symposium on Applied computing
Synthesis of software programs for embedded control applications
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
EnviroSuite: An environmentally immersive programming framework for sensor networks
ACM Transactions on Embedded Computing Systems (TECS)
A concurrency abstraction for reliable sensor network applications
Proceedings of the 12th Monterey conference on Reliable systems on unreliable networked platforms
OASiS: a service-oriented architecture for ambient-aware sensor networks
Proceedings of the 13th Monterey conference on Composition of embedded systems: scientific and industrial issues
Programming paradigms for networked sensing: a distributed systems’ perspective
IWDC'05 Proceedings of the 7th international conference on Distributed Computing
ACM Transactions on Embedded Computing Systems (TECS) - Special section on ESTIMedia'12, LCTES'11, rigorous embedded systems design, and multiprocessor system-on-chip for cyber-physical systems
Hi-index | 0.00 |
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.