Skip to main content

A Proposal for Native Java Language Support for Handling Asynchronous Events

  • Conference paper
Book cover Computational Science and Its Applications – ICCSA 2013 (ICCSA 2013)

Abstract

During early stages of computer software development, depending on the methodology employed, developers usually create the application’s initial skeleton based on previously gathered requirements and on generated diagrams. When counting purely on what is provided by languages such as Java, developers tend to come up only with synchronous method calls, making use of coding tricks to achieve asynchronous behavior, which usually disrupts the original system model by adding a series of undesired side-effects such as unnecessary class coupling and error-prone constructions. This work proposes an extension to the Java language to allow for both executing asynchronous methods and handling asynchronous events occurring during normal execution, as a straightforward, class coupling-free and native alternative. With this extension it is expected that developers can natively use asynchronous communication from the beginning of the development cycle without having to make structural modifications to the original system.

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. Typesafe Inc.: Akka Documentation 2.1.2 (2013), http://doc.akka.io/docs/akka/2.1.2/

  2. Sun Microsystems: Java Message Service Specification 1.1. (2002), http://download.oracle.com/otndocs/jcp/7195-jms-1.1-fr-spec-oth-JSpec/

  3. Keen, A.W., Ge, T., Maris, J.T., Olsson, R.A.: JR: Flexible distributed programming in an extended Java. In: ACM Transactions on Programming Languages and Systems (TOPLAS), pp. 578–608. ACM, New York (2004)

    Google Scholar 

  4. Gruler, A., Heinlein, C.: Exception handling with resumption: design and implementation in Java. In: Proceedings of the 2005 International Conference on Programming Languages and Compilers (PLC 2005), Las Vegas, pp. 165–171 (2005)

    Google Scholar 

  5. Gosling, J., Joy, B., Steel, G., Bracha, G., Buckley, A.: The Java Language Specification, Java SE 7 Edition (2011), http://docs.oracle.com/javase/specs/

  6. Lindholm, T., Yellin, F., Bracha, G., Buckley, A.: The Java Virtual Machine Specification, Java SE 7 Edition (2011), http://docs.oracle.com/javase/specs/

  7. Krishnamurthi, S.: Programming Languages: Application and Interpretation (2007), http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/

  8. Oracle: Java Platform Debugger Architecture (JPDA) (2012), http://docs.oracle.com/javase/7/docs/technotes/guides/jpda/

  9. Heinlein, C.: Local Virtual Functions. In: Proceedings of NODe 2005, GSEM 2005, Erfurt, pp. 129–144 (2005)

    Google Scholar 

  10. Ekman, T., Hedin, G.: The JastAdd Extensible Java Compiler. In: Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, Montreal, pp. 1–18 (2007)

    Google Scholar 

  11. Caromel, D., Chazarain, G.: Robust exception handling in an asynchronous environment. In: ECOOP Workshop on Exception Handling in Object-Oriented Systems: Developing Systems that Handle Exceptions, number 05050 in Technical Reports - Laboratoire. Sophia Antipolis (2005)

    Google Scholar 

  12. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: elements of reusable object-oriented software. Addison-Wesley Longman Publishing, Boston (1995)

    Google Scholar 

  13. Oracle: ThreadLocal Class Documentation (2012), http://docs.oracle.com/javase/7/docs/api/java/lang/ThreadLocal.html

  14. Spring Source: Spring Framework 3.2.2 (2012), http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/pdf/spring-framework-reference.pdf (2012)

  15. Olsson, R.A., Andrews, G.R., Coffin, M.H., Townsend, G.M.: SR: A Language for Parallel and Distributed Programming, The University of Arizona, Tucson (1992)

    Google Scholar 

  16. Andrews, G.R., Olsson, R.A.: The SR programming language: concurrency in practice. Benjamin-Cummings Publishing, Redwood City (1993)

    Google Scholar 

  17. ActiveEon: ProActive Parallel Suite (2011), http://proactive.activeeon.com

  18. Oracle: Future Interface Documentation (2012), http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Future.html

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

das Neves, C.R.G., Guerra, E.M., Fernandes, C.T. (2013). A Proposal for Native Java Language Support for Handling Asynchronous Events. In: Murgante, B., et al. Computational Science and Its Applications – ICCSA 2013. ICCSA 2013. Lecture Notes in Computer Science, vol 7975. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39640-3_39

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-39640-3_39

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-39639-7

  • Online ISBN: 978-3-642-39640-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics