This text describes a reflective software architecture called
Guaraná. Its run-time meta-level protocol has been designed to
achieve a very high degree of flexibility, reconfigurability,
security and reuse of meta-level code.
Composers are
meta-objects that can be used to combine meta-objects, that
may themselves be composers, into dynamically modifiable
meta-configurations. Instances of a class may have different
meta-configurations, either determined explicitly or derived from
the context in which every single object was created.
A free Java
2-based implementation of the language-independent
Guaraná
reflective architecture is currently available.