A Domain-Specific Approach to Architecturing Error Handling in Pervasive Computing

被引:7
作者
Mercadal, Julien [1 ,2 ]
Enard, Quentin [1 ,4 ]
Consel, Charles [1 ,2 ,3 ]
Loriant, Nicolas [1 ]
机构
[1] INRIA, Bordeaux, France
[2] LaBRI, Bordeaux, France
[3] ENSEIRB, Bordeaux, France
[4] Thales, Bordeaux, France
关键词
Design; Languages; Domain-Specific Languages; Architecture Description Languages; Exception; Pervasive Computing;
D O I
10.1145/1932682.1869465
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:47 / 61
页数:15
相关论文
共 31 条
[11]  
Demsky B, 2008, LECT NOTES COMPUT SC, V5142, P490, DOI 10.1007/978-3-540-70592-5_21
[12]   A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications [J].
Dey, AK ;
Abowd, GD ;
Salber, D .
HUMAN-COMPUTER INTERACTION, 2001, 16 (2-4) :97-+
[13]  
Downing T., 1998, JAVA RMI REMOTE METH
[14]   The many faces of publish/subscribe [J].
Eugster, PT ;
Felber, PA ;
Guerraoui, R ;
Kermarrec, AM .
ACM COMPUTING SURVEYS, 2003, 35 (02) :114-131
[15]   GENERATIVE COMMUNICATION IN LINDA [J].
GELERNTER, D .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1985, 7 (01) :80-112
[16]  
Kiczales G, 1997, LECT NOTES COMPUT SC, V1241, P220, DOI 10.1007/BFb0053381
[17]  
Laddad R., 2003, ASPECTJ ACTION PRACT
[18]   THE BYZANTINE GENERALS PROBLEM [J].
LAMPORT, L ;
SHOSTAK, R ;
PEASE, M .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1982, 4 (03) :382-401
[19]  
Lippert M., 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium, P418, DOI 10.1109/ICSE.2000.870432
[20]   AN EVENT-BASED ARCHITECTURE DEFINITION LANGUAGE [J].
LUCKHAM, DC ;
VERA, J .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1995, 21 (09) :717-734