CN101517531B - Transformation of modular finite state transducers - Google Patents

Transformation of modular finite state transducers Download PDF

Info

Publication number
CN101517531B
CN101517531B CN200780034283XA CN200780034283A CN101517531B CN 101517531 B CN101517531 B CN 101517531B CN 200780034283X A CN200780034283X A CN 200780034283XA CN 200780034283 A CN200780034283 A CN 200780034283A CN 101517531 B CN101517531 B CN 101517531B
Authority
CN
China
Prior art keywords
digraph
data structure
conversion
data structures
mfst
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200780034283XA
Other languages
Chinese (zh)
Other versions
CN101517531A (en
Inventor
S·E·卢科
D·E·兰沃西
G·M·德拉-利贝拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101517531A publication Critical patent/CN101517531A/en
Application granted granted Critical
Publication of CN101517531B publication Critical patent/CN101517531B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

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.

Description

The conversion of modular finite state transducers
Technical field
The present invention generally to such as finite-state automatas such as finite state transducers, relates in particular to its conversion.
Background
As general background, the model of the behavior of the system that the finite state machine (FSM) that also is called as finite-state automata (FSA) is made up of state, transfer and action.FSM or FSA serviceable condition figure, state transition diagram, state table, mark digraph, tree etc. represent that according to each conception of species mode they preserve this machine of formation is the relation of state, transfer and the action of automat.There are different types of FSM or FSA and equivalent way thereof, and various known transition of some wherein.
At present; There are some figure transcriber and tree transcriber; Their are for example realized to the digraph data structure mapping of some type group system by the FST modeling, to form new one or one group of FST, some aspect of for example new digraph data structure; Yet such system is because a variety of causes and limited.For example, XSL conversion (XSLT) is the language based on XML that is used for the XML document conversion.When being used for other XML documents of conversion, the document is not changed; On the contrary, based on the new document of content creating of existing XML document.New document can be by processor with standard x ML sentence structure or according to such as another form serializations (output) such as HTML or plain texts.XSLT is often used in translation data between the different XML patterns, perhaps the XML data-switching is become webpage or PDF document.
In fact, XSLT allows to create the XML document of the conversion of describing other XML documents, and it can be converted into different forms again.Yet XSLT can't consider the action semanteme that available FST representes.At this on the one hand, action possibly be " when being in the predefine state, in case discern a certain information, for example name is promptly carried out a certain action ".Yet with regard to can be the so any action of FST definition, XSLT can't handle the calling so any action as its ability to transform part.In addition, XSLT can't carry out the whole of benefit, friendship and union on machine.
And, such as existing conversion such as XSLT also can't mate with formation have such as in order with the FSM of the orderly and unordered hierarchical information of unordered nested (for example, being represented as tree construction).Although; In some environment; There is some system that only preserves orderly information that when transforming tree, can handle; And exist and when conversion, can handle some system that only preserves unordered information, but XSLT or any known system do not comprise that can stride digraph or tree construction preserves orderly and unordered nested both ability to transform.In the conversion of the finite state transducers of prior art these will become obvious with other defect after the description of the following various exemplary non-limiting examples of setting forth in more detail of the present invention.
General introduction
Consider the above-mentioned defective of prior art; The present invention is provided for FST is carried out the conversion of efficient tree; For example hand over, also, the general framework of benefit etc., this framework is striden one group of dissimilar FST that in its expression, support action message that are expressed as and is striden transform operation to preserve action semantic.Be used for that FST is carried out the efficient framework of setting conversion and also can when carrying out the tree conversion, preserve orderly and unordered nest information, and can support of the conversion of uncertainty data structure to the deterministic data structure.
In one embodiment, the present invention provides a kind of being used for will specify the data structure mapping of tree construction to become the method for modular finite state transducers (MFST) in computer system.This method comprises the data structure that receives the appointment tree construction; Tree construction representes to comprise the finite state transducers (FST) of semanteme of finite state machine (FSM) model of any kind that is used to define the semantic of orderly and unordered information and is represented by this data structure, and this method becomes MFST in MFST, to preserve the orderly and unordered information of data structure simultaneously data structure mapping.Conversion comprise to the data structure carry out any friendship, and and complementary operation, but and reduction become any friendship, and and any computing of complementary operation.In another aspect of this invention, can whether accept the non-NULL input based on the FSM that FSM judgement as a result obtains.
Provided herein simplify general introduction to help understanding to the basic or cardinal principle of the each side of exemplary, the indefiniteness embodiment in following more detailed description and the accompanying drawing.Yet this general introduction is not intended to as general survey detailed or limit.The sole purpose of this general introduction is to introduce some relevant high-level concept with various embodiment exemplary, indefiniteness of the present invention with the form of simplifying, as the preamble of following more detailed description.
The accompanying drawing summary
To further describe the technology of the tree grammar that is used for the conversion module finite state transducers of the present invention and the process that is associated thereof with reference to accompanying drawing, in the accompanying drawing:
Figure 1A shows and shows that employing is by exemplary, the indefiniteness process flow diagram of general transformation framework conversion FST provided by the invention with the semantic example process of preservation action;
Figure 1B shows and shows that employing is by exemplary, the indefiniteness block diagram of general transformation framework conversion FST provided by the invention with the semantic example process of preservation action;
Fig. 1 C shows demonstration and is used for the example frame of the conversion FST according to the present invention and exemplary, the indefiniteness block diagram of transform engine;
Fig. 2 A shows the example interface that combines transform engine of the present invention to provide;
Fig. 2 B and 2C show the PushEnvironment (pushing environment) that provides according to embodiments of the invention and the exemplary operation of PopEnvironment (ejection environment) method respectively.
Fig. 2 D shows another example interface that combines transform engine of the present invention to provide;
Fig. 2 E has listed exemplary, the indefiniteness ∈ closure algorithm as in by transformation framework provided by the invention, realizing;
Fig. 2 F shows like the modification by the subset construction technology of holding action that realizes in the transformation framework provided by the invention;
Fig. 3 A shows action regular expression (REGEX) example of the enhancing collection of the conversion example of definition according to the present invention, the i.e. exemplary transformation of α T example;
Fig. 3 B shows the nested example of binding of the enhancing collection of the conversion example of definition according to the present invention, i.e. x: the exemplary transformation of [T] example;
Fig. 3 C shows the nested repetition example of binding of the enhancing collection of the conversion example of definition according to the present invention, i.e. x: [T] * |+|?The exemplary transformation of example;
Fig. 3 D shows the x of the enhancing collection of the conversion example of definition according to the present invention: (T) exemplary transformation of example;
Fig. 3 E shows the x:T Ref example of the enhancing collection of the conversion example of definition according to the present invention, promptly uses the exemplary transformation of the expansion of calling;
Fig. 3 F shows the x:T Ref of the enhancing collection of the conversion example of definition according to the present invention * |+|?Example, i.e. the exemplary transformation of the expansion that use is called;
Fig. 4 A and 4B are used to stride the orderly and unordered nest information of conversion preservation of FST respectively in conceptive (or tabulation) pattern and unordered (or set) pattern of illustrating in order in conjunction with these patterns QFX of the present invention;
Fig. 5 A shows and show to adopt exemplary, the indefiniteness process flow diagram with the example process of preserving orderly and/or unordered information by general transformation framework conversion FST provided by the invention;
Fig. 5 B shows and show to adopt exemplary, the indefiniteness block diagram with the example process of preserving orderly and/or unordered information by general transformation framework conversion FST provided by the invention;
Fig. 5 C to 5L show according to the present invention exist in order or under the situation of label information to the each side of exemplary, the indefiniteness of the conversion of state machine;
Fig. 6 A shows the exemplary finite state transducers according to QFX of the present invention;
Fig. 6 B shows the exemplary nested and unordered nested data tree structure in order of expression respectively to 6C, is used to preserve orderly and unordered nest information in conjunction with these nested QFX of the present invention;
Fig. 7 A shows according to the present invention the exemplary state-transition table sexual state machine data structure as an example that is modeled as of FSM;
Fig. 7 B shows according to the present invention the exemplary state table sexual state machine data structure as an example that is modeled as of FSM;
Fig. 8 A shows the exemplary state transition diagram that is modeled as with FSM;
Fig. 8 B shows according to the present invention the transcriber that the Moore model example is expressed as the state machine data structure of exemplary types;
Fig. 8 C shows according to the present invention the transcriber that the Mealy model example is expressed as the state machine data structure of exemplary types;
Fig. 9 is a block diagram of representing wherein can to realize exemplary, indefiniteness networked environment of the present invention;
Figure 10 is a block diagram of representing wherein can to realize exemplary, indefiniteness computing system of the present invention or operating environment.
Describe in detail
Described in background, be used for the work as front baffle of alternative like FST such as the mark digraph often represented and data tree structure at computing store, general inadequately for the information of when striding all types of FST conversion, preserving some type.The FST that for example, can't stride many types when front baffle preserves the action of some FST orderly and unordered nest information semantic or that represented by FST.
Thereby the present invention provides the general framework that is called as Q framework (being QFX) here, is used for carrying out realization to supporting the FST of action message to preserve the semantic efficient tree conversion of action in its expression.The Q framework that is used to carry out efficient tree conversion of the present invention also can be preserved orderly and unordered nest information when carrying out its efficient tree conversion.As understanding ground according to following description; QFX also allows various other novel aspects; Relate to ability to transform, transcriber figure, transform engine and the operation of transform engine execution of institute's definition tree grammer and corresponding conversion, definiteization (determinization) of changing example and comprising the variable rename, as will more describing in detail following.In one embodiment of the invention, the present invention the set of tree representation or tree representation is launched at least hand over, also, benefit and hollow testing conversion.
As further introduction, modular finite state transducers (MFST) is a state machine of realizing conversion.Particularly, MFST is the MFA that has expanded the usability of program fragments that is called as " action ".Common action comprises according to other objects that are stored in the environment to be constructed object, bind the variable in the environment and during pattern match, carries out predicate.
Just in this respect, at high level, Q framework of the present invention (QFX) allows programmer's definition to have the regular tree grammer of action and these syntax conversion are become MFST.QFX supports to use any territory specific language (DSL) to define action.In addition, QFX provides the special support to the variable binding action, produces a kind of tree grammar that is called as the attributed tree grammar.How exemplary below of the present invention, indefiniteness can compile and carry out the attributed tree grammar if realizing describing QFX.
Just in this respect, Compilation Method of the present invention is because of a plurality of reasons but favourable.This Compilation Method provides the support to the high-performance conversion via optimizing with other high performance methods.The simplification of assembly made easily to produce the simple transformation machine when this technique of compiling also allowed operation.As will be in following exemplary, indefiniteness detailed description, technique of compiling described herein also provides one group of clearly semanteme.Just in this respect, Compilation Method of the present invention makes the ground programmer semanteme of derivation tree grammer easily, comprises combination (composition) and the effect of being sidelong (side effect).
Generally speaking; Shown in the process flow diagram of Figure 1A; In computing system, launch the general framework that is used to receive various types of finite state transducers (FST) data structure in 100 the present invention, be applied to FST at 105 transform engines then framework with action semantic information.Then, 110, the predefine tree grammar of representing according to the FST of any kind carries out analysis and the conversion of FST, as will be in greater detail following.The result; 115, generating MFST, this preserves the action message etc. of FST to FST by conversion; For example when two or more FST are carried out any friendship, benefit and union, preserve orderly and unordered nest information, and allow uncertainty FST is transformed into the determinacy result.
Figure 1B is substantially corresponding to the block diagram of the above process that the one side that tree grammar of the present invention allows is shown.Transformation framework 125 receives the one or more MFST 120 that comprise that action is semantic, according to any friendship, and and mend transform operation (and/or other Boolean operators, have combination) conversion MFST, and will move semantic information and be kept at and export in 130.
Fig. 1 C shows demonstration and is used for the example frame of the conversion FST according to the present invention and exemplary, the indefiniteness block diagram of transform engine.As shown in the figure, in computing system, can in 140n, find various finite state machines to represent at each memory element 140a, in computing environment, have be used for according to the mutual processor P of Q framework provided by the invention 150.Generally speaking, Q framework 150 is represented the subclass of 140a to 140n via being used for conversion with the transform engine that generates MFST 190 180 reception finite state machines.Conversion is represented the subclass execution analysis 160 of 140a to 140n with reference to 170 pairs of finite state machines of attributed tree grammar, so that confirm how best finite state machine to be represented that 140a transforms to MFST 190 to the subclass of 140n.Interface I1 also is set in computing environment, be used to receive and define based on and be used for the digraph data structure of predefined tree grammar 170.
Therefore, in each indefiniteness embodiment, the present invention allows in computing system, data tree structure to be transformed into modular finite state transducers (MFST).The data tree structure of expression FSM (for example FST) comprises that definition is semantic about the action of the action message of the FSM that preserves through conversion process.In one embodiment, to the FSM model of any kind represented by data tree structure, for example digraph data structure, XML document etc., the present invention is transformed into data tree structure MFST and preserves action message simultaneously.Can expand, the predefine Transformational Grammar is what is all preserved action message, preserves the orderly and unordered nest information of data tree structure and becomes the transform engine of determinacy MFST to realize the uncertainty data structure mapping by the type of the FSM model of being represented by data tree structure.Advantageously, the present invention can handle the benefit, friendship of FSM type and and as the part of conversion process.
In other embodiments; The present invention includes Q framework (QFX); It comprises and is used to carry out assembly and the software of digraph to the conversion of modular finite state transducers (MFST), is included in the digraph data structure of analyzing any kind in the computing system and becomes MFST to preserve simultaneously to the semantic ability of the action of graph data structure the digraph data structure mapping based on analyzing.QFX representes to preserve finite state machine (FSM) the execution control flow analytical algorithm of mode to being represented by the digraph data structure to the action semantic information of graph data structure with the digraph of striding any kind.
In addition, QFX comprises the transform engine that the special-purpose binding of associative transformation digraph data structure execution is handled.Special use is bound and during processing is included in pattern match the action semantic information is carried out binding.And conversion comprises inline like the ability by defined at least one transcriber definition of the digraph data structure in graph data structure.And conversion comprises that the variable binding with the digraph data structure is compiled into the groove in the existing activation record, also comprises the register analysis to the finite state machine of being represented by the digraph data structure (FSM).Grammer the present invention definition, that realize above effect of the present invention and advantage can move the software interface realization of digraph data structure of semantic information via comprising such as descriptions such as C# interfaces.
In addition, in each embodiment, the present invention realizes adopting the lexical analysis of variable binding.And QFX is extendible, and the efficient interoperability with different conversion suppliers is provided.In addition, the present invention's realization promptly realizes and can not adopt expensive situation interpretive scheme that compiles and compiling AD HOC for repeated use the compromise control between compiling and the execution performance.At last, assembly can be participated in the QFX schedule regulation through the continuation point that variable granularity is provided during operation, thereby allows to use same mechanism that single or a plurality of results are provided.
The tree grammar sentence structure of simplifying among the following table I is exemplary, the indefiniteness model that can combine according to compilation process use of the present invention.
Tree grammar → definition+
Definition → regular expression name '=' select
Selection → rule (' | ' rule) * (or)
Rule → action? Rule clause+(action regular expression)
Rule clause → nested regular expression action? (regular expression action)
Nested regular expression → basic symbol (basically)
| variable binding? Asterisk wildcard (asterisk wildcard)
| quote (quoting)
| the nested regular expression of nested regular expression (sequence)
| variable binding? ' [' nested regular expression '] ' (binding nested)
| variable binding? ' (' nested regular expression ') ' (bindings group)
| nested regular expression ('+' | ' * ' | '? ') (repetition)
| nested regular expression ' with ' nested regular expression (with)
Quote → variable binding? Regular expression name (binding is quoted)
Variable binding → variable ': '
Table I-simplification tree grammar sentence structure
In above grammer, applicable exemplary operation method priority be repetition>binding>sequence>with>or.In the following description, x is used to represent variable; B is used to represent basic symbol (value of type or fundamental type); T is used to represent MFST; α is used for the expression action; And T Ref is used to represent quoting T.
Convert the prior art of NFA to and with reference to definiteization of NFA with reference to regular expression; The general survey that can be for example in the people such as Hopcroft that the people's such as Aho that Addison-Wesley publishing house published in 1986 " Compilers:Principles; Techniques and Tools (compiler: principle, technology and instrument) " or Addison-Wesley publishing house published in 2000 " Introduction to Automata Theory, Languageand Computation (introduction of automaton theory, language and calculating) ", finds such switch technology.As the improvement of prior art,, can use action expansion to MFST via the regular tree grammer of technology definition of the present invention based on QFX.
And the conversion prop root of in people's such as Aho article, discussing is gone up grammer according to this and is covered following example: or, and, basically, sequence, repeat and quote; Yet, in order to handle (1) action, (2) nested and (3) variable binding according to the present invention, to needing conversion in the following additional example shown in the following Table II:
α T (action regular expression)
T α (regular expression action)
X: [T] (binding nested)
X: [T] * |+|?(binding nested repetition)
X: (T) (bindings group)
X: (T) * |+|?(bindings group repetition)
X:T Ref (binding is quoted)
X:T Ref* |+|?(repetition is quoted in binding)
The enhancing collection of the conversion example of Table II-handle by QFX
Action regular expression and regular expression example of exercise are handled the compiling of the tree grammar with general action.Binding is quoted, bindings group, binding are nested, bind and quote the compiling that repetition, bindings group repeat and bind nested repetition exemplary process variable binding.Bind nested example and also regular expression is extended to nested regular expression.
Although not shown in the simplification tree grammar sentence structure of Table I, nonterminal definition according to the present invention can have regular parameter and type parameter.In one embodiment, compiler is handled regular parameter as inherited attribute, and uses to bind and use and bind application repetition conversion process type parameter.
Being transformed into MFST according to the present invention can use the state machine diagram of definition MFST to describe with exemplary approach.In synoptic diagram, shift by following mark: b/ α, wherein b is the incoming symbol of being consumed, and α is performed action.∈/α representes not consume input but carries out the transfer of certain action.This type transfer is called as action and shifts.When carrying out transcriber, in one embodiment of the invention, realize the maximum strategy (maximal progress policy) of advancing, it is lower than the priority that shifts from all input consumption of this state to shifting from the action of a state to assign.In the diagram, additional character ' [' and '] ' beginning and the end of expression input set respectively.Variable binding is write as the x=expression formula, and is applied to the current environment of transcriber.
To repeating operational symbol, promptly '+', ' * ' and '? ', the tabulation accumulation is used in result's set, should mechanism to cover the result be accumulated as any aggregate type but can promote, for example through using corresponding join operator.
According to each embodiment of the present invention, expand to bind to quote and bind by following dual mode and use the repetition example: inline with call.Inline expansion is with the space exchange time, and therefore in the realization of an indefiniteness of the present invention, inline expansion is preferred when definiteization MFST.Generally, calling expansion uses in three kinds of situation.First kind of situation is when compiling so that when explaining.In this case, uncertainization of compiler MFST, and all quoting be extended for call.Second kind of situation is recurrence.For example, if T Ref has quoted primary sign, then compiler will be quoted to be extended for and call.The third situation is expansion.If T Ref has quoted opaque MFST, then compiler will be quoted to be expanded into and call.
Compiler of the present invention converts tree grammar to instruction for the virtual machine that is called transform engine (XE).Below XE supported: other transform engine instance and (3) management and the visit to environment transferred in the definition and the operation of (1) transcriber, (2) control.
About first category, be used to preserve and explain that the technology of state machine definition is known.Thereby what below describe is exemplary, the indefiniteness method that is used to realize the second and the 3rd classes of instructions: shift and management.According to the present invention, these instructions are defined as the method in the docking port.Compiler does not directly generate calling these interfaces; On the contrary, compiler generates by XE and realizes that the XE that explains instructs.
According to interface XEControlInstructions provided by the invention (steering order) shown in the exemplary pseudo-code 200 of Fig. 2 A.XEControlInstructions interface 200 makes the operand of current XE instance as implicit expression, i.e. " this pointer " of XEControlInstructions interface 200.
Write down current location in the input item of the Mark that in the exemplary embodiment of QFX, provides (mark) method on labeled slots.Yield (generation) method ejects mark M from labeled slots, and returns the part of input item between M and current location.In one embodiment, QFX realizes these methods indirectly via the traversal supplier interface.Such method is advantageously represented item and travels through with a conversion to separate.Therefore traversal supplier can show and realizes traversal through the QFX transformation framework being applied to any particular data table.
Create new environment E according to Call provided by the invention (calling) method, and in E, preserve continuation (continuity) and callingEnvironment (transfer environment) (seeing the for example XEControlInstructions interface 200 of Fig. 2 A).The Call method is returned then the continuation that gives target (target) is shifted in control.The Call method is also called the Mark method to preserve current input position.Return (returning) method reverses this operation, and is used for using the Yield method that the project of being mated is kept at current environment (E): E.term=Yield ().Then, the Return method is stored E in variable callingEnvironment.result (result of transfer environment); At last, the Return method is returned continuation.When being called, continuation is arranged to callingEnvironment with current environment, and continues from calling state.
NewEnvironment (newly-built environment) method is created new environment according to the present invention.In addition, exemplary, the indefiniteness false code 210 of Fig. 2 B and 2C and false code 220 have been summarized the operation of PushEnvironment and PopEnvironment method respectively.
The PushEnvironment method is preserved current environment on the internal environment stack, and creates the new environment of tempEnv for example by name (interim environment).PushEnvironment is tied to variableName (variable name) with tempEnv then, and current environment is arranged to tempEnv, and calls Mark and write down current input position.
The PopEnvironment method has write down the subitem of coupling since last Mark calls in variable " term (item) ".PopEnvironment reduces current environment then from the environment stack.PopEnvironment does not preserve the environment of ejection, because the respective calls of PushEnvironment has been bound the environment that is ejected.
In addition, Exec (execution) method is carried out action according to the present invention.In the exemplary realization of QFX, ActionRefernce (action is quoted) is the table index corresponding to the table of the independent preservation of method pointer and loading.
According to XEEnvironmentInstructions provided by the invention (environmental directives) interface shown in the exemplary pseudo-code 230 of Fig. 2 D.XEEnvironmentInstructions interface 230 makes that example environments is explicit operand, i.e. " this pointer " of XEEnvironmentInstructions interface 230.
It is the new nested environment of " this environment " of this pointer that ChildEnv (subenvironment) method is created its father.Bind (binding) method with variable binding to value, if binds successfully then return very.In exemplary, indefiniteness embodiment, if variableName has current binding, then Lookup (searching) method is arranged to this binding with value and is returned true.Otherwise it returns vacation.
The operation support of transform engine of the present invention (XE) is to the state transitions dispatching priority.Compiler is through solving the ambiguity that causes because of the selection between the pattern to transfer sequencing possible on each state.In an indefiniteness embodiment, all transfers of normal input are had precedence over asterisk wildcard shift, and the latter has precedence over action and shifts.And in these priority groups, the programmer can be randomly to specific transfer dispatching priority.
The XE instance can be through supporting that wherein they use all transfers that are suitable for to solve a plurality of results' generation with the pattern from state continuation and time ordered pair extendible portion queuing according to priority.
Fig. 3 A shows the exemplary transformation of the α T example of the enhancing collection of the conversion example of definition according to the present invention.More specifically, Fig. 3 A shows the conversion of action regular expression example.This conversion is the application of the conversion of nested regular expression sequence example.The regular expression example of exercise is not shown, because it is the direct application to the sequence example.In synoptic diagram, circle SC1, SC2 and SC3 represent initial state, and circle IC1, IC2 and IC3 represent intermediateness, and two circle DC1, DC2 and DC3 represent receive status.
Fig. 3 B shows and binds nested example x: the exemplary transformation of [T].In Fig. 3 B, method PushEnvironment and PopEnvironment are abbreviated as PushEnv and PopEnv respectively.Initial state SC4, intermediateness IS3 and IS4 and receive status DC4 show the different conditions of the machine of Fig. 3 B definition.[afterwards, machine is created new environment E, and it is tied to x reading.Machine pushes current environment C then, and makes that E is a current environment.Machine is the current input position of mark also.Then, machine is carried out T, binds the variable among the E.The term of execution of T, variable binding is accumulated in E.Machine is the item of storage [T] coupling in E.term (environment item) then, and reduction C is as current environment.
Fig. 3 C shows and binds nested repetition example x: [T] * |+|? Exemplary transformation.Fig. 3 C shows compiler and how to change the nested regular expression that has repetition.Initial state SC5, intermediateness IS5, IS6, IS7 and IS8 and receive status DC5 show the different conditions of the machine of Fig. 3 C definition.Thus it is clear that, identical with machine among Fig. 3 B by the inner portion of the transcriber of state I S5, IS6, IS7 and the definition of IS8 state.Around this machine is the container state machine, comprises initial state SC5 and receive status DC5.The target of container machine is to accumulate environment as the tabulation that is tied to variable x.
Just in this respect, transcriber is created empty tabulation and it is tied to x.Then, the transcriber result that will carry out a [T] is appended to x.Carry out and append step and use this arc through being labeled as " to ' * ' with '? ' " forward ∈ transfer and can randomly appear.Carry out and append step through traversal be labeled as " to ' * ' with '+' use this arc " and reverse ∈ transfer and can randomly repeat.
Fig. 3 D shows x: (T) exemplary transformation of example.Initial state SC6, intermediateness IS9 and IS10 and receive status DC6 show the different conditions of the machine of Fig. 3 D definition.Fig. 3 D shows the similar transcriber of transcriber with the nested example of binding of Fig. 3 B, except incoming symbol is not consumed in the transfer of turnover T among Fig. 3 D.
Fig. 3 E shows the exemplary transformation of x:T Ref example, promptly uses and calls expansion.Fig. 3 E has defined the machine that comprises initial state SC7, intermediateness IS11 and receive status DC7, and shows the use to the regulative strategy that expands x:T Ref.First shifts and to have carried out call instruction Call (T), and this is writing a Chinese character in simplified form of following exemplary, indefiniteness false code:
Call (T, CurrentContinuation (current continuity), CurrentEnvironment (current environment))
The CurrentContinuation that calls the pointer place is the intermediateness IS11 that shifts the arrow afterbody.The transcriber that is called returns its environment in the variable result.At last, the transcriber that calls is tied to x with the result.
Does Fig. 3 F show x:T Ref*|+|? The exemplary transformation of example is promptly used and is called expansion.Fig. 3 F has defined the machine that comprises initial state SC8, intermediateness IS12 and IS13 and receive status DC8, and shows the duplicate vessels that is applied to call.This transcriber is similar to the transcriber of Fig. 3 C, adopts calling as inherent transcriber to replace the inline expansion of T T.
In 3F, there is not the conversion example of description to be bindings group repetition example and to bind the inline version of quoting example at Fig. 3 A.The bindings group repeated combination duplicate vessels and the bindings group transducer shown in Fig. 3 D of Fig. 3 F.In addition, binding is quoted identical with bindings group repetition example with bindings group respectively with the inline version of binding the repetition example.
According to the present invention, how definiteization description formulates the subset construction technology to consider and possibly have the transfer of action.According to the present invention, the permission action is related with transfer and state.Although can only adopt the determinacy transcriber is constructed in the action of shifting, this selection makes algorithm more complicated, and is direct for state with shifting both storage action efficiently.
Simplify some details, Fig. 2 E has listed like exemplary, the indefiniteness ∈ closure algorithm of in QFX, realizing, i.e. State < T>.EClosure+.Expand the action that this method shifts ∈ with accumulation.Be labeled as (A1) and row (A2) in the exemplary pseudo-code 240 of Fig. 2 E and in tabulation " actions (action) ", be kept at the everything that travels through between ∈ closure tectonic epochs epsilon (ε) transfer.Total definiteization algorithm is transferred to determinacy finite state transducers (DFST) state from ∈ closure structure with these actions of preserving.
Fig. 2 F show as according among the QFX exemplary approach realized is modified to hold the subset construction of action, i.e. NFA < T>.SubsetConstruction.The mark of exemplary pseudo-code 250 labels (B1) to (B6) of modification and interpolation Fig. 2 F is capable of to hold action.Row (B1) and (B2) find source state (src) to have all states to the transfer of symbol; The also action of each transfer of accumulation in symActions (symbol action) of these row.Row (B3) and the similar functions of (B4) carrying out the ∈ transfer.At last, row (B5) shifts the DFST that symActions adds between src and dst (purpose) state, and row (B6) adds epsActions (ε action) to the src state.These actions are carried out after the transfer that is accomplished to src then.In one embodiment, these algorithm supposition actions do not have the effect of being sidelong except binding variable in current environment.
Generally, advantageously, below realizing, this method that is used for definiteization according to the present invention guarantees:
1., then move α 1 and α 2 to call by lexical order if a pair of action α 1 and α 2 are elements of same generation;
2. if action α 1 is a part that produces p1, and action α 2 is the parts that produce p2, p1 ≠ p2, then transcriber will call any among α 1 or the α 2.Transcriber is only shared prefix pre and pre at p1 and p2 and is comprised under the situation that α 1 and pre among the p1 comprise the α 2 among the p2 and call this two actions; And
3. in the initial definition of grammer, the last action of each generation has the effect of being sidelong.In one embodiment, transcriber can not move this action, and other action is all accomplished up to all.
At this on the one hand, the attributed tree grammar allows the programmer to utilize above assurance.The use attribute grammer, the programmer can be the variable binding in the current environment with all manual expressions.Such action can be taked one of two kinds of forms: x:T or x=expression formula, and wherein expression formula can be come calculated value from current environment read value or invoke code.As long as the code that expression formula is carried out is not introduced the order dependence, the result who carries out tree grammar is exactly deterministic.
But the effect of being sidelong postponed in programmer's use attribute grammer, should be called up to this effect of being sidelong clearly.For example, for the traverse tree print text, but programmer's use attribute is collected bunchiness with text, and this string is printed in the last action that is associated with the tree grammar primary sign of basis then.The programmer also can select " when moving " to print subtree through making the printing action follow clear and definite nonterminal definition.
For the variable rename of exemplary, indefiniteness embodiment according to the present invention, be the independence of guaranteeing the variable binding action, compiler rename variable makes that each variable of binding among the MFST is unique.If compiler also is given action generating code, the also variable among the rename α of compiler then.If code block B is opaque for compiler, then the compiler arrangement is searched the environment of its original name to the name that B transmits after turned is crossed the renewal of original variable name.
Can be randomly, can come the optimization variable rename through executed activity surface analysis and the name that makes some original variables share after the same renewal.And the transcriber performance can be through using side-play amount that compiler confirms be embodied as array with variable reference and visits and improve.
Thereby, in one aspect in, the present invention is provided for carrying out the general framework of efficient tree conversion, this conversion is striden a different set of FST and is represented to realize the semantic preservation of action to the FST that in its expression, supports action message.Can to FST carry out any friendship, and and other Boolean operator of mending transform operation and having combination, it is semantic to preserve action simultaneously.
In addition; As above in background mentioned ground; Under limited environment; Existence can be striden the tree conversion and preserved some system of orderly nest information and can stride the tree conversion and preserve some system of unordered nest information, but still do not exist for example can stride hand over, also, tree conversion such as benefit preserves in order and the system of unordered tree both information.Thereby in each indefiniteness embodiment, the framework that is used to carry out efficient tree conversion is also preserved orderly and unordered nest information in the tree conversion of carrying out FST.
Difference between orderly and unordered information concept nature in Fig. 4 A and 4B illustrates.Fig. 4 A shows the orderly pattern that also is called as list mode, it require red, then green, blue and then red sequence is so that match pattern then.Thereby, on the pattern match meaning, considered the order that schema elements occurs.Fig. 4 B shows the no sequence pattern that also is called as set mode.The set mode of Fig. 4 B shows the element identical with the list mode of Fig. 4 A, but has no order specifically.Therefore the set mode of Fig. 4 B has represented that two with any order are red, the set of a green and indigo plant.When carrying out pattern match, consideration be the appearance of element in set, promptly whether element appears in two trees, but not element occurs with which kind of order.
The instance of list mode coupling situation can have the input of password in the computing system, and wherein password is the sequenced collection of numeral.Because for each character of password input must be with the certain order input so that coupling be the correct password of this user storage in system, the password match situation will be based on the tree construction match pattern with orderly information.
The example of set mode coupling situation has the file of one group of appointment of search in file system, for example Pic_Amy, Pic_Greg, Pic_Neyda in the computing system.When file that these pictures of search occur, coupling be that their appearance but not they in file with which kind of order occur.In other words, the user in the search scenario only pays close attention to and finds each the file that has in these files, and the inferior ordered pair user that picture is stored in system is unessential.Another example of set mode coupling situation is in database, to find a certain name, middle first name and last name together, and the result does not rely on data and is stored as " surname, name, middle name ", " name, middle name, surname " or " name, surname, middle name ".This three all satisfies this data base querying with any appearance of any order.
Based on framework of the present invention, can carry out conversion to MFST and preserve the orderly and unordered both information of representing by data tree structure simultaneously, comprise any friendship, and and mend conversion.Therefore can carry out conversion about the child's of tree the set and the pattern of tabulation hypothesis to combination.Therefore, the orderly or unordered information in the node of tree construction of being nested in is all striden conversion and is preserved.
Shown in the process flow diagram of Fig. 5 A; In computing system, launch the general framework that is used to receive various types of finite state transducers (FST) data structure that comprises orderly and/or unordered information in 500 the present invention, be applied to FST at 505 transform engines then framework.510, the tree grammar of representing according to the FST of above-mentioned any kind carries out analysis and the conversion of FST.The result; 515, to generate MFST, this preserves the action message of FST to FST by conversion; For example when two or more FST are carried out any friendship, benefit and union, preserve orderly and unordered nest information, and allow uncertainty FST is transformed into the determinacy result.
Fig. 5 B is substantially corresponding to the block diagram that this above process on the one hand that tree grammar of the present invention allows is shown.Transformation framework 530 receives and comprises orderly information, unordered information or both one or more MFST 520,522 or 524 respectively; According to any friendship, and and mend transform operation (and/or other Boolean operators; Have combination) conversion MFST, and with orderly and/or unordered information be kept at output 540 in.
Fig. 5 C to 5I show exist in order or under the situation of label information to the each side of exemplary, the indefiniteness of the conversion of state machine.Shown in the block diagram of Fig. 5 C, problem relates to two state machine M 1And M 2Also, state machine M 1And M 2Have independent receive status 550 and 555 separately, promptly how in the conversion of machine is represented, to represent this information.In the past, this is to realize that through two receive statuss 550 and 555 being combined into both single receive statuss of expression this can cause the loss from the information of original machine.
According to the block diagram of Fig. 5 D, aspect exemplary, indefiniteness in, the present invention accepts the receive status of oneself state machine mark in transcriber 560 as a result.In each indefiniteness embodiment, the present invention introduces mark and U during conversion LProcessing, this be the machine that comes from receive status name-tag and machine receive status and variant.
Shown in the example of Fig. 5 E, when carrying out M 1U LM 2The time, exist three kinds of the receive status label maybe: " M 1" 575, " M 1, M 2" 580 with " M 2" 585.Receive status in this cue mark and the machine is represented by M respectively 1, M 1And M 2Both and M 2The input of accepting.As in Fig. 5 I, illustrating in greater detail, in exemplary, indefiniteness realized, these labels can be illustrated as the position, position of each original machine.For example, can be to M 1Assign low level, and to M 2Assign high-order.So possible label can be represented as " 01 " (that is M, 1But not M 2Accept input), " 11 " (that is M, 1And M 2All accept input) and " 10 " (that is M, 2But not M 1Accept input).Another kind of possibility is " 00 ".And the equal nonaccepting state of machine can be regarded as and have this label (because M 1Or M 2All do not accept input).
In this regard, shown in the block diagram of Fig. 5 E, except generating expression M 1M 2Beyond the node of receive status as a result 580 of combination, the present invention also generates expression receive status M 1With receive status M 2Receive status node 575 and 585.Shown in Fig. 5 F, when running into union symbol M 1∪ M 2The time, any in these receive statuss 575,580 and/or 585 can be the part of the receive status that obtains, and shown in Fig. 5 G, ships operator M 1∩ M 2Only mean M 1M 2Node 580.For example, when to M 1Assign low level and to M 2Assign when high-order, in an indefiniteness embodiment, and machine is labeled as " 11 " through finding receive status is converted into the friendship machine.If there is not such state, it is empty then handing over machine.One group of state A of given being labeled as " 11 ", through from and machine remove and can not arrive that any state of any state generates the friendship machine the A from it.
Shown in the block diagram of Fig. 5 H, also can during conversion according to the present invention, catch subtypeization.Three kinds of results that can confirm when the definiteization assembly 570 about the type existence. M 1 &Subset; M 2 Be if there is not receive status to be marked as M 1A result, shown in the top.M 1=M 2Be if only generate receive status M in the centre 1M 2Another result of 580 o'clock. M 2 &Subset; M 1 Be if there is not receive status to be marked as M 2A result, as shown in the bottom.Given with up-conversion process, can confirm subtypeization.For example, when to M 1Assign low level and to M 2Assign when high-order, if all receive statuss all are marked as 11, M then 1Equal M 2If existence is labeled as 10 and 11 receive status, then M 2Comprise M 1(that is M, 1Be M 2Subtype).
Fig. 5 I shows the process flow diagram according to exemplary, the indefiniteness process of mark union symbol conversion machine 590 and machine 592, and wherein each in two machines 590 and 592 is two machines.Above-mentioned exemplary, indefiniteness according to using the position label realize, to the label L of machine 590 1And L 2Assign two, and to the label L of machine 592 3And L 4Assign two.When mark union symbol according to the present invention made up, this produced 16 receive statuss in 4 machines 595 of result.For example, L 2To receive label 0010, L 2L 4Receive label 1010, L 1L 2L 3L 4Receive label 1111, the rest may be inferred, up to having represented all combinations.
Fig. 5 J shows how the orderly machine of conversion is to construct and to make up corresponding unordered machine.For example, set of modes P possibly comprise the constraint that can choose appearance wantonly, such as by following set { p 1, p 2 *, p 3 +The expression constraint, this indication comprises at least one p 1Set, comprise zero or a plurality of p 2And one or more p 3Set.Realize that according to exemplary, indefiniteness of the present invention set mode P is divided into two ingredients: (A) and pattern 596, such as the p in the example collection P that describes at present 1∪ p 2∪ p 3, and (B) set 598 of mark operation, it accepts some input separately.In present said example, this can obtain { L 1, L 2 *, L 3 +, L wherein 1, L 2And L 3Difference mark receive status p 1, p 2And p 3
Thereby, shown in Fig. 5 K, for exemplary, indefiniteness according to the present invention realizes such as no sequence pattern execution mark such as given no sequence pattern P1 and P2 and U L, calculate following expression formula: ∪ (P 1), ∪ (P 2), Γ (P 1) and Γ (P 2), wherein ∪ (x) is the also pattern of x, and Γ (x) is the set of the acceptance operation of x.So, based on these expression formulas, obtain following two results:
(1)∪(P 1LP 2)=∪(P 1)∪ L∪(P 2)
(2)Γ(P 1LP 2)=Γ(P 1)*Γ(P 2)
Wherein in Fig. 5 K and the above equality (2) " * " operational symbol LUCP expressive notation and cross product computing.
Then, mark ∪ (P again 1LP 2), make that the operation mark is consistent.For example, realize mark again through each l in the redundant set of tags that rewrites R.From R, select any member z (for example, minimum label of numbering or order lowest order in the realization of above-mentioned position of pressing label), and each l among the R is rewritten as z with l.For example, shown in Fig. 5 L, wherein? (P 1 LP 2) have exemplary receive status label A SL1, comprise " L 1, L 2", " L 1, L 3, L 4, L 2" and " L 2, L 4", L then 3Can be by L 1Replacement, and L 4Can be by L 2Replacement is to form compression receive status label A SL2, i.e. " L 1", " L 1, L 2" and " L 2".
As stated, " * " operational symbol LUCP expressive notation and the cross product computing in Fig. 5 K and the above equality (2).At the P that as above schemed said mark again 1And P 2Acceptance operation after, can be according to following indefiniteness procedure definition mark and cross product computing.At first, be a pair of operation R 1And R 2Defining operation symbol U LFor this reason, label (R) is defined as the label of operation R.R is defined as the set to (l, [x, y]) then, and wherein l is from the P of mark again 1LP 2A certain label, number appears and x is the minimum of l, number appears and y is the maximum of l, and [ x , y ] &SubsetEqual; [ 0 , &infin; ] . Through considering R 1* R 2(that is R, 1And R 2Cross product) in each element to calculating R 1LR 2, as follows.To each to (l 1, [x 1, y 1]), (l 2, [x 2, y 2]), if l 1=l 2, (l then 1, [x 1, y 1]), (l 2, [x 2, y 2]) use interval union to become (l 1, [x 1, y 1]) U (l 2, [x 2, y 2]).Otherwise, (l 1, [x 1, y 1]), (l 2, [x 2, y 2]) be empty set.
Therefore, to R 1* R 2(be R 1And R 2Cross product) in member z, U LBe calculated as or (l 1, [x 1, y 1]) U (l 2, [x 2, y 2]) or empty set.Then through obtain these result's and form result set S and calculate R 1U LR 2If S has and R 1And R 2Identical radix, then R 1U LR 2Be to have for example label (R 2) and label (R 2) wait the S of label.Otherwise, R 1U LR 2Be { R 1, R 2, R wherein 1And R 2Non-intersect, and they have individual tags.
For example, if:
R 1={(L 1,[0,1]),L 2,[1,∞]),L 3,[1,1])}
R 2={(L 1,[1,2]),L 2,[2,2]),L 3,[1,1])}
R then 1U LR 2=have a label label (R 1), label (R 2) { (L 1, [0,2]), L 2, [1, ∞]), L 3, [1,1]) }.
Again for example, if:
R 1={(L 1,[1,1]),L 2,[2,∞]),L 3,[1,1])}
R 2={(L 1,[0,∞]),L 2,[1,1]),L 3,[4,4])}
R then 1U LR 2={ R 1, R 2Because R 1And R 2Non-intersect.
Again for example, if:
R 1={ L 1, L 2L wherein 1Be (L 1, [1,1]) etc.
R 2={L 1,L 2,L 3 *}
R then 1U LR 2=have a label label (R 1), label (R 2) { L 1, L 2And have label label (R 2) { L 1, L 2, L 3 +.
Generally speaking, at first calculate R according to said process 1U LR 2, promptly according to operation R of the present invention 1And R 2U LDefinition.Then, through obtaining R 1With (R 1U LR 2) friendship and R 2With (R 1U LR 2) friendship be R 1∩ (R 1U LR 2) and R 2∩ (R 1U LR 2) come refinement result, i.e. R 1∩ (R 1U LR 2) and R 2∩ (R 1U LR 2) be to use and be similar to union symbol U LMethod carry out, just replaced interval union with interval the explanation.
In exemplary, indefiniteness embodiment of the present invention, for this reason, and operation is divided into fragment R 1, R 2And R 1∩ R 2These fragments R 1, R 2And R 1∩ R 2Use label (R then respectively 1), label (R 2) and label (R 1), label (R 2) mark.
Thereby, P wherein 1And P 2Be no sequence pattern, can carry out P 1U LP 2Definiteization.Thus, the invention enables P 1U LP 2Can be calculated as have and mode section and and the no sequence pattern of the set of the acceptance of pattern operation, each operation mark from P 1, P 2Or both labels.P 1U LP 2So can be other no sequence pattern P with certain 3Also, this pattern also has and the set of pattern and mark operation, to another no sequence pattern P 4The rest may be inferred.
Exemplary, indefiniteness is used situation
Understand in order to replenish, of the present invention each uses situation to show the various application that can in computing system, use the pattern match of using Q framework of the present invention.The coupling ability semantic or orderly and unordered information of the action in the tree of conversion just of preserve embedding has simultaneously been launched various pattern matching systems thus in computing system set.Yet selected practical situation only is exemplary, thereby not as the restriction in the field of the pattern match that the present invention is suitable for.In fact, the ability of conversion MFST according to the present invention is quite widely by definition, loses the information that retrains about action or embeds the just orderly and unordered information in the tree representation of conversion because need not to take into account.
Just in this respect, as stated, the Q framework allows based on handing at least, and and mending conversion and preserve such action or orderly and unordered information during conversion MFST.Adopt this three kinds of transform operations, can carry out the character on the data tree structure, it is called structure compatible property or subtypeization by those skilled in the art.Usually, computing application program wants to know that whether given tree is the subclass of another given tree or the set of tree (or also, mend or hand over certain transform operation of defined these trees).
The applicable another kind of important condition of the present invention is to carry out the extensive application program of static type checking, and wherein compiler is checked program, and requires process compatible.The process compliance check relates to the pattern match of tree set, and helps to find out the bug in the computer program.
Generally speaking, user or computing system possibly hope that the test class that realizes to the subclass of setting data acquisition or tree data is unlimited.Yet, some recurrence test can take place usually.For example, test hope knows whether first tree or the first tree set set intersection of sets with second tree or second usually.Perhaps, may like to know that the total that whether has the tree set, and whether have covering all paths of tree traversal.Perhaps the user may like to know that what tree causes default situations.Also can hope to test hollow testing, whether this has inquired can accept the problem of any tree as pattern match.As previously mentioned, in one embodiment of the invention, the present invention allows following four kinds of conversion test: hand over, also, benefit and hollow testing.
The employing compiler has more than been described to favourable use of the present invention.The present invention also can be used for various other situations, confirms such as pattern.For example, message is come with buying order, and problem is to buy whether certain pattern of compatibility of order.Pattern match of the present invention can be used for to the pattern acknowledge message, and do not consider action semantic or in order/or unordered information and in the result, preserve simultaneously action semantic or in order/unordered information.
The contract inspection is another exemplary purposes of the present invention.For example, company possibly have the Manpower Resources Accounting System's who relates to company strategy, and it stipulates that it must require (safety of for example, the storage of X quantity, Y quantity, the processing power of Z quantity etc.) in accordance with one group of computing machine of representing physical system.Just in this respect; Each configuration can be represented as one group of requirement in the tree representation; And according to the tree ability to transform of framework of the present invention, system analyst can come the configuration of transformation calculations machine according to the predefine conversion, and checks whether new computer configuration matees the required contract of HR computing system.
The present invention also can be applicable to find the security breaches pattern in the computing system institute recorded logs data acquisition, or the possible configuration of definite computing system.Whether the present invention can be applicable to fire wall, imports into there and the message that spreads out of fire wall can be regarded as tree, wherein can adopt pattern match to observe and should not allow any given message to pass through fire wall.Because this paper conversion Boolean calculation that mention, that the Q framework is supported can be used for forming any logical statement, any algorithm in the computing system can be by reduction Cheng Shu, but and application model mate and determine whether to observe these rules.Therefore, should know that application of the present invention is unrestricted.
Finite-state automata and transcriber
To additional context, the model of the behavior that finite state machine (FSM) or finite-state automata (FSA) are made up of state, transfer and action.The state storage of FSM is about the information in past, i.e. state reflection changes from the input in the initial moment up till now of system.The transfer indicating status changes, and is described by the condition that requires to fulfil to allow to shift.Action is the description of the activity that will carry out at given time.There are some type of action: get into, withdraw from, input and transfer action.Get into action and when getting the hang of, carry out this action.Withdraw from action and when exit status, carry out this action.Input action depends on current state and initial conditions is carried out action.Transfer action is carried out this action when carrying out a certain transfer.
Finite state transducers (FST) is to use action to generate one type of FSM of output based on given input and/or state, and can be used for controlling application program, structure computer program etc.Fig. 6 A shows simple finite state transducers 620.Transcriber 620 generates output 630 based on given input 610, such as by FSM 620 conversion or conversion.Two types of transcriber FSM that exist are Moore model and Mealy model, and they will more be described in detail following.Also often use mixture model.
Therefore, can understand and can numerous different types of departments of computer science process of unifying be modeled as FSM and FST.For example, can use digraph that any extend markup language (XML) document is expressed as FSM.Relation data in the relational database can represent in this manner that also for example input whereby (for example, inquiry) converts output (for example, Query Result) to by FST, and FST representes the storage of bottom relation.Generally speaking, when being used for the computer processes modeling, FST is represented as mark limit digraph usually, one of each vertex representation n state wherein, and the transfer from a state to another state when being illustrated in the letter character that receives this limit of mark of each limit.
When the numerous complicated subsystem in the computer system and process were become total system a part of by communicative couplings, in order to design the software of total system, the deviser can at first be shown FST with each subsystem and plan, and for example digraph or other are equivalently represented.Then, in order to create sophisticated computer programs for the individual system that connects different sub-systems, for example the FST of digraph can according to various operative combination or otherwise conversion so that form the new digraph of the behavior of expression total system.
For example, suppose that user Jane makes request to the photo of the holiday that be stored in friend John database from client computer to Internet server via the Internet, and obtain the service of the application program on the Internet server.As being appreciated that ground, the end to end communication that carries out according to such request is numerous, begins and guarantees that except execution request itself Jane also is authorized to check the photo of John with the authentication to Jane.As simple example, make and handle request itself and can be modeled as a FST.At the server place; The 2nd FST can be to checking with reference to various rules whether Jane are behavior modelings of the friend of John; These rules are such as finding in the set of access control list (ACL) and corresponding strategy, and they can be expressed as a succession of XML fragment, tree or digraph.In addition, the 3rd FST can be to the modeling of relational database own.Through being gathered with the 3rd FST, first, second carries out conversion, combination, coupling, conversion etc.; Can form new digraph; Its expression system and specific input request is returned is (" mandate ") or the not answer of (" uncommitted "), and handle the transmission of photo.
Generally speaking, FSM can use constitutional diagram (or state transition diagram) expression like the simple state transition diagram of Fig. 8 A.In Fig. 8 A, represented to have respectively and get into action and get into A1 and two state S1 that get into A2 and S2, mean when getting the hang of S1, to carry out to get into action and get into A1, get into action and get into A2 and when getting the hang of S2, carry out.And, when jump condition TC1 took place, the transfer T1 to S2 took place from state S1; And when jump condition TC2 took place, the transfer T2 to S1 took place from state S2.State S1 possibly be " door is opened ", and state S2 possibly be " door is shut ".Thereby, in order to forward state S2 to, must take place shift T1 from state S1, just this only takes place when jump condition TC1 takes place, and TC1 possibly be " power just making mobile on closing direction ".Therefore the entering action of when getting the hang of S2, carrying out gets into A2 possibly be " closing to the doorstep ".Follow similar transfer chain opening Men Shike, promptly forward state S1 to from state S2.
Except synoptic diagram, also can use dissimilar state-transition tables to represent FSA.The common of such state-transition table STT1 is illustrated in shown in Fig. 7 A, wherein such as the row of table STT1 such as current state B with indicate when being in state B the NextState that takes place when the occurrence condition Y, i.e. state C such as the combination of the row of table STT1 such as state Y.Yet, adopt table such as state-transition table STT1, only can use footnote to add complete action message.
Yet, exist the user mode table to comprise the FSM definition of whole action messages.For example, the FSM that in virtual environment, defines is called as virtual finite state machine (VFSM), and it relates to the software designation method of the behavior of the assignment name description control system that uses input control character and output action.
Virtual environment characterizes the environment of the operation of VFSM wherein, and by three name sets definitions: input name, output name and state name.The input name is represented by the control character of all Available Variables.The output name is represented by all actions available to variable, and each state definition of state FSM by name.The input name is used to make up the virtual condition of executing state transfer or input action.Virtual condition is to use positive logic algebraically to make up.The output name is used for trigger action (get into action, withdraw from action, input action or transfer action).
The details of state table definition VFSM state behavior is shown in the exemplary state table ST1 of Fig. 7 B.State-transition table ST1 comprises three row: in first row, and user mode name SN; In secondary series, placed the virtual condition C O that uses positive logic algebraically to make up according to the input name; In the 3rd row, the output name of trigger action AC appears being used for.
Except its purposes to the reactive system modeling as appearing herein, FSA is important in numerous different field, comprises language, computer science, philosophy, biology, mathematics and logic.Finite state machine is one type the automat of in the automaton theory and the theory of computation, studying.In computer science, finite state machine is widely used in design, soft project, compiler and the calculating of application programs behavior modeling, hardware digital display circuit and the research of language.The complete close examination that FSA is used is practically impossible---exists FSA is applied in the system in fact unlimited application Anywhere.
Generally speaking, transcriber calculates the relation between two kinds of formal languages.In the context of FSM and FSA, the transcriber usage operation generates output based on given input and/or state, and can be used for controlling application program.General transcriber FSM:Moore model and the Mealy model of distinguishing two types.In fact, often use mixture model.
Be illustrative purpose, Fig. 8 B shows transcriber FSM 800, and it illustrates the Moore model example that has one of four states S3, S4, S5 and S6 and export O3, O4, O5 and O6 accordingly.Adopt the Moore machine, FSM only uses and gets into action, i.e. output only depends on state.The advantage of Moore model is the simplification of behavior.Example among Fig. 8 B shows elevator door Moore FSM 800.Two orders of state machine identification: " order is opened " C1 and " order is closed " C2, their triggering states change.For example, the entering action EA1 in " opening " state S6 activates to open the motor of door, and the action of the entering among " closing " state S4 EA2 starts the motor on the other direction of closing door." opened " state S3 and " closing " state S5 do not carry out any action in this example, on the contrary they respectively to external system (for example, other state machine) with signal indication " door is opened " or " shut ".
Fig. 8 C shows transcriber FSM 810, and it shows the Mealy model example that has two state S7 and S8, exports O7 and O8 and input action I1 and I2 accordingly.Adopt the Mealy machine, FSM only uses input action, and promptly output dependence is in input and state.The use of Mealy FSM is caused usually the minimizing of state number.Example among Fig. 8 C illustrates and realizes having two input actions with the Mealy FSM 810. of the Moore example 800 identical behaviors of Fig. 8 B: " arriving if order is closed; then actuating motor is to cut out a door " I1 and " if order is reached reach, then start motor on the other direction to open a " I2.
Another differentiation of finte-state machine is deterministic finite automaton (DFA) and uncertainty (NDFA) or general non deterministic finite automaton (GNFA).In deterministic automation,, there is just what a transfer in each possible input for each state.In non-deterministic automata,, possibly there are zero or more than one transfer from given state to given possible input.This differentiation is to concern reality, but not theoretical, because there is the algorithm that can any NDFA be transformed into the DFA of equivalence, although this conversion significantly increases the complicacy of automat usually.
The FSM that only has a state is called as combination FSM, and only uses input action.This notion needs a plurality of FSM to work together therein, and the FSM of being convenient to the part that makes up purely is considered to a kind of form is with useful in the situation that is fit to design tool.
Generally speaking, transcriber calculates the relation between two kinds of formal languages.One type of relation that finite state transducers (FST) calculates is called as reasonable relation object.FST helps natural language processing research usually.
FST is the finite state machine with two bands, and it forms contrast with the common finite-state automata with single band.About name, automat is said into the identification string, if the content of its band is regarded as input.In other words, automat calculate with string be mapped to set 0, the function of 1}.Perhaps, automat is said into the generation string, this means that its band is regarded as output and is with.Based on this viewpoint, automatic machine generates the formal language as the set of string.Two kinds of viewpoints of this of automat are of equal value: the function that automat calculates is the indicator function of its set of strings of discerning just.The class of languages that finte-state machine generates is called as the regular language class.
Two bands of transcriber generally are regarded as input tape and output band.Thus, with transcriber say through accept on its input tape string and its output with on generate another string and the content conversion (that is conversion) of its input tape become its output band.But do like this to its uncertainty, and it may produce the output more than one to each input string.Transcriber possibly not produce output to given input string yet, in this case, it is called the refusal input.
For additional context, in form, finite state transducers T be polynary group (Q, ∑, Γ, I, F δ), makes:
Q is a finite set, the set of state;
∑ is a finite set, is called as input alphabet;
Γ is a finite set, is called as output alphabet;
I is the subclass of Q, the set of original state;
F is the subclass of Q, the set of end-state; And
&delta; &SubsetEqual; Q &times; ( &Sigma; &cup; { &Element; } ) &times; ( &Gamma; &cup; { &Element; } ) &times; Q (wherein ∈ is empty) is transfer relationship.
(Q δ) can be regarded as the mark digraph, is known as the transition diagram of T: the set on summit is Q, and (q, a, b, r) ∈ δ mean existence from the summit q mark limit of r to the limit.In this regard, a is this limit input label, and b is an output label.
To expand transfer relationship δ *Be defined as the minimal set that following formula is set up:
&delta; &SubsetEqual; &delta; * ;
To all q ∈ Q, (q, ∈, ∈, q) ∈ δ; And
As long as (q, x, y, r) ∈ δ *And (r, a, b, s) ∈ δ, then (q, xa, yb, s) ∈ δ *
The reflexive transitive closure that the expansion transfer relationship comes down to expand the transition diagram of considering the limit label.δ *Element be called as the path.The limit label in path obtains through being connected in series its limit label of forming transfer in order.
The behavior of transcriber T is the reasonable relation [T] as giving a definition: and if only if exists i ∈ I and f ∈ F to make (i, x, y, f) ∈ δ for x [T] y *If promptly having from output state the input label to end-state is x and output label is the path of y, then T will go here and there x ∈ ∑ *Conversion bunchiness y ∈ Γ *
Following computing to finte-state machine definition also is applicable to limited transcriber: also, serial connection, Kleene closure, combination, the projection of input tape and the projection of output band.
For union, there are transcriber T ∪ S in given transcriber T and S, make x [T ∪ S] y and if only if x [T] y or x [S] y.
For the serial connection computing, there are transcriber TS in given transcriber T and S, make wx [TS] yz and if only if w [T] y or x [S] z.
For the Kleene closure computing, there is the transcriber T with following character in given transcriber T *: (1) ε [T *] ε; (2) if w is [T *] y and x [T] z, then wx [T *] yz; And x [T *] only if y is false and entrusted by (1) or (2).
Notice the notion of the friendship that does not have transcriber.On the contrary, have combinatorial operation, this is that transcriber is special-purpose, and its formation is similar to the friendship of automat.Following combinations of definitions:
There are the transcriber T ο S on ∑ and the Δ in transcriber T on given alphabet ∑ and the Γ, and the transcriber S on alphabet Γ and the Δ, make x [T ο S] z and if only if to exist to make the string y ∈ Γ of x [T] y and y [S] z *
Also can arbitrary band projection of transcriber be obtained automat.There are two kinds of projection function: π 1Preserve input tape, and π 2Preserve the output band.First projection is π 1By definition as follows:
There is finte-state machine π in given transcriber T 1T makes π 1T accepts x and if only if to exist the string y of x [T] y.Similar definition second projection is π 2.
In addition, finite state machine can be used for representing partial order, and this has formed the intuitive concept of graded, definite sequence or the arrangement of set element.Partial order needs not to be total order, and this has guaranteed that all elements can compare mutually in the set.Just in this respect, total order is all a kind of partial orders to definition for collection items.
Therefore, to some but need not to be whole projects to the definition partial order.For example, { a, b} is with { a, c, d} are { a, b, c, the subclass of d}, but they are not subclass each other in set.Therefore " subclass " is the partial order in the set.As another example ,≤(being less than or equal to) is the total order on the integer, because to any two integers, one of integer always is less than or equal to another integer.
Shown in Fig. 6 B, the information of " b " " is implied " in orderly nested expression " a ", but does not have alternate manner (that is, " b " needn't " imply " " a ") according to this ordered layered structure periphery.Therefore, the tree of Fig. 6 B is the example of in order nested expression.On the contrary, the unordered nested example of the tree representation of Fig. 6 C.In this regard, no matter the factural information of the tree representation of Fig. 6 C be read from left to right or read from right to left, all collected same factural information, promptly " it is red that piece equals (being) " or " red equaling (being) piece " logically all indicator dog be that (=) is red.Thereby such information is unordered, and the order of traverse tree is not important for obtaining unordered information.
Exemplary networked and distributed environment
Those having ordinary skill in the art will appreciate that; The present invention can combine any computing machine or can be used as other client computer or the server apparatus that the part of computer network disposes to realize, or can in the DCE of the data storage that is connected to any kind of, realize.In this; The present invention relates to any computer system or environment; It has arbitrary number destination memory or storage unit, and occurs in the storage unit of arbitrary number or the application program and the process of the arbitrary number on the volume, and they can combine to use according to the embodiment of QFX of the present invention.The present invention can be applicable to have and is deployed in the network environment with long-range or local storage or the environment of server computer in the DCE and client computer.The present invention also can be applicable to have the programming language function, be used to generate, accept and send about the explanation of the information of long-range or local service and process and the independent computing equipment of executive capability.As previously mentioned, MFST generally is applicable to the software process on a plurality of machines and the computing equipment, therefore is used for becoming the technology of MFST to use in various computing environment efficiently syntax conversion according to the present invention.
Distributed Calculation provides sharing of computer resource and service through the exchange between computing equipment and the system.These resources with the service comprise the exchange of information, for cache stores and disk storage such as objects such as files.Distributed Calculation utilizes network to connect, and allows client computer to utilize their collective power that whole enterprise is benefited.At this point, various device can contain application program, object or the resource that wherein contains QFX of the present invention.
Fig. 9 provides the exemplary networking or the synoptic diagram of DCE.DCE comprises calculating object 910a, 910b etc., and calculating object or equipment 920a, 920b, 920c, 920d, 920e etc.These objects can comprise program, method, data storage, FPGA or the like.These objects can comprise the each several part such as the identical or different equipment of PDA, audio/video devices, MP3 player, personal computer etc.Each object can be through communication network 940 and another object communication.This network itself can comprise that the system to Fig. 9 provides other calculating object and the computing equipment of service, and itself can represent the network of a plurality of interconnection.According to an aspect of the present invention; Each object 910a, 910b etc.; Or 920a, 920b, 920c, 920d, 920e etc., can comprise capable of using being applicable to according to the API of each embodiment of QFX of the present invention or the application program of other object, software, firmware and/or hardware.
Be further appreciated that such as objects such as 920c can main memory on another computing equipment 910a, 910b etc. or 920a, 920b, 920c, 920d, 920e etc.Therefore; Although shown physical environment can be shown computing machine with the equipment that is connected; But such diagram only is exemplary; And the various digital devices that contain such as PDA, televisor, MP3 player etc. can described with being replaced or depict as to this physical environment, and any one in them can adopt such as various wired and wireless services such as interface, com object, software object.
There are various systems, assembly and the network configuration of supporting DCE.For example, computing system can be linked together by wired or wireless system, local network or the network that extensively distributes.Current, many network coupled are to the Internet, and the latter is provide the foundation structure and comprise many various network of the calculating that extensively distributes.Any architecture can be used for being convenient to the example communication of the embodiment of QFX of the present invention.
In home network environment, at least four complete different Network Transmission medium are arranged, its each can support a kind of unique agreement, these medium such as line of electric force, data (wireless and wired), voice (like, phone) and entertainment medium.But be connected with most of families opertaing device electrification lines such as electric equipments such as light switch.Data, services can pass through the broadband (as, DSL or cable modem) get into family, and can use within the family wireless (as, HomeRF or 802.11B) or wired (as, the PNA of family, Cat 5, Ethernet or even line of electric force) connect and visit.Voice telephone traffic can through wired (as, Cat 3) or wireless (like, cell phone) get into family, and can use Cat 3 lines to distribute in the family.Entertainment medium or other graph data can be via satellite or cable get into family, and use concentric cable to distribute usually in the family.IEEE 1394 and DVI also are be used for that media device troops digital interconnected.Can be used as all these network environments that consensus standard appears in one's mind or appeared in one's mind and other environment can be through be connected to the network in the external world such as wide area networks such as the Internets, such as Intranet by interconnected formation.In brief, there is various source in the storage and the transmission of data, therefore any computing equipment of the present invention can be shared and the transmission data according to any existing mode, and the mode of in this paper embodiment, describing not to be intended to be determinate.
The Internet is often referred to the network of use TCP (TCP/IP) protocol suite and the set of gateway, and this agreement is known in the computer networking field.The Internet can be described to by the system that carries out the remote computer network that distributes on the geography of permission user through the computer interconnection of the networking protocol of network interaction and shared information.Because the information sharing that this type extensively distributes develops into a kind of open system so far such as telecommunication networks such as the Internets, the developer can be designed for the software application of carrying out dedicated operations or service with this open system, in itself not restriction.
Thus, network infrastructure has been launched such as a large amount of network topology such as client/server, equity or hybrid architecture." client computer " is to use and class of the service of its irrelevant another kind of or group or the member in the group.Thus, when calculating, client computer is a process, that is, and and the instruction or the task of the service that to be one group of request roughly provided by another program.Client process is utilized institute's requested service, and needn't " know " any operational detail of relevant other program or service itself.In client/server architecture, especially in networked system, client computer is normally visited the computing machine of the network resource shared that is provided by another computing machines such as for example servers.In the diagram of Fig. 7 A; As an example; Computing machine 920a, 920b, 920c, 920d, 920e etc. can be considered to client computer, and computing machine 910a, 910b etc. can be considered to server, and wherein maintenances such as server 910a, 910b are copied to the data of client computer 920a, 920b, 920c, 920d, 920e etc. subsequently; Yet any computing machine all can be considered to client computer, server or both, depends on environment.Any of these computing equipment maybe be just in deal with data or request service or task, and these data, service or task possibly imply tree grammar and the switch technology of each embodiment of QFX of the present invention.
Server normally can be through the remote computer system such as telecommunication network such as the Internet or wireless network infrastructure or local network visit.Client process can be movable in first computer system; And server processes can be movable in second computer system; They communicate with one another through communication media, thus the distributed function of providing and allow a plurality of client computer to utilize the information gathering ability of server.Any software object according to QFX of the present invention utilizes can be striden a plurality of computing equipments or object distribution.
The client-server utilization is communicated with one another by the function that protocol layer provides.For example, HTTP(Hypertext Transport Protocol) is to combine world wide web (www), i.e. the common agreement of " Web " use.Usually, wait other computer network address of quoting to be used for identification server or client computer each other such as Internet protocol (IP) address or such as uniform resource locator (URL).The network address can be called as the URL address.Can communication be provided through communication media, for example client-server can connect to come coupled to each other to carry out high capacity communication through TCP/IP.
Thus, Fig. 9 shows and wherein can adopt exemplary networked or the distributed environment that has through network/bus and client computer server in communication of the present invention.More detailed; According to the present invention; A plurality of server 910a, 910b etc. are via communications network/bus 940 interconnection, and communications network/bus 14 can be LAN, WAN, Intranet, GSM network, the Internet etc., and it has a plurality of client computer or remote computing device 920a, 920b, 920c, 9200d, 920e etc.; Like portable computer, handheld computer, thin client, networked devices or miscellaneous equipment, like VCR, TV, baking box, lamp, well heater or the like.Therefore conceived any computing equipment that the present invention can be applicable to expect the compiling of Q framework and the execution attributed tree grammar of the definition according to the present invention and converts MFST to.
For example; Communications network/bus 940 is in the Internet environment therein, and server 910a, 910b etc. can be client computer 920a, 920b, 920c, 920d, 920e etc. through such as any the web server that communicates with in the multiple known protocols such as HTTP.Server 910a, 910b etc. also can take on client computer 920a, 920b, 920c, 920d, 920e etc., and this is the characteristic of DCE.
As stated, communication can be wired or wireless, perhaps is both combinations in due course.Client devices 920a, 920b, 920c, 920d, 920e etc. can pass through or not communicate by letter through communications network/bus 14, and can have the independent communication that is associated with it.For example, under the situation of TV or VCR, can be with or without the networked aspect of its control.Each client computer 920a, 920b, 920c, 920d, 920e etc. and server computer 910a, 910b etc. can possess various application program modules or object 135a, 135b, 135c etc.; And have connection or a visit to various types of memory elements or object; But store files or data stream on these memory elements or object perhaps can be downloaded to it, the each several part of transmission or migrated file or data stream.Among computing machine 910a, 910b, 920a, 920b, 920c, 920d, the 920e etc. any one or a plurality of being responsible for are safeguarded and Update Information storehouse 930 or other memory element, such as the database or the storer 930 that are used to store the data of handling or preserving according to the present invention.Thus; The present invention can be used to have addressable computer network/bus 940 and the client computer 920a mutual with it, 920b, 920c, 920d, 920e etc.; And can with mutual server computer 910a such as client computers 920a, 920b, 920c, 920d, 920e, 910b etc., and in the computer network environment of other similar equipment and database 930.
Example calculation equipment
As described herein, the present invention is applicable to any equipment of the QFX technology that possibly expect to use the definition according to the present invention.Thereby; Be to be understood that; Conceived the hand-held of all kinds, portable and other computing equipment and calculating object and be used for the present invention, that is, can realize representing the software process of state machine or otherwise receive, handle or store data Anywhere at equipment.Therefore, the following general purpose remote computer of describing among Figure 10 below only is an example, and the present invention can be with having network/bus interoperability and mutual any client computer realizes.Thus, the present invention can have been contained the environment of hosted service of the networking of few or minimum client resource therein, for example wherein client devices only with the interface of accomplishing network/bus-as place the object of electrical equipment-networked environment realize.
Although also undesired, the present invention can partly realize via operating system, uses with the developer of services of supply equipment or object, and/or is included in the application software that combines assembly operation of the present invention.Software can be described in by the general context such as computer executable instructions such as program modules that one or more computing machines are carried out such as client workstation, server or miscellaneous equipment etc.Those skilled in the art will appreciate that the present invention can implement with other computer system configurations and agreement.
Figure 10 shows an example that wherein can realize suitable computingasystem environment 1000a of the present invention thus; But as abovely clearly describe; Computingasystem environment 1000a is merely an example of the suitable computing environment that is used for medium apparatus, is not that usable range of the present invention or function are proposed any limitation.Should computing system 1000a be interpreted as yet any assembly or its combination shown in the exemplary operation environment 1000a had any dependence or demand.
Referring to Figure 10, be used to realize that exemplary remote equipment of the present invention comprises the universal computing device of computing machine 1010a form.The assembly of computing machine 1010a can include, but not limited to processing unit 1020a, system storage 1030a and will comprise that the various system components of system storage are coupled to the system bus 1021a of processing unit 1020a.System bus 1021a can be any in the bus structure of several types, comprises memory bus or memory controller, peripheral bus and uses any the local bus in the various bus architectures.
Computing machine 1010a generally includes various computer-readable mediums.Computer-readable medium can be can be by any usable medium of computing machine 1010a visit.As an example but not the limitation, computer-readable medium can comprise computer-readable storage medium and communication media.Computer-readable storage medium comprises the volatibility that realizes with any method or the technology that is used to store such as information such as computer-readable instruction, data structure, program module or other data and non-volatile, removable and removable medium not.Computer-readable storage medium includes but not limited to; RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, digital versatile disc (DVD) or other optical disc storage, magnetic holder, tape, disk storage or other magnetic storage apparatus, maybe can be used for storing desired information and can be, any other medium of 010a visit by computing machine 1.Communication media is usually embodying computer-readable instruction, data structure, program module or other data such as modulated message signal such as carrier wave or other transmission mechanisms, and comprises transport.
System storage 1030a can comprise the computer-readable storage medium such as volatibility such as ROM (read-only memory) (ROM) and/or random-access memory (ram) and/or nonvolatile memory form.Basic input/output (BIOS) can be stored among the storer 1030a, and it comprises information is transmitted in help between such as the starting period between the element in computing machine 1010a basic routine.Storer 1030a also comprises processing unit 1020a usually can zero access and/or present data and/or program module of just operating.As an example but not the limitation, storer 1030a can also comprise operating system, application program, other program module and routine data.
Computing machine 1010a also can comprise other removable/not removable, volatile/nonvolatile computer storage media.For example; Computing machine 1010a can comprise the hard disk drive that not removable, non-volatile magnetic medium is read and write; To the disc driver removable, that non-volatile magnetic disk is read and write, and/or the CD drive to reading and writing such as removable, non-volatile CDs such as CD-ROM or other optical mediums.Other that can in the exemplary operation environment, use be removable/and not removable, volatile/nonvolatile computer storage media includes but not limited to tape cassete, flash card, digital versatile disc, digital recording band, solid-state RAM, solid-state ROM or the like.Hard disk drive usually by such as interface etc. not the removable memory interface be connected to system bus 1021a, and disc driver or CD drive are usually by being connected to system bus 1021a such as removable memory interfaces such as interfaces.
The user can pass through input equipment, like keyboard and pointing device (being often referred to mouse, tracking ball or touch pad) to computing machine 1010a input command and information.Other input equipments can comprise microphone, operating rod, game paddle, satellite dish, scanner or the like.These are imported 1040a by the user who is coupled to system bus 1021a usually with other input equipment and are connected to processing unit 1020a with the interface that is associated, but also can be connected with bus structure by other interface such as parallel port, game port or USB (USB).Graphics subsystem also can be connected to system bus 1021a.The display device of monitor or other type also through interface, be connected to system bus 1021a like output interface 1050a, and output interface 1050a communicates by letter with VRAM.Except that monitor, computing machine can also comprise other peripheral output device, and like loudspeaker and printer, they can connect through output interface 1050a.
Computing machine 1010a can use to be connected to the logic such as one or more remote computers of remote computer 1070a etc. and operate in networking or the distributed environment, and remote computer 1070a can have the media capability inequality with equipment 1010a again.Remote computer 1070a can be personal computer, server, router, network PC, peer device or other common network node or any other remote media consumption or transmission equipment, and can comprise top about the described any or whole element of computing machine 1010a.Logic shown in Figure 10 connects and comprises the network 1071a such as Local Area Network or wide area network (WAN) etc., but also can comprise other network/bus.Such networked environment is common in family, office, enterprise-wide. computer networks, Intranet and the Internet.
When in the LAN networked environment, using, computing machine 1010a is connected to LAN 1071a through network interface or adapter.When in the WAN networked environment, using, computing machine 1010a generally includes communications component, such as modulator-demodular unit or be used for through set up other device of communication such as the WAN of the Internet etc.Such as communications components such as modulator-demodular units can be internal or external, and it can be connected to system bus 1021a through user's input interface or other the suitable mechanism of input 1040a.In networked environment, can be stored in the remote memory storage device with respect to the described program module of computing machine 1010a or its part.It is exemplary being connected with described network shown in being appreciated that, and can use other means of between computing machine, setting up communication link.
Exemplary distribution counting system structure
In view of crossing of individual's calculating and internet, various distributed computing frameworks have been developed and have developed.Individual and commercial user likewise have seamless interoperability that is used for application program and computing equipment and the interface of launching web, make computational activity more and more towards web browser and network.
For example; The Managed Code platform of
Figure G200780034283XD00321
, but promptly .NET comprise server, such as building block service and loading equipment softwares such as data storage based on web.Generally speaking, the .NET platform provides the computing equipment co-operation that (1) make gamut and on all devices, upgrades and the ability of simultaneous user's information the webpage interaction capabilities that improve (2) automatically; Realize that through a large amount of use XML rather than HTML (3) are from being used for various application, like Email; Or software; Like the online service to user's customization visit with products & services and the characteristics that transmit of the central starting point of the management of Office.NET, (4) centralized data storage is with the efficient and the simplification that increase the information synchronization of message reference and user and equipment room; (5) integrated various communication media; Like the ability of Email, fax and phone, the ability of reusable module is created in (6) concerning developer; Increase productivity whereby and reduce the misprogrammed number, and (7) also have many other cross-platform and language overall characteristics.
Although some exemplary embodiment here is to combine to describe such as the software that API (API) etc. resides on the computing equipment; But one or more part of the present invention also can wait through operating system, " go-between " object, controlling object, hardware, firmware, intermediate language instructions or object and realize; Embodiment according to QFX of the present invention can be included in by in all language launched such as Managed Codes such as .NET codes and the service; And in other distributed computing framework, supported therein or visit via them.
Multiple realization method of the present invention is arranged, for example suitable API, tool box, driver code, operating system, control, independence or downloadable software object etc., they make it possible to use QFX of the present invention.The present invention has conceived use of the present invention according to the viewpoint of data structure, software or the hardware objects of at least a portion of QFX of the present invention from the viewpoint of API (or other software object) and from can realizing.Thus, various realizations of the present invention described herein can have the aspect that adopts hardware, part to adopt hardware and part to adopt software and adopt software fully.
Word " exemplary " in this use means as example, instance or explanation.For avoiding query, the disclosed main body of this paper is not subject to such example.In addition, any aspect or the design that this paper is described as " exemplary " needn't be construed to and be superior to others or design or than others or design favourablely, it is not intended to get rid of equivalent exemplary structure known to a person of ordinary skill in the art and technology yet.And; With regard to term " comprise ", " having ", " comprising " and other similar word describe in detail or claims in use with regard to; For avoiding query, such term is intended to " comprise " as the mode of open transition speech and explain and do not get rid of any additional or other element to be similar to term.
As stated, although combine various computing equipments and network architecture to describe exemplary embodiment of the present invention, key concept can be applied to its desired and comprise that MFST realizes any computing equipment or the system of conversion.For example; Algorithm of the present invention and hardware realize being applied to the operating system of computing equipment, can be used as standalone object on the equipment, as the part of another object, as reusable control, as can from the object of downloaded, as " go-between " between equipment or object and the network, as distributed objects, as hardware, with storer, more than any combination wait and provide.Although selected exemplary programming language, title and example to represent various selections here, these language, title and example are not intended to for restrictive.Those of ordinary skill in the art will recognize have several different methods that object code and the nomenclature that realizes identical, the similar or equivalent function that various embodiments of the present invention realized is provided.
As stated, but various technology combined with hardware or software described herein, or realize with both combination in due course.As at this land used that makes, term " assembly ", " system " etc. refer to computer related entity equally, or combination, software or the executory software of hardware, hardware and software.For example, assembly can be but be not limited to be the thread of the process of on processor, moving, processor, object, executable code, execution, program and/or computing machine.As explanation, operation application program and computing machine itself on computers can be computer module.One or more assemblies can reside in the thread of process and/or execution, and assembly can and/or be distributed between two or more computing machines on a computing machine.
Thus; Method and apparatus of the present invention or its particular aspects or part can be taked to be included in such as the program code in the tangible mediums such as floppy disk, CD-ROM, hard disk drive or any other machinable medium (promptly; Instruction) form; When wherein in program code is loaded into such as machines such as computing machines and by it, carrying out, this machine becomes and is used to realize device of the present invention.Under situation about carrying out on the programmable calculator, computing equipment generally includes processor, readable storage medium (comprising volatibility and non-volatile storer and/or memory element), at least one input equipment and at least one output device of this processor at program code.Can be for example through using data processing API, software object to wait to realize or utilizing one or more programs of QFX of the present invention preferably to realize to communicate by letter with computer system with high level procedural or object oriented programming languages.Yet if desired, program can realize with assembly language or machine language.In any situation, language can be language compiling or that explain, and realizes combining with hardware.
Method and apparatus of the present invention also can be realized via the communication with the embodied of the program code through certain some transmission medium; Such as through electric wire or cable, through optical fiber or via any other transmission form; Wherein, When program code when receiving such as machines such as EPROM, gate array, PLD (PLD), client computers, loading and carrying out, this machine becomes and is used to realize device of the present invention.When on general processor, realizing, program code combines with processor provides a kind of unique apparatus that is used to call function of the present invention.In addition, any memory technology of using in conjunction with the present invention always can be the combination of hardware and software.
In addition, disclosed theme can use the standard program that produces software, firmware, hardware or its combination in any and/or engineering to be embodied as to be used to control system, method, device or the goods of equipment to be implemented in this aspects that is detailed based on computing machine or processor.Being intended to contain can be from the computer program of any computer readable device, carrier or medium access for term used herein " goods " (or as replacement, " computer program ").For example, computer-readable medium can include but not limited to magnetic storage apparatus (for example, hard disk, floppy disk, tape ...), CD (for example, compact disk (CD), digital universal disc (DVD) ...), smart card and flash memory device (for example, card, rod).Know in addition, can adopt carrier wave to carry computer-readable electronic, for example those are used to send and receive Email or be used to visit the data like networks such as the Internet or Local Area Network.
About the mutual aforementioned system of having described between some assemblies.Should be appreciated that such system and assembly can comprise those assemblies or sub-component, some in specified assembly or the sub-component and/or other assembly, and based on aforesaid various arrangements and combination.Sub-component also may be implemented as communicative couplings to other assembly but not is included in the assembly in the parent component (layering).In addition; It should be noted that the single component that one or more combinations can be combined into provides aggregation capability; Or be divided into plurality of single sub-component, and such as any one or a plurality of middle layer of administration and supervision authorities can be configured to communicative couplings to such sub-component so that integrated functionality is provided.Any assembly described herein also can with do not specifically describe at this but known one or more other component interactions of those skilled in the art.
Consider the example system of above description, can understand the method that realizes according to disclosed theme better with reference to the process flow diagram of figure 5.Although from the simple purpose of explanation; Each method is shown and is described as a series of frames; But should be appreciated that and understand; Theme required for protection does not receive the restriction of frame order, because some frames can take place with different order and/or with other frame of describing at this and describe simultaneously, or equivalent function is provided otherwise.Although show the flow process of non-order or branch via process flow diagram, be appreciated that various other branches, flow path and the piece order that to realize reaching identical or similar results.And, be not the frame shown in all be that the method described below realizing is necessary.
In addition; The different piece that should be understood that above disclosed system and following method can comprise or comprise artificial intelligence or based on assembly, sub-component, process, device, method or the mechanism (for example, SVMs, neural network, expert system, bayesian belief networks, fuzzy logic, data fusion engines, sorter etc.) of knowledge or rule.Such assembly and other assembly can robotization be carried out some mechanism or process, make each several part more self-adaptation, the efficient and intelligence of QFX thus.
Although invention has been described to have combined the preferred implementation of each accompanying drawing; But be appreciated that; Can use other similar embodiment, maybe can make amendment or add, realize identical function of the present invention and do not deviate from the present invention said embodiment.For example; Example network environment of the present invention has been described in the context such as networked environments such as reciprocity networked environments; But person of skill in the art will appreciate that; The invention is not restricted to this, and the method described in the application can be applicable to any computing equipment or environment, such as game console, handheld computer, portable computer or the like; No matter it is wired or wireless, and this method can be applicable to connect and pass through via communication network this type of computing equipment of any amount of network interaction.In addition, should stress, conceive the various computer platforms that comprise portable equipment operating system and other application specific operating system, especially when the quantity sustainable growth of wireless networking device.
Utilize the present invention although each exemplary embodiment relates in the context of certain programmed language construct, the invention is not restricted to this, but available any language is realized and is used to change any grammer that comprises action.And the present invention can realize or stride a plurality of process chip or equipment and realize in a plurality of process chip or equipment, and storage can similarly be extended across a plurality of equipment and realized.Therefore, the present invention should not be limited to any single embodiment, but should explain according to the range and the scope of appended claims.

Claims (19)

1. one kind is used for specifying at least one data structure mapping of at least one tree construction to become the method for at least one modular finite state transducers MFST computing system, comprising:
Receive (500) and specify at least one data structure of at least one tree construction (140a), wherein said at least one tree construction has been represented at least one finite state transducers FST, and said at least one FST comprises the semanteme that is used to define orderly and unordered information; And
To finite state machine FSM model by any kind of said at least one data structure (140a) expression; Become at least one MFST in said at least one MFST, to preserve said orderly and the unordered information of said at least one data structure simultaneously said at least one data structure (140a) conversion (510), wherein said conversion further comprises carries out any friendship, also and complementary operation at least one data structure.
2. the method for claim 1; It is characterized in that; Said conversion (510) comprises that with Transformational Grammar (170) said at least one data structure of conversion (140a) said Transformational Grammar (170) is not considered in said at least one MFST, to preserve said orderly and unordered information by the type of the FSM model of said at least one data structure (140a) expression of specifying said at least one tree construction.
3. the method for claim 1; It is characterized in that; Said conversion (510) comprises carrying out at least one control flow analytical algorithm by the FSM model of at least one data structure (140a) expression, and said algorithm is preserved the said orderly and unordered information of said at least one data structure (140a) for the FSM model of any kind represented by said at least one data structure.
4. method as claimed in claim 2 is characterized in that, said Transformational Grammar is predefined Transformational Grammar.
5. the method for claim 1 is characterized in that, said reception (500) comprises at least one data structure (140a) that receives at least one digraph structure of appointment, and wherein said at least one digraph structure has been represented said at least one FST.
6. method as claimed in claim 4; It is characterized in that; Said reception (500) comprises at least one data structure (140a) that receives at least one expandable mark language XML document of appointment, and wherein said at least one extensible markup XML document has been represented said at least one FST.
7. the method for claim 1 is characterized in that, said conversion (510) comprises carries out empty embedded test at least one data structure (140a).
8. the method for claim 1 is characterized in that, said conversion (510) comprises the compatibility test of at least two data structure execution architectures, preserves said orderly and unordered information simultaneously.
9. the method for claim 1; It is characterized in that; Said reception (500) comprises at least one data structure (140a) of receive specifying at least one uncertainty tree construction, and said conversion (510) comprises said at least one data structure mapping is become deterministic MFST.
10. one kind is used for specifying at least one data structure mapping of at least one tree construction to become the computing equipment of at least one modular finite state transducers MFST computing system, comprising:
Be used for receiving the device that at least one data structure of at least one tree construction (140a) is specified in (500); Wherein said at least one tree construction has been represented at least one finite state transducers FST, and said at least one FST comprises the semanteme that is used to define orderly and unordered information; And
To finite state machine FSM model by any kind of said at least one data structure (140a) expression; Be used for becoming at least one MFST to preserve the device of said orderly and the unordered information of said at least one data structure at said at least one MFST simultaneously said at least one data structure (140a) conversion (510), the wherein said device that is used for conversion further comprises and is used at least one data structure is carried out any friendship, also and the device of complementary operation.
11. one kind is used for will representing that at computing system the digraph data structure mapping of finite state transducers FST becomes the equipment of modular finite state transducers MFST, comprising:
Be used for being used to represent in computing system storage the device of various types of a plurality of digraph data structures (140a) of FST, wherein said a plurality of digraph data structures comprise orderly and unordered semantic information; And
Analyze said a plurality of digraph data structures (140a) based on predefined tree grammar (170); And said a plurality of digraph data structures (140a) are transformed into the transcriber (150) that at least one MFST preserves the said orderly and unordered semantic information of said a plurality of digraph data structures (140a) simultaneously, wherein said transcriber (150) is carried out any friendship, benefit and union to said a plurality of digraph data structures (140a).
12. equipment as claimed in claim 11; It is characterized in that; Said transcriber (150) is carried out at least one control flow analytical algorithm to the FST by said a plurality of digraph data structures (140a) expressions, and the digraph that said algorithm is striden any kind representes to preserve the said orderly and unordered semantic information of said a plurality of digraph data structures.
13. equipment as claimed in claim 11; It is characterized in that; Carry out the transform engine (180) that specific binding is handled when said transcriber (150) is included in the said a plurality of digraph data structures of conversion (140a), wherein said specific binding is carried out binding to said orderly and unordered semantic information during handling the pattern match process that is included in the pattern that is used to mate said a plurality of digraph data structures (140a).
14. equipment as claimed in claim 11; It is characterized in that; Said transcriber (150) is inline by defined at least one the transcriber definition of the digraph data structure in said a plurality of digraph data structures (140a), preserves said orderly and unordered semantic information simultaneously.
15. equipment as claimed in claim 11; It is characterized in that; Said transcriber (150) comprises that at least one that be used for said a plurality of digraph data structures (140a) matches the transform engine assembly (180) of at least one MFST, wherein in said a plurality of digraph data structures (140a) said at least one mate the said orderly and unordered nest information that comprises at least one that comprises in said a plurality of digraph data structures (140a) and mate.
16. equipment as claimed in claim 15; It is characterized in that; In said a plurality of digraph data structures (140a) said at least one specify at least one uncertainty data tree structure, and said transform engine assembly (180) with in said a plurality of digraph data structures (140a) said at least one be transformed into deterministic MFST.
17. equipment as claimed in claim 11 is characterized in that, also comprises:
Be used for receiving the interface I1 of a digraph data structure of said a plurality of digraph data structures (140a), it is according to said predefine tree grammar (170) definition and conversion digraph data structure (140a).
18. one kind is used for will representing that at computing system the digraph data structure mapping of finite state transducers FST becomes the method for modular finite state transducers MFST, comprising:
Receive a plurality of digraph data structures (140a) that expression is used for the FST of computing system process, wherein said a plurality of digraph data structures comprise the ordered list that defines said process and the orderly and unordered information of unordered set; And
Tree grammar (170) based on definition is analyzed said a plurality of digraph data structures (140a); And said a plurality of digraph data structures (140a) are transformed into the said orderly and unordered information that at least one MFST preserves said a plurality of digraph data structures (140a) simultaneously, wherein said a plurality of digraph data structures (140a) are transformed at least one MFST and further comprise said a plurality of digraph data structures (140a) are carried out any friendship, benefit and union to generate said at least one MFST.
19. method as claimed in claim 18 is characterized in that, said a plurality of digraph data structures (140a) are according to being used to represent that the FST types of models that has nothing in common with each other of orderly and unordered information representes.
CN200780034283XA 2006-09-15 2007-09-14 Transformation of modular finite state transducers Active CN101517531B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/532,374 US7627541B2 (en) 2006-09-15 2006-09-15 Transformation of modular finite state transducers
US11/532,374 2006-09-15
PCT/US2007/078540 WO2008034086A1 (en) 2006-09-15 2007-09-14 Transformation of modular finite state transducers

Publications (2)

Publication Number Publication Date
CN101517531A CN101517531A (en) 2009-08-26
CN101517531B true CN101517531B (en) 2012-03-21

Family

ID=39184144

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780034283XA Active CN101517531B (en) 2006-09-15 2007-09-14 Transformation of modular finite state transducers

Country Status (6)

Country Link
US (1) US7627541B2 (en)
EP (1) EP2062132A1 (en)
JP (1) JP2010503934A (en)
KR (1) KR20090064374A (en)
CN (1) CN101517531B (en)
WO (1) WO2008034086A1 (en)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5224953B2 (en) * 2008-07-17 2013-07-03 インターナショナル・ビジネス・マシーンズ・コーポレーション Information processing apparatus, information processing method, and program
US8176085B2 (en) * 2008-09-30 2012-05-08 Microsoft Corporation Modular forest automata
US8429605B2 (en) * 2009-12-30 2013-04-23 The United States Of America As Represented By The Secretary Of The Navy Finite state machine architecture for software development
US8983983B2 (en) 2010-02-04 2015-03-17 Network State, LLC State operating system
JP5232191B2 (en) * 2010-03-19 2013-07-10 株式会社東芝 Information processing apparatus, information processing method, and program
US8688608B2 (en) * 2011-06-28 2014-04-01 International Business Machines Corporation Verifying correctness of regular expression transformations that use a post-processor
WO2013096892A1 (en) * 2011-12-21 2013-06-27 Federated Media Publishing, Llc Method and apparatus for rating documents and authors
CN103365852A (en) * 2012-03-28 2013-10-23 天津书生软件技术有限公司 Concurrency control method and system for document library systems
CN104298590B (en) * 2013-07-16 2019-05-10 爱德万测试公司 For pressing the quick semantic processor of pin APG
CN104572028B (en) * 2014-12-26 2017-06-20 中国科学院自动化研究所 A kind of method and apparatus of state machine equivalence transformation
CN104572457B (en) * 2014-12-30 2017-07-14 北京工业大学 A kind of method transformed the non-universal finite state machine containing special transfer process
CN104766368B (en) * 2015-04-20 2017-09-26 成都康赛信息技术有限公司 Information portal based on cellular automata is built and dynamic fixing method automatically
CN106156006B (en) * 2016-07-05 2019-07-23 尼玛扎西 Tibetan language word component analyzing method, Tibetan collation method and corresponding intrument
US10481881B2 (en) * 2017-06-22 2019-11-19 Archeo Futurus, Inc. Mapping a computer code to wires and gates
US9996328B1 (en) * 2017-06-22 2018-06-12 Archeo Futurus, Inc. Compiling and optimizing a computer code by minimizing a number of states in a finite machine corresponding to the computer code
US11747793B2 (en) 2018-01-22 2023-09-05 Siemens Aktiengesellschaft Skill matching for control of an industrial production machine
CN110807312A (en) * 2019-10-10 2020-02-18 南京摄星智能科技有限公司 Redundancy expression removing method based on combination of neural network model and rule
CN111026377B (en) * 2019-11-21 2023-03-14 中国航空工业集团公司西安航空计算技术研究所 Calling display list pre-decoding method based on finite-state machine
US11727077B2 (en) 2021-02-05 2023-08-15 Microsoft Technology Licensing, Llc Inferring information about a webpage based upon a uniform resource locator of the webpage
US20220284190A1 (en) * 2021-03-02 2022-09-08 Microsoft Technology Licensing, Llc Tokenizing alphanumeric text through use of finite state machines

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5806032A (en) * 1996-06-14 1998-09-08 Lucent Technologies Inc. Compilation of weighted finite-state transducers from decision trees

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128606A (en) * 1997-03-11 2000-10-03 At&T Corporation Module for constructing trainable modular network in which each module inputs and outputs data structured as a graph
US6032111A (en) * 1997-06-23 2000-02-29 At&T Corp. Method and apparatus for compiling context-dependent rewrite rules and input strings
JPH11232273A (en) * 1998-02-17 1999-08-27 Fuji Xerox Co Ltd Document processing probability judging device, document processor, recording medium readable by computer recording document processing possibility judging program and storage medium readable by computer recording document processing program
US6424983B1 (en) * 1998-05-26 2002-07-23 Global Information Research And Technologies, Llc Spelling and grammar checking system
US6308149B1 (en) * 1998-12-16 2001-10-23 Xerox Corporation Grouping words with equivalent substrings by automatic clustering based on suffix relationships
US7107205B2 (en) * 2000-04-03 2006-09-12 Xerox Corporation Method and apparatus for aligning ambiguity in finite state transducers
US6735592B1 (en) * 2000-11-16 2004-05-11 Discern Communications System, method, and computer program product for a network-based content exchange system
US7113903B1 (en) * 2001-01-30 2006-09-26 At&T Corp. Method and apparatus for providing stochastic finite-state machine translation
US6810146B2 (en) * 2001-06-01 2004-10-26 Eastman Kodak Company Method and system for segmenting and identifying events in images using spoken annotations
US6868383B1 (en) * 2001-07-12 2005-03-15 At&T Corp. Systems and methods for extracting meaning from multimodal inputs using finite-state devices
US7069215B1 (en) * 2001-07-12 2006-06-27 At&T Corp. Systems and methods for extracting meaning from multimodal inputs using finite-state devices
US7027988B1 (en) * 2001-07-20 2006-04-11 At&T Corp. System and method of ε removal of weighted automata and transducers
US20030065505A1 (en) * 2001-08-17 2003-04-03 At&T Corp. Systems and methods for abstracting portions of information that is represented with finite-state devices
US7181386B2 (en) * 2001-11-15 2007-02-20 At&T Corp. Systems and methods for generating weighted finite-state automata representing grammars
EP1331630A3 (en) * 2002-01-07 2006-12-20 AT&T Corp. Systems and methods for generating weighted finite-state automata representing grammars
GB0200352D0 (en) * 2002-01-09 2002-02-20 Ibm Finite state dictionary and method of production thereof
US7240004B1 (en) * 2002-03-04 2007-07-03 At&T Corp. Systems and methods for determining the determinizability of finite-state automata and transducers
WO2003105023A2 (en) * 2002-03-26 2003-12-18 University Of Southern California Statistical translation using a large monolingual corpus
US7197460B1 (en) * 2002-04-23 2007-03-27 At&T Corp. System for handling frequently asked questions in a natural language dialog service
US7225131B1 (en) * 2002-06-14 2007-05-29 At&T Corp. System and method for accessing and annotating electronic medical records using multi-modal interface
US7072880B2 (en) * 2002-08-13 2006-07-04 Xerox Corporation Information retrieval and encoding via substring-number mapping
JP2004110673A (en) * 2002-09-20 2004-04-08 Nippon Telegr & Teleph Corp <Ntt> Text style conversion method, text style conversion device, text style conversion program, and storage medium storing the text style conversion program
US7542908B2 (en) * 2002-10-18 2009-06-02 Xerox Corporation System for learning a language
US7257575B1 (en) * 2002-10-24 2007-08-14 At&T Corp. Systems and methods for generating markup-language based expressions from multi-modal and unimodal inputs
US7299180B2 (en) * 2002-12-10 2007-11-20 International Business Machines Corporation Name entity extraction using language models
JP2004271764A (en) * 2003-03-06 2004-09-30 Nagoya Industrial Science Research Inst Finite state transducer generator, program, recording medium, generation method, and gradual syntax analysis system
US7493251B2 (en) * 2003-05-30 2009-02-17 Microsoft Corporation Using source-channel models for word segmentation
US7003740B2 (en) * 2003-07-16 2006-02-21 Microsoft Corporation Method and apparatus for minimizing weighted networks with link and node labels
US7165216B2 (en) * 2004-01-14 2007-01-16 Xerox Corporation Systems and methods for converting legacy and proprietary documents into extended mark-up language format
US20060085389A1 (en) * 2004-08-26 2006-04-20 Sensory Networks, Inc. Method for transformation of regular expressions
CA2525729A1 (en) * 2004-11-08 2006-05-08 At&T Corp. System and method for compiling rules created by machine learning program
US7536295B2 (en) * 2005-12-22 2009-05-19 Xerox Corporation Machine translation using non-contiguous fragments of text
US7542893B2 (en) * 2006-05-10 2009-06-02 Xerox Corporation Machine translation using elastic chunks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5806032A (en) * 1996-06-14 1998-09-08 Lucent Technologies Inc. Compilation of weighted finite-state transducers from decision trees

Also Published As

Publication number Publication date
KR20090064374A (en) 2009-06-18
EP2062132A1 (en) 2009-05-27
CN101517531A (en) 2009-08-26
WO2008034086A1 (en) 2008-03-20
JP2010503934A (en) 2010-02-04
US7627541B2 (en) 2009-12-01
US20080071802A1 (en) 2008-03-20

Similar Documents

Publication Publication Date Title
CN101517531B (en) Transformation of modular finite state transducers
CN101517533A (en) Transformation of modular finite state transducers
CN102171679B (en) Tree-based directed graph programming structures for a declarative programming language
Zupan et al. Secure smart contract generation based on petri nets
Berardinelli et al. Model-driven systems engineering: Principles and application in the CPPS domain
CN103164249A (en) Extension mechanism for scripting language compiler
CN102171654A (en) Programming language with extensible syntax
CN102171681A (en) Type system for declarative data scripting language
Pittl et al. A visual modeling approach for the semantic web rule language
Lemmens et al. Enhancing Geo‐Service Chaining through Deep Service Descriptions
Safdar et al. A framework for automated multi-stage and multi-step product configuration of cyber-physical systems
Gómez-Pérez et al. Ontological engineering and the semantic web
Di Ruscio Specification of model transformation and weaving in model driven engineering
Liu et al. Modeling and validating temporal rules with semantic Petri net for digital twins
Gandon Agents handling annotation distribution in a corporate semantic Web
Thiry et al. Self-adaptive Systems Driven by Runtime Models.
Leonard et al. SQL Server 2012 integration services design patterns
Adamou et al. The NeOn ontology models
Hess Evaluating Domain-Driven Design for Refactoring Existing Information Systems
Belghiat et al. A multi-paradigm approach to model and verify mobile agent software systems
Quinton Cloud Environment Selection and Configuration: A Software Product Lines-Based Approach
Giese et al. Using Semantic Technology to Auto-generate Reports: Case Study of Daily Drilling Reports
Schröpfer et al. Projectional Editing of Software Product Lines Using Multi-variant Model Editors
Uifălean et al. Employing Graph Databases for Business Process Management and Representation
Wende Language Family Engineering with Features and Role-Based Composition

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150514

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150514

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.