Skip to main content

MetaFlex: A Flexible Metaclass Generator

  • Conference paper
  • First Online:

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

Abstract

Motivated to support the needs of component-based applications, we have developed a system called MetaFlex that generates metaclasses to extend the behavior of our C++ classes without inventing variants of the original classes. We make the case that a flexible metaclass generator service that allows developers to freely choose the kind and degree of detail for each metaclass is needed and present our architecture for making this specification. We also illustrate a powerful use of this technique with a scripting extension to our application framework. With an evaluation of our current MetaFlex implementation and its use with the scripting extension, we conclude that this service is best provided by compiler vendors.

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. Apple Computer, Inc, Inside Macintosh Volume VI, Addison-Wesley, Reading, MA, 1991.

    Google Scholar 

  2. [Böcker90] Heinz-Dieter Böcker, Jürgen Herczeg, “What Tracers Are Made Of” OOPSLA/ECOOP’ 90 Proceedings, 21–25 October, 1990.

    Google Scholar 

  3. Erik Christiansen, Mark Cutter, Pat Ferrel, Robert Meyer, Scott Moody, Murugappan Palaniappan, “Platypus: Aldus Scalable Component Architecture,” Aldus Technical Report (1992).

    Google Scholar 

  4. Pierre Cointe, “Metaclasses are First Class: the ObjVlisp Model,” Conference Proceedings of OOPSLA’ 87, October 4–8, 1987.

    Google Scholar 

  5. Brad Cox, Object-Oriented Programming: An Evolutionary Approach, Addison-Wesley, Reading, MA, 1986.

    Google Scholar 

  6. Margaret A. Ellis, Bjarne Stroustrup, The Annotated C++ Reference Manual, Addison-Wesley, Reading, MA, 1990.

    Google Scholar 

  7. Patrick J. Ferrel, Robert F. Meyer, “Vamp: The Aldus Application Framework,” Conference Proceedings of OOPSLA’ 89, October 1–6, 1989.

    Google Scholar 

  8. Adele Goldberg, David Robson, Smalltalk-80: The Language and Its Implementation, Addison-Wesley, Reading, MA, 1983.

    MATH  Google Scholar 

  9. Michael F. Kleyn, Paul C. Gingrich, “GraphTrace-Understanding Object-Oriented Systems Using Concurrently Animated Views,” Conference Proceedings of OOPSLA’ 88, September 25–30, 1988.

    Google Scholar 

  10. Pattie Maes, “Concepts and Experiments in Computational Reflections,” Conference Proceedings of OOPSLA’ 87, October 4–8, 1987.

    Google Scholar 

  11. Robert B. Murray, “A Statically Typed Abstract Representation for C++ Programs,” Usenix C++ Conference Proceedings, USENIX Association, August 10–13, 1992.

    Google Scholar 

  12. Andrew J. Palay, “C++ in a Changing Environment,” Usenix C++ Conference Proceedings, USENIX Association, August 10–13, 1992.

    Google Scholar 

  13. Edward R. Pérez, Moira Mallison, “Sentries and Policy Managers: Providing Extended Operations for Objects,” Texas Instruments Inc, October 16, 1992.

    Google Scholar 

  14. Joel Richardson, Peter Schwarz, Luis Felipé Cabrera, “CACL: Efficient Fine Grained Protection for Objects” Conference Proceedings of OOPSLA’ 92, Andreas Paepcke, ed. (1992).

    Google Scholar 

  15. Bjarne Stroustrup, “Run Time Type Identification for C++,” Usenix C++ Conference Proceedings, USENIX Association (1992).

    Google Scholar 

  16. Roger Voss, “Virtual Member Function Dispatching for C++ Evolvable Classes,” Aldus Technical Report (1992).

    Google Scholar 

  17. Roger Voss, “C++ Evolvable Base Classes Residing In Dynamic Link Libraries,” To appear in C++ Journal, Vol. 3, No. 1 (1993).

    Google Scholar 

  18. David L. Wells, José A. Blakeley, Craig W. Thompson, “Architecture of an Open Object-Oriented Database Management System,” IEEE Computer, Vol. 25, No. 10 (1992).

    Google Scholar 

  19. David L. Wells, Moira Mallison, Edward R. Pérez, “Behavioral Extension Mechanisms in Open Object-Oriented Database System,” Texas Instruments Inc. (1992).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Johnson, R., Palaniappan, M. (1993). MetaFlex: A Flexible Metaclass Generator. In: Nierstrasz, O.M. (eds) ECOOP’ 93 — Object-Oriented Programming. ECOOP 1993. Lecture Notes in Computer Science, vol 707. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47910-4_25

Download citation

  • DOI: https://doi.org/10.1007/3-540-47910-4_25

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57120-9

  • Online ISBN: 978-3-540-47910-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics