By: F. Buschmann
Published in: PLoPD2
Contains: Reflection [Buschmann+96],
Summary: Split the application into two parts: (1) a meta level provides information about selected system properties and makes the software self-aware; (2) a base level builds on the meta level and includes the application logic. Changes to the meta level affect base level behavior. This allows the system to dynamically change structure and behavior.