Behavioral analysis for message-passing application programs
First Claim
1. A system for modeling behavior of a message-passing program module wherein the message-passing program module communicates with other program modules and wherein intended message-passing behavior of the message-passing program module is specified by a type annotation, the system comprising:
- typing rules defining a conformance relationship between the message-passing program module and the type annotation; and
a type system applying a reasoning tool to the conformance relationship to render a conclusion on whether actions of the message-passing program module satisfy the intended behavior expressed by the type annotation.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for modeling a message-passing program module using type annotations is disclosed. The message-passing program module is constructed with operations that communicate with operations of other message-passing program modules in an asynchronous computing environment. Type annotations are communication protocols that represent processes of input and/or output actions that the program module developer expects each operation to perform or take on a selected set of communication channels. During development of the program module, the type annotations are declared at each operation of the program module. Soundness of the type annotations and whether implementation of the program module conforms to the type annotations is checked using a type system. If the program module is well-typed and well-implemented, the type system abstracts a behavioral module of the message-passing program module that reflects the relevant processes expressed by the type annotations. A model checker determines whether the behavioral module is in fact a valid abstraction of the implementation, and if so, evaluates one or more properties of the behavioral module to render a conclusion about these properties for the program module.
-
Citations
37 Claims
-
1. A system for modeling behavior of a message-passing program module wherein the message-passing program module communicates with other program modules and wherein intended message-passing behavior of the message-passing program module is specified by a type annotation, the system comprising:
-
typing rules defining a conformance relationship between the message-passing program module and the type annotation; and
a type system applying a reasoning tool to the conformance relationship to render a conclusion on whether actions of the message-passing program module satisfy the intended behavior expressed by the type annotation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for modeling behavior of a message-passing program module having operations responsible for establishing communications between the message-passing program module and other program modules, the method comprising:
-
specifying a first type process reflecting intended message-passing behavior of an operation of the message-passing program module, wherein the first type process is expressed as a type annotation;
compiling the message-passing program module to render an implementation for the operation;
defining a conformance relation for checking conformance between the implementation and the type annotation;
checking the implementation against the first type process to determine whether the implementation satisfies the conformance relation with respect to the type annotation;
if the implementation does not satisfy the conformance relation, rendering an error message that the message-passing application program is not well-implemented. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A system for evaluating behavioral properties of a message-passing program module having operations for establishing communications between the message-passing program module and other program modules, the system comprising:
-
means for abstracting a behavioral module representing an intended process to be performed by an operation of the message-passing program module on a set of communication channels;
means for checking whether the behavioral module is a valid abstraction of an implementation for the operation; and
if the behavioral module is deemed a valid abstraction of the implementation, evaluating behavioral properties of the behavioral module to render a conclusion concerning the behavioral properties for the implementation. - View Dependent Claims (23, 24, 25, 26)
-
-
27. 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 modeling behavior of a message-passing program module having operations responsible for establishing communications between the message-passing program module and other program modules, the computer process comprising:
-
specifying a first type process reflecting intended message-passing behavior of an operation of the message-passing program module, wherein the first type process is expressed as a type annotation;
compiling the message-passing program module to render an implementation for the operation;
defining a conformance relation for checking conformance between the implementation and the type annotation;
checking the implementation against the first type process to determine whether the implementation satisfies the conformance relation with respect to the type annotation;
if the implementation does not satisfy the conformance relation, rendering an error message that the message-passing application program is not well-implemented. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
Specification