For many DAI researchers, autonomy is a vital definitional prerequisite for an agent. We argue that a strict commitment to this view is too rigorous and insufficient in complex and large-scale systems and propose the holonic agent paradigm, where the degree of autonomy in an agent society is dynamically adjusted to the problem at hand. A holonic agent is an agent which is composed of subagents, with a self-similar structure. The sub-agents themselves may again be decomposable into holonic agents. A holonic multi-agent system is then used to implement a system called TELETRUCK in a traffic and transportation scenario. Finally, we introduce the notion of abstract resources and provide a categorization of different resource allocation mechanisms for holonic systems.