Skip to main content

Supporting Cross-Language Exception Handling When Extending Applications with Embedded Languages

  • Conference paper
Software Engineering for Resilient Systems (SERENE 2011)

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

Included in the following conference series:

  • 397 Accesses

Abstract

Software applications increasingly deploy scripting embedded languages for extensibility, letting introduce custom extensions on top of the original application components. This results in two language layers, the one in which the application is implemented and the embedded language itself in which the extensions are written. During runtime, active calls amongst these two layers may be naturally intermixed, posing challenges for intuitive cross-language exception handling. At present, besides all .NET languages which cooperate by relying on a common language infrastructure, cross-language exception handling is not supported by existing embedded languages like Python, Perl, Ruby and Lua. We discuss the requirements for cross-exception handling and we show how they are accommodated via small-scale amendments in the embedded language API and runtime.

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 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.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. Boost, boost.python (2003), http://www.boost.org/doc/libs/1_46_1/libs/python/doc/

  2. Brito, P., de Lemos, R., Rubira, C., Martins, E.: Architecting Fault Tolerance with Exception Handling: Verification and Validation. Journal of Computer Science and Technology 24(2), 212–237 (2009)

    Article  Google Scholar 

  3. Flanagan, D., Matsumoto, Y.: The Ruby Programming Language. O. Reilly, Sebastopol (2008)

    Google Scholar 

  4. Ierusalimschy, R.: Programming in Lua (2003), http://www.lua.org/pil/ ISBN 85-903798-1-7

  5. Iliasov, A., Romanovsky, A.: Exception Handling in Coordination-Based Mobile Environments. COMPSAC (1), 341–350 (2005)

    Google Scholar 

  6. Loui, R.P.: In Praise of Scripting: Real Programming Pragmatism. IEEE Computer 41(7), 22–26 (2008)

    Article  Google Scholar 

  7. Microsoft Corp., Cross-Language Interoperability, NET Framework 4, MSDN (2011)

    Google Scholar 

  8. Python language (2009), http://www.python.org/

  9. Romanovsky, A.: Exception Handling in Component-Based System Development. In: COMPSAC, p. 580 (2001)

    Google Scholar 

  10. Savidis, A.: Delta Language (2010), http://www.ics.forth.gr/hci/files/plang/Delta/Delta.html

  11. Wall, L., Christiansen, T., Orwant, J.: Programming Perl, 3rd edn. O’Reilly, Sebastopol (2000)

    MATH  Google Scholar 

  12. Walker, W., Koch, C., Gehrke, J., Demers, A.: Better Scripts, Better Games. Communications of the ACM 52(3), 42–47 (2009)

    Article  Google Scholar 

  13. Xu, J., Romanovsky, A., Randell, B.: Concurrent Exception Handling and Resolution in Distributed Object Systems. IEEE Transactions on Parallel and Distributed Systems 11(10), 1019–1032 (2000)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Savidis, A. (2011). Supporting Cross-Language Exception Handling When Extending Applications with Embedded Languages. In: Troubitsyna, E.A. (eds) Software Engineering for Resilient Systems. SERENE 2011. Lecture Notes in Computer Science, vol 6968. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24124-6_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-24124-6_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-24123-9

  • Online ISBN: 978-3-642-24124-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics