Claims
- 1. A computer-executable method for executing sets of operational semantics rules governing the meanings of expressions written in a process-based language, the method comprising:
parsing a first expression, the first expression describing that a process is a choice of two processes, the first process of the two processes expressing that a first query is submitted to a queue and after which the first process continues with a first set of actions, the second process of the two processes expressing that a second query is submitted to the queue and after which the second process continues with a second set of actions; and reducing the first expression to a second expression, the second expression describing that a third query is submitted to the queue after which the first process runs in parallel with the second process if the third query is in canonical form.
- 2. The method of claim 1, wherein the third query is a reduction of a binding of two terms, the first term of two terms including the application of a first permutation function to the first query, the second term including the application of a second permutation to the second query.
- 3. The method of claim 1, wherein the third query is in canonical form if and only if all of the constraints in the body of the third query are irreducible and the third query is not a failure.
- 4. The method of claim 3, wherein a constraint is irreducible in the third query if and only if there exists a fourth query such that the constraint is an element of the fourth query when the third query is reduced to the fourth query.
- 5. The method of claim 3, wherein the third query is a failure if and only if the third query is reducible to a fourth query and the fourth query contains a failure.
- 6. The method of claim 5, wherein a constraint is a failure if the constraint is defined as a first literal being bound to a second literal and if the first literal is not a complement of the second literal.
- 7. A computer-readable medium having computer-executable instructions for performing a method for executing sets of operational semantics rules governing the meanings of expressions written in a process-based language, the method comprising:
parsing a first expression, the first expression describing that a process is a choice of two processes, the first process of the two processes expressing that a first query is submitted to a queue and after which the first process continues with a first set of actions, the second process of the two processes expressing that a second query is submitted to the queue and after which the second process continues with a second set of actions; and reducing the first expression to a second expression, the second expression describing that a third query is submitted to the queue after which the first process runs in parallel with the second process if the third query is in canonical form.
- 8. The computer-readable medium of claim 7, wherein the third query is a reduction of a binding of two terms, the first term of two terms including the application of a first permutation function to the first query, the second term including the application of a second permutation to the second query.
- 9. The computer-readable medium of claim 7, wherein the third query is in canonical form if and only if all of the constraints in the body of the third query are irreducible and the third query is not a failure.
- 10. The computer-readable medium of claim 9, wherein a constraint is irreducible in the third query if and only if there exists a fourth query such that the constraint is an element of the fourth query when the third query is reduced to the fourth query.
- 11. The computer-readable medium of claim 9, wherein the third query is a failure if and only if the third query is reducible to a fourth query and the fourth query contains a failure.
- 12. The computer-readable medium of claim 11, wherein a constraint is a failure if the constraint is defined as a first literal being bound to a second literal and if the first literal is not a complement of the second literal.
- 13. A computer-executable method for executing sets of operational semantics rules governing the meanings of expressions written in a process-based language, the method comprising:
parsing a first expression, the first expression describing a first process whose first action is submitting a query to a queue and after which the first process continues with a second process; and reducing the first expression to a second expression, the second expression describing that a lifted query runs in parallel with the second process if the first query is in canonical form.
- 14. The method of claim 13, wherein the first query is structurally equivalent to another query whose head is empty and whose body is a list of constraints.
- 15. The method of claim 14, wherein each constraint in the list of constraints is a binding between two names.
- 16. The method of claim 13, wherein the first query is in canonical form if and only if all of the constraints in the body of the first query are irreducible and the first query is not a failure.
- 17. The method of claim 16, wherein a constraint is irreducible in the first query if and only if there exists a second query such that the constraint is an element of the second query when the first query is reduced to the second query.
- 18. The method of claim 16, wherein the first query is a failure if and only if the first query is reducible to a second query and the second query contains a failure.
- 19. The method of claim 18, wherein a constraint is a failure if the constraint is defined as a first literal being bound to a second literal and if the first literal is not a complement of the second literal.
- 20. A computer-readable medium having computer-executable instructions for performing a method that execute sets of operational semantics rules governing the meanings of expressions written in a process-based language, the method comprising:
parsing a first expression, the first expression describing a first process whose first action is submitting a query to a queue and after which the first process continues with a second process; and reducing the first expression to a second expression, the second expression describing that a lifted query runs in parallel with the second process if the first query is in canonical form.
- 21. The computer-readable medium of claim 20, wherein the first query is structurally equivalent to another query whose head is empty and whose body is a list of constraints.
- 22. The method of claim 21, wherein each constraint in the list of constraints is a binding between two names.
- 23. The method of claim 20, wherein the first query is in canonical form if and only if all of the constraints in the body of the first query are irreducible and the first query is not a failure.
- 24. The method of claim 23, wherein a constraint is irreducible in the first query if and only if there exists a second query such that the constraint is an element of the second query when the first query is reduced to the second query.
- 25. The method of claim 23, wherein the first query is a failure if and only if the first query is reducible to a second query and the second query contains a failure.
- 26. The method of claim 25, wherein a constraint is a failure if the constraint is defined as a first literal being bound to a second literal and if the first literal is not a complement of the second literal.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Application No. 60/379,864, filed May 10, 2002, entitled “Process Programming Language,” which is expressly incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60379864 |
May 2002 |
US |