← Back to Patent Explorer
US6182277B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Methods and apparatus for declarative programming techniques in an object oriented environment

Assignee: Oracle International Corp
•
Filing: 1998-04-15
•
Granted: 2001-01-30
•
Expires: 2018-04-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An object oriented software environment permits, through declarative programming techniques, customization of functionality of an object. The object oriented software environment includes a plurality of objects, wherein each object contains at least one method. A user of the object oriented software environment submits one or more declarative statements to augment the functionality of a method on an object. In response, the object oriented software environment associates the declarative statements to the method identified on the object such that when the method on the object is called, the declarative statements, associated with the object, are executed in addition to the methods on the object. The declarative programming technique permits augmenting the functionality of a method on an object with “rules.” In addition, two or more methods may be associated together to generate an event that propagates from one method to another method. The programming techniques disclosed also permit integration of declarative, compiled and scripting approaches to integrate three styles of applications program development.

Inventors

  • 👤 Michael DeGroot
  • 👤 Ralph Lemke

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 09:48
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/20; G06F8/24

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 143 words
A method for customizing functionality of an object in an object oriented software system, said method comprising the steps of: receiving an identification of at least one compiled object, wherein said compiled object comprises at least one method; receiving one or more declarative statements to augment the functionality of said method of said compiled object, wherein a declarative statement comprises a constraint or requirement generally associated with said method of said compiled object; generating a dynamic association between said one or more declarative statements and said method identified on said compiled object, wherein said dynamic association links said declarative statements to said method on said compiled object without re-compiling said object; and executing said declarative statements such that when said method on said object is called, said one or more declarative statements, associated with said method, are executed in addition to said method.
Claim 2
Independent Claim 143 words
A method for customizing functionality of an object in an object oriented software system, said method comprising the steps of: receiving an identification of at least one compiled object, wherein said compiled object comprises at least one method; receiving one or more declarative statements to augment the functionality of said method of said compiled object, wherein a declarative statement comprises a constraint or requirement generally associated with said method of said compiled object; generating a dynamic association between said one or more declarative statements and said method identified on said compiled object, wherein said dynamic association links said declarative statements to said method on said compiled object without re-compiling said object; and executing said declarative statements such that when said method on said object is called, said one or more declarative statements, associated with said method, are executed in addition to said method.
Claim 3
Dependent Claim 37 words
The method as set forth in claim 1 , wherein the step of generating a dynamic association between said one or more declarative statements and said method comprises the step of associating a rule to said method.
Claim 4
Dependent Claim 33 words
The method as set forth in claim 2 , wherein the step of associating a rule to said method comprises the step of associating a rule to execute before execution of said method.
Claim 5
Dependent Claim 33 words
The method as set forth in claim 2 , wherein the step of associating a rule to said method comprises the step of associating a rule to execute after execution of said method.
Claim 6
Dependent Claim 49 words
The method as set forth in claim 1 , wherein the step of generating a dynamic association between said one or more declarative statements a method on an object comprises the step of associating one or more declarative statements to a method on a specific instance of said object.
Claim 7
Dependent Claim 50 words
The method as set forth in claim 1 , wherein the step of generating a dynamic association between said one or more declarative statements a method on an object comprises the step of associating one or more declarative statements to a method on a type level that defines said object.
Claim 8
Dependent Claim 51 words
The method as set forth in claim 1 , wherein the step of generating a dynamic association between said one or more declarative statements and said method comprises the steps of: associating said method to a second method; and generating an event to fire from said method to said second method.
Claim 9
Dependent Claim 71 words
The method as set forth in claim 1 , wherein the step of associating one or more declarative statements to a method on an object comprises the steps of: redirecting said call to said method to a pinch-point operation; determining, in said pinch-point operation, whether any declarative statements are associated with said method called; and executing said one or declarative statements when any declarative statements are associated with said method called.
Claim 10
Dependent Claim 44 words
The method as set forth in claim 8 , wherein said the step of redirecting said call to said method to a pinch-point operation comprises the step of redirecting said call to said method in an interface for said object that exposes said method.
Claim 11
Dependent Claim 22 words
The method as set forth in claim 8 , wherein said pinch point operation comprises an optimization thunk implemented in assembly language.
Claim 12
Independent Claim 116 words
A method for customizing functionality of objects in an object oriented environment, said method comprising the steps of: storing a plurality of objects, each object comprising at least one method and an interface, said interface comprising a redirector; storing a pinch-point operation; receiving one or more declarative statements to augment the functionality of said method of said object; receiving a call, via said interface, to execute said method; redirecting, said call from said method to said pinch-point operation; determining, from said pinch-point operation, whether said method on said object includes one or more declarative statements associated with said method; and executing said one or more declarative statements if said declarative statements are associated with said method.
Claim 13
Independent Claim 116 words
A method for customizing functionality of objects in an object oriented environment, said method comprising the steps of: storing a plurality of objects, each object comprising at least one method and an interface, said interface comprising a redirector; storing a pinch-point operation; receiving one or more declarative statements to augment the functionality of said method of said object; receiving a call, via said interface, to execute said method; redirecting, said call from said method to said pinch-point operation; determining, from said pinch-point operation, whether said method on said object includes one or more declarative statements associated with said method; and executing said one or more declarative statements if said declarative statements are associated with said method.
Claim 14
Independent Claim 125 words
A method for customizing functionality of objects in an object oriented environment, said method comprising the steps of: storing a repository of compiled objects, wherein a compiled object comprises at least one method and said compiled objects being defined by one or more object type systems; providing to a user a means to specify one or more declarative statements; dynamically associating said one or more declarative statements to at least one method of an object, wherein said dynamic association links said one or more declarative statements to said method on said compiled object without re-compiling said object so as to re-direct calls from said method to said declarative statements; and executing said one or more declarative statements when said method on said object is called.
Claim 15
Independent Claim 125 words
A method for customizing functionality of objects in an object oriented environment, said method comprising the steps of: storing a repository of compiled objects, wherein a compiled object comprises at least one method and said compiled objects being defined by one or more object type systems; providing to a user a means to specify one or more declarative statements; dynamically associating said one or more declarative statements to at least one method of an object, wherein said dynamic association links said one or more declarative statements to said method on said compiled object without re-compiling said object so as to re-direct calls from said method to said declarative statements; and executing said one or more declarative statements when said method on said object is called.
Claim 16
Independent Claim 188 words
A method for integrating declarative, compiled and scripting approaches for developing application programs in an object oriented environment, the method comprising the steps of: implementing an abstract specification for an extended definition type system that comprises members to enforce rules through the type system; receiving declarative rules to implement functionality for application program development by adding one or more declarative rules to at least one method; dynamically associating said declarative rules to at least one method of an object, wherein said dynamic association links said one or more declarative statements to said method on said compiled object without re-compiling said object so as to re-direct calls from said method to said declarative statements; enforcing the declarative rules as rules in the type system; receiving complied code developed from an object-oriented language and compiled to include the extended definitions for the type system, wherein the code comprises a plurality of types; providing access to the types of the compiled code for application development; receiving scripts developed from a four generation language (4GL) to specify functionality for application program development; and enforcing the scripts as rules in the type system.
Claim 17
Independent Claim 188 words
A method for integrating declarative, compiled and scripting approaches for developing application programs in an object oriented environment, the method comprising the steps of: implementing an abstract specification for an extended definition type system that comprises members to enforce rules through the type system; receiving declarative rules to implement functionality for application program development by adding one or more declarative rules to at least one method; dynamically associating said declarative rules to at least one method of an object, wherein said dynamic association links said one or more declarative statements to said method on said compiled object without re-compiling said object so as to re-direct calls from said method to said declarative statements; enforcing the declarative rules as rules in the type system; receiving complied code developed from an object-oriented language and compiled to include the extended definitions for the type system, wherein the code comprises a plurality of types; providing access to the types of the compiled code for application development; receiving scripts developed from a four generation language (4GL) to specify functionality for application program development; and enforcing the scripts as rules in the type system.
Claim 18
Dependent Claim 146 words
A computer readable medium comprising a plurality of instructions, which when executed by a computer, causes the computer to perform the steps of: receiving an identification of at least one compiled object, wherein said compiled object comprises at least one method; receiving one or more declarative statement to augment the functionality of said method of said compiled object, wherein a declarative statement comprises a constraint or requirement generally associated with said method of said compiled object; generating a dynamic association between said one or more declarative statements and said method identified on said compiled object, wherein said dynamic association links said declarative statements to said method on said compiled object without re-compiling said object; and executing said declarative statements such that when said method on said object is called, said one or more declarative statements, associated with said method, are executed in addition to said method.
Claim 19
Dependent Claim 146 words
A computer readable medium comprising a plurality of instructions, which when executed by a computer, causes the computer to perform the steps of: receiving an identification of at least one compiled object, wherein said compiled object comprises at least one method; receiving one or more declarative statement to augment the functionality of said method of said compiled object, wherein a declarative statement comprises a constraint or requirement generally associated with said method of said compiled object; generating a dynamic association between said one or more declarative statements and said method identified on said compiled object, wherein said dynamic association links said declarative statements to said method on said compiled object without re-compiling said object; and executing said declarative statements such that when said method on said object is called, said one or more declarative statements, associated with said method, are executed in addition to said method.
Claim 20
Dependent Claim 79 words
The computer readable medium of claim 14 , wherein: the step of generating a dynamic association between said one or more declarative statements and said method identified on said compiled object comprises the step of generating redirectors, on an interface exposing said object, to redirect a method call to a pinch-point operation; and the step of executing said declarative statements comprises the step of executing said pinch-point operation to determine if any declarative statements are linked to said method.
Claim 21
Dependent Claim 50 words
The computer readable medium of claim 14 , wherein the step of generating a dynamic association between said one or more declarative statements and said method comprises the step of generating a dynamic association between one or more declarative statements to a method on a specific instance of said object.
Claim 22
Dependent Claim 51 words
The computer readable medium of claim 14 , wherein the step of generating a dynamic association between said one or more declarative statements and said method comprises the step of generating a dynamic association between one or more declarative statements to a method on a type level that defines said object.

References Cited (Backward Citations)

US5644770A Cited
US5493682A Cited
US5493680A Cited
US5404525A Cited
US5710925A Cited
US5615400A Cited
US5560014A Cited
US6008806A Cited
US5867709A Cited
US5933638A Cited
US5864862A Cited
US5920725A Cited
US5978579A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-01-30 2004-07-31 2005-01-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-01-30 2008-07-31 2009-01-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-01-30 2012-07-31 2013-01-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag