Programming model for concurrent programs
First Claim
1. 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:
- defining a behavioral type signature for one of the plurality of asynchronous functions, the behavioral type signature specifying message-passing properties for the asynchronous function; and
analyzing the asynchronous function against the behavioral type signature to render an evaluation on whether message-passing actions of the asynchronous function during execution of the message-passing application program will conform to the message-passing properties specified by the behavioral type signature.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
41 Claims
-
1. 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:
-
defining a behavioral type signature for one of the plurality of asynchronous functions, the behavioral type signature specifying message-passing properties for the asynchronous function; and
analyzing the asynchronous function against the behavioral type signature to render an evaluation on whether message-passing actions of the asynchronous function during execution of the message-passing application program will conform to the message-passing properties specified by the behavioral type signature. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
11. A method as defined in claim 11, wherein the checking operation further comprises:
-
determining whether all actions of the implementation model are actions allowed by the behavioral type signature; and
marking the evaluation to reflect that the asynchronous function conforms to the behavioral type signature if it is determined that the implementation model performs all input actions specified by the behavioral type signature and that all actions of the implementation model are allowed by the behavioral type signature.
-
-
20. 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:
-
defining a behavioral type signature for one of the plurality of asynchronous functions, the behavioral type signature specifying message-passing properties for the asynchronous function;
extracting an implementation model of the asynchronous function, the implementation model reflecting message-passing actions of the asynchronous function during compilation of the message-passing application program; and
checking the implementation model against the behavioral type signature to determine whether the asynchronous function conforms to the behavioral type signature. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. 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:
-
defining a behavioral type signature for the asynchronous function, the behavioral type signature specifying message-passing properties for the asynchronous function;
extracting an implementation model of the asynchronous function, the implementation model reflecting message-passing actions of the asynchronous function during compilation of the message-passing application program;
checking the implementation model against the behavioral type signature to determine whether conformance exists between the implementation model and the behavioral type signature; and
rendering an evaluation on whether the asynchronous function conforms to the behavioral type signature based on whether conformance exists between the implementation model and the behavioral type signature. - View Dependent Claims (34, 35)
-
-
36. 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:
-
a define module defining a behavioral type signature for the asynchronous function, the behavioral type signature specifying message-passing properties for the asynchronous function; and
a type checker extracting an implementation model of the asynchronous function reflecting message-passing actions of the asynchronous function during compilation of the message-passing application program and checking the message-passing actions of the implementation model against the message-passing properties of the behavioral type signature to determine whether the asynchronous function conforms to the behavioral type signature. - View Dependent Claims (37, 38, 39, 40, 41)
-
Specification