Communication method between an interactive language processor workspace and external processes
AssigneeInternational Business Machines Corporation
InventorsJames A. Brown, John A. Gerth, Michael T. Wheatley
Life of this patent
Estimating the term…
Abstract
A method for executing external processes and for accessing external data from within an interactive language workspace. The workspace task referencing the external processes or data is synchronized and locked until the process is completed or the data referenced. The method steps provide establishing a message interface and utilize coercion of arguments in a dynamic environment. This permits, for instance, the invocation of a FORTRAN language process or from within an APL workspace and a return of information from said external processor without terminating the APL workspace.
Claims5
In an asynchronous multiprocessing environment, said environment having memory means for storing indicia of processes, and computing means for accessing said indicia and for executing processes represented by the accessed indicia,
- said processes communicating only by reading and writing of shared variables, invocation of one process by another using attendant information being denominated as a "call",
- a multiprocessing environment implemented method for managing a source process invoking a computation to be performed by an external process, said method also managing bidirectional conversion of arguments and result data into forms acceptable to both the source and external processes,
- comprising the steps of:
- (a) establishing a message interface between the source and external processes including designating and locally recording argument data types expected by the external process;
- (b) converting arguments to the data types expected by the external process and converting all calls by a value type from the source process into calls by a pointer type, and passing said converted calls via the interface to the external process;
- and
- (c) responsive to completion of external processing, converting result data into data types acceptable to the source process.
A method for executing an external process and for accessing external data from within an interactive language workspace (WS), any WS process referencing said external process or data being synchronized and locked until said external process is completed and data referenced,
- said method being implemented in a system having memory means for storing indicia of processes, and computing means for accessing said indicia and for executing processes represented by the accessed indicia,
- comprising the steps of:
- (a) invoking the WS and processes, and upon a name being declared external and associated with a specified external process, both calling said specified process and passing names thereto from within the WS;
- (b) upon an acceptance by said specified process, returning to said WS a name class and a description of those expected arguments associated with operations;
- (c) upon an external name being encountered during execution of an expression within the WS, coercing arguments of any associated names by the WS to correspond to any received argument descriptors;
- (d) calling the specified process and requesting execution of the name and passing any arguments by the WS, and completing the WS requested operations and returning updated arguments by the specified process to said WS;
- and
- (e) converting the updated arguments into data structures acceptable by the WS.
Dependencies are inferred from the claim text.