1. Procedure according to the invention for initiating purchase through the Internet between a seller and a buyer, in the course of which the virtual data units of the seller’s products andor services is sent to the buyer’s communication unit through a signal forwarding network, and at least a part of the virtual data units of the products andor services is displayed on a display unit, and using the signal forwarding network an information technology command channel needed to initiate purchase is established between the seller’s communication unit and the buyer’s communication unit, and the purchase is initiated by activating the information technology command channel, characterised by that before starting the purchase an internal transaction initiating interface 14 is created deriving from the buyer’s 1 communication unit 10 and only accessible by the buyer’s 1 communication unit 10, the transaction initiating interface 14 is provided with an exclusive address 14a, the exclusive address 14a of the transaction initiating interface 14 is allocated to the command channel 31, and the purchase is initiated by activating the transaction initiating interface 14.
2. Procedure as in claim 1, characterised by that the transaction initiating interface 14 is displayed on the display unit 11 of the buyer’s 1 communication unit 10, practically in its active image field 11a allocated to the buyer 1.
3. Procedure as in claim 1, characterised by that one of the keys 12a belonging to the keyboard 12 of the buyer’s 1 communication unit 10 is set as a transaction initiator 14.
4. Procedure as in claim 2, characterised by that one of the keys 12a belonging to the keyboard 12 of the buyer’s 1 communication unit 10 is set as a transaction initiator 14.
5. Interactive communication between a seller and a buyer to facilitate the initiation of a purchase through the Internet, which comprises a display unit divided into one or more active image fields and one or more passive image fields, at least on a part of the passive image fields of the display unit the virtual data units of the seller’s products andor services are displayed, and on at least one of the active image fields the command elements for instructing the buyer’s communication unit are arranged, characterised by that that the command elements 11c of the active image fields 11a of the display unit 11 are supplemented with at least one transaction initiating interface 14.
6. Communication unit as in claim 5, characterised by that that a name list 13, which is temporarily displayable on the display unit 11, is allocated to the transaction initiating interface 14.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A computer accessible memory medium that stores program instructions executable by a processor to:
receive a first data flow program, wherein the first data flow program is an object oriented program comprising instances of one or more classes, wherein the first data flow diagram utilizes a plurality of classes from a class inheritance hierarchy, wherein at least some data types of instances at run-time cannot be statically determined, and wherein the first data flow program is executable to perform a first function;
automatically convert the first data flow program to a second data flow program, wherein the second data flow program does not include the instances of the one or more classes, wherein the second data flow program is executable to dynamically determine data types at runtime, and wherein the second data flow program is executable to perform the first function; and
store the second data flow program on a computer memory, wherein the second data flow program is configured to be deployed to a device, and wherein the second data flow program is executable on the device to perform the first function.
2. The memory medium of claim 1,
wherein, to automatically convert the first data flow program to a second data flow program, the program instructions are executable to convert the instances of the one or more classes to a corresponding one or more structures, wherein each of the one or more structures comprises data elements corresponding to data elements of the corresponding class and any ancestor classes.
3. The memory medium of claim 2,
wherein the one or more classes comprise at least one descendant class that has ancestor classes;
wherein for at least one instance of a class that can be statically determined to be of a particular class, said converting comprises converting the at least one instance to a corresponding structure comprising data elements corresponding to data elements of the particular class and any ancestor classes; and
wherein for at least one instance of a class that requires dynamic determination of class type, said converting comprises converting the at least one instance to a generic structure configured to contain all data members of any class and its ancestor classes.
4. The memory medium of claim 3, wherein the program instructions are further executable to:
analyze a class hierarchy of the first data flow program to determine a union of data members of the classes in the class hierarchy; and
determine the generic structure based on the determined union, wherein the generic structure is configured to store all data members of any class in the class hierarchy of the first data flow program and its ancestor classes.
5. The memory medium of claim 4, wherein the generic structure comprises 1) an enum for denoting a runtime data type of the generic structure, and 2) a set of elements sufficient for representing data for any class in the class hierarchy and its ancestor classes, wherein the enum is configured to be set at runtime to denote the data type of the structure as dynamically determined at runtime.
6. The memory medium of claim 3, wherein the generic structure comprises:
a fixed portion comprising data elements corresponding to data elements of the class and any ancestor classes; and
a generic portion configured to contain all data members of any descendant classes of the class.
7. The memory medium of claim 3, wherein the program instructions are further executable to:
receive input specifying at least one instance of a class to convert to a class-specific structure, and at least one instance of a class to convert to a generic structure;
wherein at least a subset of the specified instances are converted to class-specific structures or generic structures in accordance with the user input.
8. The memory medium of claim 7,
wherein instances of a class whose instances are specified for conversion to a class-specific structure are automatically specified for conversion to class-specific structures; and
wherein instances of a class whose instances are specified for conversion to a generic structure are automatically specified for conversion to generic structures.
9. The memory medium of claim 7, wherein any instances of classes not specified for conversion to generic structures or for which all data types can be statically determined are converted to class-specific structures by default.
10. The memory medium of claim 7, wherein the program instructions are executable to:
determine that data types of at least one instance of a class that is specified for conversion to a generic structure can be statically determined; and
convert the at least one instance of the class to a class-specific structure.
11. The memory medium of claim 3, wherein the program instructions are further executable to:
receive input specifying at least one class for conversion of instances to class-specific structures, or at least one class for conversion of instances to generic structures;
wherein at least a subset of the instances of the specified classes are converted to class-specific structures or generic structures in accordance with the user input.
12. The memory medium of claim 11, wherein the program instructions are further executable to:
determine that a data type of at least one instance of a class specified for conversion to a class-specific structure must be dynamically determined; and
generate an error message indicating that the at least one instance requires dynamic determination of data type.
13. The memory medium of claim 3, wherein to automatically convert the first data flow program, the program instructions are executable to:
convert any instance of a parent class constant with a value data of a child class to a constant of the child class; and
convert the constant of the child class to a constant of a corresponding data type.
14. The memory medium of claim 3, wherein the first data flow program comprises one or more data flow subprograms, and wherein to automatically convert the first data flow program, the program instructions are further executable to:
a) for each subprogram invocation in the data flow program:
i) if the subprogram invocation is a dynamic dispatch invocation and the type of the dispatch input can be statically determined, replace the subprogram invocation with a static invocation of a class-specific implementation of the subprogram;
ii) if the subprogram invocation is a dynamic dispatch invocation and the type of the dispatch input cannot be statically determined, replace the subprogram invocation with multiple static subprogram invocations comprising a respective static invocation for each class that implements an override of the dynamic dispatch invocation, and a programming structure configured to evaluate the type of the dispatch input and select which of the static invocations to invoke;
iii) if an input class specified for the subprogram can be statically determined and is an ancestor class of a corresponding child class specified as input in the invocation:
clone the subprogram, thereby generating a clone subprogram;
replace any reference to the ancestor class in inputs of the clone subprogram with a reference to the descendent class;
replace the subprogram invocation with an invocation of the clone subprogram;
iv) if an input class specified for the subprogram cannot be statically determined:
clone the subprogram, thereby generating a clone subprogram;
mark any reference to the input class in the inputs of the clone subprogram as requiring dynamic determination of class type;
replace the subprogram invocation with an invocation of the clone subprogram;
v) perform a) with respect to the subprogram;
vi) if an output class returned by the subprogram invocation is returned as an output of the data flow program and the output class returned by the subprogram invocation is a descendant class of the class specified as output of the data flow program:
replace any reference to the ancestor class in the output of the data flow program with a reference to the descendent class returned by the subprogram invocation;
vii) if an output class returned by the subprogram invocation is returned as an output of the data flow program and the output class returned by the subprogram invocation is marked as dynamic:
mark any reference to the marked class in the output of the data flow program as requiring dynamic determination of class type;
b) for the first data flow program and each subprogram invoked directly or indirectly by the first data flow program:
replace each instance of each class with the corresponding structure for that class;
wherein to replace each instance, the program instructions are executable to:
for at least one instance of a class that can be statically determined to be of a particular class, replace the instance with a corresponding class-specific structure comprising data elements corresponding to data elements of the particular class and any ancestor classes; and
for at least one instance of a class that requires dynamic determination of class type, replace the instance with a generic structure configured to contain all data members of any class and its ancestor classes.
15. The memory medium of claim 1,
wherein the second data flow program is configured to be compiled by a compiler which does not support classes.
16. The memory medium of claim 1,
wherein the second data flow program is configured to be deployed to a device that does not support operations necessary for support of classes.
17. The memory medium of claim 1,
wherein the first data flow program is not deployable onto a programmable hardware element; and
wherein the second data flow program is configured to be deployed onto a programmable hardware element.
18. The memory medium of claim 1, wherein the program instructions are further executable to:
compile the second data flow program into a hardware configuration program, wherein the hardware configuration program is configured to be deployed onto a programmable hardware element.
19. The memory medium of claim 18, wherein the program instructions are further executable to:
deploy the hardware configuration program onto the programmable hardware element.
20. The memory medium of claim 1, wherein the program instructions are further executable to:
deploy the second data flow program to a first device, wherein the second data flow program is executable on the first device to perform the first function, including dynamic determination of data type of generic structures at runtime.
21. The memory medium of claim 20,
wherein the first data flow program comprises a graphical data flow program, comprising a plurality of interconnected nodes that visually indicate functionality of the program.
22. The memory medium of claim 1, wherein the first data flow program is executable to perform one or more of:
an industrial automation function;
a process control function;
a test and measurement function.
23. A computer-implemented method, comprising using a computer to perform:
receiving a first data flow program, wherein the first data flow program is an object oriented program comprising instances of one or more classes, wherein the first data flow diagram utilizes a plurality of classes from a class inheritance hierarchy, wherein at least some data types of instances at run-time cannot be statically determined, and wherein the first data flow program is executable to perform a first function;
automatically converting the first data flow program to a second data flow program, wherein the second data flow program does not include the instances of the one or more classes, and wherein the second data flow program is executable to perform the first function; and
storing the second data flow program on a computer memory, wherein the second data flow program is configured to be deployed to a device, and wherein the second data flow program is executable on the device to perform the first function.
24. A system, comprising:
means for receiving a first data flow program, wherein the first data flow program is an object oriented program comprising instances of one or more classes, wherein the first data flow diagram utilizes a plurality of classes from a class inheritance hierarchy, wherein at least some data types of instances at run-time cannot be statically determined, and wherein the first data flow program is executable to perform a first function;
means for automatically converting the first data flow program to a second data flow program, wherein the second data flow program does not include the instances of the one or more classes, and wherein the second data flow program is executable to perform the first function; and
means for storing the second data flow program on a computer memory, wherein the second data flow program is configured to be deployed to a device, and wherein the second data flow program is executable on the device to perform the first function.