In this section, we examine the fundamental elements of the Legion architecture and provide examples of security mechanisms that we have designed for it. Object Model Legion is composed of independent, active objects. These objects communicate via asynchronous method invocations, supported by an underlying message passing system.
Method calls can produce an arbitrary set of results.
Using data-flow information encoded in Legion method invocations, results are forwarded directly to where they are needed, rather than necessarily back to the caller. Objects are instances of classes that define their interface, which must be a superset of a minimal object-mandatory interface. Object-mandatory methods include functions, such as an interface query, and methods to implement object persistence. An active object is hosted within its own running process and can service method invocations. Objects implement internal methods to store and recover their dynamic state.