Skip to main content

Component Libraries and Language Features

  • Conference paper
  • First Online:
Reliable SoftwareTechnologies — Ada-Europe 2001 (Ada-Europe 2001)

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

Included in the following conference series:

Abstract

One major vehicle for reuse is the use of libraries of code. Reusability is the prime route to software reliability. In this work, we will use the term software component in its widest sense, including all kinds of self-contained libraries of code, including collection libraries, APIs (bindings), application frameworks etc. Abstraction boundaries are essential both for reuse and for reliability. We study language features that help overcome limitations imposed by abstraction boundaries (e.g., incomplete interfaces) without completely breaking abstraction. Language features discussed: type sytem features, object orientation, genericity and reflection.

The work presented is work in progress, preliminary results and observations will be shown and discussed.

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. Ada95 Language Reference Manual, 1995, ANSI/ISO/IEC 8652:1995

    Google Scholar 

  2. Ada95 Ada Issues, available from http://www.ada-auth.org/acats/ais.html

  3. Backhouse R., Jansson P., Jeuring J., Meertens L., Generic Programming — An Introduction, Lecture Notes in Computer Science 1608, Springer-Verlag, 1999

    Google Scholar 

  4. Bieman J. M., Zhoa J. X., Reuse through Inheritance: A Quantative Study of C++, 17th Intl. Conf. on Software Engineering, 1995

    Google Scholar 

  5. Booch G., Software Engineering in Ada, Benjamin/Cummings, 1983

    Google Scholar 

  6. Bosch J., Mitchell S. (Eds.) Object-Oriented Technology, ECOOP’97 Workshop Reader, Lecture Notes in Computer Science 1357, Springer-Verlag, 1997

    Google Scholar 

  7. Canning P. S., Cook W. R., Hill W. L. and Olthoff W. G., Interface for Strongly-Typed Object-Oriented Programming, OOPSLA’89

    Google Scholar 

  8. Cook W. R., Hill, W. L., Canning P. S., Inheritance is Not Subtyping, POPL’90, 1990

    Google Scholar 

  9. Daly J., Brooks A., Miller J., Roper M., Wood M., An Empirical Study Evaluating Depth of Inheritance on the Maintainability of Object-Oriented Software, research report EFoCS-10-95, Department of Computer Science, University of Strathclyde, Glasgow 1995, available from http://www.cs.strath.ac.uk/research/EFOCS/abstracts.html

    Google Scholar 

  10. Day M., Gruber R., Liskov B., Myers A. C., Subtypes vs. Where Clauses: Constraining Parameteric Polymorphism, OOPSLA’95

    Google Scholar 

  11. De Volder K., De Meuter W., Type Oriented Programming, ECOOP’97. In [6]

    Google Scholar 

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

    Google Scholar 

  13. Gil J., Lorenz D. H, Design Pattens vs. Language Design, ECOOP’97. In [6]

    Google Scholar 

  14. Harrison R., Counsell S., Nithi R., Experimental Assessment of the Effect of Inheritance on the Maintainability of Object-Oriented Systems, 3rt Intl. Conf. on Empirical Assessment and Evaluation in Software Engineering, 1999

    Google Scholar 

  15. Hopkins J., Component Primer, CACM, Vol. 43,No. 10, 2000

    Google Scholar 

  16. Hortsmann C. S., Cornell G., Core Java, Volume I–Fundamentals, Sun Microsystems Press, 1999

    Google Scholar 

  17. Hughes J., Why Functional Programming Matters, in D. Turner, editor, Research Topics in Functional Programming, Addison-Wesley, 1990

    Google Scholar 

  18. Hutton G., A Tutorial on the Universality and Expressiveness of Fold, J. Functional Programming, 1, 1993

    Google Scholar 

  19. Kernighan B. W., Ritchie D. M., The C Programming Language, second edition, Prentice Hall, 1988

    Google Scholar 

  20. Kiczales G., Lamping J., Issues in the Design and Specification of Class Libraries, OOPSLA’92, 1992

    Google Scholar 

  21. Kiczales G., Towards a New Model of Abstraction in Software Engineering, IMSA’92 Workshop on Reflection and Meta-level Architectures, 1992

    Google Scholar 

  22. Lamm E. Building Frameworks in Ada95, Ada-Belgium’99, Ada-Belgium Newsletter, Vol. 7, 1999

    Google Scholar 

  23. Lamm E. The Little Abstractionist–A Cacaphony of Abstractions in Ada, unpublished manuscript

    Google Scholar 

  24. Lamping J., Typing the Specialization Interface, OOPSLA’93, 1993

    Google Scholar 

  25. Liskov B., Guttag J., Abstraction and Specification in Program Development, MIT Press, 1986

    Google Scholar 

  26. Liskov B., A History of CLU, ACM SIGPLAN Notices, Vol. 28,No. 3, 1993

    Google Scholar 

  27. Maes P., Concepts and Experiments in Computational Reflection, OOPSLA’87, ACM SIGPLAN Notices, Vol. 22,No. 12, 1987

    Google Scholar 

  28. Martin R. C., The Open-Closed Principle, C++ Report, January, 1996

    Google Scholar 

  29. Meyer B., Obejct Oriented Software Construction 2nd edition, Prentice Hall, 1997

    Google Scholar 

  30. Meyers S., Effective C++, Second Edition, Addison-Wesley, 1997

    Google Scholar 

  31. Mitchell J. C., Plotkin G. D., Abstract Types Have Existential Type, ACM TOPLAS Vol. 10,No. 3, 1988

    Google Scholar 

  32. Parnas D. L., On the Criteria To Be Used in Decomposing Systems into Modules, CACM, Vol. 15,No. 12, 1972

    Google Scholar 

  33. Prechelt L., Unger B., Philippsen M., Tichy W. F., A Controlled Experiment on Inheritance Depth as a Cost Factor for Maintenance, submmited to IEEE Trans. on Software Engineering, March 200, Available from http://wwwipd.ira.uka.de/EIR/

  34. Sethi R. Programming Languages–Concepts and Constructs, Addison-Weseley, 1996

    Google Scholar 

  35. Shen J., Cormak G. V., Automatic Instantation in Ada, Annual International Conference on Ada, 1991

    Google Scholar 

  36. Sobel J. M., Friedman D. P., An Introduction to Reflection-Oriented Programming, Reflection’96, 1996

    Google Scholar 

  37. Sparling M., Lessons Learned–through six years of component based development, CACM, Vol. 43,No. 10, 2000

    Google Scholar 

  38. Wadler P. L., Blott S., How to Make Ad-Hoc Polymorphism Less Ad Hoc, POPL’89, 1989

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lamm, E. (2001). Component Libraries and Language Features. In: Craeynest, D., Strohmeier, A. (eds) Reliable SoftwareTechnologies — Ada-Europe 2001. Ada-Europe 2001. Lecture Notes in Computer Science, vol 2043. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45136-6_17

Download citation

  • DOI: https://doi.org/10.1007/3-540-45136-6_17

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42123-8

  • Online ISBN: 978-3-540-45136-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics