An operating system architecture is based on a service model in which
active entities (services) are containers for objects having a number of
interfaces specified through a contract language that is a subset of the
language in which the service is coded. Services may reside in the same
address space or may reside in separate address spaces, without changing
the programming model or compiled binaries. The location of a service is
independent of the location of the service's clients and of services the
service calls.