Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
2001-06-21
2004-09-07
Chavis, John (Department: 2124)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C717S108000
Reexamination Certificate
active
06789254
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to computer software, and more particularly, to a means for achieving consistent behavior and functionality in the abstract windowing toolkit (AWT), a software interface between platform independent Java applications and a particular hardware platform. This is accomplished by creating a set of common AWT Peer classes for all supported platforms, which can be ported without modification to heterogeneous computer systems.
2. Description of the Related Art
The continuing proliferation of faster and more powerful computers has been accompanied by an increase in the use of graphical user interfaces. A graphical user interface (or, GUI) offers many advantages over traditional text-based interfaces. A graphical interface may allow multiple application programs to present output simultaneously, each in a distinct window. Thus, it is not necessary to halt one application in order to interact with another. Instead of entering text-based commands and parameters, the user selects icons with a pointing device, such as a mouse. This is faster, easier and less error prone than making these selections using the keyboard.
The development of object-oriented programming languages has accompanied the increased popularity of GUIs. Modern object-oriented programming languages can often be written and developed in a relatively short period of time. Object-oriented programming languages represent a new paradigm for software design. The object-oriented paradigm has arisen to enable faster development of complex software programs. It encourages the use of consistent interfaces between program modules, and is conducive to the creation of reusable, modular code. These features are highly advantageous in the creation of large, intricate software programs, requiring the coordinated effort of several programmers, and are particularly effective for GUI development.
Computer programs have traditionally been structured as a sequence of operations, which implements an algorithm or procedure. However, the object-oriented paradigm is based on objects, rather than procedures. The fundamental entities in an object-oriented programming (“OOP”) language are classes created by the programmer, which possess properties appropriate for their intended purpose. Once a class has been defined, one or more objects can be created as instances of the class. Individual objects possess all the attributes of the class they represent. For example, a software program for managing the inventory of a hardware store might contain objects such as nuts, bolts, screws, etc. having properties such as size, thread pattern, price, etc. In addition to their properties, objects also have methods. Methods are actions supported by the object, by means of which they interact with other objects or respond to external events. A major difference between OOP languages and traditional procedural program languages is that the methods and properties of an object are encapsulated. In object-oriented programming, encapsulation refers to the inclusion within an object of all the resources needed for the object to function—basically, the method and the properties. Other objects adhere to these interfaces to use the object without having to be concerned with how the object accomplishes it. This makes it easier to ensure that objects interface with one another in a consistent manner, and also protects the internal data of the object from unintentional corruption by other program elements. When an object is created, certain of its properties and methods are defined as “public,” and the remaining ones as “private.” Only the public properties and methods are accessible to other objects; the private properties and methods are protected.
Another feature of object-oriented programming languages that benefits code reusability is inheritance. The concept of inheritance is that certain classes or objects can inherit the properties and methods of a parent class or object. Thus, objects of code can be developed as modular building-blocks, with subsequent objects being children of parent objects. For example, a parent object when executed by a processor may produce an image indicative of an entire window and when executing a child object, the child object produces a sub-window, or template, within the parent object-executed window, or image. Importantly, the parent object can define a class, and the child object can inherit the class (properties and methods) of the parent object. In addition, the child object can also take on further methods and properties unique to the child object class. For example, a “jet” class can be defined as a child of an existing “airplane” class, with added properties, such as “turbine velocity.” Once the subclass exists, the programmer is free to create new objects with jet-like properties.
Some objects have a graphical representation. For example, it is common to include buttons, checkboxes, and other similar “controls” in a GUI belonging to an application program. Images associated with these objects are displayed on a computer screen to allow the user to interact with the application. Among the methods of such objects are display methods (e.g., “paintIcon”), which can be invoked to cause a graphical representation of the object to appear on the computer screen. To permit a user to interact with the GUI, displayable controls typically include methods enabling them to respond to external events, such as mouse button clicks. The object code that is the recipient of a user event (e.g., a pointer device placed over a button displayed on a computer display) is referred to as the target object. Thus, a target object can receive method-type code imparted to it when a user interacts with the GUI.
Java is a modern OOP language, based on an extensible hierarchy of classes. A given class within the hierarchy is deemed a parent to the classes beneath it, and a child of those above it. Classes inherit methods and properties from their parent class, and pass them on to their children. Child classes typically have additional methods and properties, beyond those of their parent. Java application programs create objects by instantiating classes, and interact with these objects via their methods and properties.
Java was designed with an emphasis on portability. As used herein, the term “platform” refers to a specific combination of hardware and operating system. More specifically, a platform consists of an operating system, the computer system's coordinating program, which in turn is built on the instruction set for a processor or microprocessor, the hardware that performs logic operations and manages data movement in the computer. A software program is said to be “portable” across various platforms if the program can run without modification on any of those platforms. This “write once—run anywhere” principle is the underlying philosophy behind OOP languages such as Java.
The portability of Java depends on the presence of a Java virtual machine (JVM) in the target computer (i.e., the computer on which the Java application is to execute). A JVM “translates” the generic Java code into instructions specific to the target machine (i.e., “native” code) at runtime. Therefore, the same Java program can run without modification on any computer for which a JVM exists.
Since its introduction, Java has found use in many areas, including GUTI development, where the portability of Java code is highly advantageous. As used herein, the “look and feel” of a GUTI refers to such things as the appearance, color and behavior of Buttons, TextFields, Listboxes, menus, etc. and their mouse, keyboard handling and behavior. Look and feel is the generic way in which to describe the appearance of an image on a computer display to that of another image on a computer display. If the window, icons contained within the window, the control menu, the general layout of that window, and the colors of the various features shown on that window are similar to that of another window image, then the two images are s
Chavis John
Conley & Rose, P.C.
Daffer Kevin L.
International Business Machines Corp.
LandOfFree
Java classes comprising an application program interface for... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Java classes comprising an application program interface for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Java classes comprising an application program interface for... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3195185