merging models based on given correspondences
DESCRIPTION
Merging Models Based on Given Correspondences. Rachel A. Pottinger Philip A. Bernstein. Introduction. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/1.jpg)
Merging Models Based on Given CorrespondencesRachel A. PottingerPhilip A. Bernstein
![Page 2: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/2.jpg)
Introduction“A model is a formal description of a complex application artifact, such as a database schema, an application interface, a UML model, an ontology, or a message format. The problem of merging such models lies at the core of many meta data applications.”
![Page 3: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/3.jpg)
IntroductionCombining models requires two steps: Determining correspondences between
two models (Schema matching) Merging the models based on those
correspondencesDetermining correspondences is a major topic of ongoing research and is not covered in this paper
![Page 4: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/4.jpg)
Model ManagementProposed by Bernstein in “Applying Model Management to Classical Meta Data Problems”Operators: Match Merge Apply Diff
![Page 5: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/5.jpg)
Model ManagementPresented solution: Merge (A, B, MapAB) A & B models MapAB = mapping of correspondences Returns “duplicate-free union” of A &
B
![Page 6: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/6.jpg)
Example - Conflict
![Page 7: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/7.jpg)
Conflict ResolutionConflict resolution is independent of representationExisting similarities among solutions offer an opportunity for abstractionBuneman, Davidson, and Kosky (BDK) algorithm Uses pair-wise correspondences that
have “Is-a” and “Has-a” relationships
![Page 8: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/8.jpg)
Representation of ModelsRepresentation requires (at least) 3 meta-levelsModel = database schema, etcMeta-model = type definitionsMeta-meta-model = representation language in which models and meta-models are expressed
![Page 9: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/9.jpg)
Inputs: Merge (A, B, MapAB)
Two models: A & BMapping: MapAB First-class models, elements and relationships Mapping elements, origins of additional
mapping relationships Non-mapping elements Equality and similarity mapping elements
Optional designation of preferred modelOptional overrides for Merge behavior
![Page 10: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/10.jpg)
Complicated Mapping
Non-mapping element
Similarity Mapping
![Page 11: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/11.jpg)
Mapping Result
Result = “a schema that presents all the information of the schemas being merged, but no additional information”Resulting model, G, satisfies Generic Merge Requirements
![Page 12: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/12.jpg)
Conflict ResolutionConflicts categorized based on meta-level Representation conflicts Meta-model conflicts Fundamental conflicts
![Page 13: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/13.jpg)
Representation ConflictsOccurs when two models describe the same concept in different ways Example, Name represented as ActorName vs.
FirstName & LastName Different possible outputs
Solutions: Concepts the same based off equality mapping
elements Related based of meta-meta-model relationships
and elements, FirstName sub element of ActorName
Related in more complex fashion beyond meta-meta-model representation, ActorName equals the concatenation of FirstName and LastName
![Page 14: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/14.jpg)
Meta-Model ConflictsMerge result violates meta-model-specific constraint SQL table and XML database are
merged into a SQL model, there will be no concept of a sub column
EnforceConstaints operator requires merge results to conform to a given meta-model.
![Page 15: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/15.jpg)
Fundamental ConflictsMeta-meta-model conflictsMerge result violates meta-meta-model rules and cannot be considered a model
![Page 16: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/16.jpg)
Fundamental Conflicts Example
Meta-meta-model rule: one-type restriction
Merge allowed actions: Specify an alternative function to apply
for each conflict resolution category Resolve the conflict manually
![Page 17: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/17.jpg)
Cardinality ConstraintsMaximum and minimum occurrences of relations often restricted
![Page 18: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/18.jpg)
AcyclicityModels often required to be acyclicCycles introduced in merging are collapsed into a single element by defaultUser can override default behavior
![Page 19: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/19.jpg)
The Merge AlgorithmInitialize result G to nullInclude Elements with equivalence relationCombine element propertiesCombine and include relationshipsFundamental conflict resolution
![Page 20: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/20.jpg)
Merge Steps
ActorNameActorIDSim
Bio
Actor
Bio FirstName LastName
ID:History:HowRelated:Name:Etc…
ID:History:HowRelated:Name:Etc…
ID:History:HowRelated:Name:Etc…
ID:History:HowRelated:Name:Etc…
ID:History:HowRelated:Name:Etc…
ID:History:HowRelated:Name:Etc…
ID:History:HowRelated:Name:Etc…
ID:History:HowRelated:Name:Etc…
![Page 21: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/21.jpg)
ContributionsTechnical requirements for a generic merge operatorUse of a first-class input mapping model, enabling richer correspondencesCharacterization of when Merge can be automaticTaxonomy of conflicts and a definition of conflict resolution strategiesExperimental evaluation and results
![Page 22: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/22.jpg)
EvaluationMerged Foundational Model of Anatomy (FMA) and GALEN Common Reference Model
FMA contains 895,307 elements and 2,032,020 relationships
GALEN contains 155,307 elements and 569,384 relationships
Significant structural differencesMapping contained 6265 1-to-1 correspondencesEvaluation Goals:
Limited changes to Merge would be needed Merge would function on models this large The merged results would not be simply read from the
mapping (i.e., the conflicts anticipated would occur)
![Page 23: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/23.jpg)
EvaluationFew non-fundamental changes had to be madeMerging took aprox. 20 hoursMerge results
1,045,411 elements with 9,096 duplicates 2,590,969 relationships
338 cycles, most of length 2, where found1 cycle of length 18 was foundMerged correspondences:
3 element merges: 2344 3+ element merges: 623 1 element merges: 1215
![Page 24: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/24.jpg)
ConclusionsAlgorithm is well designed Merge() is implemented in a generic way that allows for different modelsDefinitions of conflict management are givenImplementation and execution was very labor intensiveSlow, 13 weeks of expert work, 20 hours of processor timeRelies on other systems with unknown results
![Page 25: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/25.jpg)
Questions?
![Page 26: Merging Models Based on Given Correspondences](https://reader030.vdocument.in/reader030/viewer/2022012919/56816793550346895ddccc90/html5/thumbnails/26.jpg)
Generic Merge Requirements1. Element preservation2. Equality preservation3. Relationship preservation4. Similarity preservation5. Meta-meta-model constraint satisfaction6. Extraneous item prohibition7. Property preservation 8. Value preference