Method and apparatus to extend a program
First Claim
1. A computer-implemented method for extending a parent program to include the functionality of a child program, comprising:
- selecting a child description file from a plurality of child description files, wherein the child description file contains fully customizable information describing how to invoke the child program and establish communication between the parent program and the child program, the information conforming to the language constraints and rules defined in a meta data file associated with the parent program;
accessing an invoking method indicator in the child description file, the invoking method indicator specifying an invoking method;
accessing a communication method indicator in the child description file, the communication method indicator specifying a communication method;
accessing an invoking argument in the invoking method of the child description file, wherein the invoking argument is used to pass a parameter data between the parent program and the child program; and
providing a user interface to receive user input data for an the first invoking argument if the first invoking argument data for the first invoking argument is not provided in the child description file, wherein the input data is validated against an invoking argument description provided in the child description file or constrained by a choice list description provided in the child description file;
wherein the invoking argument specifies a description for the parameter data, the description including any of a name, type, precision, nullability, choice list, and default value.invoking the child program from the parent program using the invoking method; and
establishing communication between the parent program and the child program using the communication method.
8 Assignments
0 Petitions
Accused Products
Abstract
A program may be extended to another program in accordance with information stored in a meta data file. A parent program is associated with the meta data file, and a child program is associated with a child description file created to conform to the information provided in the meta data file. The child description file is stored in a well-known location where it may be accessed by the parent program to learn how communicate with the child program, including which arguments and parameters to use, advantageously providing parent programs with a consistent user interface when interfacing with various child programs as well as the flexibility to add or change child description files to describe new or changed child programs as the need arises.
16 Citations
35 Claims
-
1. A computer-implemented method for extending a parent program to include the functionality of a child program, comprising:
-
selecting a child description file from a plurality of child description files, wherein the child description file contains fully customizable information describing how to invoke the child program and establish communication between the parent program and the child program, the information conforming to the language constraints and rules defined in a meta data file associated with the parent program; accessing an invoking method indicator in the child description file, the invoking method indicator specifying an invoking method; accessing a communication method indicator in the child description file, the communication method indicator specifying a communication method;
accessing an invoking argument in the invoking method of the child description file, wherein the invoking argument is used to pass a parameter data between the parent program and the child program; andproviding a user interface to receive user input data for an the first invoking argument if the first invoking argument data for the first invoking argument is not provided in the child description file, wherein the input data is validated against an invoking argument description provided in the child description file or constrained by a choice list description provided in the child description file;
wherein the invoking argument specifies a description for the parameter data, the description including any of a name, type, precision, nullability, choice list, and default value.invoking the child program from the parent program using the invoking method; and establishing communication between the parent program and the child program using the communication method. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An apparatus for extending a parent program to include the functionality of a child program comprising:
-
a plurality of child description files, a processor;
wherein each of the plurality of child description files contains fully customizable information describing how to invoke the child program and establish communication between the parent program and the child program, the information conforming to the language constraints and rules defined in a meta data file associated with the parent program; andthe parent program configured to select a child description file from among a plurality of child description files, the child description file corresponding to a child program, the child description file comprising an invoking method indicator and a communication method indicator, the parent program being further configured to invoke the child program using an invoking method specified by the invoking method indicator and establish a communication between the parent program and the child program using a communication method specified by the communication method indicator accessing an invoking argument in the invoking method of the child description file, wherein the invoking argument is used to pass a parameter data between the parent program and the child program; and providing a user interface to receive user input data for an the first invoking argument if the first invoking argument data for the first invoking argument is not provided in the child description file, wherein the input data is validated against an invoking argument description provided in the child description file or constrained by a choice list description provided in the child description file;
wherein the invoking argument specifies a description for the parameter data, the description including any of a name, type, precision, nullability, choice list, and default value. - View Dependent Claims (22, 23, 24, 25, 26)
-
-
27. An article of manufacture comprising:
-
a machine accessible storage medium including instructions that, when accessed by a machine, causes the machine to; invoke a parent program; select a child description file from a plurality of child description files, wherein the child description file contains information describing how to invoke a child program and establish communication between the parent program and the child program, the information conforming to the language constraints and rules defined in a meta data file associated with the parent program; access an invoking method indicator in the child description file, the invoking method indicator specifying an invoking method; access a communication method indicator in the child description file, the communication method indicator specifying a communication method;
accessing an invoking argument in the invoking method of the child description file, wherein the invoking argument is used to pass a parameter data between the parent program and the child program; andproviding a user interface to receive user input data for an the first invoking argument if the first invoking argument data for the first invoking argument is not provided in the child description file, wherein the input data is validated against an invoking argument description provided in the child description file or constrained by a choice list description provided in the child description file;
wherein the invoking argument specifies a description for the parameter data, the description including any of a name, type, precision, nullability, choice list, and default value.invoke the child program from the parent program using the invoking method; and establish communication between the parent program and the child program using the communication method. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35)
-
Specification