IP Library Patent Application 11355710
Patent Application
App. No. 11/355,710

Generic expression framework for computer implementable expressions

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 None
App. No.
11/355,710
Abstract

An expression framework for creating and executing computer implementable instructions using context elements is disclosed. The context elements are defined through the expression framework via expression tools. The expression framework is configured to generate a generic expression tree which utilizes the context elements to specify a translator for one or more nodes of the expression tree to provide multiple execution formats for the expression.

Claims (29)

1 . An expression framework executable on a computer readable medium comprising:

an expression engine having computer implementable instructions configured to receive an input expression and generate an expression tree including a plurality of expression nodes; and

a context element or elements configured to associate one or more of the plurality of expression nodes with a translator to convert the one or more of the plurality of expression nodes into a computer implementable execution format.

2 . The expression framework of claim 1 including a translation context to associate the one or more nodes of the expression tree with the translator.

3 . The expression framework of claim 2 wherein the context element or elements include a data context element or function context element and the expression engine is configured to associate the data context element or function context element to data or function nodes of the expression tree.

4 . The expression framework of claim 3 wherein the translation context associates the translator to the one or more of the plurality of expression nodes based upon the function context element associated with the one or more of the plurality of expression nodes.

5 . The expression framework of claim 3 wherein the translation framework invokes expression tools to create the data context element or function context element to define data elements or functions for the expression framework.

6 . The expression framework of claim 3 wherein the data context element is one of a global data context, a caller data context or a local data context.

7 . The expression framework of claim 3 and further comprising an expression editor that interfaces with the data context element or function context element of the expression framework to provide a list of functions or data elements for the expression framework.

8 . The expression framework of claim 1 and further comprising an execution engine configured to invoke a translation engine to translate portions of the expression tree wherein the portions of the expression tree are translated at design time or run-time.

9 . The expression framework of claim 1 and further comprising an expression context to define a translator interface for the translator associated with the one or more of the plurality of nodes on the expression tree.

10 . The expression framework of claim 9 wherein the translator interface is defined at design-time or run-time.

11 . The expression framework of claim 3 wherein a data context definition for the data context element is defined at design time and an instance of the data element for the data context definition is invoked at run-time.

12 . A method executable on a computer readable medium having stored thereon computer executable instructions for implementing the steps of:

receiving an input expression; and

generating a generic expression tree for the input expression including a plurality of expression nodes and one or more of the plurality of expression nodes having a translation context associated therewith to define a translator to translate the one or more of the plurality of expression nodes into multiple execution formats.

13 . The method of claim 12 and further comprising the step:

translating portions of the expression tree into different execution formats.

14 . The method of claim 13 and comprising the step of translating portions of the expression tree in one or both of a design time environment or a run-time environment.

15 . The method of claim 12 and comprising the step of:

specifying the translator for the one or more of the plurality of expression nodes at run-time.

16 . The method of claim 12 wherein one or more of the plurality of expression nodes is associated with a data context element and further comprising the step of:

specifying an instance of a data element of the data context element at run-time.

17 . The method of claim 12 wherein one or more of the plurality of expression nodes is associated with a function context element or a data context element and the translation context is determined based upon the function context element.

18 . A computer readable medium having stored thereon an expression tree including:

a plurality of expression nodes; and

a translation context associated with one or more of the plurality of expression nodes.

19 . The computer readable medium of claim 18 and further comprising a function context element or data context element associated with the one or more of the plurality of expression nodes.

20 . The computer readable medium of claim 19 wherein the translation context is associated with the one or more of the plurality of expression nodes based upon the function context element associated with the one or more of the plurality of expression nodes.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2008
From: CHOUDHARY, SREEKAR; SIDDHARTHA, PRADYUMNA
To: MICROSOFT CORPORATION
Reel/Frame 021549/0001 →