Automated Porting of Application to Mobile Infrastructures
First Claim
1. A method to transform source code from an input architecture to a target architecture comprising:
- receiving one or more input source code files of an n-tier application, the input source code files comprising a plurality of programming language code constructs;
receiving one or more target grammars corresponding to the mobile form-factor constrained target architecture;
receiving an architectural specification corresponding to the n-tier input application;
receiving an architectural specification corresponding to the target architecture;
generating an annotated abstract syntax tree representing at least one code construct from at least one input source code file, based at least on one or more target grammars, the n-tier architectural specification and the target architecture specification, wherein at least one of the annotations comprises a transformation rule to map the code construct from the at least one of the input source code files represented in the annotated abstract syntax tree to the target architecture; and
generating target source code based at least on the annotated abstract syntax tree comprising at least one mobile component and at least one server component.
4 Assignments
0 Petitions
Accused Products
Abstract
Techniques to automatically port applications to a mobile infrastructure using code separation with semantic guarantees are disclosed. Porting enterprise applications from to a target architecture another is effected via separating code into constituent layers of the target architecture. To preserve semantics, code transformations are enforced via an abstract syntax tree structure. The generated code may have various code wrappers and/or infrastructure elements so the ported application will operate in the target architecture. Various techniques are disclosed regarding specific code wrappers and/or infrastructure elements to address operating issues including, but not limited to, architectural issues, network latency, framework changes, regulatory issues.
-
Citations
26 Claims
-
1. A method to transform source code from an input architecture to a target architecture comprising:
-
receiving one or more input source code files of an n-tier application, the input source code files comprising a plurality of programming language code constructs; receiving one or more target grammars corresponding to the mobile form-factor constrained target architecture; receiving an architectural specification corresponding to the n-tier input application; receiving an architectural specification corresponding to the target architecture; generating an annotated abstract syntax tree representing at least one code construct from at least one input source code file, based at least on one or more target grammars, the n-tier architectural specification and the target architecture specification, wherein at least one of the annotations comprises a transformation rule to map the code construct from the at least one of the input source code files represented in the annotated abstract syntax tree to the target architecture; and generating target source code based at least on the annotated abstract syntax tree comprising at least one mobile component and at least one server component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system to perform a software application transformation comprising:
-
a processor; a memory, communicatively coupled to the processor; a software user interface resident in memory configured to specify source code files of a software application, to specify one or more grammars, to specify an input architecture and a target mobile architecture with at least one architectural constraint; a transformation rules generator, configured to generate transformation rules based at least on the specified input architecture and the specified target architecture, wherein the specified target architecture comprises at least one component type; an abstract syntax tree generator, configured to generate an annotated abstract syntax tree based on at least one specified source code file, at least one specified grammar, and at least one generated transformation rule; a component recommendation engine, configured to identify candidate components according to at least one component type; and an abstract syntax tree transformer, configured to generate at least one mobile component and at least one server component from any candidate components such that at least one transformation to address at least one constraint is applied. - View Dependent Claims (22, 23, 24)
-
-
25. A system to perform a software application transformation comprising:
-
a processor; a memory, communicatively coupled to the processor; a software user interface resident in memory configured to specify source code files of a software application, to specify one or more grammars, to specify an input architecture and a target mobile architecture with at least one architectural constraint, and to request input from a technician; a transformation rules generator, configured to generate transformation rules based at least on the specified input architecture and the specified target architecture, wherein the specified target architecture comprises at least one component type; an abstract syntax tree generator, configured to generate an annotated abstract syntax tree based on at least one specified source code file, at least one specified grammar, and at least one generated transformation rule; a component recommendation engine, configured to identify candidate components according to at least one component type; and an abstract syntax tree transformer, configured to generate at least one mobile component and at least one server component from any candidate components such that at least one transformation to address at least one constraint is applied based at least on input from the technician. - View Dependent Claims (26)
-
Specification