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 objects having at least one input port and one output port ( FIG. 8 ); selectively combining two or more of said plurality of objects to create one or more software program modules; linking said software modules with each other and with the operating system of said computer 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 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 through said output port in said object.