Architecting a Testing Framework for Publish/Subscribe Applications

The publish/subscribe style is an emerging paradigm for the construction of loosely coupled systems. Yet, the verification of such systems remains difficult. We have constructed a framework called RAY for testing publish/subscribe applications. This framework is implemented as an Eclipse plug-in. In this paper, we present the detailed architecture of RAY, as well as the interaction with its supporting components. In addition to the presented architecture for a testing framework for publish/subscribe applications, the contribution of this paper includes the experience gained during the development of this framework

[1]  Sarfraz Khurshid,et al.  Korat: automated testing based on Java predicates , 2002, ISSTA '02.

[2]  Gary T. Leavens,et al.  The JML and JUnit Way of Unit Testing and its Implementation , 2004 .

[3]  Anne-Marie Kermarrec,et al.  The many faces of publish/subscribe , 2003, CSUR.

[4]  Sebastián Uchitel,et al.  Fluent temporal logic for discrete-time event-based models , 2005, ESEC/FSE-13.

[5]  Marieke Huisman,et al.  Extending JML Specifications with Temporal Logic , 2002, AMAST.

[6]  Lydie du Bousquet,et al.  Filtering TOBIAS Combinatorial Test Suites , 2004, FASE.

[7]  Russell W. Quong,et al.  ANTLR: A predicated‐LL(k) parser generator , 1995, Softw. Pract. Exp..

[8]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[9]  Dov M. Gabbay,et al.  Temporal Logic: Mathematical Foundations and Computational Aspects: Volume 2 , 1994 .

[10]  André van der Hoek,et al.  Palantir: raising awareness among configuration management workspaces , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[11]  Yoonsik Cheon,et al.  A Complete Automation of Unit Testing for Java Programs , 2005, Software Engineering Research and Practice.

[12]  Michael D. Ernst,et al.  An overview of JML tools and applications , 2003, International Journal on Software Tools for Technology Transfer.

[13]  Luciano Baresi,et al.  Modeling and Validation of Publish/Subscribe Architectures , 2005 .

[14]  Schahram Dustdar,et al.  Specification-Based Unit Testing of Publish/Subscribe Applications , 2006, 26th IEEE International Conference on Distributed Computing Systems Workshops (ICDCSW'06).

[15]  MeyerBertrand,et al.  Design by Contract , 1997 .

[16]  Jürgen Dingel,et al.  Implementation and verification of implicit-invocation systems using source transformation , 2005, Fifth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'05).

[17]  Harald C. Gall,et al.  A systematic approach to the development of event based applications , 2003, 22nd International Symposium on Reliable Distributed Systems, 2003. Proceedings..

[18]  Henry Muccini,et al.  Using software architecture for code testing , 2004, IEEE Transactions on Software Engineering.

[19]  Panos Louridas,et al.  JUnit: Unit Testing and Coding in Tandem , 2005, IEEE Softw..

[20]  David Garlan,et al.  Reasoning about implicit invocation , 1998, SIGSOFT '98/FSE-6.

[21]  Catherine Oriat,et al.  Jartege: A Tool for Random Generation of Unit Tests for Java Classes , 2004, QoSA/SOQUA.

[22]  D. Gabbay,et al.  Temporal Logic Mathematical Foundations and Computational Aspects , 1994 .

[23]  David Garlan,et al.  Model Checking Publish-Subscribe Systems , 2003, SPIN.

[24]  Alain Giorgetti,et al.  JAG: JML Annotation Generation for Verifying Temporal Properties , 2006, FASE.

[25]  José Luiz Fiadeiro,et al.  A Formal Approach to Event-Based Architectures , 2006, FASE.

[26]  David S. Rosenblum,et al.  Design and evaluation of a wide-area event notification service , 2001, TOCS.