Once the identity of an agent’s owner has been determined, the system must
assign access restrictions to the agent (authorization) and ensure that the agent
does not violate these restrictions (enforcement). In other words, the system
must guard access to all available resources. We divide resources into two types.
Indirect resources can be accessed only through another agent. Builtin resources
are directly accessible through language primitives (or libraries) for reasons of
efficiency or convenience or simply by definition. Builtin resources include the
screen, the file system, memory, real time, CPU time, and the agent servers
themselves.5