IP Library › Granted Patent US 8,689,173
Granted Patent B2
US 8,689,173 · App. 13/011,448 · Granted Apr 1, 2014

Detecting design patterns in models by utilizing transformation language

Inventor: Maged Elaasar (Kanata, CA)
Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,689,173
App. No.
13/011,448
Granted
Apr 1, 2014
Kind
B2
Abstract

A mechanism is provided for detecting pattern occurrences utilizing a transformation software application on a computer. An input model is received in which the transformation software application is configured to detect model elements playing pattern roles, and report them in an output model (conforming to new pattern result language). A pattern specification is configured as a declarative transformation relation that is used by the transformation software application to detect pattern occurrences in the input model. Pattern occurrences are reported in the output model, where the pattern occurrences are instances of the pattern detected in the input model.

Claims (35)

1. A method for detecting pattern occurrences utilizing a transformation software application, as a query-view-transformation (QVT) tool, on a computer, comprising:

receiving an input model conforming to a modeling language in which model elements playing pattern roles are detected as patterns by utilizing transformation logic of the transformation software application and a pattern specification configured as a transformation relation;

producing an output model that concisely reports pattern occurrences of the patterns; and

outputting the pattern occurrences in the output model, wherein the pattern occurrences are instances of detecting the patterns in the input model;

wherein a results metamodel is a structure for the output model; and

wherein the output model is designed to receive the pattern occurrences as instances of detecting the patterns in the input model without the computer transforming the input model into the output model.

2. The method of claim 1 , wherein the pattern specification is executed as the transformation relation for a transformation.

3. The method of claim 1 , wherein the pattern specification defines a pattern using a syntax for the transformation relation.

4. The method of claim 1 , wherein the pattern specification defines a pattern in terms of a checkonly clause representing the pattern roles in the input model in the transformation relation and in terms of an enforce clause representing the pattern occurrences in the transformation relation.

5. The method of claim 1 , wherein the pattern specification defines how classes of the source input model play roles in a pattern and how the classes map to the pattern occurrences; and

wherein the pattern specification defines that the pattern occurrences are to be represented in the output model.

6. A computer, comprising:

a processor configured to execute computer instructions; and

memory comprising: a transformation software application, as a query-view-transformation (QVT) tool, configured for receiving an input model conforming to a modeling language in which model elements playing pattern roles are detected, and producing an output model that concisely reports occurrences of those patterns by utilizing transformation logic of the transformation software application and a pattern specification configured as a transformation relation;

the processor is configured to execute the transformation software application by utilizing the pattern specification to detect pattern occurrences in the input model; and

the processor is configured to report the pattern occurrences in the output model, wherein the pattern occurrences are instances of detecting patterns in the input model;

wherein a results metamodel is a structure for the output model; and

wherein the output model is designed to receive the pattern occurrences as instances of detecting the patterns in the input model without the computer transforming the input model into the output model.

7. The method of claim 6 , wherein the pattern specification defines a pattern as the transformation relation by utilizing a where clause and when clause of the relation to add constraints and to decompose the pattern specification.

8. The computer of claim 6 , wherein the processor is configured to execute the pattern specification as the transformation relation for a transformation.

9. The computer of claim 6 , wherein the pattern specification defines a pattern using a syntax for a relational transformation language.

10. The computer of claim 6 , wherein the pattern specification defines a pattern in terms of a checkonly clause representing the pattern roles in the input model in the transformation relation and in terms of an enforce clause representing the pattern occurrences in the transformation relation.

11. The computer of claim 6 , wherein the pattern specification defines how classes of the input model play roles in a pattern and how the classes map to the pattern occurrences; and

wherein the pattern specification defines that the pattern occurrences are to be represented in the output model using relation language.

12. The computer of claim 6 , wherein the pattern specification defines a pattern as the transformation relation by utilizing a where clause and when clause of the transformation relation to add more constraints and to decompose the pattern specification.

13. The computer of claim 6 , wherein the processor is configured to display the pattern occurrences in a tree.

14. The computer of claim 6 , wherein the pattern specification is configured to be input and displayed in textual form and in graphical notation as the relation.

15. A computer program product for detecting pattern occurrences utilizing a transformation software application, as a query-view-transformation (QVT) tool, on a computer, the computer program product comprising:

a computer readable storage memory having computer readable program code embodied therewith, the computer readable program code for detecting pattern occurrences comprising:

receiving an input model conforming to a modeling language in which model elements playing pattern roles are detected as patterns by utilizing transformation logic of the transformation software application and a pattern specification configured as a transformation relation;

producing an output model that concisely reports pattern occurrences of the patterns; and

outputting the pattern occurrences in the output model, wherein the pattern occurrences are instances of detecting the patterns in the input model;

wherein a results metamodel is a structure for the output model; and

wherein the output model is designed to receive the pattern occurrences as instances of detecting the patterns in the input model without the computer transforming the input model into the output model.

16. The product of claim 15 , wherein the pattern specification is executed as the transformation relation for a transformation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2011
From: ELAASAR, MAGED
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 025679/0459 →
Continuity (1)
Related Publication 20120192143A1 · Jul 26, 2012