Skip to main content

Qualifying Types Illustrated by Synchronisation Examples

  • Conference paper
  • First Online:

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

Abstract

Qualifying types represent a new approach to modifying the behaviour of instances of other types in a general way, in the form of components which can be designed and implemented without a prior knowledge of the types to be modified or their implementations. This paper illustrates the idea by showing how they can be used to program various standard synchronisation problems, including mutual exclusion, reader-writer synchronisation and several variants of the bounded buffer problem.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. F. Achermann and O. Nierstrasz, “Applications = Components + Scripts-A Tour of Piccola,” in Software Architectures and Component Technology, M. Aksit, Ed.: Kluwer, 2001, pp. 261–292.

    Google Scholar 

  2. L. Bergmans and M. Aksit, “Composing Crosscutting Concerns Using Composition Filters,” Communications of the ACM, vol. 44, no. 10, pp. 51–57, 2001.

    Article  Google Scholar 

  3. G. Bracha and W. R. Cook, “Mixin-based Inheritance,” ECOOP/OOPSLA’ 90, Ottawa, Canada, 1990, ACM SIGPLAN Notices, vol. 25, no. 10, pp. 303–311.

    Article  Google Scholar 

  4. P. J. Courtois, F. Heymans, and D. L. Parnas, “Concurrent Control with Readers and Writers,” Communications of the ACM, vol. 14, no. 10, pp. 667–668, 1971.

    Article  Google Scholar 

  5. L. G. DeMichiel and R. P. Gabriel, “The Common Lisp Object System: An Overview,” ECOOP’ 87, Paris, 1987, Springer-Verlag, LNCS, vol. 276, pp. 151–170.

    Google Scholar 

  6. M. Evered, J. L. Keedy, G. Menger, and A. Schmolitzky, “Genja-A New Proposal for Genericity in Java,” 25th International Conf. on Technology of Object-Oriented Languages and Systems, Melbourne, 1997, pp. 169–178.

    Google Scholar 

  7. E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software: Addison-Wesley, 1995.

    Google Scholar 

  8. D. Holmes, J. Noble, and J. Potter, “Aspects of Synchronisation,” 25th International Conference on Technology of Object-Oriented Languages and Systems, Melbourne, 1997, pp. 7–18.

    Google Scholar 

  9. J. L. Keedy, K. Espenlaub, G. Menger, A. Schmolitzky, and M. Evered, “Software Reuse in an Object Oriented Framework: Distinguishing Types from Implementations and Objects from Attributes,” 6th International Conference on Software Reuse, Vienna, 2000, pp. 420–435.

    Google Scholar 

  10. J. L. Keedy, G. Menger, and C. Heinlein, “Support for Subtyping and Code Re-use in Timor,” 40th International Conference on Technology of Object-Oriented Languages and Systems (TOOLS Pacific 2002), Sydney, Australia, 2002, Conferences in Research and Practice in Information Technology, vol. 10, pp. 35–43.

    Google Scholar 

  11. J. L. Keedy, G. Menger, and C. Heinlein, “Inheriting from a Common Abstract Ancestor in Timor,” Journal of Object Technology (www.jot.fm), vol. 1, no. 1, pp. 81–106, 2002.

    Google Scholar 

  12. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin, “Aspect-Oriented Programming,” ECOOP’ 97, 1997, pp. 220–242.

    Google Scholar 

  13. G. Kiczales, E. Hilsdale, J. Hugonin, M. Kersten, J. Palm, and W. G. Griswold, “An Overview of AspectJ,” ECOOP 2001-Object-Oriented Programming, 2001, Springer Verlag, LNCS, vol. 2072, pp. 327–353.

    Chapter  Google Scholar 

  14. B. B. Kristensen, O. L. Madsen, B. Moller-Pedersen, and K. Nygaard, “The Beta Programming Language,” in Research Directions in Object-Oriented Programming: MIT Press, 1987, pp. 7–48.

    Google Scholar 

  15. B. Liskov and J. M. Wing, “A Behavioral Notion of Subtyping,” ACM Transactions on Programming Languages and Systems, vol. 16, no. 6, pp. 1811–1841, 1994.

    Article  Google Scholar 

  16. B. Meyer, Eiffel: the Language. New York: Prentice-Hall, 1992.

    MATH  Google Scholar 

  17. M. Mezini, “Dynamic Object Evolution without Name Collisions,” ECOOP’ 97, 1997, Springer Verlag, LNCS, vol. 1241, pp. 190–219.

    Google Scholar 

  18. K. Ostermann and M. Mezini, “Object-Oriented Composition Untangled,” OOPSLA’ 01, Tampa, Florida, 2001, ACM SIGPLAN Notices, vol. 36, no. 11, pp. 283–299.

    Article  Google Scholar 

  19. D. L. Parnas, “On the Criteria To Be Used in Decomposing Systems into Modules,” Communications of the ACM, vol. 15, no. 12, pp. 1053–1058, 1972.

    Article  Google Scholar 

  20. G. A. Pascoe, “Encapsulators: A New Software Paradigm in Smalltalk-80,” OOPSLA’ 86, 1986, pp. 341–346.

    Google Scholar 

  21. O. Spinczyk, A. Gal, and W. Schröder-Preikschat, “AspectC++: An Aspect-Oriented Extension to the C++ Programming Language,” 40th International Conference on Technology of Object-Oriented Languages and Systems (TOOLS Pacific 2002), Sydney, Australia, 2002, Conferences in Research and Practice in Information Technology, vol. 10, pp. 53–60.

    Google Scholar 

  22. J. Welsh and D. W. Bustard, “Pascal-Plus-Another Language for Modular Multiprogramming,” Software-Practice and Experience9, pp. 947–957, 1979.

    Article  MATH  Google Scholar 

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

Leslie Keedy, J., Menger, G., Heinlein, C., Henskens, F. (2003). Qualifying Types Illustrated by Synchronisation Examples. In: Aksit, M., Mezini, M., Unland, R. (eds) Objects, Components, Architectures, Services, and Applications for a Networked World. NODe 2002. Lecture Notes in Computer Science, vol 2591. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36557-5_24

Download citation

  • DOI: https://doi.org/10.1007/3-540-36557-5_24

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-00737-1

  • Online ISBN: 978-3-540-36557-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics