merging models based on given correspondences rachel a. pottinger philip a. bernstein

26
Merging Models Based on Given Correspondences Rachel A. Pottinger Philip A. Bernstein

Post on 19-Dec-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Merging Models Based on Given Correspondences Rachel A. Pottinger Philip A. Bernstein

Merging Models Based on Given Correspondences

Rachel A. PottingerPhilip A. Bernstein

Page 2: Merging Models Based on Given Correspondences Rachel A. Pottinger Philip A. Bernstein

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 Rachel A. Pottinger Philip A. Bernstein

Introduction

Combining models requires two steps: Determining correspondences between

two models (Schema matching) Merging the models based on those

correspondences

Determining correspondences is a major topic of ongoing research and is not covered in this paper

Page 4: Merging Models Based on Given Correspondences Rachel A. Pottinger Philip A. Bernstein

Model Management

Proposed by Bernstein in “Applying Model Management to Classical Meta Data Problems”Operators: Match Merge Apply Diff

Page 5: Merging Models Based on Given Correspondences Rachel A. Pottinger Philip A. Bernstein

Model Management

Presented 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 Rachel A. Pottinger Philip A. Bernstein

Example - Conflict

Page 7: Merging Models Based on Given Correspondences Rachel A. Pottinger Philip A. Bernstein

Conflict Resolution

Conflict 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 Rachel A. Pottinger Philip A. Bernstein

Representation of Models

Representation 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 Rachel A. Pottinger Philip A. Bernstein

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 Rachel A. Pottinger Philip A. Bernstein

Complicated Mapping

Non-mapping element

Similarity Mapping

Page 11: Merging Models Based on Given Correspondences Rachel A. Pottinger Philip A. Bernstein

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 Rachel A. Pottinger Philip A. Bernstein

Conflict Resolution

Conflicts categorized based on meta-level Representation conflicts Meta-model conflicts Fundamental conflicts

Page 13: Merging Models Based on Given Correspondences Rachel A. Pottinger Philip A. Bernstein

Representation Conflicts

Occurs 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 Rachel A. Pottinger Philip A. Bernstein

Meta-Model Conflicts

Merge 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 Rachel A. Pottinger Philip A. Bernstein

Fundamental Conflicts

Meta-meta-model conflictsMerge result violates meta-meta-model rules and cannot be considered a model

Page 16: Merging Models Based on Given Correspondences Rachel A. Pottinger Philip A. Bernstein

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 Rachel A. Pottinger Philip A. Bernstein

Cardinality Constraints

Maximum and minimum occurrences of relations often restricted

Page 18: Merging Models Based on Given Correspondences Rachel A. Pottinger Philip A. Bernstein

Acyclicity

Models 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 Rachel A. Pottinger Philip A. Bernstein

The Merge Algorithm

Initialize result G to nullInclude Elements with equivalence relationCombine element propertiesCombine and include relationshipsFundamental conflict resolution

Page 20: Merging Models Based on Given Correspondences Rachel A. Pottinger Philip A. Bernstein

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 Rachel A. Pottinger Philip A. Bernstein

Contributions

Technical 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 Rachel A. Pottinger Philip A. Bernstein

Evaluation

Merged 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 Rachel A. Pottinger Philip A. Bernstein

Evaluation

Few 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 Rachel A. Pottinger Philip A. Bernstein

Conclusions

Algorithm 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 Rachel A. Pottinger Philip A. Bernstein

Questions?

Page 26: Merging Models Based on Given Correspondences Rachel A. Pottinger Philip A. Bernstein

Generic Merge Requirements

1. Element preservation2. Equality preservation3. Relationship preservation4. Similarity preservation5. Meta-meta-model constraint satisfaction6. Extraneous item prohibition7. Property preservation 8. Value preference