Data processing: structural design – modeling – simulation – and em – Simulating electronic device or electrical system – Software program
Reexamination Certificate
1998-10-14
2001-08-14
Teska, Kevin J. (Department: 2123)
Data processing: structural design, modeling, simulation, and em
Simulating electronic device or electrical system
Software program
C703S027000, C707S793000, C707S793000, C707S793000, C709S241000, C711S168000
Reexamination Certificate
active
06275787
ABSTRACT:
A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
CROSS REFERENCE TO RELATED APPLICATIONS
This patent document relates to the following co-pending applications, assigned to the same assignee hereof, which are incorporated herein by reference.
U.S. Ser. No. 09/154,613, entitled A METHOD AND SYSTEM FOR MONITORING AND CAPTURING ALL FILE USAGE OF A SOFTWARE TOOL;
U.S. Ser. No. 09/156,029, entitled A METHOD AND SYSTEM FOR INTERFACING TO A VARIETY OF SOFTWARE DEVELOPMENT TOOLS;
U.S. Ser. No. 09/156,028, entitled A SOFTWARE SYSTEM DEVELOPMENT FRAMEWORK;
U.S. Ser. No. 09/156,027, entitled A METHOD AND SYSTEM FOR CONTROLLING AND TRACKING CLIENT ACCESS TO SERVER SOFTWARE; and,
U.S. Ser. No. 09/156,026, entitled A METHOD AND SYSTEM FOR BUILDING COMPONENTS IN A FRAMEWORK USEFUL IN DEVELOPING INTEGRATED BUSINESS-CENTRIC APPLICATIONS.
FIELD OF THE INVENTION
The present invention generally relates to the field of computer systems for developing business applications; and, in particular, it relates to a method for merging repository updates with incomplete work-in-progress currently being executed by the computer system.
BACKGROUND OF THE INVENTION
Prior art methods for merging work in progress with checked-in changes require numerous steps and a great deal of complexity in order to take into account the myriad details involved in the type of object model being merged. Such methods vary from one type of model to another. For example, Unified Modeling Language (UML) models require different steps than Metaobject Facility (MOF) models.
Information stored in an object-oriented repository often consists of large composite objects containing other composite objects. For example, a body of information expressed using UML consists of a model containing various detailed model elements and any number of packages. Each package can further contain various detailed model elements as well as additional packages.
In addition to the composite relationships within the model, there are many relationships between elements, and these relationships commonly cross package boundaries. For example, an attribute of a classifier in one package can have a type in another package. Or a generalization can refer to a supertype in a different package. For this reason, when a user wants to modify a single package using a UML modeling tool, he loads the entire model containing the package into the tool. This allows him to see and modify references in the package to elements outside the package.
The problem arises for a repository providing the ability for separate users to check out different packages within the same model. When multiple users check packages in and out of the same model at different points in time, the need sometimes arises for a user with a checked-out package to synchronize his work in progress with changes in other packages that were checked in after he checked out his package. He must do so in order to account for changes in the surrounding packages.
An example scenario could be as follows. Users X and Y are developing a model M, which contains packages P1 and P2. User X checks out package P1 and loads model M into his modeling tool. User Y checks out package P2 and loads model M into his modeling tool. Users X and Y change packages P1 and P2, respectively. User Y checks in his changes to package P2, which include a new class called C. User X needs to use class C in order to complete his changes to package P1. User X must merge his work in progress with the model changes user Y has checked into the repository. User X cannot yet check in changes made to his package P1 because they are incomplete and inconsistent. Moreover, he cannot complete his work and make package P1 consistent until he can merge the new package P2 into the model in his tool.
SUMMARY OF THE INVENTION
Accordingly, it is an object of the present invention to provide a method that allows a user to merge other users' completed work, which they have checked back into a repository, with his own incomplete work in progress.
Another object of the present invention is to provide a method for a user to obtain a report of inconsistencies in his own incomplete work in progress with respect to other users' model changes that have been checked into a repository.
The method of the present invention uses few steps, while employing standard repository features in unusual and unexpected ways as will be shown hereinafter. This method uses a standard check-in operation, but does not actually check in anything. It verifies work as if committing a transaction, but with no intention of committing. It aborts its transaction as if failing, but succeeds in getting the desired extracted model.
An important feature of this invention is the use of few programming steps, which can therefore be implemented with little programming time and effort.
Further, by using whatever check-in and extraction methods the repository supports, the method implicitly works for any type of extraction format or tool. The method is independent of modeling details, so it can be easily adapted to any type of model (UML, MOF, etc.).
Another important feature of this invention is derived from its reuse of the package check-in and model extraction operations. The reuse of these operations guarantees the merge operation will behave consistently with normal check-in and extract operations. Additionally, using the same verify operation used for committing repository transactions guarantees the merge operation gives the same diagnostic messages as an actual check-in.
Still other objects, features and advantages of the present invention will become readily apparent to those skilled in the art from the following detailed description, wherein is shown and described only the preferred embodiment of the invention, simply by way of illustration of the best mode contemplated of carrying out the invention. As will be realized, the invention is capable of other and different embodiments, and its several details are capable of modifications in various obvious respects, all without departing from the invention. Accordingly, the drawings and description are to be regarded as illustrative in nature, and not as restrictive, and what is intended to be protected by Letters Patent is set forth in the appended claims. The present invention will become apparent when taken in conjunction with the following description and attached drawings, wherein like characters indicate like parts, and which drawings form a part of this application.
REFERENCES:
patent: 5724556 (1998-03-01), Souder et al.
patent: 5913061 (1999-06-01), Gupta et al.
patent: 5966707 (1999-10-01), Van Huben et al.
patent: 5978811 (1999-11-01), Smiley
patent: 6035297 (2000-03-01), Van Huben et al.
Kozak Alfred W.
Phan Thai
Rode Lise A.
Starr Mark T.
Teska Kevin J.
LandOfFree
Method for merging repository updates with incomplete work... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method for merging repository updates with incomplete work..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for merging repository updates with incomplete work... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2465198