Claims
- 1. A method for generating a computing application for a mobile information device, comprising the steps of:
receiving a specification of said application in a markup language, said specification comprising tags of said markup language that correspond to functions of said application; parsing said tags to create a descriptor object model comprising objects that implement said functions; and processing said objects to generate executable code for said application.
- 2. The method according to claim 1, wherein a portion of said tags are user-definable.
- 3. The method according to claim 1, wherein said tags and said objects belong to different tag types and different object types respectively, and wherein said step of parsing said tags comprises providing a first set of respective readers for said different tag types to populate said objects corresponding to said different object types, and wherein said step of processing said objects comprises providing a second set of respective generators for said different object types to generate elements of said executable code corresponding to said different object types.
- 4. A method according to claim 3, further comprising the step of adding a new tag type to available ones of said tags, and adding a new reader to said first set and adding a new generator to said second set, to enable generation of an element of said executable code corresponding to said new tag type.
- 5. The method according to claim 1, wherein said step of processing said objects comprises the steps of:
creating a generation object model according to said specification; and generating source code using said descriptor object model and said generation object model.
- 6. The method according to claim 5, wherein said steps of parsing said tags, creating a generation object model, generating source code, are performed responsively to a command line directive.
- 7. The method according to claim 5, wherein said step of processing said objects further comprises the step of compiling said source code into object code.
- 8. The method according to claim 5, wherein said generation object model is specified by a tag descriptor of a project descriptor object.
- 9. The method according to claim 7, wherein said step of compiling said source code is performed using a build tool as a wrapper for a compiler of said source code.
- 10. The method according to claim 7, wherein said step of generating source code is performed using a generation object factory that produces generation objects.
- 11. The method according to claim 10, wherein said step of generating source code is performed by using said generation objects to generate class files, wherein said source code is Java source code.
- 12. The method according to claim 11, further comprising the step of preverifying classes of said class files.
- 13. The method according to claim 1, further comprising the step of packaging said executable code into an archive file.
- 14. The method according to claim 13, wherein said step of packaging said executable code further comprises the steps of:
preparing an application descriptor file ; and including a portion of said application descriptor file in said archive file.
- 15. The method according to claim 14, wherein said application descriptor file is a JAD file.
- 16. The method according to claim 1, wherein said steps of parsing said tags comprises reading different ones of said tags with different readers.
- 17. The method according to claim 1, wherein said step of parsing said tags is performed using a descriptor element factory.
- 18. The method according to claim 17, wherein said step of parsing said tags further comprises generating a plurality of descriptor elements as a composite tree structure with said descriptor element factory.
- 19. The method according to claim 18, wherein said descriptor element factory operates using a MDOM builder to produce a MDOM tree.
- 20. The method according to claim 1, wherein said step of parsing said tags further comprises generating a plurality of descriptor elements by dynamically binding data of said objects and linking said objects as a composite tree structure.
- 21. The method according to claim 1, wherein said step of parsing said tags comprises verifying said specification against schema definitions of said markup language.
- 22. The method according to claim 1, wherein said descriptor object model is arranged as a hierarchical tree.
- 23. The method according to claim 1, wherein said markup language comprises a plurality of schemas, and a root element.
- 24. The method according to claim 23, wherein one of said schemas defines widgets.
- 25. The method according to claim 23, wherein one of said schemas defines global variable elements.
- 26. The method according to claim 23, wherein one of said schemas defines data types that can be used by other data types.
- 27. The method according to claim 23, wherein one of said schemas defines operations that are selected from the group consisting of timer operations, servlet operations, link operations, and signal operations.
- 28. The method according to claim 27, wherein said operations comprise event-handlers.
- 29. The method according to claim 23, wherein one of said schemas defines a resource embedding mechanism comprising an image element tag, wherein said step of processing said objects further comprises the steps of:
generating an archive file; and responsively to said image element tag statically embedding an image resource in said archive file.
- 30. The method according to claim 1, wherein said tags comprise an assignment tag that specifies an assignment operation of a MIDML language element.
- 31. A computer software product, comprising a computer-readable medium in which computer program instructions are stored, which instructions, when read by a computer, cause the computer to perform a method for generating a computing application for a mobile information device, comprising the steps of:
receiving a specification of said application in a markup language, said specification comprising tags corresponding to functions of said application; parsing said tags to create a descriptor object model comprising objects that implement said functions; and processing said objects to generate executable code for said application.
- 32. The computer software product according to claim 31, wherein a portion of said tags are user-definable.
- 33. The computer software product according to claim 31, wherein said tags and said objects belong to different tag types and different object types respectively, and wherein said step of parsing said tags comprises providing a first set of respective readers for said different tag types to populate said objects corresponding to said different object types, and wherein said step of processing said objects comprises providing a second set of respective generators for said different object types to generate elements of said executable code corresponding to said different object types.
- 34. The computer software product according to claim 33, wherein said computer is further instructed to perform the step of adding a new tag type to available ones of said tags, and adding a new reader to said first set and adding a new generator to said second set, to enable generation of an element of said executable code corresponding to said new tag type.
- 35. The computer software product according to claim 31, wherein said step of processing said objects comprises the steps of:
creating a generation object model according to said specification; and generating source code using said descriptor object model and said generation object model.
- 36. The computer software product according to claim 35, wherein said steps of parsing said tags, creating a generation object model, generating source code, are performed responsively to a command line directive.
- 37. The computer software product according to claim 35 wherein said step of processing said descriptor object model further comprises the step of compiling said source code into said executable code.
- 38. The computer software product according to claim 35, wherein said generation object model is specified by a tag descriptor of a project descriptor object.
- 39. The computer software product according to claim 37, wherein said step of compiling said source code is performed using a build tool as a wrapper for a compiler of said source code.
- 40. The computer software product according to claim 37, wherein said step of generating source code is performed using a generation object factory that produces generation objects.
- 41. The computer software product according to claim 40, wherein said step of generating source code is performed by using said generation objects, to generate class files, wherein said source code is Java source code.
- 42. The computer software product according to claim 41 wherein said computer is further instructed to perform the step of preverifying classes in said class files.
- 43. The computer software product according to claim 31, wherein said computer is further instructed to perform the step of packaging said executable code into an archive file.
- 44. The computer software product according to claim 43, wherein said step of packaging said executable code further comprises the steps of:
preparing an application descriptor file ; and including a portion of said application descriptor file in said archive file.
- 45. The computer software product according to claim 44, wherein said application descriptor file is a JAD file.
- 46. A data processing system for generating a computing application for a mobile information device, comprising:
a computer readable memory having a data structure stored therein, said data structure including:
a parser that accepts a specification of said computing application written in a markup language having tags, and outputs a plurality of objects according to a descriptor object model, said objects including a project descriptor object; a code generator linked to said parser that accesses a generation object model according to a specification of a project descriptor object and produces source code; and a compiler accepting said source code for compilation into object code.
- 47. The data processing system according to claim 46, wherein said compiler comprises a verification module for preverifying classes of said source code.
- 48. The data processing system according to claim 46, wherein said data structure further comprises a packer for packaging said object code into an archive file.
- 49. The data processing system according to claim 48, wherein said packer is configured to include application descriptor information in a manifest of said archive file.
- 50. The data processing system according to claim 46, wherein said data structure further comprises a build tool that wraps said compiler therein.
- 51. The data processing system according to claim 46, wherein said data structure is activated responsively to a command line directive.
- 52. The data processing system according to claim 46, wherein said data structure further comprises a generation object factory that produces generation objects, said generation objects being accepted by said code generator.
- 53. The data processing system according to claim 46, wherein said data structure further comprises a descriptor element factory that produces a plurality of descriptor elements, said descriptor elements being used by said parser.
- 54. The data processing system according to claim 46, wherein said tags belong to different tag types and said objects belong to different object types, and wherein said parser is adapted to construct a first set of respective readers for said different tag types to populate said objects corresponding to said different object types, and said code generator comprises a second set of respective code generators for said different object types to generate elements of said source code corresponding to said different object types.
- 55. The data processing system according to claim 54, wherein said parser is adapted to accept a new tag type in addition to available ones of said tags, and to add a new reader to said first set and to add a new code generator to said second set, to enable generation of an element of said source code corresponding to said new tag type.
- 56. The data processing system according to claim 53, wherein said descriptor elements are arranged as a composite tree structure.
- 57. The data processing system according to claim 56, data structure further comprises a MDOM builder, wherein said descriptor element factory operates using said MDOM builder, and said composite tree structure is a MDOM tree.
- 58. The data processing system according to claim 46, wherein said data structure further comprises a subprogram for verifying said specification of said computing application against schema definitions of said markup language.
- 59. The data processing system according to claim 46, wherein said project descriptor object further comprises a data wrapper object adapted to an application descriptor file.
- 60. The data processing system according to claim 59, wherein said application descriptor file is a JAD file.
- 61. The data processing system according to claim 46, wherein said descriptor object model is arranged as a hierarchical tree.
- 62. The data processing system according to claim 46, wherein said generation object model is specified by a tag descriptor of said project descriptor object.
- 63. The data processing system according to claim 46, wherein said markup language comprises a plurality of schemas, and a root element.
- 64. The data processing system according to claim 63, wherein one of said schemas defines a resource embedding mechanism comprising an image element tag an image resource being statically embedded in said image element tag by said code generator.
- 65. The data processing system according to claim 46, wherein said tags comprise a link tag that specifies a transition from a source event handler to a destination displayable element.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This Application claims the benefit of Provisional Application No. 60/366,890, filed Mar. 22, 2002.
[0002] This Application is related to the following Applications filed on even date herewith: STC File Nos. 45437, entitled “Extensible Framework for Code Generation from XML Tags”; 45439, entitled “Conversion of an Object Model to a Source File Generation Model”; 45440, entitled “Language and Object Model for Describing MIDlets”; and 45441, entitled “On-Demand Creation of MIDlets”.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60366890 |
Mar 2002 |
US |