Interactive domain configuration
First Claim
1. A computer implemented method for producing data domain information structures and associated values, sets of values and/or tuples for testing or validation of a computer program, the method comprising:
- generating a reflection of the computer program comprising constructs, wherein the computer program constructs comprise one or more first data structure elements and a second data structure element, the one or more first data structure elements and the second data structure element comprising data types, data fields, functions, methods and/or parameters of the computer program;
annotating the one or more first data structure elements and the second data structure element with information related to the purpose of domain configuration;
configuring one or more first data domains corresponding to the one or more first data structure elements and a second data domain corresponding to the second data structure element, the configuring comprising generating one or more structural language expressions for representing/evaluating the one or more first data structure elements and the second data structure element and for defining relationships among the one or more first data structure elements and the second data structure element in terms of type/method inheritance and types;
wherein generating the one or more structural language expressions includes generating at least one of;
if the second data structure element is a first data type comprising a plurality a sub-types, at least one structural language expression denoting a union of one or more of the one or more first data domains corresponding to the one or more first data structure elements that are sub-types of the first data type;
if the second data structure element is a sub-type, data field or parameter of a second data type, at least one structural language expression indicating that the second data domain can be inherited from one of the one or more first data structure elements that are of the second data type;
if the second data structure element is a method, at least one structural language expression denoting inheritance relationships between types and subtypes of the second data structure element and types and subtypes of the one or more first data structure elements wherein the one or more first data structure elements represent parameters of another method described in the one or more first data domains; and
at least one structural language expression comprising a Cartesian product as an invocable method to cross-relate the second data structure element with one or more data domains corresponding to the one or more first data structure elements; and
compiling the annotated one or more first data structure elements and the second data structure element to produce values, sets of values and/or tuples of the one or more first data domains and the second data domain; and
testing or validating the computer program using at least one of the values, sets of values and/or tuples from the one or more first data domains and the second data domain.
2 Assignments
0 Petitions
Accused Products
Abstract
Described herein are methods and systems for interactively configuring and producing a data domain for various data structure elements of a computer program. A domain configuration manager is described which interactively receives domain configuration information corresponding to a data structure element, reads a reflection of the program and produces a data domain according to domain configuration information. The domain configuration manager is capable of producing a data domain for a data structure element according to such domain configuration information such as an explicit expression, inheritance or domain generation technique. The reflection of the computer program exposes the methods and functions of the program to be used in the explicit expression regardless of the visibility rules. Also, predicates and conditions can be used with domain generation techniques to further narrowly configure the data domains.
28 Citations
7 Claims
-
1. A computer implemented method for producing data domain information structures and associated values, sets of values and/or tuples for testing or validation of a computer program, the method comprising:
-
generating a reflection of the computer program comprising constructs, wherein the computer program constructs comprise one or more first data structure elements and a second data structure element, the one or more first data structure elements and the second data structure element comprising data types, data fields, functions, methods and/or parameters of the computer program; annotating the one or more first data structure elements and the second data structure element with information related to the purpose of domain configuration; configuring one or more first data domains corresponding to the one or more first data structure elements and a second data domain corresponding to the second data structure element, the configuring comprising generating one or more structural language expressions for representing/evaluating the one or more first data structure elements and the second data structure element and for defining relationships among the one or more first data structure elements and the second data structure element in terms of type/method inheritance and types; wherein generating the one or more structural language expressions includes generating at least one of; if the second data structure element is a first data type comprising a plurality a sub-types, at least one structural language expression denoting a union of one or more of the one or more first data domains corresponding to the one or more first data structure elements that are sub-types of the first data type; if the second data structure element is a sub-type, data field or parameter of a second data type, at least one structural language expression indicating that the second data domain can be inherited from one of the one or more first data structure elements that are of the second data type; if the second data structure element is a method, at least one structural language expression denoting inheritance relationships between types and subtypes of the second data structure element and types and subtypes of the one or more first data structure elements wherein the one or more first data structure elements represent parameters of another method described in the one or more first data domains; and at least one structural language expression comprising a Cartesian product as an invocable method to cross-relate the second data structure element with one or more data domains corresponding to the one or more first data structure elements; and compiling the annotated one or more first data structure elements and the second data structure element to produce values, sets of values and/or tuples of the one or more first data domains and the second data domain; and testing or validating the computer program using at least one of the values, sets of values and/or tuples from the one or more first data domains and the second data domain. - View Dependent Claims (2, 3, 4)
-
-
5. One or more computer-readable media storing computer-executable instructions for performing a method for producing data domain information structures and associated values, sets of values and/or tuples for testing or validation of a computer program, the method comprising:
-
generating a reflection of the computer program comprising constructs, wherein the computer program constructs comprise one or more first data structure elements and a second data structure element, the one or more first data structure elements and the second data structure element comprising data types, data fields, functions, methods and/or parameters of the computer program; annotating the one or more first data structure elements and the second data structure element with information related to the purpose of domain configuration; configuring one or more first data domains corresponding to the one or more first data structure elements and a second data domain corresponding to the second data structure element, the configuring comprising generating one or more structural language expressions for representing/evaluating the one or more first data structure elements and the second data structure element and for defining relationships among the one or more first data structure elements and the second data structure element in terms of type/method inheritance and types; wherein generating the one or more structural language expressions includes generating at least one of; if the second data structure element is a first data type comprising a plurality a sub-types, at least one structural language expression denoting a union of one or more of the one or more first data domains corresponding to the one or more first data structure elements that are sub-types of the first data type; if the second data structure element is a sub-type, data field or parameter of a second data type, at least one structural language expression indicating that the second data domain can be inherited from one of the one or more first data structure elements that are of the second data type; if the second data structure element is a method, at least one structural language expression denoting inheritance relationships between types and subtypes of the second data structure element and types and subtypes of the one or more first data structure elements wherein the one or more first data structure elements represent parameters of another method described in the one or more first data domains; and at least one structural language expression comprising a Cartesian product as an invocable method to cross-relate the second data structure element with one or more data domains corresponding to the one or more first data structure elements; and compiling the annotated one or more first data structure elements and the second data structure element to produce values, sets of values and/or tuples of the one or more first data domains and the second data domain; and testing or validating the computer program using at least one of the values, sets of values and/or tuples from the one or more first data domains and the second data domain. - View Dependent Claims (6, 7)
-
Specification