Generation of high-level language constructs to represent and operate on nodes of a complex data structure
Publication Date: 2014-Nov-25
The IP.com Prior Art Database
a method for generation of high-level language constructs to represent and operate on nodes of a complex data structure is disclosed.
Page 01 of 5
-level language constructs to represent and operate on nodes of a complex data structure
level language constructs to represent and operate on nodes of a complex data structure
Disclosed is a method for generation of high-level language constructs to represent and operate on nodes of a complex data structure.
Generation of high-
A high-level language construct, namely a meta-model, is generated for each possible node in a data structure. The generated language structure meta-models can then be used to represent each node in the data structure as well as operate on a node in an instance of the data structure. Declarative programming with all of its benefits is thus enabled within a general purpose computer program context.
It is a well established fact that operating on nodes of complex data structures using procedural languages results in repetitive, boilerplate code that is highly susceptible to human implementation mistakes that is hard to both develop and maintain. It is also known that by effectively enabling declarative programming strategies in procedural languages these issues can be addressed. These programming styles are particularly useful in data driven applications because they result in DRY (Don't Repeat Yourself) code that is simpler to both develop and maintain. The reduction in hand crafted lines of code can be significant and the development of new code features is greatly simplified due to the code centralization that results from the use of declarative programming. Indeed, in heavily data driven software designs it is desirable to declare queries that represent operations, meaning "what to do" with data structures rather than to specify "how to do it."
In attempting to enable traditional relational data declarative programming within a general purpose computer program, however traditional meta-model oriented prior art fails to apply it in such a way that is optimal for the complex data structures used in programs. The meta-models used by this prior art are only built to represent individual class definitions from the application's data model. Notice how this approach is influenced by the table-driven mentality borrowed from relational declarative programming. This art, in essence, treats each class definition as if it were a table in a relational database and then proceeds to enable operations upon complex data structures that have been decoupled into their constituent classes, which is analogous to performing joins on relational tables. This prior art maps object types (classes) to meta-models rather than mapping actual node instances of a complex data model to meta-models. For instance, consider three classes, namely Person, Workplace, and PhoneNumber. Assume that Person has a Workplace and both Person and Workplace have a PhoneNumber. Given such a data model, the previous art would use the same language construct to represent any PhoneNumber instance, so it would make no distinction between a Person's Workpl...