An improved object-oriented programming environment for facilitating creation of database management applications is disclosed. The programming environment provides a method and apparatus for establishing named connections between encapsulated, individually designed software components referred to as "smart objects," which communicate and act in a coordinated fashion as part of a finished software application. Connections between smart objects are referred to as "smart links." A basic set of smart links for coordinating a core group of smart objects is disclosed, and a substantial variety of database management applications can be created using the disclosed smart objects and smart containers. The core group of smart objects each include four common capabilities: the capability to initialize and destroy themselves, the capability to get and set attributes, the capability to add and remove smart links, and the capability to communicate using a standard communication interface. Individual smart objects have other capabilities in addition to the four common capabilities.
CROSS-REFERENCE TO RELATED APPLICATION
A claim of priority is made to provisional patent application Ser. No. 60/006,740, entitled Smart Objects For Development Of Object Oriented Software, filed Nov. 14, 1995.
The invention relates to a system and a method for interconnection of components, in particular of software components for at least one data processing application. For interconnection of the components without special programming, for example in the form of what is referred to as glue code, the invention proposes that the components have at least one interface which is intended for direct interconnection of components. In an alternative embodiment, the components have interfaces which are interconnected with one another via an interconnection component.
A method and apparatus for accessing resource objects contained in a distributed memory space in a communications network, including dividing the distributed memory space into a plurality of memory pools, each pool containing a collection of resource objects, providing a plurality of resource manager objects, each resource manager object having an associated set of memory pools and a registry of network unique identifiers for the resource objects in those pools, and accessing a given resource object via its network identifier. Another aspect of the invention is to provide a relativistic view of state of a plurality of objects, each object generating a state vector representing that object's view of its own state and the state of all other objects, each object sending its state vector to other objects, and each object maintaining a state matrix of the state vectors.
Software components such as objects, applications and computational blocks are linked through a data flow manager and an interface that facilitate data exchange between the components. The interface defines a communication protocol. Components that comply with the protocol can share data, even if such components are associated with unrelated applications. Non-compliant components can be paired with translation objects or controlled by scripts to allow such non-compliant components to be linked to compliant components for data sharing. The data flow manager controls data exchange by determining which components are prepared to share data, and then prompting only prepared components to share data. Data exchange is executed in discrete steps.
Methods and systems for optimally controlling the operation of object oriented computer software applications use what we call "application wrappers". An application wrapper is a software application that gives programmers the ability to extend their programs' functionality beyond the rigid constraints placed on them by the computer system's operating system. An application wrapper is associated with each software application stored on the computer system and is loaded when the system is powered up. An object oriented display of the application wrapper is generated for the computer user, which can take almost any identifiable form. Application wrappers provide a computer user more rapid modular access to the functional and data files contained within said software applications, saving computer system resources such as RAM and processing time.
A method and apparatus for building a modeling tool that includes a meta model that has a semantic registry and a meta data manager, an object/property interface, and an object/property factory registry. The object/property factory registry is coupled to the meta model and the object/property interface. The apparatus also includes an object/property model coupled to the object/property interface. The semantic registry includes at least a predefined set of semantics.