We illustrate a general agent model which includes a base level BA and a meta-level MA. The MA performs various forms of meta-reasoning including meta-control, which has the role of making meta-level decisions effective on the BA. As, in our view, meta-reasoning and meta-control are often concerned with time, we introduce the possibility of expressing temporal meta-rules. A very important meta-level activity in evolving agents is learning: we propose a general vision for interacting agents, where agents learn their patterns of behavior not only by observing and generalizing their observations, but also by ``imitating'' other agents, after being told by them. The process of learning by imitation is based on meta-reasoning about various aspects, from self-monitoring to knowledge evaluation. We propose an operational model for knowledge exchange assuming an agent society which is based on concepts of reputation and trust.