Constructing declarative componentized applications
First Claim
Patent Images
1. A method of constructing a software application comprising the steps of:
- representing a data model of the application as a relational model; and
defining control logic of the application to specify each of a plurality of operations of the application as a mapping from a current state of the application data model and one or more current application inputs to a new state of the application data model and one or more application outputs, described by one or more relational algebra operations selected from the group consisting of a relation-complement operation, a disjunction operation and a conjunction operation;
wherein each of the steps is performed at least in part by a computer;
wherein the data model comprises a relational database comprising a plurality of entries, each entry representing a mapping from a specified name to a specified value; and
wherein the operations of the application comprise a create operation, a retrieve operation, an update operation, and a delete operation; and
wherein;
the create operation comprises performing the conjunction operation on the specified name and the specified value to generate a specified entry; and
performing the disjunction operation on the specified entry and the data model;
the retrieve operation comprises performing the conjunction operation on the specified name and the data model;
the update operation comprises performing the relation-complement operation on the specified name, performing the conjunction operation on an output of the relation-complement operation and the data model, performing the conjunction operation on the specified name and the specified value to generate the specified entry, and performing the disjunction operation on the specified entry and an output of the conjunction operation on the output of the relation-complement operation and the data model; and
the delete operation comprises performing the relation-complement operation on the specified name, and performing the conjunction operation on an output of the relation-complement operation and the data model.
0 Assignments
0 Petitions
Accused Products
Abstract
Techniques for constructing a software application are provided. A data model of the application is represented as a relational model. Control logic of the application is defined to specify each of a plurality of operations of the application as a mapping from a current state of the application data model and one or more current application inputs to a new state of the application data model and one or more application outputs, described by one or more relational algebra operations selected from the group consisting of a relation-complement operation, a disjunction operation and a conjunction operation.
38 Citations
4 Claims
-
1. A method of constructing a software application comprising the steps of:
-
representing a data model of the application as a relational model; and defining control logic of the application to specify each of a plurality of operations of the application as a mapping from a current state of the application data model and one or more current application inputs to a new state of the application data model and one or more application outputs, described by one or more relational algebra operations selected from the group consisting of a relation-complement operation, a disjunction operation and a conjunction operation; wherein each of the steps is performed at least in part by a computer; wherein the data model comprises a relational database comprising a plurality of entries, each entry representing a mapping from a specified name to a specified value; and
wherein the operations of the application comprise a create operation, a retrieve operation, an update operation, and a delete operation; andwherein; the create operation comprises performing the conjunction operation on the specified name and the specified value to generate a specified entry; and
performing the disjunction operation on the specified entry and the data model;the retrieve operation comprises performing the conjunction operation on the specified name and the data model; the update operation comprises performing the relation-complement operation on the specified name, performing the conjunction operation on an output of the relation-complement operation and the data model, performing the conjunction operation on the specified name and the specified value to generate the specified entry, and performing the disjunction operation on the specified entry and an output of the conjunction operation on the output of the relation-complement operation and the data model; and the delete operation comprises performing the relation-complement operation on the specified name, and performing the conjunction operation on an output of the relation-complement operation and the data model. - View Dependent Claims (2, 3)
-
-
4. Apparatus for constructing a software application, comprising:
-
a memory; and at least one processor coupled to the memory and operative to;
represent a data model of the application as a relational model; and
define control logic of the application to specify each of a plurality of operations of the application as a mapping from a current state of the application data model and one or more current application inputs to a new state of the application data model and one or more application outputs, described by one or more relational algebra operations selected from the group consisting of a relation-complement operation, a disjunction operation and a conjunction operation;wherein the data model comprises a relational database comprising a plurality of entries, each entry representing a mapping from a specified name to a specified value; and
wherein the operations of the application comprise a create operation, a retrieve operation, an update operation, and a delete operation; andwherein; the create operation comprises performing the conjunction operation on the specified name and the specified value to generate a specified entry, and performing the disjunction operation on the specified entry and the data model; the retrieve operation comprises performing the conjunction operation on the specified name and the data model; the update operation comprises performing the relation-complement operation on the specified name, performing the conjunction operation on an output of the relation-complement operation and the data model, performing the conjunction operation on the specified name and the specified value to generate the specified entry, and performing the disjunction operation on the specified entry and an output of the conjunction operation on the output of the relation-complement operation and the data model; the delete operation comprises performing the relation-complement operation on the specified name, and performing the conjunction operation on an output of the relation-complement operation and the data model.
-
Specification