Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Scalable strategy to implement hierarchically organized language constructs that represent and operate on nodes of a complex data structure

IP.com Disclosure Number: IPCOM000240649D
Publication Date: 2015-Feb-16
Document File: 6 page(s) / 105K

Publishing Venue

The IP.com Prior Art Database

Abstract

A method for implementing hierarchically organized language constructs that represent and operate on nodes of a complex data structure is disclosed.

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

Page 01 of 6

Scalable strategy to implement hierarchically organized language constructs that represent and operate on nodes of a complex data structure

Disclosed is a method for implementing hierarchically organized language constructs that represent and operate on nodes of a complex data structure. There is a need for the enablement of declarative programming styles in existing procedural languages. An issue may arise when enabling declarative programming since it may become cumbersome to consume by hand crafted code in large data models. Implementation strategies that results in convenient and intuitive consumer code are not very scalable for large data models due to the potentially large amounts of source and binary code that they would require as infrastructure. Even if such code is auto generated, it comes

with undesirable memory and speed overheads at both compile time and runtime.

Language structures may be organized in hierarchical structures that exploits existing language construct, called meta-models. Consider the case of complex data structures, that is, structures that contain other structures within them. If a data model contains a complex structure A in several places, the method may require a separate meta-model definition for all the possible paths that reach the sub-nodes of the complex structure A. Each of these paths requires a meta-model of A at each location of the hierarchical structure where it can occur.

Previous attempts to generate meta-models of hierarchical data solve this problem by generating meta-models of only one level of the data model hierarchy at a time. For instance, Java Persistence API (JPA) meta-models utilize one class to represent a data model class, and each property of the meta-model class represents one property of the data model class. This results in an efficient scalability of the data model, but it fails to provide a unique meta-model for each relevant path in a complex data structure. The disclosed method uses a combination of object-oriented and generic programming techniques in order to provide a strong typed set of meta-model instances that do not require one unique class definition for each meta-model instance. The disclosed method also supports all of the relevant features that one would expect from an implementation in which each meta-model instance corresponds to a unique

1


Page 02 of 6

meta-model class definition.

The disclosed method generates a set of language constructs that define within them the next level of the data model hierarchy. In other words, each complex data structure of the data model is represented by a meta-model construct which contains language constructs within itself to represent the immediate children of the complex data structure. These meta-models of complex structures are called "top-level meta-models". They are used to enforce all the node-to-node edges of a hierarchical data model tree (or any other complex data structure that has been somehow reduced to a...