IP Library Granted Patent US 7,971,186
Granted Patent B1
US 7,971,186 · App. 10/876,940 · Granted Jun 28, 2011

Automatic execution flow ordering

Assignee: Apple Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,971,186
App. No.
10/876,940
Granted
Jun 28, 2011
Kind
B1
Abstract

A computer-implemented method and apparatus for programming a computing apparatus are disclosed. The method is a computer-implemented method for use in a computer programming environment, and comprises invoking a script; and determining an execution order for the invoked script predicated on the passing of parameters between scripted actions. The apparatus, in a first aspect, includes a program storage medium encoded with instructions that, when executed by a processor, performs the method. In a second aspect, the apparatus includes a computing apparatus programmed to perform the method.

Claims (74)

1. A computer-implemented method for use in a computer programming environment, comprising:

invoking a script; and

determining an execution order for the invoked script predicated on the passing of parameters between scripted actions, comprising:

selecting a first scripted action from a plurality of actions, wherein the plurality of actions are contemporaneously selectable with respect to the first scripted action;

executing the first selected scripted action if sufficient parameter information is available to execute the selected first scripted action;

selecting a second scripted action from the plurality of actions in response to determining that there is insufficient parameter information to execute the first selected scripted action;

executing the second selected action and;

wherein the second scripted action converts data from an incompatible data type into a compatible data type and wherein the scripted action are selected from candidate actions chosen according to a determination of relevance relative to previously chosen action and need for conversion of data to compatible data types.

2. The computer-implemented method of claim 1 , further comprising executing a third selected action from the plurality of actions.

3. The computer-implemented method of claim 1 , wherein selecting the first scripted action includes one of selecting the initial scripted action in the workflow, selecting a scripted action in the workflow at random, or selecting a scripted action according to predetermined criteria.

4. The computer-implemented method of claim 1 , further comprising determining a second execution order through the script in parallel with the first execution order.

5. The computer-implemented method of claim 1 , wherein invoking the script includes invoking the script through a graphical user interface.

6. The computer-implemented method of claim 1 , further comprising at least one of generating the script, storing the script, and executing the script.

7. The computer-implemented method of claim 6 , wherein generating the script includes visual programming.

8. The computer-implemented method of claim 6 , wherein generating the script includes:

receiving a plurality of user inputs, each user input specifying an action in a workflow; and

automatically generating in the background a script for executing the actions in the workflow responsive to the user inputs.

9. The computer-implemented method of claim 6 , wherein generating the script includes scripting data conversion between actions in the workflow.

10. The computer-implemented method of claim 1 , further comprising:

creating a workflow to be scripted; and

filtering candidate actions for inclusion in the workflow.

11. The computer implemented method of claim 1 , further comprising automatically converting data types between scripted actions.

12. A program storage medium encoded with instructions that, when executed by a computing device, performs a method for use in a computer programming environment, comprising:

invoking a script; and

determining an execution order for the invoked script predicated on the passing of parameters between scripted actions, comprising:

selecting a first scripted action from a plurality of actions, wherein at least a second scripted action from the plurality of actions are contemporaneously selectable with respect to the first scripted action;

executing the first selected scripted action if sufficient parameter information is available to execute the selected first scripted action;

selecting the second scripted action from the plurality of actions in response to determining that there is insufficient parameter information to execute the first selected scripted action;

executing the second selected action and;

wherein the second scripted action converts data from an incompatible data type into a compatible data type and wherein the scripted action are selected from candidate actions chosen according to a determination of relevance relative to previously chosen action and need for conversion of data to compatible data types.

13. The program storage medium of claim 12 , wherein the encoded method further comprises determining a second execution order through the script in parallel with the first execution order.

14. The program storage medium of claim 12 , wherein the encoded method further comprises at least one of generating the script, storing the script, and executing the script.

15. A computing apparatus, comprising:

a computing device;

a bus system;

a storage communicating with the computing device over the bus system; and

an application residing in the storage that, when invoked, is capable of:

invoking a script; and

determining an execution order for the invoked script predicated on the passing of parameters between scripted actions, comprising:

selecting a first scripted action from a plurality of actions, wherein the plurality of actions are contemporaneously selectable with respect to the first scripted action;

executing the first selected scripted action if sufficient parameter information is available to execute the selected first scripted action;

selecting a second scripted action from the plurality of actions in response to determining that there is insufficient parameter information to execute the first selected scripted action;

executing the second selected action and;

wherein the second scripted action converts data from an incompatible data type into a compatible data type and wherein the scripted action are selected from candidate actions chosen according to a determination of relevance relative to previously chosen action and need for conversion of data to compatible data types.

16. The computing apparatus of claim 15 , wherein, in determining the executed order, the application is further capable of determining a second execution order through the script in parallel with the first execution order.

17. The computing apparatus of claim 15 , wherein, in determining the executed order, the application is further capable of at least one of generating the script, storing the script, and executing the scrip.

18. A computer-implemented method for automatically determining an execution order of a scripted workflow, comprising:

selecting a first scripted action from a plurality of actions, wherein the plurality of actions are contemporaneously selectable with respect to the first scripted action;

executing the first selected scripted action if sufficient parameter information is available to execute the selected first scripted action;

selecting a second scripted action from the plurality of actions in response to determining that there is insufficient parameter information to execute the first selected scripted action;

executing the second selected action and;

wherein the second scripted action converts data from an incompatible data type into a compatible data type and wherein the scripted action are selected from candidate actions chosen according to a determination of relevance relative to previously chosen action and need for conversion of data to compatible data types.

19. The computer-implemented method of claim 18 further comprising executing a third selected action from the plurality of actions.

20. The computer-implemented method of claim 18 , wherein selecting the first scripted action includes one of selecting the initial scripted action in the workflow, selecting a scripted action in the workflow at random, or selecting a scripted action according to predetermined criteria.

21. A program storage medium encoded with instructions that, when executed by a computing device, perform a method for automatically determining an execution order of a scripted workflow, the method comprising:

selecting a first scripted action from a plurality of actions, wherein the plurality of actions are contemporaneously selectable with respect to the first scripted action;

executing the first selected scripted action if sufficient parameter information is available to execute the selected first scripted action;

selecting a second scripted action from the plurality of actions in response to determining that there is insufficient parameter information to execute the first selected scripted action;

executing the second selected action and;

wherein the second scripted action converts data from an incompatible data type into a compatible data type and wherein the scripted action are selected from candidate actions chosen according to a determination of relevance relative to previously chosen action and need for conversion of data to compatible data types.

22. The program storage medium of claim 21 , further comprising executing a third selected action from the plurality of actions.

23. The program storage medium of claim 21 , wherein selecting the first scripted action includes one of selecting the initial scripted action in the workflow, selecting a scripted action in the workflow at random, or selecting a scripted action according to predetermined criteria.

24. A computing apparatus, comprising:

a computing device;

a bus system;

a storage communicating with the computing device over the bus system; and

an application residing in the storage that, when invoked, is capable of:

selecting a first scripted action from a plurality of actions, wherein at least a second scripted action from the plurality of actions are contemporaneously selectable with respect to the first scripted action;

executing the first selected scripted action if sufficient parameter information is available to execute the selected first scripted action;

selecting the second scripted action from the plurality of actions in response to determining that there is insufficient parameter information to execute the first selected scripted action;

executing the second selected action and;

wherein the second scripted action converts data from an incompatible data type into a compatible data type and wherein the scripted action are selected from candidate actions chosen according to a determination of relevance relative to previously chosen action and need for conversion of data to compatible data types.

25. The computing apparatus of claim 24 , wherein the application is further capable of executing a third selected action from the plurality of actions.

26. The computing apparatus of claim 24 , wherein selecting the first scripted action includes one of selecting the initial scripted action in the workflow, selecting a scripted action in the workflow at random, or selecting a scripted action according to predetermined criteria.

Assignments (2)
CHANGE OF NAME Recorded Mar 29, 2007
From: APLE COMPUTER, INC.
To: APPLE INC.
Reel/Frame 019084/0276 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2004
From: PEYTON, ERIC S.
To: APPLE COMPUTER, INC.
Reel/Frame 015522/0004 →