Programming model for concurrent programs
AssigneeMicrosoft Corporation
InventorsJakob Rehof, James R. Larus, Sriram K. Rajamani
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsJakob Rehof, James R. Larus, Sriram K. Rajamani
Estimating the term…
A system and method for developing a message-passing application program is disclosed. The message-passing application program is constructed using stages having a plurality of asynchronous functions, or operations. The operations communicate with other operations of other message-passing programs in a distributed computing environment. The operations also communicate with other operations on other stages of the message-passing application. In order to reduce deadlock errors that occur as a result of the asynchronous nature of these communications, a behavioral type signature is appended to the declaration of each operation of the message-passing application program. The behavioral type signature specifies behavioral properties for each operation, such as when an operation should send a message to another operation and, conversely, when an operation should wait for a message from another operation. A type checker utilizes typing rules and the behavioral type signature to extract an implementation model of each function. The type checker then compares the implementation model to the behavioral type signature to determine whether the asynchronous function conforms to the behavioral type signature.
A method for developing a message-passing application program having a first program module with a plurality of asynchronous functions that communicate with operations of a second program module, the method comprising:
A method as defined in claim 11, wherein the checking operation further comprises:
A computer program product readable by a computing system and encoding a computer program of instructions for executing a computer process for controlling operations of the computing system and for developing a message-passing application program having a first program module with a plurality of asynchronous functions that communicate with operations of a second program module, the computer process comprising:
A method for evaluating behavioral properties of a message-passing application program having a first program module with a asynchronous function that communicates with operations of a second program module, the method comprising:
A system for evaluating behavioral properties of a message-passing application program having a first program module with an asynchronous function that communicates with operations of a second program module, the method comprising:
Dependencies are inferred from the claim text.