Declarative computer programming language method and system
First Claim
1. A computer readable storage device having computer readable program instructions embodied thereon for programming a processor, said instructions consisting of:
- a computer software application manifesting an entirely declarative system for creating a software program comprising properties for declaratively establishing relationships between data elements, said relationships comprising descriptions of logic and data,wherein said entirely declarative system comprises one or more declarative lattice structures, each respective lattice having a plurality of configurable constructs comprising;
(i) one or more declarative attributes, each attribute configurable to select an internal behavior of said respective lattice;
(ii) one or more declarative data access sites, each site configurable to define respective data access points for accessing lattices external to said respective lattice, andwherein said attributes and data access sites configure each said respective lattice to complete a singular computing task, and each respective lattice is configured to instantiate and execute, either alone or in relation to other lattices of said declarative system.
6 Assignments
0 Petitions
Accused Products
Abstract
A method and system for instructing a computer in a system of a declarative computer programming language. Unlike traditional declarative languages, the programming language may be neither relational nor functional, neither procedural nor imperative. The declarative elements may be defined as a meta-description of logic and data. The basic morphology of this meta-description may be a data construct known as a Lattice. Lattices derive declarative power from their inclusion of “Attributes” and “Sites”. Attributes are declarative properties that determine the internal behavior of a Lattice; while Sites are declarative data access points that establish the external relationship a Lattice may have with other Lattices, Lattice Containers, and Lattice Elements. Each of these data constructs are highly adaptable, recursive, and expandable, providing the entire language with a degree of flexibility that facilitates a very high level of abstraction.
84 Citations
73 Claims
-
1. A computer readable storage device having computer readable program instructions embodied thereon for programming a processor, said instructions consisting of:
-
a computer software application manifesting an entirely declarative system for creating a software program comprising properties for declaratively establishing relationships between data elements, said relationships comprising descriptions of logic and data, wherein said entirely declarative system comprises one or more declarative lattice structures, each respective lattice having a plurality of configurable constructs comprising; (i) one or more declarative attributes, each attribute configurable to select an internal behavior of said respective lattice; (ii) one or more declarative data access sites, each site configurable to define respective data access points for accessing lattices external to said respective lattice, and wherein said attributes and data access sites configure each said respective lattice to complete a singular computing task, and each respective lattice is configured to instantiate and execute, either alone or in relation to other lattices of said declarative system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 69, 70, 71, 72)
-
-
47. A method for programming an entirely declarative language program manifesting an entirely declarative system for creating a computer software program, using a computer programming interface, the method comprising:
-
providing a library of declarative elements consisting of descriptions of logic and data in predefined declarative lattice structures configured to instantiate and execute, either alone or in relation to other declarative lattice structures of said declarative language program, wherein each of said declarative lattice structures has one or more configurable meta data properties from the set of properties comprising attributes and sites; obtaining a container programming structure from said library; selecting a logical behavior associated with said container programming structure by setting one or more attributes of said container programming structure; nesting one or more declarative elements within said container programming structure for sequential execution within a context of said container programming structure; selecting a declarative structure type for one or more of said declarative elements, said declarative structure type determining a range of logical behaviors available to a respective declarative lattice structure; and selecting respective logical behaviors of said one or more declarative elements by setting one or more attributes of said one or more declarative elements. - View Dependent Claims (48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 73)
-
Specification