In addition to the ability of maintaining information about base-level objects, it may be useful for meta-objects to interact with base-level objects from the meta level.
It is possible to interconnect otherwise independent objects through meta-objects. This can be used to implement the Model-View-Controller (MVC) [22] pattern, connecting a model object with its views transparently: the control can be totally implemented in the meta-level [15].
We might also use meta-objects that implement Statecharts [24] to model and control the behavior of base-level objects. Transitions in the Statechart could be triggered by the interception of operations or results; there may be additional conditions for the transition to take place, involving the state of the base-level object as well as internal meta-object state [10].
Monitoring multiple distributed objects may require the construction of consistent global snapshots [13,16,20,21]. Algorithms for obtaining consistent global snapshots can be implemented completely in the meta-level.