System and method for allowing registerable runtime...

Data processing: software development – installation – and managem – Software program development tool – Programming language

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S108000, C717S116000, C707S703000

Reexamination Certificate

active

06598220

ABSTRACT:

TECHNICAL FIELD
The present invention relates in general to the field of computer programming and, more particularly, to a system and method for allowing registerable runtime modification of object behaviors.
BACKGROUND
Object-oriented programming has become a powerful tool for computer programmers. An object-oriented program is one that has as its basic foundation a set of building blocks called objects. These objects often act as a representation or abstraction of a physical element or a logical concept. An object may be defined by data that represents specific attributes or properties of the object, and a set of functions or methods that can be performed on or by the object. Typically, each object can receive messages instructing it to perform a particular function, or send such messages to other objects. In practice, objects are frequently reusable and may be called by a variety of different application programs.
In general, a called object will perform a specific and predefined behavior in response to a certain call. It is often desirable for a given object to perform different behaviors in response to a call based upon information known only at runtime. For example, an object representing a file may receive a save call. In one circumstance, the save call may cause the object to stream its data in binary format to a file, to construct a header, and to set attributes. However, at runtime, it may be determined that the file is a text file and instead of using a binary format a UNICODE format should be used.
Runtime modifications of object behavior such as the situation described above tend to create difficulties for object-oriented programs. Conventional solutions for these difficulties include polymorphism, bridge patterns, and en mass delegation.
Unfortunately, each of these conventional approaches has significant limitations. For example, in a complex system, polymorphism can lead to a problem known as “proliferation of classes”. While bridge patterns and en mass delegation may help limit the “proliferation of classes” problem, both of these techniques tend to be difficult and tedious to implement and are often unable to handle multiple shared implementations.
SUMMARY
In accordance with the present disclosure, a system and method for allowing registerable runtime modification of object behaviors are disclosed that provide significant advantages over prior developed techniques. The disclosed embodiments provide an easily implemented and flexible approach for handling correct behavior resolution at runtime.
According to one aspect of the present disclosure, a system incorporating teachings of the present disclosure may include an application with at least one override mechanism capable of providing behavior resolution in response to a call for a specific behavior. In some embodiments, a computer readable medium may be storing the application and a computing platform may be communicatively coupled to the computer readable medium. In operation, an executable may generate a call for the specific behavior and the override mechanism may cause the execution of an appropriate behavior in response to the call. In one embodiment, the application containing the override mechanism may include the executable that generates the call. In another embodiment, the executable that generates the call may be outside an application containing the override mechanism.
According to another aspect of the present disclosure, a method for allowing registerable runtime modification of behaviors may include providing a class within an object-oriented program with a reference to an override mechanism. The method may also include registering an overrideable method with the override mechanism.
Classes providing implementation of overrideable methods may include, for example, logging and debugging classes, special action classes, security classes, information gathering classes, notification classes, and installation dependency classes. In preferred embodiments, a registered overrideable method will be stubbed to call the override mechanism for behavior resolution when the registered overrideable method receives a call. In one embodiment, the override mechanism may cause the execution of a first behavior if a first situation exists at runtime and the execution of a second behavior if a second situation exists at runtime.
The disclosed system and method provide several technical advantages over conventional approaches for handling runtime modification of object behavior. For example, creating an override mechanism that accepts registration of an overrideable method minimizes class proliferation problems. With the disclosed system and method, new chains of classes and subclasses may not need to be created to allow a class to have flexibility at runtime.
In addition, unlike bridge patterns and en mass delegation, implementation of the disclosed system and method may be relatively simple. An overrideable method may be registered with the override mechanism and stubbed to call the override mechanism when the overrideable method is called. In addition, the disclosed system and method may be used to handle multiple shared implementations of a single registered method.


REFERENCES:
patent: 5187786 (1993-02-01), Densmore et al.
patent: 5313633 (1994-05-01), Tomita et al.
patent: 5737606 (1998-04-01), Cummins
patent: 5760773 (1998-06-01), Berman et al.
patent: 5812390 (1998-09-01), Merkin
patent: 5848273 (1998-12-01), Fontana et al.
patent: 5872973 (1999-02-01), Mitchell et al.
patent: 5913063 (1999-06-01), McGurrin et al.
patent: 6104874 (2000-08-01), Branson et al.
patent: 6178550 (2001-01-01), Pearce
patent: 6182277 (2001-01-01), DeGroot et al.
patent: 6262726 (2001-07-01), Stedman et al.
patent: 6263492 (2001-07-01), Fraley et al.
patent: 6263498 (2001-07-01), Alcorn et al.
patent: 6266708 (2001-07-01), Austvold et al.
patent: 6275979 (2001-08-01), Graser et al.
patent: 6305009 (2001-10-01), Goor
patent: 6351778 (2002-02-01), Orton et al.
patent: 6393559 (2002-05-01), Alexander
patent: 6405263 (2002-06-01), Conner et al.
patent: 6425078 (2002-07-01), Smith et al.
patent: 6480856 (2002-11-01), McDonald et al.
patent: 7191849 (1995-07-01), None
Ostermann et al., “Object orientd composition untangled”, ACM OOPSLA, pp 283-298, 2001.*
Clifton et al., MultiJava: Modular open classes and symmetric multiple dispatch for Java, ACM OOPSLA, pp 130-145, 2000.*
Meyrowitz, Intermedia: The architecture and construction of an object oriented hypermedia system and applications framework, ACM OOPSLA, pp 186-201, 1986.*
Liu et al., The building blocks for apecifing communication behavior of complex objects: An activity driven apprach, ACM Trans. on Database System, vol. 21, No. 2, pp 157-207, 1996.*
U.S. Pending patent application Ser. No. 08/380,985 entitled “Mechanism for Optimizing Location of Machine-Dependent Code” by John J. Pearce; Dell USA, L.P., filed Jan. 31, 1995.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and method for allowing registerable runtime... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method for allowing registerable runtime..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for allowing registerable runtime... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3092005

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.