IP Library Granted Patent US 7,627,541
Granted Patent B2
US 7,627,541 · App. 11/532,374 · Granted Dec 1, 2009

Transformation of modular finite state transducers

Assignee: Microsoft Corporation
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,627,541
App. No.
11/532,374
Granted
Dec 1, 2009
Kind
B2
Abstract

A Q Framework, or QFX for short, is provided for performing efficient tree transformation in a generalized manner that achieves preservation of action semantics for FSTs that support action information in their representations across a diverse set of types of representations for FSTs. Among other features, the QFX also enables the preservation of ordered and unordered nest information while performing tree transformation, supports the transformation of non-deterministic data structures to a deterministic data structure and enables intersection operations on machines having action semantics.

Claims (27)

1. A method for transforming at least one-data structure specifying at least one tree structure in a computing system to at least one modular finite state transducer (MFST), comprising:

receiving at least one data structure onto a memory unit configured to include either ordered, unordered, or unordered and ordered information specifying at least one tree structure representing at least one finite state transducer (FST) including semantics for defining ordered and unordered information; and

for any type of finite state machine (FSM) model represented by the at least one data structure, transforming the at least one data structure to at least one MFST while preserving the ordered and unordered information of the at least one data structure in the at least one MFST, wherein said transforming includes performing any of an intersection, union and complement operation, or performing any transformation operation that is reducible to any of an intersection, union and complement operation, on the at least one data structure, wherein it is determinable whether the resulting MFST accepts a non-empty input.

2. The method of claim 1 , wherein said transforming includes transforming the at least one data structure with a translation grammar that preserves the ordered and unordered information in the at least one MFST irrespective of the type of FSM model represented by the at least one tree structure specified by the at least one data structure.

3. The method of claim 1 , wherein said transforming includes performing at least one control flow analysis algorithm on the FSTs represented by at least one data structure that preserves the ordered and unordered semantics information of the at least one data structure for any type of representation.

4. The method of claim 1 , wherein said transforming includes transforming the at least one data structure with a pre-defined translation grammar that preserves both ordered and unordered nest information of the at least one data structure irrespective of the type of FSM model represented by the at least one tree structure specified by the at least one data structure.

5. The method of claim 1 , wherein said receiving includes receiving at least one data structure specifying at least one directed graph structure representing the at least one FST including ordered and unordered semantics for defining list and set pattern information.

6. The method of claim 4 , wherein said receiving includes receiving at least one data structure specifying at least one extensible markup language (XML) document representing the at least one FST including the semantics for defining ordered and unordered information.

7. The method of claim 1 , wherein said transforming includes performing an empty nest test on at least one data structure.

8. The method of claim 1 , wherein said transforming includes performing a structural compatibility test on at least two data structures while preserving the ordered and unordered information.

9. The method of claim 1 , wherein said receiving includes receiving at least one data structure specifying at least one non-deterministic tree data structure and said transforming includes transforming the at least one data structure to a deterministic MFST.

10. A computer readable medium comprising computer executable instructions for performing the method of claim 1 .

11. A computing device comprising means for performing the method of claim 1 .

12. A transformation framework for transducing directed graph data structures representing finite state transducers (FSTs) to a modular finite state transducer (MFST) in a computing system, comprising:

means for storing, on a memory unit, a plurality of directed graph data structures of varying types configured to include either ordered, unordered, or unordered and ordered information for representing FSTs in a computing system including ordered and unordered semantics information of the plurality of directed graph data structures; and

a transducer that analyzes the plurality of directed graph data structures based on a pre-defined tree grammar and transduces the plurality of directed graph data structures to at least one MFST while preserving the ordered and unordered semantics information of the plurality of directed graph data structures, wherein the transducer performs any of intersect, complement and union operations, or performs any transformations that are reducible to any of intersection, union and complement operations, on the plurality of directed graph data structures, wherein it is determinable whether the resulting MFST accepts a non-empty input.

13. The transformation framework of claim 12 , wherein said transducer performs at least one control flow analysis algorithm on the FSTs represented by the plurality of directed graph data structures that preserves the ordered and unordered semantics information of the plurality of directed graph data structures across any type of directed graph representation.

14. The transformation framework of claim 12 , wherein said transducer includes a transformation engine that performs specialized binding handling when transducing the plurality of directed graph data structures, wherein the specialized binding handling includes performing binding for the ordered and unordered semantics information during a pattern matching process for matching patterns of the plurality of directed graph data structures.

15. The transformation framework of claim 12 , wherein said transducer inlines at least one transducer definition as defined by a directed graph data structure of the plurality of directed graph data structures while preserving the ordered and unordered semantics information.

16. The transformation framework of claim 12 , wherein the transducer includes a transformation engine component for matching the at least one data structure to at least one MFST including matching both ordered and unordered nest information contained in the at least one data structure.

17. The transformation framework of claim 16 , wherein said at least one data structure specifies at least one non-deterministic tree structure and said transformation engine component transforms the at least one data structure to a deterministic MFST.

18. The transformation framework of claim 12 , further comprising:

an interface for receiving a directed graph data structure of the plurality of directed graph data structures that defines and translates directed graph data structures according to said pre-defined tree grammar.

19. A compiler for transforming directed graph data structures representing finite state transducers (FSTs) to a modular finite state transducer (MFST) in a computing system, comprising:

a plurality of directed graph data structures stored on a memory unit and configured to include either ordered, unordered, or unordered and ordered information representing FSTs for processes in a computing system including ordered and unordered information defining ordered lists and unordered sets for the processes; and

a transformation engine that analyzes the plurality of directed graph data structures based on a defined tree grammar and transduces the plurality of directed graph data structures to at least one MFST while preserving the ordered and unordered information of the plurality of directed graph data structures, wherein the transformation engine performs any of intersect, complement and union operations, or performs any transformations that are reducible to any of intersection, union and complement operations, on the plurality of directed graph data structures to generate said at least one MFST, wherein it is determinable whether the resulting MFST accepts a non-empty input.

20. The compiler of claim 19 , wherein the plurality of directed graph data structures are represented according to varying FST model types for representing ordered and unordered information.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2006
From: LUCCO, STEVEN E.; LANGWORTHY, DAVID E.; DELLA-LIBERA, GIOVANNI M.
To: MICROSOFT CORPORATION
Reel/Frame 018262/0890 →
Continuity (1)
Related Publication 20080071802A1 · Mar 20, 2008