Skip to main content

A Layered Type System for Re-entrance Control

  • Conference paper
Modular Programming Languages (JMLC 2003)

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

Included in the following conference series:

  • 423 Accesses

Abstract

Re-entrance can cause errors in stateful objects by exposing transient states; however, re-entrance can only be constrained programmatically in most modern object-oriented languages. Re-entrance is a global system behaviour that is of particular concern in component-based applications, which are, by definition, incomplete. This paper describes programming language constructs that constrain re-entrance by bounding control flow through stateful objects. Interface types are extended with object state information while component types (modules) are extended with a layering over those types. The type system uses a combination of dynamic and static checking to bound control flow through stateful objects, while a composition check is used to ensure the combined type layering of a program is consistent. Our extensions restrict unchecked re-entrance while allowing a programmer to design for specific cases of re-entrance where necessary.

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. Szyperski, C.: Component Software, Beyond Object–Oriented Programming, 1st edn. Addison–Wesley, Harlow (1998)

    Google Scholar 

  2. Kent, S., Ho-Stuart, C., Roe, P.: Negotiable interfaces for components. Journal of Object Technology, Special Issue: TOOLS USA 2002 proceedings 1, 249–265 (2002)

    Google Scholar 

  3. Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. Series in Artificial Intelligence. MIT Press, Cambridge (1986)

    Google Scholar 

  4. van den Bos, J., Laffra, C.: PROCOL: A concurrent object-language with protocols, delegation and persistence. Acta Informatica 28, 511–538 (1991)

    Article  MATH  Google Scholar 

  5. de Bruin, H.: BCOOPL: Basic concurrent object-oriented programming language. Software - Practice and Experience (SPE) 30, 849–894 (2000)

    Article  Google Scholar 

  6. Kafura, D.G., Lee, K.H.: ACT++: Building a concurrent c++ with actors. Journal of Object-Oriented Programming 3 (1990)

    Google Scholar 

  7. Balter, R., Lacourte, S., Riveill, M.: The Guide language. The Computer Journal 37, 519–530 (1994)

    Google Scholar 

  8. Nierstrasz, O.: Regular types for active objects. In: Nierstrasz, O., Tsichritzis, D. (eds.) Object-Oriented Software Composition, pp. 99–121. Prentice Hall, Englewood Cliffs (1995)

    Google Scholar 

  9. Wehrheim, H.: Subtyping patterns for active objects. In: Proceedings 8ter Workshop des GI Arbeitskreises GROOM (Grundlagen objekt-orientierter Modellierung): Visuelle Verhaltensmodellierung verteilter und nebenläufiger Software- Systeme, Muenster (2000)

    Google Scholar 

  10. Puntigam, F.: Types for active objects based on trace semantics. In: 1st IFIP Workshop on Formal Methods for Open Object-based Distributed Systems (FMOODS 1996), Paris, France (1996)

    Google Scholar 

  11. Puntigam, F.: Coordination requirements expressed in types for active objects. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 367–388. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  12. Puntigam, F., Peter, C.: Changeable interfaces and promised messages for concurrent components. In: ACM Symposium on Applied Computing (SAC 1999), San Antonio, Texas (1999)

    Google Scholar 

  13. Reussner, R.: Formal foundations of dynamic types for software components. Technical Report 08/2000, Department of Informatics, Universität Karlsruhe, Department of Informatics (2000)

    Google Scholar 

  14. Reussner, R.: Enhanced component interfaces to support dynamic adaptation and extension. In: Proceedings of the 34th Annual Hawaii International Conference on System Sciences, HICSS–34 (2001)

    Google Scholar 

  15. gpcp: Gardens point component pascal (2001), http://www.fit.qut.edu.au/CompSci/PLAS/ComponentPascal/

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

Kent, S. (2003). A Layered Type System for Re-entrance Control. In: Böszörményi, L., Schojer, P. (eds) Modular Programming Languages. JMLC 2003. Lecture Notes in Computer Science, vol 2789. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45213-3_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-45213-3_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-40796-6

  • Online ISBN: 978-3-540-45213-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics