Xml-based symbolic language and interpreter
Abstract
An XML-based symbolic computer language, interpreter, and corresponding execution environments are disclosed. The XML-based symbolic computer language, called “OLIN” (One Language Intelligent Network) enables a computer program to be written as an XML-compliant document. OLIN programs are interpreted by an interpreter by parsing the XML content to extract symbolic expressions embedded therein, and evaluating those symbolic expressions. The XML-based symbolic computer language is object-oriented and is based on inherent principles of the LISP programming language. Accordingly, code and data are treated the same. The language provides built-in structures and functions for implementing neural networks and genetic programming. OLIN programs may be executed by a single computer, or via a multiprocessing environment, including distributing processing environments and multiprocessor computers.
Claims
exact text as granted — not AI-modified1 . A method for performing distributed processing, comprising:
spawning instances of an interpreter on respective processing resources, each interpreter instance configured to interpret and evaluate distributed program portions comprising XML documents written in an object-oriented XML-based symbolic computer language comprising an interpretive language based on inherent principles of the LISP programming language under which code and data are interchangeable; employing the plurality of interpreter instances to perform distributed processing of program portions written in the object-oriented XML-based symbolic computer language comprising XML documents, the processing of the program portions comprising,
employing an interpreter instance identified by XML content contained in or associated with a given XML document to be processed by a processing resource associated with the interpreter instance to evaluate the program portion in the XML document by,
extracting symbolic expressions contained in the XML document;
for each symbolic expression,
scanning the symbolic expression and creating an object or collection of objects that represents the terms of the expression; for each object or collection of objects,
executing a method explicitly specified in the symbolic expression to be performed on the object or collection of objects if such method is specified; otherwise,
executing a default method if no method is explicitly specified; as a result of the evaluation of the program portion,
updating at least one of code or data associated with the program portion to produce an updated program portion;
performing at least one of reprocessing the updated program portion with updated code on the same processor resource or passing at least one of the updated program portion or updated data to another interpreter instance for processing; and
repeating the foregoing operations to perform evaluation of program portions on the plurality of interpreter instances in a parallel manner to produce at least one data output.
2 . The method of claim 1 , wherein the processing resources include processing resources on a plurality of computers connected via a network.
3 . The method of claim 1 , wherein the plurality of processing resources include multiple processing resources operating on a single computer.
4 . The method of claim 1 , further comprising processing an XML document at an instance server to determine which interpreter instances to spawn on which processing resources.
5 . The method of claim 4 , further comprising employing the instance server to spawn new interpreter instances in a dynamic manner after processing of the program portions as begun.
6 . The method of claim 1 , further comprising employing a process management facility to manage concurrent process execution in a multiprocessing environment to facilitate parallel processing of the program portions in a coordinated manner.
7 . The method of claim 6 , wherein the process management facility manages interactions between interpreter instances by monitoring a processing state of each interpreter instance and managing connections between interpreter instances.
8 . The method of claim 6 , wherein the process management facility is employed to pass messages and results between interpreter instances.
9 . The method of claim 1 , wherein evaluation of at least one program portion comprises:
dynamically reprogramming at least one symbolic expression; re-evaluating said at least one symbolic expression.
10 . The method of claim 9 , wherein said at least one symbolic expression is dynamically reprogrammed and re-evaluated in a recursive manner.
11 . A method for performing processing via a neural network, comprising:
defining neurons and synapses for each layer in the neural network; assigning a processing resource to each neuron in the neural network; employing interpreter instances at the processing resources to interpret and evaluate distributed program content comprising XML documents written in an object-oriented XML-based symbolic computer language providing built-in structures and functions for supporting neural networks, including neuron objects and synapse objects, the object-oriented XML-based symbolic computer language comprising an interpretive language based on inherent principles of the LISP programming language under which code and data are interchangeable; associating neuron objects with respective neurons; associating synapse objects with respective synapses; providing an initial threshold function and weight for each synapse object; and implementing processing via the neural network by,
evaluating, with the interpreter instances, collections of synapse objects associated with neuron objects, each collection of synapse object comprising program content contained in at least XML document;
updating synapse object functions and weights based on the results of the evaluations of the neuron objects, producing corresponding program content in the form of XML documents forwarded to interpreter instances associated with neurons objects identified by the program content; and
repeating the evaluating, updating, and forwarding operations to produce at least one data output for the neural network.
12 . The method of claim 11 , wherein the processing resources include processing resources on a plurality of computers connected via a network.
13 . The method of claim 11 , wherein the processing resources include a plurality of processing resources operating on a single computer.
14 . The method of claim 11 , wherein at least one of the processing resources is assigned to multiple neurons.
15 . The method of claim 11 , wherein each neuron is assigned to a respective processing resource.
16 . The method of claim 11 , wherein the evaluation operation comprises:
parsing the at least one XML document to extract symbolic expressions; scanning a symbolic expression and creating an object or collection of objects that represents the terms of the expression; for each object or collection of objects,
executing a method explicitly specified in the symbolic expression to be performed on the object or collection of objects if such method is specified; otherwise,
executing a default method if no method is explicitly specified.
17 . The method of claim 16 , further comprising;
dynamically reprogramming at least one symbolic expression; re-evaluating said at least one symbolic expression.
18 . The method of claim 17 , wherein said at least one symbolic expression is dynamically reprogrammed and re-evaluated in a recursive manner.
19 . The method of claim 16 , further comprising determining a default method for an objection or collection by iterating through a class hierarchy associated with the object or collection until a default method is found.
20 . The method of claim 11 , further comprising employing a process management facility to manage concurrent process execution in a multiprocessing environment.Join the waitlist — get patent alerts
Track US2008288575A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.