Concurrent programming: principles and practice
Concurrent programming: principles and practice
The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
Design of Dynamically Reconfigurable Real-Time Software Using Port-Based Objects
IEEE Transactions on Software Engineering
Inside CORBA: distributed object standards and applications
Inside CORBA: distributed object standards and applications
System architecture directions for networked sensors
ASPLOS IX Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
Art of Designing Embedded Systems
Art of Designing Embedded Systems
Real-Time Systems: Design Principles for Distributed Embedded Applications
Real-Time Systems: Design Principles for Distributed Embedded Applications
Synchronous Programming of Reactive Systems
Synchronous Programming of Reactive Systems
Software Synthesis from Dataflow Graphs
Software Synthesis from Dataflow Graphs
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Operating System Concepts
Wireless sensor networks for habitat monitoring
WSNA '02 Proceedings of the 1st ACM international workshop on Wireless sensor networks and applications
What's Ahead for Embedded Software?
Computer
A Network-Centric Approach to Embedded Software for Tiny Devices
EMSOFT '01 Proceedings of the First International Workshop on Embedded Software
System-Level Types for Component-Based Design
EMSOFT '01 Proceedings of the First International Workshop on Embedded Software
Practical Design of Globally-Asynchronous Locally-Synchronous Systems
ASYNC '00 Proceedings of the 6th International Symposium on Advanced Research in Asynchronous Circuits and Systems
WOES'99 Proceedings of the Workshop on Embedded Systems on Workshop on Embedded Systems
Synthesis of software programs for embedded control applications
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
galsC: A Language for Event-Driven Embedded Systems
Proceedings of the conference on Design, Automation and Test in Europe - Volume 2
A programmable microkernel for real-time systems
Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments
From statecharts to ESP: programming with events, states and predicates for embedded systems
Proceedings of the 5th ACM international conference on Embedded software
X10: an object-oriented approach to non-uniform cluster computing
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Embedded software generation from system level specification for multi-tasking embedded systems
Proceedings of the 2005 Asia and South Pacific Design Automation Conference
BOTS: a constraint-based component system for synthesizing scalable software systems
Proceedings of the 2006 ACM SIGPLAN/SIGBED conference on Language, compilers, and tool support for embedded systems
VigilNet: An integrated sensor network system for energy-efficient surveillance
ACM Transactions on Sensor Networks (TOSN)
EnviroSuite: An environmentally immersive programming framework for sensor networks
ACM Transactions on Embedded Computing Systems (TECS)
Protothreads: simplifying event-driven programming of memory-constrained embedded systems
Proceedings of the 4th international conference on Embedded networked sensor systems
Programming models for sensor networks: A survey
ACM Transactions on Sensor Networks (TOSN)
Flask: staged functional programming for sensor networks
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Inter-context control-flow and data-flow test adequacy criteria for nesC applications
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Dustminer: troubleshooting interactive complexity bugs in sensor networks
Proceedings of the 6th ACM conference on Embedded network sensor systems
Integration of event-driven embedded operating systems into OMNet++: a case study with reflex
Proceedings of the 2nd International Conference on Simulation Tools and Techniques
System and software architectures of distributed smart cameras
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
SNTS: sensor network troubleshooting suite
DCOSS'07 Proceedings of the 3rd IEEE international conference on Distributed computing in sensor systems
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
A programming model for the automatic construction of USN applications based on nano-qplus
EUC'06 Proceedings of the 2006 international conference on Embedded and Ubiquitous Computing
Macro-programming wireless sensor networks using Kairos
DCOSS'05 Proceedings of the First IEEE international conference on Distributed Computing in Sensor Systems
A technique for code generation of USN applications based on nano-qplus
ICCS'06 Proceedings of the 6th international conference on Computational Science - Volume Part IV
Hierarchical integration of runtime models
ICESS'04 Proceedings of the First international conference on Embedded Software and Systems
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
Formal analysis of event-driven cyber physical systems
Proceedings of the First International Conference on Security of Internet of Things
Model-based, event-driven programming paradigm for interactive web applications
Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software
Hi-index | 0.00 |
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.