Method for identifying UML objects in a repository with objects in XML content
First Claim
1. In a computer system executing a repository program and having a memory, a method for identifying UML (Unified Modeling Language) objects in said repository with objects in an XML (Extensible Markup Language) file, said method comprising the steps of:
- a. parsing said XML file into XML objects and building an object tree;
b. traversing said object tree a first time, and for each XML object found that has a name, identifying corresponding UML objects;
c. traversing said object tree a second time, and for each XML object found that does not have a name, identifying corresponding UML objects through compositions and references; and
d. saving ‘
Conversion’
objects in said memory indicative of the results of said parsing and traversing.
12 Assignments
0 Petitions
Accused Products
Abstract
In a computer system executing a repository program and having a memory, a method is disclosed for identifying UML objects in the repository with objects in an XML file. The method includes the steps of parsing the XML file into XML objects and building an object tree. Next, the object tree is traversed a first time, and for each XML object found that has a name, corresponding UML objects are identified. After this, the object tree is traversed a second time, and for each XML object found that does not have a name, corresponding UML objects are then identified through Compositions and References. The method for traversing said object tree a first time includes the steps of identifying a UML object type for each XML object, and when the XML object name matches the UML object name at the current level, a UML and XML object IDs are saved in a ‘Conversion’ object in the memory.
253 Citations
28 Claims
-
1. In a computer system executing a repository program and having a memory, a method for identifying UML (Unified Modeling Language) objects in said repository with objects in an XML (Extensible Markup Language) file, said method comprising the steps of:
-
a. parsing said XML file into XML objects and building an object tree;
b. traversing said object tree a first time, and for each XML object found that has a name, identifying corresponding UML objects;
c. traversing said object tree a second time, and for each XML object found that does not have a name, identifying corresponding UML objects through compositions and references; and
d. saving ‘
Conversion’
objects in said memory indicative of the results of said parsing and traversing.- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
e. reading root XML object from said object tree;
f. reading root UML object from said repository.
-
-
3. The method as in claim 2, further including the steps of:
-
g. determining if said root XML object has a name, and if so;
h. determining if traversal of said object tree is complete, and if not;
i. repeating all of the steps above until said traversal is complete.
-
-
4. The method as in claim 3, wherein said root XML object does not have a name and said root UML object does have a name, further including the step of removing the name from said UML object.
-
5. The method as in claim 3, wherein said XML root object has a name and said UML object does not have a name, further including the step of changing said UML object name to the same as said XML root object name.
-
6. The method as in claim 3, wherein said XML root object has a name and said UML object also has a name, further including the step of determining if said UL object name is the same as said XML root object name.
-
7. The method as in claim 6, wherein said XML root object name is not the same as said UML object, further including the step of changing said UML object name to the same as said XML root object name.
-
8. The method as in claim 1, wherein said step of traversing said object tree a first time includes the steps of:
-
a. identifying said UML object type for each XML object;
b. when said XML object name matches said UML object name at current level, saving an object ID for said UML object and an object ID for said XML object in a ‘
Conversion’
object in said memory.
-
-
9. The method as in claim 8, wherein if said XML object name does not match said UML object at current level, saving said XML object ID in a ‘
- Conversion’
object in said memory and marking the ‘
Conversion’
object as needing a new UML object.
- Conversion’
-
10. The method as in claim 1, wherein said root XML object does not have a name and said root UML object does not have a name, further including the step of matching said UML Association and Link objects without names by matching the names and types of their connections.
-
11. The method as in claim 1, wherein said step of traversing said object tree a second time further includes the step of matching UML Association Role objects without names by matching the base Association for the Association Role.
-
12. The method as in claim 1, wherein said step of traversing said object tree a second time further comprises the step of matching UML Generalization objects without names by matching the sub-type and super-type of each UML Generalization object.
-
13. The method as in claim 1, wherein said step of traversing said object tree a second time further includes the step of matching UML Dependency objects without names by matching the client and supplier of each UML Dependency object.
-
14. The method as in claim 1, wherein said step of traversing said object tree a second time further includes the step of matching UML Constraint objects without names by matching the Constrained Elements of each UML Constraint object.
-
15. A storage medium encoded with machine-readable computer program code for identifying UML object in a repository with objects in an XML file, wherein, when the computer program code is executed by a computer, the computer performs the steps of:
-
a. parsing said XML file into XML objects and building an object tree;
b. traversing said object tree a first time, and for each XML object found that has a name, identifying corresponding UML objects; and
,c. traversing said object tree a second time, and for each XML object found that does not have a name, identifying corresponding UML objects through compositions and references; and
d. saving ‘
Conversion’
objects in said memory indicative of the results of said parsing and traversing.- View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
e. reading root XML object from said object tree;
f. reading root UML object from said repository.
-
-
17. The storage medium as in claim 16, further including the steps of:
-
g. determining if said root XML object has a name, and if so;
h. determining if traversal of said object tree is complete, and if not;
i. repeating all of the steps above until said traversal is complete.
-
-
18. The storage medium as in claim 17, wherein said root XML object does not have a name and said root UML object does have a name, further including the step of removing the name from said UML object.
-
19. The storage medium as in claim 17, wherein said XL root object has a name and said UML object does not have a name, further including the step of changing said UML object name to the same as said XML root object name.
-
20. The storage medium as in claim 17, wherein said XML root object has a name and said UML object also has a name, further including the step of determining if said UML object name is the same as said XML root object name.
-
21. The storage medium as in claim 20, wherein said XML root object name is not the same as said UML object, further including the step of changing said UML object name to the same as said XML root object name.
-
22. The storage medium as in claim 15, wherein said step of traversing said object tree a first time further includes the steps of:
-
a. identifying said UML object type for each XML object;
b. when said XML object name matches said UML object name at current level, saving an object ID for said UML object and an object ID for said XML object in a ‘
Conversion’
object in said memory.
-
-
23. The storage medium as in claim 22, wherein said XML object name does not match said UL object at current level, saving said XML object ID in a ‘
- Conversion’
object in said memory and marking the ‘
Conversion’
object as needing a new UML object.
- Conversion’
-
24. The storage medium as in claim 15, wherein said root XML object does not have a name and said root UML object does not have a name, further including the step of matching said UML Association and Link objects without names.
-
25. The storage medium as in claim 15, wherein said step of traversing said object tree a second time further includes the step of matching UML Association Role objects without names by matching the base Association for the Association Role.
-
26. The storage medium as in claim 15, wherein said step traversing said object tree a second time further comprises the step of matching UML Generalization objects without names by matching the sub-type and super-type of each UML Generalization.
-
27. The storage medium as in claim 15, wherein said step of traversing said object tree a second tie further includes the step of matching UML Dependency objects without names by matching the client an supplier of each UML Dependency object.
-
28. The storage medium as in claim 15, wherein said step of traversing said object tree a second time further includes the step of matching UML Constraint objects without names by matching the Constrained Elements of each UML Constraint object.
Specification