Abstract:
A data-driven global registry method for use to extend a framework in an object oriented programming (OOP) based computer system is provided. The method includes providing a new class defined in a shared class library which has data members and member functions related to a particular task. In addition, a new class attributes file which specifies attributes associated with the new class is generated. The new class attributes file is placed in a global registry configuration directory in a computer system such that a plurality of client applications can access the global registry configuration directory to determine if the new class has been installed in the class library. In an alternative embodiment, an object-based global registry method is provided. In addition, a storage device readable by a computer system for implementing either OOP-based global registry method and OOP-based global registries themselves are provided.
Abstract:
A system for debugging software uses a portable debug environment-independent client debugger object and at least one non-portable server debugger object with platform-specific debugging logic. The client debugger object has a graphic user interface which allows a user to control and manipulate the server debugger object with debug environment-independent debug requests. The server debugger object performs a platform-specific debug operation on the software to be debugged. The platform-specific results generated by the debugging operation are translated to debug environment-independent results and returned to the client debugger object. This operation allows the same client debugger object to be used with one or more server debugger objects running on different platforms.
Abstract:
Screen objects used by the application programs to draw or paint on the display screen are created in accordance with a predefined class structure which represents a generic display system. Developers of specialized hardware develop specialized classes based on the predefined structure to handle specific command sets and protocols. When the system is initially powered up or reconfigured, the screen objects are created from the generic and specialized classes as necessary by examining the actual display hardware present in the system. When the specialized classes are used to create the screen objects, the screen objects receive the specialized command sets and protocols necessary to interact with display hardware which have been provided by the hardware developers.
Abstract:
A distributed program history database system is designed for use on a client-server network. The system consists of a plurality of program history servers which maintain version information for various program components. A program developer, upon logging into a client terminal on the network, establishes a workspace or project and connects with one of the history servers. After connection to the history server has been made, a draft of the program configuration is retrieved from the server. The configuration draft may include information for constructing some of the program components and "bridge" information identifying other program history servers where additional program components are located. The workspace uses the component information to assemble components and the bridge information to connect to other servers and retrieve the remaining components in order to assemble the complete source code for a program in the workspace.
Abstract:
A method and apparatus for receiving a user identifier and for instantiating a particular place object from one of a plurality of different place classes in response to the user identifier. The apparatus displays, on a display device, data stored in the particular place object to provide on the display device a view corresponding to a predetermined physical location. The particular place object includes user specific profile information of a user identified by the user identifier.
Abstract:
A method and system for assisting input of information. The method and system dynamically translates information being input, and allows user interaction with the translation process. The system is flexibly designed to allow easy use by application developers and users. The design allows a common input method to be used by multiple applications. Users may also customize the input methods to suit their own needs. The input methods support "active" areas of text input, character based input, and phrase based input. The active area can be customized to appear a certain way. Dictionaries are also supported, including optional properties such as grammar and frequency. Dictionaries may also be chained.
Abstract:
A system and method for managing the color palette for an object oriented operating system providing for the sharing of a plurality (e.g., 256) of colors for display by an external device. In a first aspect, an 8-bit color lookup table (CLUT) is shared by a plurality of views in a document being displayed on the external device such that consistent looking color is provided across a plurality of graphic devices. The inventive method includes creating a color look up table (CLUT) for the operating system, uniformly dividing the CLUT into a predetermined number of colors, displaying graphic information having a plurality of views, and sharing the predetermined number of colors in the CLUT amongst the plurality of views of the graphic information. The predetermined number of colors includes a plurality of colors each of which have a predetermined consistency when shared between first and second views of the plurality of views.
Abstract:
The present invention provides a novel method and apparatus for performing real-time computer garbage collection, in a manner that offers unprecedented low bounds on the worst-case frequency and duration of the collection task. The invention is used with a plurality of data objects and with one or more mutator programs. The mutators and a garbage collector run on one or more processors. The mutators each have a corresponding thread with a corresponding thread state. In the present invention, execution of all mutators is temporarily restricted at the start of each new garbage collection cycle. However, unrestricted execution of a mutator is quickly resumed, as soon as that mutator's thread state is processed. The remainder of the garbage collection cycle may be performed concurrently with the mutators. In another feature of the present invention yielding important performance benefits, the mutators are executed subject to a protective write barrier, but the write barrier does not have to be applied to the modification of mutator thread states.
Abstract:
A computer system has a processor, a display, and a object-oriented application interface between a user input device such as a cursor placement device and an object-oriented application program. The cursor placement device has a user button for generating a device event signal for controlling a pointer graphic on the display. The object-oriented application program includes a plurality of objects with logic and data for performing particular functions. An interactor object is responsive to a device event signal to change the display from displaying an icon to a thumbnail display. An interactable object is instantiated in an application address space, and includes data and methods for manipulating the data. The interactor object is instantiated in a system address space and is responsive to the device event signal for calling a predetermined one of the interactable object's methods to change the data therein. The system can also include apparatus for playing a script, thereby executing selected data changing methods in specified data objects, and a means for generating a presentation of data in a data model object.
Abstract:
Computer software, process, and object-oriented objects that decouple the details of accessing graphical data from the details of processing and iterating through the graphical data. The invention first receives a filter routine and a funnel routine, and passes an iterator, that enumerates over the graphical data, to the funnel routine. Then the invention repetitively calls both the filter and funnel routines to enumerate over the graphical data. The filter routine selects, orders and returns graphical data. The funnel routine processes the graphical data and also can pre-terminate enumeration. Developers have the capability extend the invention by providing their own versions of the filter and funnel routines and by modifying the enumeration.