Generating constraints in a class model -> Monitor Keywords
Fresh Patents
Monitor Patents Patent Organizer File a Provisional Patent Browse Inventors Browse Industry Browse Agents Browse Locations
site info Site News  |  monitor Monitor Keywords  |  monitor archive Monitor Archive  |  organizer Organizer  |  account info Account Info  |  
03/19/09 - USPTO Class 716 |  1 views | #20090077511 | Prev - Next | About this Page  716 rss/xml feed  monitor keywords

Generating constraints in a class model

USPTO Application #: 20090077511
Title: Generating constraints in a class model
Abstract: A method of generating code from a class model for a modeled system. The class model specifies a plurality of elements of a modeling language and dependencies between elements of a plurality of elements. In operations the method analyzes the class model to identify a first possible source of under-specification with respect to the modeled system in the class model by using pattern recognition to find an occurrence of a first problem pattern of a plurality of problem patterns in the class model, the plurality of problem patterns are then stored in a repository. The method also includes identifying a set of constraint patterns where the at least first constraint pattern is linked in the repository to the first problem pattern. A user may then select a constraint pattern which is utilized in instantiating constraints and generating code based on the class model and the instantiated constraints. (end of abstract)



Agent: Ibm Corporation (swp) - Omaha, NE, US
Inventors: Michael S. Wahler, Jana Koehler
USPTO Applicaton #: 20090077511 - Class: 716 5 (USPTO)

Generating constraints in a class model description/claims


The Patent Description & Claims data below is from USPTO Patent Application 20090077511, Generating constraints in a class model.

Brief Patent Description - Full Patent Description - Patent Application Claims
  monitor keywords CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims the benefit under 35 U.S.C. §119 of Switzerland; Application Serial Number 07116302.6, filed Sep. 13, 2007 entitled “Generating Constrains in a Class Model,” which is incorporated herein by reference.

TECHNICAL FIELD

The invention relates to a method, computer program product and data processing system for generating code from a class model.

BACKGROUND

Modeling languages such as the unified modeling language provide a variety of model types for describing properties of a modeled system. A class model models the underlying data model of a system in an object oriented manner. A class model specifies elements of modeling languages and dependencies between the elements. Class models have diagrammatic syntax and therefore allow people without skills in computer science to model data.

The limited expressiveness of diagrammatic models often means that class models produced by graphical specification are often under-specified with respect to the system modeled. The term under-specified is used here to indicate that instances of the model can exist which do not conform to objects in the modeled system. Textual constraints are therefore used to express details that are either difficult or impossible to express diagrammatically. Thus in the development of code from a class model, constraints are helpful to make the model consistent with the modeled system.

FIG. 1 shows a flow diagram illustrating the steps involved in the state of the art development process 100. In a step 102, a model is created. This can be performed graphically by a model developer. In a step 104 constraints are added to the model. The step 104 is carried out by a constraints expert. In a step 106, the constraints are checked for correct syntax and types. If the checks are not passed in a step 108, the constraints are refined in a step 110 and potentially new constraints are added in step 104. If the checks are passed in step 108, the method moves to a step 112 in which code is generated from the model and the constraints. In a step 114, the generated code is tested. The knowledge of a test expert is used for the test code step 114. The step 114 checks that the constraint specification for the model is valid. If the test is not passed, in a step 116 the method moves back to step 110 in which the constraints are refined. If the test in step 114 is passed, the method moves from step 116 to a step 118 in which the code is deployed.

The development process 100 shown in FIG. 1 uses the expertise of a constraint expert and a test expert in addition to the knowledge of the model developer.

SUMMARY

The present invention is directed to a method, data processing system, and computer program product as defined in the independent claims. Further embodiments of the invention are described in the dependent claims.

According to an embodiment of the present invention, there is provided a method of generating code from a class model for a modeled system. The class model specifies a plurality of elements of a modeling language and dependencies between the elements. The method comprises analyzing the class model to identify a first possible source of under-specification with respect to the modeled system. Pattern recognition is used to find an occurrence of a first problem pattern of a plurality of problem patterns in the class model. The plurality of problem patterns is stored in a repository. The method further comprises identifying a set of constraint patterns comprising at least a first constraint pattern. The at least first constraint pattern is linked in the repository to the first problem pattern. The first constraint pattern is a resolution to the first possible source of under-specification in the class model. The method further comprises presenting, e.g. by means of displaying, the set of constraint patterns to a user. The method further comprises receiving a user selection from the user. The user selection comprises a constraint pattern from the set of constraint patterns. The method further comprises instantiating constraints from the user selection. The method further comprises generating code based on the class model and the instantiated constraints.

Embodiments of the invention are advantageous as potential constraints for the class model are automatically identified and presented to a user. Thus, the expertise of a constraints expert is not required for the generation of constraints.

According to an embodiment of the present invention, the step of identifying a set of constraint patterns further comprises determining conflicts between constraints in the class model and constraint patterns in the set of constraint patterns. Embodiments of the present invention are particularly advantageous as potential conflicts between constraints are identified before the constraints are instantiated. This means that potential conflicts between constraints are identified without the need for the step of testing the code which is shown as step 114 in FIG. 1. Thus, embodiments of the present invention allow a development process without the need for a cycle such as that shown in FIG. 1 where the step 110 may need to be repeated a number of times. Embodiments of the invention therefore provide an efficient development process as the load upon processing resources is minimized.

According to a preferred embodiment of the present invention, the set of constraint patterns are selected from a constraint pattern repository storing parameterizable constraint patterns.

According to a preferred embodiment of the present invention, the parameterizable constraint patterns are stored with information about potential conflicts and redundancies with other constraint patterns.

According to a preferred embodiment of the present invention, the parameterizable constraint patterns are parameterizable by moving, e.g. by dragging and dropping, elements of the plurality of elements into parameter slots of the parameterizable constraint patterns. Embodiments of the present invention therefore provide user-friendly constraint pattern instantiation.

According to a preferred embodiment of the present invention, the step of presenting the set of constraint patterns to a user further comprises presenting a context, a description, and potential resolution alternatives as a table to the user. The context is an identifier of the element in the plurality of elements associated with the first possible source of under-specification, the description describes the first possible source of under-specification, and the potential resolution alternatives are identifiers of the at least first constraint pattern.

According to a preferred embodiment of the present invention, there is provided a computer program product. The computer program product comprises computer-executable instructions. The instructions are adapted, when executed on a computer, to cause the computer to perform the steps of the method in accordance with the invention.

According to a preferred embodiment of the present invention, there is provided a data processing system for generating code from a class model for a modeled system.



Continue reading about Generating constraints in a class model...
Full patent description for Generating constraints in a class model

Brief Patent Description - Full Patent Description - Patent Application Claims

Click on the above for other options relating to this Generating constraints in a class model patent application.
###
monitor keywords

How KEYWORD MONITOR works... a FREE service from FreshPatents
1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored.
3. Each week you receive an email with patent applications related to your keywords.  
Start now! - Receive info on patent apps like Generating constraints in a class model or other areas of interest.
###


Previous Patent Application:
Generalized constraint collection management method
Next Patent Application:
Matching device
Industry Class:
Data processing: design and analysis of circuit or semiconductor mask

###

FreshPatents.com Support
Thank you for viewing the Generating constraints in a class model patent info.
IP-related news and info


Results in 0.19416 seconds


Other interesting Feshpatents.com categories:
Computers:  Graphics I/O Processors Dyn. Storage Static Storage Printers orig
filepatents (1K)

* Protect your Inventions
* US Patent Office filing
patentexpress PATENT INFO