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
41 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)
the processor manipulates the particular model as specified by the facet type definition for the facet.
-
-
9. The apparatus for controlling a processor set forth in claim 8 wherein:
there is a plurality of the facet types defined in the model type.
-
10. The apparatus for controlling a processor set forth in claim 9 wherein:
there is a plurality of vertices in the particular model, ones of the plurality of vertices being related to others thereof by facets having types belonging to the plurality of types.
-
11. The apparatus for controlling a processor set forth in claim 10 wherein:
a given vertex has a plurality of facets of different facet types.
-
12. The apparatus for controlling a processor set forth in claim 8 wherein:
the facet type definition specifies a set-theoretic character of the relationship.
-
13. The apparatus for controlling a processor set forth in claim 8 wherein:
the facet type definition specifies a constraint on the facet.
-
14. The apparatus for controlling a processor set forth in claim 8 wherein:
the facet type definition specifies a propagator on the facet.
-
15. The apparatus for controlling a processor set forth in claim 1 wherein:
-
there is a plurality of the vertices;
the vertices of a first subset of the vertices are instance vertices representing things; and
the vertices of a second subset of the vertices are vertices representing abstractions concerning the things represented by the first subset of the vertices.
-
-
16. The apparatus for controlling a processor set forth in claim 15 wherein:
an instance vertex may represent an instance of an abstraction represented by a vertex of the second subset.
-
17. The apparatus for controlling a processor set forth in claim 15 wherein:
an instance vertex may exhibit a property represented by a vertex of the second subset.
-
18. The apparatus for controlling a processor set forth in claim 15 wherein:
-
there is a plurality of the particular models; and
a vertex in the first subset represents another particular model.
-
-
19. The apparatus for controlling a processor set forth in claim 15 wherein the apparatus further comprises:
-
things represented by the instance vertices in the storage device; and
a thing represented by an instance vertex is locatable from the instance vertex.
-
-
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 model having a plurality of vertices and facets 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 model in response to the linear representation, the graph having vertices representing the entities and facets 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 model in the storage, the model having vertices connected by facets 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 facets of the graph. - View Dependent Claims (40, 41)
-
Specification