System and method for reducing coupling in an object-oriented programming environment
First Claim
1. In an object-oriented programming environment on a computer system comprising a processing unit, a memory unit, an I/O (input/output) unit and an operating system, a method for reducing the coupling between objects in said object-oriented programming environment comprising the steps of:
- creating a plurality of objects, each of said plurality of objects having at least one input port and one output port;
selectively combining two or more of said plurality of objects to create one or more software program modules;
linking said one or more software program modules with each other and with the operating system of said computer system to create an executable software application program; and
executing said software application program on said computer system, said step of executing said software application program further comprising the steps of;
processing all invocations of each object in said software application program through said at least one input port of said object, wherein, when an object receives a message, a function defined within the object will be invoked or an attribute value defined within the object will be accessed through said at least one input port of said object; and
processing all interactions of each object in said software application program with other objects in said software application program, with other software application programs or with the operating system of said computer system through said at least one output port in said object, wherein a message from an object to said other objects, to said other software application programs or to said operating system is dispatched through said at least one output port of said object; and
wherein said at least one input port of said object and said at least one output port of said object are sufficiently simple and tightly bound to said object so that neither said at least one input port nor said at least one output port possesses all the traits of an object.
0 Assignments
0 Petitions
Accused Products
Abstract
The principal impediment to achieving interoperability, modifiability, implementation-independence and the reuse of object-oriented software components is the strong coupling between objects. The preferred solution to this problem involves adding an output port to each object and further making this additional output port part of a new software development approach that is an extension of the object-orientation paradigm. The resulting component-oriented software development environment provides the level of indirect addressing that is needed to manage the design requirements of interoperability, modifiability and implementation-independency. Another solution to the decoupling problem includes requiring each object to address other objects only indirectly, such as by using specific interface objects. Several variants of this technique have been detailed, described and compared in this patent application. Each of these techniques may be applied in different parts, or at different levels, of a software system.
61 Citations
10 Claims
-
1. In an object-oriented programming environment on a computer system comprising a processing unit, a memory unit, an I/O (input/output) unit and an operating system, a method for reducing the coupling between objects in said object-oriented programming environment comprising the steps of:
-
creating a plurality of objects, each of said plurality of objects having at least one input port and one output port;
selectively combining two or more of said plurality of objects to create one or more software program modules;
linking said one or more software program modules with each other and with the operating system of said computer system to create an executable software application program; and
executing said software application program on said computer system, said step of executing said software application program further comprising the steps of;
processing all invocations of each object in said software application program through said at least one input port of said object, wherein, when an object receives a message, a function defined within the object will be invoked or an attribute value defined within the object will be accessed through said at least one input port of said object; and
processing all interactions of each object in said software application program with other objects in said software application program, with other software application programs or with the operating system of said computer system through said at least one output port in said object, wherein a message from an object to said other objects, to said other software application programs or to said operating system is dispatched through said at least one output port of said object; and
wherein said at least one input port of said object and said at least one output port of said object are sufficiently simple and tightly bound to said object so that neither said at least one input port nor said at least one output port possesses all the traits of an object. - View Dependent Claims (2, 3, 4, 5)
-
-
6. In an object-oriented programming environment on a computer system comprising a processing unit, a memory unit, an I/O (input/output) unit and an operating system, a system for reducing the coupling between objects in said object-oriented programming environment comprising:
-
means for creating a plurality of objects, each of said plurality of objects having at least one input port and one output port;
means for selectively combining two or more of said plurality of objects to create one or more software program modules;
means for linking said one or more software program modules with each other and with the operating system of said computer system to create an executable software application program; and
means for executing said software application program on said computer system, said means for executing said software application program further comprising;
means for processing all invocations of each object in said software application program through said at least one input port of said object, wherein, when an object receives a message, a function defined within the object will be invoked or an attribute value defined within the object will be accessed through said at least one input port of said object; and
means for processing all interactions of each object in said software application program with other objects in said software application program, with other software application programs or with the operating system of said computer system through said at least one output port in said object, wherein a message from an object to said other objects, to said other software application programs or to said operating system is dispatched through said at least one output port of said object; and
wherein said at least one input port of said object and said at least one output port of said object are sufficiently simple and tightly bound to said object so that neither said at least one input port nor said at least one output port possesses all the traits of an object. - View Dependent Claims (7, 8, 9, 10)
-
Specification