# US 7,613,745 B2 · Method of aligning meta-models

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,613,745 B2
- Document ID: US7613745B2
- Status: Granted
- Kind: B2
- Application number: 11/753,622
- Filed: 2007-05-25
- Published: 2008-11-27
- Granted: 2009-11-03
- Earliest claimed: 2007-05-25
- Assignees: International Business Machines Corporation
- Inventors: Kim Letkeman; Oleksiy Grygoryev
- Web page: https://patentgrep.com/patent/US7613745B2

## CPC

- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method for processing meta-models defined in accordance with Meta Object Facility (MOF). A system is provided that includes: a version control system for checking meta-models in and out of a model repository; a system for merging two versions of a meta-model that are based on a common ancestor version and were worked on in parallel; and an alignment system for aligning the two versions and the common ancestor whenever a profile has been applied differently to any of the two versions and common ancestor version.

## Claims

### Claim 1

A system for processing meta-models defined in accordance with Meta Object Facility (MOF), comprising:
a version control system for checking meta-models in and out of a model repository;
a system for merging two versions of a meta-model that are based on a common ancestor version and were worked on in parallel; and
an alignment system for aligning the two versions and the common ancestor whenever a profile has been applied differently to any of the two versions and common ancestor version.

### Claim 2 (depends on 1)

The system of claim 1, wherein the alignment system includes a version mismatch system for recognizing if different profile versions are being applied to like packages within different versions of the meta-model, and for adjusting each like package within the different versions of the meta-model to a most recent profile version.

### Claim 3 (depends on 1)

The system of claim 1, wherein the alignment system includes a profile mismatch system for recognizing if different profiles are being applied to like packages within different versions of the meta-model, and for ensuring that like packages within each of the different versions of the meta-model utilize a common profile.

### Claim 4 (depends on 1)

The system of claim 1, wherein the alignment system includes a profile location change system for recognizing if a profile is being applied at different hierarchical levels within the two versions of the meta-model, and for ensuring that the profile is applied to a highest hierarchical level in each of the two versions of the meta-model.

### Claim 5 (depends on 1)

The system of claim 1, wherein the two versions of the meta-model include a remote version and a local version that were checked out of the model repository during a same period of time, and wherein the remote version was checked back in first.

### Claim 6 (depends on 5)

The system of claim 5, wherein the alignment system is initiated when the remote version was checked out as a copy of the ancestor version, modified and checked back in; and the local version was check out as a copy of the ancestor version, modified, and is being checked back in.

### Claim 7 (depends on 6)

The system of claim 6, wherein the aligning is initiated when local version is being checked back in.

### Claim 8

A computer program product stored on a computer readable medium, which when executed by a computer system, processes meta-models, the computer program product comprising:
program code configured for checking meta-models in and out of a model repository;
program code configured for merging two versions of a meta-model that are based on a common ancestor and were worked on in parallel; and
program code configured for aligning the two versions and the common ancestor whenever a profile has been applied differently to any of the two versions and common ancestor.

### Claim 9 (depends on 8)

The computer program product of claim 8, wherein the aligning includes recognizing if different profile versions are being applied to like packages within different versions of the meta-model, and for adjusting each like package within the version of the meta-model to a most recent profile version.

### Claim 10 (depends on 8)

The computer program product of claim 8, wherein the aligning includes recognizing if different profiles are being applied to like packages within different versions of the meta-model, and for ensuring that like packages within each of the versions of the meta-model utilize a common profile.

### Claim 11 (depends on 8)

The computer program product of claim 8, wherein the aligning includes recognizing if a profile is being applied at different hierarchical levels within the two versions of the meta-model, and for ensuring that the profile is applied to a highest hierarchical level in each of the two versions of the meta-model.

### Claim 12 (depends on 8)

The computer program product of claim 8, wherein the two versions of the meta-model include a remote version and a local version that were checked out of the model repository during a same period of time to be worked on, and wherein the remote version was checked back in first.

### Claim 13 (depends on 12)

The computer program product of claim 12, wherein the aligning is initiated when the local version is being checked back in.

### Claim 14 (depends on 13)

The computer program product of claim 13, wherein the aligning causes an aligned set of versions of the meta-model to be generated and stored in the model repository.

### Claim 15

A method for aligning versions of a meta-model within a meta-model processing system, comprising:
providing an interface for checking meta-models in and out of a model repository;
merging two versions of a meta-model that are based on a common ancestor and were worked on in parallel when a second one of the two versions is being checked back in; and
aligning the two versions and the common ancestor whenever a profile has been applied differently to any of the two versions and common ancestor.

### Claim 16 (depends on 15)

The method of claim 15, wherein the aligning includes recognizing if different profile versions are being applied to like packages within different versions of the meta-model, and for adjusting each like package within the version of the meta-model to a most recent profile version.

### Claim 17 (depends on 15)

The method of claim 15, wherein the aligning includes recognizing if different profiles are being applied to like packages within different versions of the meta-model, and for ensuring that like packages within each of the versions of the meta-model utilize a common profile.

### Claim 18 (depends on 15)

The method of claim 15, wherein the aligning includes recognizing if a profile is being applied at different hierarchical levels within the two versions of the meta-model, and for ensuring that the profile is applied to a highest hierarchical level in each of the two versions of the meta-model.

### Claim 19 (depends on 8)

The computer program product of claim 8, wherein the two versions of the meta-model include a remote version and a local version that were checked out of the model repository during a same period of time, and wherein the remote version was checked back in first.

### Claim 20

A system for processing meta-models, comprising:
a system for comparing two versions of a model; and
an alignment system for aligning associated meta-models of the two versions whenever a profile has been applied differently, wherein the alignment system includes a version mismatch system for recognizing if different profile versions are being applied to like packages within different versions of the meta-model, and for adjusting each like package within the different versions of the meta-model to a most recent profile version.
