Abstract
The success of distributed event-based infrastructures such as SIENA and Elvin is partially due to their ease of use. Even novice users of these infrastructures not versed in distributed programming can quickly comprehend the small and intuitive interfaces that these systems typically feature. However, if these users make incorrect assumptions about how the infrastructure services work, a mismatch between the infrastructure and its client applications occurs, which may manifest itself in erroneous client behaviour. We propose a framework for automatically model checking distributed event-based systems in order to discover mismatch between the infrastructure and its clients. Using the SIENA event service as an example, we implemented and evaluated our framework by customizing the Bandera/Bogor tool pipeline. Two realistic Java applications are implemented to test and evaluate the framework.
This work was supported by the Natural Sciences and Engineering Research Council of Canada (NSERC).
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Bradbury, J.S., Dingel, J.: Evaluating and improving the automatic analysis of implicit invocation systems. In: Proc. of ESEC/FSE 2003, September 2003, pp. 78–87 (2003)
Campbell, C., Grieskamp, W., Nachmanson, L., Schulte, W., Tillmann, N., Veanes, M.: Model-based testing of object-oriented reactive systems with Spec Explorer. Technical report, Microsoft Research (2005)
Caporuscio, M., Inverardi, P., Pelliccione, P.: Compositional verification of middleware-based software architecture descriptions. In: Proc. of ICSE 2004, pp. 221–230 (2004)
Carzaniga, A.: Personal e-mail correspondance with J. Dingel (February 9, 2005)
Carzaniga, A., Rosenblum, D.S., Wolf, A.L.: Design and evaluation of a wide-area event notification service. ACM Trans. on Comp. Sys. 19(3), 332–383 (2001)
Cassidy, T., Cordy, J., Dean, T., Dingel, J.: Source transformation for concurrency analysis. In: Proc. of the Int. Work. on Language Descriptions, Tools and Applications (LDTA 2005) (April 2005)
Corbett, J.C., Dwyer, M.B., Hatcliff, J., et al.: Bandera: extracting finite-state models from java source code. In: Proc. of ICSE ’00, pp. 439–448 (2000)
Dwyer, M.B., Tkachuk, R.O., Visser, W.: Analyzing interaction orderings with model checking. In: Proc. of ASE 2004, pp. 154–163 (2004)
Fournet, C., Hoare, C., Rajamani, S., Rehof, J.: Stuck-free conformance. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, Springer, Heidelberg (2004)
Garlan, D., Khersonsky, S., Kim, J.: Model checking publish-subscribe systems. In: Ball, T., Rajamani, S.K. (eds.) Model Checking Software. LNCS, vol. 2648, Springer, Heidelberg (2003)
Haahr, M., Meier, R., Nixon, P., Cahill, V., Jul, E.: Filtering and scalability in the ECO distributed event model. In: PDSE ’00. Proc. of the Int. Symp. on Soft. Eng. for Parallel and Distributed Systems, p. 83 (2000)
Hatcliff, J., Deng, X., Dwyer, M.B., Jung, G., Ranganath, V.P.: Cadena: an integrated development, analysis, and verification environment for component-based systems. In: Proc. of ICSE 2003, pp. 160–173 (May 2003)
Heimbigner, D.: Adapting publish/subscribe middleware to achieve Gnutella-like functionality. In: Vaudenay, S., Youssef, A.M. (eds.) SAC 2001. LNCS, vol. 2259, pp. 176–181. Springer, Heidelberg (2001)
Inverardi, P., Muccini, H., Pelliccione, P.: Charmy: an extensible tool for architectural analysis. In: Proc. of ESEC/FSE-13, pp. 111–114 (2005)
Meier, R., Cahill, V.: Taxonomy of distributed event-based programming systems. The Computer Journal 48(5), 602–626 (2005)
Robby, Dwyer, M., Hatcliff, J.: Bogor: an extensible and highly-modular software model checking framework. In: Proc. of ESEC/FSE-11, pp. 267–276, (September 2003)
Selic, B.: On the semantic foundations of standard uml 2. In: Bernardo, M., Corradini, F. (eds.) Formal Methods for the Design of Real-Time Systems. LNCS, vol. 3185, pp. 181–199. Springer, Heidelberg (2004)
Stoller, S.D., Liu, Y.A.: Transformations for model checking distributed Java programs. In: Dwyer, M.B. (ed.) Model Checking Software. LNCS, vol. 2057, Springer, Heidelberg (2001)
Uchitel, S., Yankelevich, D.: Enhancing architectural mismatch detection with assumptions. In: Proc. of the Int. Conf. and Work. on the Engineering of Computer Based Systems, pp. 138–146 (April 2000)
Zhang, B., Ding, K., Li, J.: An XML-message based architecture description language and architectural mismatch checking. In: Proc. of Comp. Soft. and Applications Conf. (COMPSAC 2001), pp. 561–566 (October 2001)
Zhang, H., Bradbury, J.S., Cordy, J.R., Dingel, J.: Using source transformation to test and model check implicit-invocation systems. Special Issue on Source Code Analysis and Manipulation. Science of Computer Programming 62(3), 209–227 (2006)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 IFIP International Federation for Information Processing
About this paper
Cite this paper
Cai, L.R., Bradbury, J.S., Dingel, J. (2007). Verifying Distributed, Event-Based Middleware Applications Using Domain-Specific Software Model Checking. In: Bonsangue, M.M., Johnsen, E.B. (eds) Formal Methods for Open Object-Based Distributed Systems. FMOODS 2007. Lecture Notes in Computer Science, vol 4468. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-72952-5_3
Download citation
DOI: https://doi.org/10.1007/978-3-540-72952-5_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-72919-8
Online ISBN: 978-3-540-72952-5
eBook Packages: Computer ScienceComputer Science (R0)