IP Library Granted Patent US 8,739,150
Granted Patent B2
US 8,739,150 · App. 13/117,613 · Granted May 27, 2014

Systems and methods for dynamically replacing code objects via conditional pattern templates

Inventors: Albrecht Gass (Fullerton, CA); Nikolaos Faradouris (Mannheim, DE); Oliver Flach (Leinfelden-Echterdingen, DE); Stefan Hetges (Mannheim, DE)
Assignee: Smartshift GmbH
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,739,150
App. No.
13/117,613
Granted
May 27, 2014
Kind
B2
Abstract

The present application is directed towards systems and methods for dynamically creating a substitution template from a conditional pattern template to transform code objects from a source installation to a target installation. Variable tokens in a pattern template may be dynamically replaced with corresponding values from a source object, and conditional statements of the pattern template analyzed and dynamically applied to build a substitution template for creating a replacement object for the source object.

Claims (28)

1. A method for applying a dynamic pattern template to a transformation of a source installation of an application to a target installation of the application, the method comprising:

(a) establishing, by an application transformation tool executed by a processor of a computing device, a plurality of dynamic pattern templates, each of the plurality of dynamic pattern templates comprising a conditional statement and an identifier token to build a substitution pattern;

(b) identifying, by a transformer of the application transformation tool, a dynamic pattern template of the plurality of dynamic pattern templates to transform a code object of a source installation of an application for use in a target installation of the application;

(c) determining, by the transformer responsive to applying the conditional statement of the dynamic pattern template to content of the code object in the source installation of the application, to build a substitution pattern of the content of the code object for the target installation of the application, the transformer executing executable instructions of the dynamic pattern template to build the substitution pattern;

(d) replacing, by the transformer, the identifier token from the dynamic pattern template with a value from a token, identified by the identifier token, in the content of the code object of the source installation; and

(e) applying, by the transformer, the substitution pattern to the code object of the source installation of the application to create a replacement code object for the target installation of the application.

2. The method of claim 1 , wherein step (a) further comprises establishing the dynamic pattern template to comprise a conditional statement to determine whether a substitute pattern should be applied to the code object.

3. The method of claim 1 , wherein step (a) further comprises establishing the dynamic pattern template to comprise a conditional statement that depends on one of a presence or an absence of a parameter in the content of the code object.

4. The method of claim 1 , wherein step (a) further comprises establishing the dynamic pattern template to comprise the token identifier to indicate that an exception in the content of the code object is to be included in the replacement code object.

5. The method of claim 1 , wherein step (a) further comprises establishing the dynamic pattern template to comprise executable instructions of a programming language to execute the substitution pattern.

6. The method of claim 1 , wherein step (b) further comprises identifying, by the transformer, the dynamic pattern template from the plurality of dynamic pattern templates based on one of a name or identifier of the code object.

7. The method of claim 1 , wherein step (c) further comprises applying, by the transformer, the conditional statement of the dynamic pattern template if the content of the code object includes one of a predetermined parameter name or predetermined function name.

8. The method of claim 1 , wherein step (d) further comprises replacing, by the transformer, the identifier token with a value from one of the following tokens in the content of the code object: parameter, exception, header table or field.

9. The method of claim 1 , wherein step (e) further comprises creating, by the transformer, the replacement code object for one of an obsolete function or a function to be upgraded from the source installation of the application.

10. A system for applying a dynamic pattern template to a transformation of a source installation of an application to a target installation of the application, the system comprising:

a computing device comprising a processor configured for executing an application transformation tool comprising an interface and a transformer;

wherein the interface of the application transformation tool is configured for establishing a plurality of dynamic pattern templates, each of the plurality of dynamic pattern templates comprising a conditional statement and an identifier token to build a substitution pattern;

wherein the transformer is configured for identifying a dynamic pattern template of the plurality of dynamic pattern templates to transform a code object of a source installation of an application for use in a target installation of the application, determining, responsive to applying the conditional statement of the dynamic pattern template to content of the code object in the source installation of the application, to build a substitution pattern of the content of the code object for the target installation of the application, the transformer configured to execute executable instructions of the dynamic pattern template to build the substitution pattern, and

wherein the transformer is configured to replace the identifier token from the dynamic pattern template with a value from a token, identified by the identifier token, in the content of the code object of the source installation; and

wherein the transformer is configured to apply the substitution pattern to the code object of the source installation of the application to create a replacement code object for the target installation of the application.

11. The system of claim 10 , wherein the dynamic pattern template is established to comprise a conditional statement to determine whether a substitute pattern should be applied to the code object.

12. The system of claim 10 , wherein the dynamic pattern template is established to comprise a conditional statement that depends on one of a presence or an absence of a parameter in the content of the code object.

13. The system of claim 10 , wherein the dynamic pattern template is established to comprise the token identifier to indicate that an exception in the content of the code object is to be included in the replacement code object.

14. The system of claim 10 , wherein the dynamic pattern template is established to comprise executable instructions of a programming language to execute the substitution pattern.

15. The system of claim 10 , wherein the transformer identifies the dynamic pattern template from the plurality of dynamic pattern templates based on one of a name or identifier of the code object.

16. The system of claim 10 , wherein the transformer identifies the conditional statement of the dynamic pattern template if the content of code object includes one of a predetermined parameter name or predetermined function name.

17. The system of claim 10 , wherein the transformer replaces the identifier token with a value one of the following tokens in the content of the code object: parameter, exception, header table or field.

18. The system of claim 10 , wherein the transformer creates the replacement code object for one of an obsolete function or a function to be upgraded from the source installation of the application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2011
From: GASS, ALBRECHT; FARADOURIS, NIKOLAOS; FLACH, OLIVER; HETGES, STEFAN
To: SMARTSHIFT GMBH
Reel/Frame 026364/0570 →
Continuity (2)
Provisional Application 61349483 · May 28, 2010
Related Publication 20110296391A1 · Dec 1, 2011