Skip to main content

Automated Extraction of Abstract Behavioural Models from JMS Applications

  • Conference paper
Book cover Formal Methods for Industrial Critical Systems (FMICS 2012)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7437))

Abstract

Distributed systems are hard to program, understand and analyze. Two key sources of complexity are the many possible behaviors of a system, arising from the parallel execution of its distributed nodes, and the handling of asynchronous messages exchanged between nodes. We show how to systematically construct executable models of publish/subscribe systems based on the Java Messaging Service (JMS). These models, written in the Abstract Behavioural Specification (ABS) language, capture the essentials of the messaging behavior of the original Java systems, and eliminate details not related to distribution and messages. We report on jms2abs, a tool that automatically extracts ABS models from the bytecode of JMS systems. Since the extracted models are formal and executable, they allow us to reason about the modeled JMS systems by means of tools built specifically for the modeling language. For example, we have succeeded to apply simulation, termination and resource analysis tools developed for ABS to, respectively, execute, prove termination and infer the resource consumption of the original JMS applications.

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 49.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. Albert, E., Arenas, P., Genaim, S., Gómez-Zamalloa, M., Puebla, G.: Cost Analysis of Concurrent OO Programs. In: Yang, H. (ed.) APLAS 2011. LNCS, vol. 7078, pp. 238–254. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  2. Albert, E., Arenas, P., Genaim, S., Puebla, G., Zanardini, D.: Cost Analysis of Object-Oriented Bytecode Programs. Theor. Comput. Sci. 413 (January 2012)

    Google Scholar 

  3. Albert, E., Genaim, S., Gómez-Zamalloa, M., Johnsen, E.B., Schlatte, R., Lizeth Tapia Tarifa, S.: Simulating Concurrent Behaviors with Worst-Case Cost Bounds. In: Butler, M., Schulte, W. (eds.) FM 2011. LNCS, vol. 6664, pp. 353–368. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  4. Appel, A.W.: SSA is functional programming. SIGPLAN Not. 33, 17–20 (1998)

    Article  Google Scholar 

  5. Armstrong, J., Virding, R., Wistrom, C., Williams, M.: Concurrent Programming in Erlang, 2nd edn. Prentice Hall (1996)

    Google Scholar 

  6. Baldoni, R., Beraldi, R., Tucci Piergiovanni, S., Virgillito, A.: On the modelling of publish/subscribe communication systems. Concurr. Comput.: Pract. Exper. 17, 1471–1495 (2005)

    Article  Google Scholar 

  7. Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007)

    MATH  Google Scholar 

  8. de Boer, F.S., Clarke, D., Johnsen, E.B.: A Complete Guide to the Future. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 316–330. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  9. Eugster, P., Felber, P., Guerraoui, R., Kermarrec, A.: The many faces of publish/subscribe. ACM Comput. Surv. 35, 114–131 (2003)

    Article  Google Scholar 

  10. Garlan, D., Khersonsky, S., Kim, J.S.: Model Checking Publish-Subscribe Systems. In: Ball, T., Rajamani, S.K. (eds.) SPIN 2003. LNCS, vol. 2648, pp. 166–180. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  11. Gómez-Zamalloa, M., Albert, E., Puebla, G.: Decompilation of Java Bytecode to Prolog by Partial Evaluation. Information and Software Technology 51, 1409–1427 (2009)

    Article  Google Scholar 

  12. Haller, P., Sommers, F.: Actors in Scala: Concurrent programming for the multi-core era. Artima, PrePrint edition (March 2011)

    Google Scholar 

  13. Hapner, M., Burridge, R., Sharma, R., Fialli, J., Stout, K.: Java Message Service Specification. Sun Microsystems, Inc., Version 1.1 (April 2002)

    Google Scholar 

  14. Johnsen, E.B., Hähnle, R., Schäfer, J., Schlatte, R., Steffen, M.: ABS: A Core Language for Abstract Behavioral Specification. In: Aichernig, B.K., de Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 142–164. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  15. Johnsen, E.B., Owe, O.: An asynchronous communication model for distributed concurrent objects. Software and Systems Modeling 6(1), 35–58 (2007)

    Google Scholar 

  16. Katsumata, S.-Y., Ohori, A.: Proof-Directed De-compilation of Low-Level Code. In: Sands, D. (ed.) ESOP 2001. LNCS, vol. 2028, pp. 352–366. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  17. Otto, C., Brockschmidt, M., von Essen, C., Giesl, J.: Automated Termination Analysis of Java Bytecode by Term Rewriting. In: RTA 2010. LIPIcs, vol. 6 (2010)

    Google Scholar 

  18. HATS Project. Report on Resource Guarantees, Deliv. 4.2 of project FP7-231620 (HATS) (March 2011), http://www.cse.chalmers.se/research/hats/sites/default/files/Deliverable42.pdf

  19. Richards, M., Monson-Haefel, R., Chappell, D.A.: Java Message Service - Creating Distributed Enterprise Applications, 2nd edn. O’Reilly (2009)

    Google Scholar 

  20. Schäfer, J., Poetzsch-Heffter, A.: JCoBox: Generalizing Active Objects to Concurrent Components. In: D’Hondt, T. (ed.) ECOOP 2010. LNCS, vol. 6183, pp. 275–299. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Albert, E., Østvold, B.M., Rojas, J.M. (2012). Automated Extraction of Abstract Behavioural Models from JMS Applications. In: Stoelinga, M., Pinger, R. (eds) Formal Methods for Industrial Critical Systems. FMICS 2012. Lecture Notes in Computer Science, vol 7437. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32469-7_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-32469-7_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-32468-0

  • Online ISBN: 978-3-642-32469-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics