Because these objects represent pieces of CLOS programs, and because their behavior provides the behavior of the CLOS language itself, they are considered meta-level objects or metaobjects. The protocol followed by the metaobjects to provide the behavior of CLOS is called the CLOS Metaobject Protocol (MOP).
See also:
- A hypertext version of the The Common Lisp Object System MetaObject Protocol
- The MOP-standards-discussion for suggestions on MOP 2.0
- The MOP design patterns for some common patterns while using the MOP
- Open Implementations and Metaobject Protocols by Gregor Kiczales and Andreas Paepcke (recommended by Paolo Amoroso on comp.lang.lisp)