Claims
- 1. A method for generating a computing application for a mobile information device, comprising the steps of:
receiving a markup language definition of said application, said markup language definition comprising tags corresponding to application functions; and reading said tags using a computer and, responsively thereto, populating descriptor objects in a descriptor object model of said application in a memory of said computer, wherein said descriptor object model can be used to generate program code for execution by said mobile information device, and said descriptor objects are adapted to induce generation of different application elements in said program code.
- 2. The method according to claim 1, wherein a first one of said application elements differs only parametrically from a second one of said application elements.
- 3. The method according to claim 1, wherein a portion of said tags are user-definable so as to extend said markup language.
- 4. The method according to claim 1, further comprising the steps of:
recognizing one of said tags as being a user-defined tag that extends said markup language; and creating a new reader for said user-defined tag.
- 5. The method according to claim 4, wherein said step of creating a new reader comprises the step of registering said user-defined tag in a descriptor element factory.
- 6. The method according to claim 5, wherein said step of registering said user-defined tag comprises assigning a descriptor element class to said user-defined tag.
- 7. The method according to claim 1, wherein said step of reading said tags further comprises verifying said markup language definition against schema definitions of said markup language.
- 8. The method according to claim 1, wherein said descriptor object model is stored in said memory of said computer as a hierarchy of descriptor objects.
- 9. The method according to claim 1, wherein said descriptor objects include a user-defined object.
- 10. The method according to claim 1, wherein said application elements include a reference to a servlet that is adapted to execute on a computing device external to said mobile information device.
- 11. The method according to claim 10, wherein said reference comprises parameters that are required to access said servlet.
- 12. The method according to claim 1, wherein said step of populating descriptor objects is performed using a MDOM builder to build a MDOM tree by traversing a pre-existing document object model.
- 13. The method according to claim 12, wherein said pre-existing document object model is a hierarchical XML tree, and said step of traversing is performed recursively.
- 14. The method according to claim 12, wherein said pre-existing document object model is a JDOM.
- 15. The method according to claim 1, wherein said step of populating descriptor objects is performed by dynamically binding data of said descriptor objects and linking said descriptor objects as a hierarchical tree.
- 16. The method according to claim 1, wherein said markup language comprises a plurality of schemas, and a root element.
- 17. The method according to claim 16, wherein one of said schemas defines a widget that is selected from the group consisting of a ticker widget and a command widget.
- 18. The method according to claim 16, wherein one of said schemas defines operations that are selected from the group consisting of timer operations, servlet operations, link operations, signal operations, and event-handlers.
- 19. The method according to claim 16, wherein one of said schemas comprises an application container.
- 20. The method according to claim 16, wherein one of said schemas defines screens for display by said mobile information device.
- 21. The method according to claim 16, wherein one of said schemas comprises an event type.
- 22. The method according to claim 16, wherein one of said schemas defines servlet connections.
- 23. The method according to claim 16, wherein one of said schemas defines a JAD descriptor element.
- 24. The method according to claim 16, wherein one of said schemas defines a resource embedding mechanism comprising a resource tag that identifies a resource element that is selected from the group consisting of an image item, a sound item, and a video item.
- 25. The method according to claim 1, wherein said tags are selected from the group consisting of a restart tag that specifies a restart point of said application, a pause tag that specifies a resumption point of said application, a reload tag that specifies a reloading of a current screen, an unload tag that specifies an unloading of said current screen, a MIDML variable definition tag, an assignment tag that specifies an assignment operation of a MIDML language element, a link tag that specifies a transition from a source event handler to a destination displayable element, a timer activation tag that specifies an activation of a timer element, a cancellation tag that specifies a cancellation of said timer element, a parameter tag that defines a servlet parameter, and a servlet activation tag that specifies an activation of a defined servlet.
- 26. A computer software product, comprising a computer-readable medium in which computer program instructions are stored, which instructions, when read by a computer, cause said computer to perform a method for generating a computing application for a mobile information device, comprising the steps of:
receiving a markup language definition of said application, said markup language definition comprising tags corresponding to application functions; reading said tags using said computer and, responsively thereto, populating descriptor objects in a descriptor object model of said application in a memory of said computer, wherein said descriptor object model can be used to generate program code for execution by said mobile information device and said descriptor objects are adapted to induce generation of different application elements in said program code.
- 27. The computer software product according to claim 26, wherein a first one of said application elements differs only parametrically from a second one of said application elements.
- 28. The computer software product according to claim 26, wherein a portion of said tags are user-definable.
- 29. The computer software product according to claim 26, wherein said computer is further instructed to perform the steps of:
recognizing one of said tags as being a user-defined tag that extends said markup language; and creating a new reader for said user-defined tag.
- 30. The computer software product according to claim 29, wherein said step of creating a new reader comprises the step of registering said user-defined tag in a descriptor element factory.
- 31. The computer software product according to claim 30, wherein said step of registering said user-defined tag comprises assigning a descriptor element class to said user-defined tag.
- 32. The computer software product according to claim 26, wherein said step of reading said tags further comprises verifying said markup language definition against schema definitions of said markup language.
- 33. The computer software product according to claim 26, wherein said markup language comprises a plurality of schemas, and a root element.
- 34. The computer software product according to claim 26, wherein said tags are selected from the group consisting of a restart tag that specifies a restart point of said application, a pause tag that specifies a resumption point of said application, a reload tag that specifies a reloading of a current screen, an unload tag that specifies an unloading of said current screen, a MIDML variable definition tag, an assignment tag that specifies an assignment operation of a MIDML language element, a link tag that specifies a transition from a source event handler to a destination displayable element, a timer activation tag that specifies an activation of a timer element, a cancellation tag that specifies a cancellation of said timer element, a parameter tag that defines a servlet parameter, and a servlet activation tag that specifies an activation of a defined servlet.
- 35. A data processing system for generating a computing application for a mobile information device, comprising:
a computer; and a computer readable memory of said computer having a data structure stored therein, said data structure comprising a parser that accepts a specification of said computing application written in a markup language having tags, and outputs a plurality of descriptor objects to form a hierarchical descriptor object model that is stored in said memory, wherein said descriptor objects are adapted to induce generation of different application elements in said application.
- 36. The data processing system according to claim 35, wherein a first one of said application elements differs only parametrically from a second one of said application elements.
- 37. The data processing system according to claim 35, wherein said descriptor objects include a project descriptor object.
- 38. The data processing system according to claim 35, wherein a portion of said tags are user-definable.
- 39. The data processing system according to claim 35, wherein said descriptor object model is stored in said memory of said computer as a hierarchy of descriptor objects.
- 40. The data processing system according to claim 35, wherein said descriptor objects include an application descriptor.
- 41. The data processing system according to claim 35, wherein said application elements include a screen.
- 42. The data processing system according to claim 35, wherein said descriptor objects include a user-defined object.
- 43. The data processing system according to claim 35, wherein said application elements include a reference to a servlet that is adapted to execute on a computing device external to said mobile information device.
- 44. The data processing system according to claim 43, wherein said reference comprises parameters that are required to access said servlet.
- 45. The data processing system according to claim 35, wherein said application elements include a timer.
- 46. The data processing system according to claim 35, wherein said application elements include a ticker.
- 47. The data processing system according to claim 35, wherein said descriptor objects comprise public methods for exposing data thereof.
- 48. The data processing system according to claim 35, wherein said data structure further comprises a descriptor element factory for producing a base descriptor element class, said descriptor objects being constructed with reference to said base descriptor element class.
- 49. The data processing system according to claim 48, wherein said descriptor element factory comprises a program for registration of a new descriptor object.
- 50. The data processing system according to claim 49, wherein one of said tags is a user-defined tag that extends said markup language.
- 51. The data processing system according to claim 48, wherein said descriptor element factory comprises a lookup program for determining whether a tag specifying a new descriptor object is known.
- 52. The data processing system according to claim 35, wherein said data structure further comprises a container class for said descriptor object model.
- 53. The data processing system according to claim 35, wherein said data structure further comprises a wrapper class for a schema interface of said markup language, said wrapper class having a program for parsing said specification of said computing application.
- 54. The data processing system according to claim 53, wherein said wrapper class further comprises a program for displaying attributes of said descriptor objects.
- 55. The data processing system according to claim 53, wherein said wrapper class further comprises a program for recursively displaying a structure of said descriptor object model.
- 56. The data processing system according to claim 53, wherein said wrapper class further comprises a program for handling errors in said specification of said computing application.
- 57. The data processing system according to claim 35, wherein said data structure further comprises a project descriptor class which is linked to said descriptor object model, said project descriptor class holding status information.
- 58. The data processing system according to claim 35, wherein said data structure further comprises a tree building class for construction of said descriptor object model, wherein said descriptor object model is constructed as a new tree by said tree building class using a pre-existing tree structure that forms an interface with said specification of said computing application.
- 59. The data processing system according to claim 58, wherein said tree building class further comprises a program for creating a root element for said new tree.
- 60. The data processing system according to claim 58, wherein said tree building class further comprises a program for adding a new descriptor object to said new tree.
- 61. The data processing system according to claim 58, wherein said tree building class further comprises a program for creating internal links within said new tree.
- 62. The data processing system according to claim 58, wherein said descriptor objects include programs for binding data that resides in corresponding ones of said tags.
- 63. The data processing system according to claim 48, wherein said descriptor objects comprise subsidiary descriptor objects in said descriptor object model.
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”; 45438, entitled “Markup Compiler that Outputs MIDlets”; 45439, entitled “Conversion of an Object Model to a Source File Generation Model”; and 45441, entitled “On-Demand Creation of MIDlets”.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60366890 |
Mar 2002 |
US |