Skip to main content

Model Checking Publish-Subscribe Systems

  • Conference paper
  • First Online:
Model Checking Software (SPIN 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2648))

Included in the following conference series:

Abstract

While publish-subscribe systems have good engineering properties, they are difficult to reason about and to test. Model checking such systems is an attractive alternative. However, in practice coming up with an appropriate state model for a pub-sub system can be a difficult and error-prone task. In this paper we address this problem by describing a generic pub-sub model checking framework. The key feature of this framework is a reusable, parameterized state machine model that captures pub-sub run-time event management and dispatch policy. Generation of models for specific pub-sub systems is then handled by a translation tool that accepts as input a set of pub-sub component descriptions together with a set of pub-sub properties, and maps them into the framework where they can be checked using off-the-shelf model checking tools.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Gregory Abowd, Robert Allen, and David Garlan. Using style to understand descriptions of software architecture. In Proceedings of SIGSOFT’93: Foundations of Software Engineering, Software Engineering Notes 18(5), pages 9–20. ACM Press, December 1993.

    Article  Google Scholar 

  2. Robert Allen and David Garlan. Formalizing architectural connection. In Proceedings of the 16th International Conference on Software Engineering, pages 71–80, Sorrento, Italy, May 1994.

    Google Scholar 

  3. Daniel J. Barrett, Lori A. Clarke, Peri L. Tarr, and Alexander E. Wise. A framework for event-based software integration. ACM Transactions on Software Engineering and Methodology, 5(4):378–421, October 1996.

    Article  Google Scholar 

  4. A. Carzaniga, D. S. Rosenblum, and A. L. Wolf. Achieving expressiveness and scalability in an internet-scale event notification service. Proc. 19th ACM Symposium on Principles of Distributed Computing, July 2000.

    Google Scholar 

  5. E. Clarke and J. Wing. Formal methods: State of the art and future directions. ACM Computing Surveys, 24(4), December 1996.

    Google Scholar 

  6. James Corbett, Matthew Dwyer, and John Hatcliff. Bandera: Extracting finite-state models from java source code. Proceedings of the 22nd International Conference on Software Engineering, June 2000.

    Google Scholar 

  7. Jürgen Dingel, David Garlan, Somesh Jha, and David Notkin. Reasoning about Implicit Invocation. In Proceedings of the Sixth International Symposium on the Foundations of Software Engineering (FSE-6), Lake Buena Vista, Florida, November 1998. ACM.

    Google Scholar 

  8. Jürgen Dingel, David Garlan, Somesh Jha, and David Notkin. Towards a formal treatment of implicit invocation. Formal Aspects of Computing, 10:193–213, 1998.

    Article  MATH  Google Scholar 

  9. David Garlan and Serge Khersonsky. Model checking implicit invocation systems. In Proceedings of the 10th International Workshop on Software Specification and Design, San Diego, CA, November 2000.

    Google Scholar 

  10. David Garlan and David Notkin. Formalizing design spaces: Implicit invocation mechanisms. In VDM’91: Formal Software Development Methods, pages 31–44, Noordwijkerhout, The Netherlands, October 1991. Springer-Verlag, LNCS 551.

    Google Scholar 

  11. K. Havelund and T. Pressburger. Model checking java programs using Java Pathfinder. International Journal on Software Tools for Technology Transfer, STTT, 2(4), April 2000.

    Google Scholar 

  12. Jeff Magee and Jeff Kramer. Concurrency: state models & JAVA programs. John Wiley & Son, April 1999.

    Google Scholar 

  13. Ken McMillan. Cadence SMV. http://www-cad.eecs.berkeley.edu/kenmcmil/smv/.

  14. Microsoft. Slam. http://research.microsoft.com/slam.

  15. David Notkin, David Garlan, William G. Griswold, and Kevin Sullivan. Adding implicit invocation to languages: Three approaches. In S. Nishio and A. Yonezawa, editors, Proceedings of the JSSST International Symposium on Object Technologies for Advanced Software, pages 489–510. Springer-Verlag LNCS, No. 742, November 1993.

    Google Scholar 

  16. Kevin J. Sullivan and David Notkin. Reconciling environment integration and software evolution. In Proceedings of SIGSOFT’ 90: Fourth Symposium on Software Development Environments, Irvine, December 1990.

    Google Scholar 

  17. Kevin J. Sullivan and David Notkin. Reconciling environment integration and software evolution. ACM Transactions on Software Engineering and Methodology, 1(3):229–268, July 1992.

    Article  Google Scholar 

  18. Sun Microsystems. JavaBeans. http://java.sun.com/products/javabeans.

  19. Richard N. Taylor, Nenad Medvidovic, Kenneth M. Anderson, Jr. E. James Whitehead, Jason E. Robbins, Kari A. Nies, Peyman Oreizy, and Deborah L. Dubrow. A component-and message-based architectural style for GUI software. IEEE Transactions on Software Engineering, 22(6):390–406, June 1996.

    Article  Google Scholar 

  20. TIBCO The Power of Now. Tibco hawk. http://www.tibco.com/solutions/.

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Garlan, D., Khersonsky, S., Kim, J.S. (2003). Model Checking Publish-Subscribe Systems. In: Ball, T., Rajamani, S.K. (eds) Model Checking Software. SPIN 2003. Lecture Notes in Computer Science, vol 2648. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44829-2_11

Download citation

  • DOI: https://doi.org/10.1007/3-540-44829-2_11

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-40117-9

  • Online ISBN: 978-3-540-44829-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics