Method and system for generating a hierarchial document type definition for data interchange among software tools
First Claim
1. In a software development framework having a repository and one or more software systems wherein said repository contains a meta-model and said software systems, which store instances of said meta-model, a method for enabling exchange of said instances of said meta-model among said software systems using a generalized data transfer language, said method comprising the steps of:
- a. extracting a fixed component and a variable component of said meta-model;
b. parsing said variable component into a first set of constituent components for a first instance of said variable component;
c. extracting a list of repeated components from said first set of constituent components;
d. determining the hierarchical order and inheritance of said repeated components in said list of repeated components;
e. transforming said repeated components in said list of repeated components into corresponding components of a generalized software language;
f. transforming each of said first set of constituent components into corresponding components of said generalized software language;
g. transforming said first instance of variable component into corresponding components of said generalized software language;
h. repeating steps b to g for a second instance of said variable component;
i. transforming said fixed component into corresponding components of said generalized software language;
j. distributing said corresponding components to said second instance of said software model; and
, k. using said distributed said corresponding components to control the syntax of said generalized data transfer language to exchange said meta-model instances.
12 Assignments
0 Petitions
Accused Products
Abstract
A method is disclosed for use in a software development framework having a repository and at least two software systems. The repository contains a meta-model and the software systems, which store instances of the meta-model. The method enables exchange of the instances of the metadata among the software systems using a generalized data transfer language. The method comprises the steps of extracting a fixed component and a list of repeated components of the metadata; extracting a variable component form the list of repeated components; parsing the variable component into a first set of constituent components for a first instance of the variable component; and, determining the hierarchical order and inheritance of the first set of constituent components in the list of repeated components. Next, each of the first set of constituent components are transformed into corresponding components of the generalized software language. The first instance of the variable component is then transformed into corresponding components of the generalized software language. The list of repeated components is updated and the previous five steps are repeated for another instance of the variable component. The list of repeated components are next transformed into corresponding components of the generalized software language. After this, the fixed components are transformed into corresponding components of the generalized software language. Finally, the corresponding components are distributed to the second instance of the software model.
197 Citations
19 Claims
-
1. In a software development framework having a repository and one or more software systems wherein said repository contains a meta-model and said software systems, which store instances of said meta-model, a method for enabling exchange of said instances of said meta-model among said software systems using a generalized data transfer language, said method comprising the steps of:
-
a. extracting a fixed component and a variable component of said meta-model;
b. parsing said variable component into a first set of constituent components for a first instance of said variable component;
c. extracting a list of repeated components from said first set of constituent components;
d. determining the hierarchical order and inheritance of said repeated components in said list of repeated components;
e. transforming said repeated components in said list of repeated components into corresponding components of a generalized software language;
f. transforming each of said first set of constituent components into corresponding components of said generalized software language;
g. transforming said first instance of variable component into corresponding components of said generalized software language;
h. repeating steps b to g for a second instance of said variable component;
i. transforming said fixed component into corresponding components of said generalized software language;
j. distributing said corresponding components to said second instance of said software model; and
,k. using said distributed said corresponding components to control the syntax of said generalized data transfer language to exchange said meta-model instances. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A storage medium for use in a software development framework having a repository and at least two software systems wherein said repository contains a meta-model and said software systems, which store instances of said meta-model, said medium encoded with machine-readable computer program code for enabling exchange of said instances of said meta-model among said software systems using a generalized data transfer language, wherein when the computer program code is executed by a computer, the computer performs the steps of:
-
a. extracting a fixed component and a variable component of said meta-model;
b. parsing said variable component into a first set of constituent components for a first instance of said variable component;
c. extracting a list of repeated components from said first set of constituent components;
d. determining the hierarchical order and inheritance of said repeated components in said list of repeated components;
e. transforming said repeated components in said list of repeated components into corresponding components of a generalized software language;
f. transforming each of said first set of constituent components into corresponding components of said generalized software language;
g. transforming said first instance of variable component into corresponding components of said generalized software language;
h. repeating steps b to g for a second instance of said variable component;
j. transforming said fixed component into corresponding components of said generalized software language;
l. distributing said corresponding components to said second instance of said software model; and
,m. using said distributed said corresponding components to control the syntax of said generalized data transfer language to exchange said meta-model instances. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. In a software development framework having a repository and at least two software systems wherein said repository contains a meta-model and said software systems, which store instances of said meta-model, a method for enabling exchange of said instances of said meta-model among said software systems using a generalized data transfer language, said method comprising the steps of:
-
a. mapping primary objects of said meta-model to constructs of said generalized data transfer language;
b. mapping component parts and relationships of said primary meta-model objects to component constructs of said generalized data transfer language;
c. further mapping of groups of said relationships of said meta-model to aggregate constructs of said data transfer language;
d. mapping grouping mechanisms of said meta-model to grouping constructs of said generalized data transfer language;
e. defining algorithms for traversing said meta-model to obtain information about said component parts and relationships of said primary components necessary for preserving said information in a process of transforming said component parts and relationships, primary objects and grouping mechanisms into generalized software language components used to express said constructs, component constructs and grouping constructs of said generalized data transfer language;
f. defining algorithms for traversing said meta-model to obtain information about said groups of said relationships for the purpose of transforming said groups of said relationships into aggregate constructs of said generalized software language used to express said aggregate constructs of said generalized data transfer language;
g. defining algorithms for transforming groups of said relationships into generalized software language constructs used to express said aggregate constructs of said generalized data transfer language; and
,h. expressing relationships among said generalized software language components, whereby reliable and correct programs to perform said transforming of said component parts and relationships, primary objects and grouping mechanisms into said generalized software language components can be written.
-
Specification