A method executed in a computer system which facilitates interoperability between processes which were designed to execute on different operating systems, the computer system including a processor and a memory, the computer system including one or more context objects, each context object maintaining bindings between object names and their associated object implementations, wherein an associated object implementation can itself be another context object, the computer system also including a parent process which was designed to execute on a second operating system but is executing on a first operating system that is controlling the computer system, the method comprising:
- under control of the first operating system,
- receiving a request from the parent process to launch for execution on the first operating system a child process which was intended to execute on a third operating system;
- launching the child process;
- obtaining a context object under control of the first operating system for the child process;
- performing a context merge operation under control of the first operating system on the context object for the child process;
- and
- in response to performing the context merge operation, resolving a selected object name on the context object for the child process by accessing objects from a context object associated with the third operating system before accessing objects from the context object associated with the second operating system such that the child process and the parent process both execute on the first operating system,
- whereby interoperability is facilitated between the parent process that was designed to execute on the second operating system and the child process that was designed to execute on the third operating system, wherein the third operating system and the second operating system are different, and wherein the first operating system is a native operating system.