@techreport{TR-IC-98-33, number = {IC-98-33}, author = {Alexandre Oliva and Luiz Eduardo Buzato}, title = {Composition of Meta-Objects in {G}uaranĂ¡}, month = {September}, year = {1998}, institution = {Institute of Computing, University of Campinas}, note = {In English, 6 pages. \par\selectlanguage{english}\textbf{Abstract} There are meta-object protocols (MOPs) that do not provide support for meta-object composition. Others require explicit modification of existing meta-level code or provide a limited delegation mechanism in order to support it. There is much room for improvement in this field. \par The MOP of GuaranĂ¡ favors the development of meta-objects that can be easily composed. Composers are meta-objects that define arbitrary policies of delegation to other meta-objects, separating the implementation of meta-level functionality from its organization. Composers can also implement meta-level security policies, limiting the abilities of its component meta-objects. Composers can be further composed, forming a potentially infinite reconfigurable hierarchy. \par Our MOP is currently implemented in Java$^{\rm (TM)}$. Nevertheless, most design decisions presented in this paper can be transported to other programming languages and MOPs, improving their flexibility, reconfigurability, security and code reuse. } }