Software composition using graph types,graph, and agents
First Claim
1. Apparatus for controlling a processor that has access to a storage device, the apparatus comprising:
- a model type in the storage device that defines a class of models, a model being a graph that has one or more entities as vertices;
an agent in the storage device that is associated with the model type and specifies an operation to be performed in a context provided by a model of the class defined by the model type; and
a particular model of the model type in the storage device to which the agent has been made available, the processor responding to the agent by performing the operation specified thereby in the context provided by the particular model.
3 Assignments
0 Petitions
Accused Products
Abstract
An environment for composing software permits the separation of control functions from information about the context in which the control functions operate. The software composition environment is used to make a system which will translate XML documents into models and vice-versa. The translation system is used to translate an XML document having one DTD into an XML document having another DTD by translating the first XML document into a model representing the semantics of the XML document and translating the model into the second XML document (2005). The system for translating XML documents into models employs a general technique for translating any XML documents into a mirror model (2107) that reflects the structure of the XML document and a general technique of using tag pattern models (2109) to obtain information from one model and using it to make or modify another model. In the system for translating XML document, the tag pattern models are used to translate mirror models into semantic models and vice-versa.
-
Citations
49 Claims
-
1. Apparatus for controlling a processor that has access to a storage device,
the apparatus comprising: -
a model type in the storage device that defines a class of models, a model being a graph that has one or more entities as vertices;
an agent in the storage device that is associated with the model type and specifies an operation to be performed in a context provided by a model of the class defined by the model type; and
a particular model of the model type in the storage device to which the agent has been made available, the processor responding to the agent by performing the operation specified thereby in the context provided by the particular model. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. Apparatus employed in a system having a processor and storage accessible thereto for using information contained in a first graph stored in the storage to make or modify a second graph stored in the storage, both graphs having vertices containing information that are joined by edges specifying relationships between the vertices, the apparatus comprising:
a third graph stored in the storage, the third graph including a pattern part that specifies a pattern of vertices and/or edges in the first graph and a synthesis part that specifies a modification of the second graph; and
code stored in the storage and executable by the processor that matches the pattern part to vertices and/or edges having the pattern in the first graph and uses information from the matched vertices and/or edges in the first graph as specified in the synthesis part to make or modify the second graph. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
36. Apparatus employed in a system having a processor and storage accessible thereto for producing a graph having a plurality of vertices and edges in the storage, the apparatus comprising:
-
a linear representation of a plurality of nested entities in the storage; and
code stored in the storage and executable by the processor that makes the graph in response to the linear representation, the graph having vertices representing the entities and edges representing the nesting. - View Dependent Claims (37, 38)
-
-
39. Apparatus employed in a system having a processor and storage accessible thereto for producing a linear representation in the storage, the linear representation having a plurality of nested entities and the apparatus comprising:
-
a graph in the storage, the graph having vertices connected by edges indicating an enclosure relationship; and
code stored in the storage and executable by the processor that makes the linear representation in response to the graph, entities in the linear representation corresponding to vertices in the graph and the entities being nested in the linear representation as indicated by the edges of the graph. - View Dependent Claims (40, 41)
-
-
42. Apparatus employed in a system having a processor and storage accessible thereto for translating a XML document having a first DTD into another XML document having a second DTD, the apparatus comprising:
-
a first translator that executes on the processor and translates any XML document having the first DTD into a semantic representation in the storage of information from the translated XML document; and
a second translator that executes on the processor and translates the semantic representation into the other XML document. - View Dependent Claims (43, 44, 45)
-
-
46. Apparatus employed in a system having a processor and storage accessible thereto that translates an XML document in the storage that has a particular DTD into a first graph in the storage whose vertices and/or edges represent information from the XML document, the apparatus comprising:
-
an import component that translates any XML document into a graph in the storage of a mirror type whose edges describe nesting in the XML document and whose vertices contain information from the XML document; and
a transform component that makes or modifies a target graph using information in a source graph as specified in a tag pattern graph that matches patterns of vertices and edges in the source graph and uses information contained in the matched vertices and edges to make and/or modify vertices and/or edges in the target graph, the import component translating the XML document into a second graph and the transform graph using a tag pattern graph for the particular DTD with the second graph as a source graph to make and/or modify the first graph. - View Dependent Claims (47)
-
-
48. Apparatus employed in a system having a processor and storage accessible thereto that translates a first graph in the storage whose vertices and edges represent information into an XML document that contains the information and has a particular DTD, the apparatus comprising:
-
a transform component that makes or modifies a target graph using information in a source graph as specified in a tag pattern graph that matches patterns of vertices and edges in the source graph and uses information contained in the matched vertices and edges to make and/or modify vertices and/or edges in the target graph; and
an export component that translates a graph in the storage of a mirror type whose edges describe nesting in an XML document and whose vertices contain information to be contained in the XML document into the XML document, the transform component using a tag pattern graph for the particular DTD with the first graph as a source graph and a second graph of the mirror type as a destination graph and the export component translating the second graph into the XML document. - View Dependent Claims (49)
-
Specification