Browse Prior Art Database

Generation of hierarchically organized language constructs to represent and operate on nodes of a complex data structure

IP.com Disclosure Number: IPCOM000239789D
Publication Date: 2014-Dec-02
Document File: 7 page(s) / 115K

Publishing Venue

The IP.com Prior Art Database

Abstract

A method for utilizing a dot notation representing a hierarchical structure to facilitate the access of metamodels in complex data structures is disclosed.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 45% of the total text.

Page 01 of 7

Generation of hierarchically organized language constructs to represent and operate on nodes of a complex data structure

Disclosed is a method for utilizing a dot notation representing a hierarchical structure for accessing meta-models of complex data structures. The method may be applied to generating hierarchically organized language constructs to represent and operate on nodes of a complex data structure. Each generated meta-model contains public fields or properties of the same type as the meta-model that represent the child nodes of the given node with respect to the represented data structure. This approach helps organize and access the many language constructs needed to represent a hierarchical data model. In an illustrative embodiment using Java, the data model is implemented using XML schema, and the Java Architecture for XML Binding (JAXB) is used by the Java program to create and manipulate data model objects. This design consumes a large number of meta-models that correspond to each node in the User Object Model (UOM). These meta-models are organized and accessed via dot notation in such a

way that the expression used to represent them intuitively reflects their path in the complex UOM data structures. Thus, not only is the back-end of the consuming code data driven and declarative, but also each entry in the mapping of data structure elements is compact and easy to read and write.

Meta-models for all relevant nodes of a program's data structure are defined, as depicted in Figure 1. This strategy, rather than simply generating one meta-model for each data structure node, the meta-models are organized in such a way that they can be accessed through a structure that parallels the structure of the original data model. Each of the meta-models contains either accessible fields or accessible properties

whose types are meta-models of the data structure nodes of the child nodes of the given node in the data structure. Note that a construct for each node is not needed if a particular node will not need to be represented or operated upon by the computer program. Also note that any complex data type, whether hierarchical or not, can be reduced to a hierarchical structure by applying heuristic trimming. Each meta-model instance is defined by a unique class, since each meta-model needs to be aware of its unique relationship with the rest of the complex data structure. For instance, each

1


Page 02 of 7

meta-model needs to be aware of the type of the root node in order for it to operate in a static, stype-safe manner against instances of the complex data structure. Likewise, each meta-model must know its parent meta-model as well as its relationship to it in order to be able to perform operations such as traversing the data structure from the root all the way to the leaf. These types of operations would not be possible in a static, type-safe manner if each meta-model were not defined by a unique class.

Once all node representative l...