Generative communication in Linda
ACM Transactions on Programming Languages and Systems (TOPLAS)
Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
Dynamic structure in software architectures
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
A formal basis for architectural connection
ACM Transactions on Software Engineering and Methodology (TOSEM)
A study on exception detection and handling using aspect-oriented programming
Proceedings of the 22nd international conference on Software engineering
The Byzantine Generals Problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
Java RMI: Remote Method Invocation
Java RMI: Remote Method Invocation
A Middleware Infrastructure for Active Spaces
IEEE Pervasive Computing
An Event-Based Architecture Definition Language
IEEE Transactions on Software Engineering
Portability, Extensibility and Robustness in iROS
PERCOM '03 Proceedings of the First IEEE International Conference on Pervasive Computing and Communications
The many faces of publish/subscribe
ACM Computing Surveys (CSUR)
AspectJ in Action: Practical Aspect-Oriented Programming
AspectJ in Action: Practical Aspect-Oriented Programming
One.world: Experiences with a Pervasive Computing Architecture
IEEE Pervasive Computing
Olympus: A High-Level Programming Model for Pervasive Computing Environments
PERCOM '05 Proceedings of the Third IEEE International Conference on Pervasive Computing and Communications
The Definitive ANTLR Reference: Building Domain-Specific Languages
The Definitive ANTLR Reference: Building Domain-Specific Languages
EJFlow: taming exceptional control flows in aspect-oriented programming
Proceedings of the 7th international conference on Aspect-oriented software development
Bristlecone: A Language for Robust Software Systems
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Human-Computer Interaction
Software Architecture: Foundations, Theory, and Practice
Software Architecture: Foundations, Theory, and Practice
A generative programming approach to developing pervasive computing systems
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Ambient-Oriented exception handling
Advanced Topics in Exception Handling Techniques
Ambient-Oriented programming in ambienttalk
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Towards a tool-based development methodology for sense/compute/control applications
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
DiaSuite: a paradigm-oriented software development approach
Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
Proceedings of the 33rd International Conference on Software Engineering
A step-wise approach for integrating QoS throughout software development
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
Brace: an assertion framework for debugging cyber-physical systems
Proceedings of the 34th International Conference on Software Engineering
DiaSuite: A tool suite to develop Sense/Compute/Control applications
Science of Computer Programming
Hi-index | 0.00 |
The challenging nature of error handling constantly escalates as a growing number of environments consists of networked devices and software components. In these environments, errors cover a uniquely large spectrum of situations related to each layer ranging from hardware to distributed platforms, to software components. Handling errors becomes a daunting task for programmers, whose outcome is unpredictable. Scaling up error handling requires to raise the level of abstraction beyond the code level and the try-catch construct, approaching error handling at the software architecture level. We propose a novel approach that relies on an Architecture Description Language (ADL), which is extended with error-handling declarations. To further raise the level of abstraction, our approach revolves around a domain-specific architectural pattern commonly used in pervasive computing. Error handling is decomposed into components dedicated to platform-wide, error-recovery strategies. At the application level, descriptions of functional components include declarations dedicated to error handling. We have implemented a compiler for an ADL extended with error-handling declarations. It produces customized programming frameworks that drive and support the programming of error handling. Our approach has been validated with a variety of applications for building automation.