Proof, language, and interaction
MultiJava: modular open classes and symmetric multiple dispatch for Java
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Using aspectC to improve the modularity of path-specific customization in operating system code
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
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
Variant management for embedded software product lines with pure::consul and AspectC++
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
AspectJ in Action: Practical Aspect-Oriented Programming
AspectJ in Action: Practical Aspect-Oriented Programming
Sensor network-based countersniper system
SenSys '04 Proceedings of the 2nd international conference on Embedded networked sensor systems
Eliminating stack overflow by abstract interpretation
ACM Transactions on Embedded Computing Systems (TECS)
Developing embedded software product lines with AspectC++
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Efficient type and memory safety for tiny embedded systems
Proceedings of the 3rd workshop on Programming languages and operating systems: linguistic support for modern operating systems
Declarative failure recovery for sensor networks
Proceedings of the 6th international conference on Aspect-oriented software development
Applying aspects to a real-time embedded operating system
Proceedings of the 6th workshop on Aspects, components, and patterns for infrastructure software
Highly configurable transaction management for embedded systems
Proceedings of the 6th workshop on Aspects, components, and patterns for infrastructure software
Evolving embedded product lines: opportunities for aspects
Proceedings of the 6th workshop on Aspects, components, and patterns for infrastructure software
The regiment macroprogramming system
Proceedings of the 6th international conference on Information processing in sensor networks
A wireless sensor network for structural health monitoring: performance and experience
EmNets '05 Proceedings of the 2nd IEEE workshop on Embedded Networked Sensors
Macroprogramming heterogeneous sensor networks using cosmos
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
Fidelity and yield in a volcano monitoring sensor network
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
Advances in AOP with AspectC++
Proceedings of the 2005 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the fourth SoMeT_W05
TinyOS Programming
On mining sensor network software repositories
Proceedings of the 2nd Workshop on Software Engineering for Sensor Network Applications
Hi-index | 0.00 |
The software that runs on a typical wireless sensor network node must address a variety of constraints that are imposed by its purpose and implementation platform. Examples of such constraints include real-time behavior, highly limited RAM and ROM, and other scarce resources. These constraints lead to crosscutting concerns for the implementations of sensor network software: that is, all parts of the software must be carefully written to respect its resource constraints. Neither traditional languages (such as C) nor component-based languages (such as nesC) for implementing sensor network software allow programmers to deal with crosscutting resource constraints in a modular fashion. In this paper we describe Aspect nesC (ANesC), a language we are now implementing to help programmers modularize the implementations of crosscutting concerns within sensor network software. Aspect nesC extends nesC, a component-based dialect of C, with constructs for aspect-oriented programming. In addition to combining the ideas of components and aspects in a single language, ANesC will provide specific and novel constructs for resource-management concerns. For instance, pointcuts can identify program points at which the run-time stack is about to be exhausted or a real-time deadline has been missed. Corrective actions can be associated with these points via "advice." A primary task of the Aspect nesC compiler is to implement such resource-focused aspects in an efficient manner.