ACM Home Page
Please provide us with feedback. Feedback
Safe metaclass programming
Full text PdfPdf (1.60 MB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications table of contents
Vancouver, British Columbia, Canada
Pages: 84 - 96  
Year of Publication: 1998
ISBN:1-58113-005-8
Also published in ...
Authors
Noury M. N. Bouraqadi-Saâdani  École des Mines de Nantes, BP 20722, 44307 Nantes - FRANCE
Thomas Ledoux  École des Mines de Nantes, BP 20722, 44307 Nantes - FRANCE
Fred Rivard  École des Mines & OTI Inc. Nantes, BP 20722, 44307 Nantes - FRANCE and Object Technology International Inc. 2670 Queensview Drive, Ottawa, Ontario, CANADA K2B 8K1
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 1,   Downloads (12 Months): 30,   Citation Count: 3
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/286936.286949
What is a DOI?

ABSTRACT

In a system where classes are treated as first class objects, classes are defined as instances of other classes called metaclasses. An important benefit of using metaclasses is the ability to assign properties to classes (e.g. being abstract, being final, tracing particular messages, supporting multiple inheritance), independently from the base-level code. However, when both inheritance and instantiation are explicitly and simultaneously involved, communication between classes and their instances raises the metaclass compatibility issue. Some languages (such as SMALLTALK) address this issue but do not easily allow the assignment of specific properties to classes. In contrast, other languages (such as CLOS) allow the assignment of specific properties to classes but do not tackle the compatibility issue well.In this paper, we describe a new model of metalevel organization, called the compatibility model, which overcomes this difficulty. It allows safe metaclass programming since it makes it possible to assign specific properties to classes while ensuring metaclass compatibility. Therefore, we can take advantage of the expressive power of metaclasses to build reliable software. We extend this compatibility model in order to enable safe reuse and composition of class specific properties. This extension is implemented in NEOCLASSTALK, a fully reflective SMALLTALK.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

BC89
BC90
 
BFJR98
BGL98
 
BSLR96
Noury Bouraqadi-Sagdani, Thomas Ledou~, and Fred Rivard. Metaclass Composability. In ECOOP'96 workshop : "Composability Issues in Object Orientation", Linz, Austria, july 1996.
Coi87
 
DF94a
Scott Danforth and Ira R. Forman. Derived Metaclasses in SOM. In Proceedings of TOOLS EUROPE'9~, pages 63-73, Versailles, France, 1994.
DF94b
 
DHH+95
Roland Ducournau, Michel Habib, Marianne Huchard, Marie-Laure Mugnier, and Amedeo Napoli. Le point sur l'hfiritage multiple. Techniques et Sciences Informatique, 14(3):309-345, 1995. (In french).
DHHM94
 
Duc98
Stfiphane Ducasse. Evaluating Message Passing Control Techniques in SmalltMk. Journal of Object-Oriented Programming, 1998. to appear.
 
GR83
GraB9
 
HL95
Waiter L. Htirsch and Cristina Videira Lopes. Separation of Concerns. Technical Report NU-CCS-95-03, College of Computer Science, Northeastern University, Boston, MA, February 1995.
 
KAJ+93
 
KdRB91
 
KLM+97
Gregor Kicz~les John Lamping, Anur~g Mendhek~r, Chris Maeda, Cristina Lopes, Jean-Marc Loingtier, ~nd John Irwin. Aspect- Oriented Programming. In Mehmet Ak~it and Satoshi Matsuoka, editors, ECOOP'97, number 1241 in LNCS, pages 220-242. Springer-Verlag, June 1997.
 
LC96
 
Led98
Thomas Ledoux. Reflection and Distributed Systems : an Experiment with CORBA and Smalltalk. PhD thesis, Universit6 de Nantes, March 1998. (In french. R6flexion dans les syst~mes rfpartis ~ application 5~ CORBA et Smalltalk).
 
Lie96
Mae87
MMC95
 
MY93
 
Riv96
Fred Rivard. A New Smalltalk Kernel Allowing Both Explicit and Implicit Metalclass Programming. OOP- SLA'96, Workshop : Extending the Smalltalk Language, October 1996.
 
Riv97
Fred Rivard. Object Behavioral Evolution Within Class Based Reflective Languages. PhD thesis, Universit6 de Nantes, June 1997. (In french, l~volution du Comportement des Objets dans les Langages 5~ Classes Rgflexifs).
 
SKT96
 
SOM93
IBM. SOMobjects Developer Toolkit Users Guide release 2.0, second edition, June 1993.
 
Zim96


Collaborative Colleagues:
Noury M. N. Bouraqadi-Saâdani: colleagues
Thomas Ledoux: colleagues
Fred Rivard: colleagues