摘要 |
An application programming interface (115) facilitates development of portable, multithreaded application programs. An application (107) is a collection of instances of agent classes (104). Agent classes (104) are organized in class hierarchies because new subclass agents may be derived from existing base class agents. Each agent class has its own message dispatching function; this allows the application programmer to alter the message passing framework provided by the application programming interface. Each agent instance within the program is independent because it is a sub-process aware only of its own data and context. Multithreading is provided by the application programming interface (115) which contains a master dispatcher process (108) non-preemptively allocating time to individual agents. Therefore, an application's multithreading capability is independent of the platform's operating system. In addition, a thread of execution may be split when the currently activated agent activates the master dispatcher (108). The application programming interface (115) mediates between the system resources and the application, and maps the user interface of the application to the platform's chosen user interface. Therefore, the application and its user interface are portable.
|