An approach to computational
processing and
programming calls for the creation of multiple
software entities ("molecules 10") that can be dynamically configured to autonomously process data. Molecules can send and receive signals that indicate the state of the molecule, whether the
processing task is complete, the result of the
processing task, and whether to terminate, interrupt, reconfigure, or continue the molecule through the creation of one or more "next" molecules. operate. Molecules can be created from a common set of
software microcomponents (40, 42, 44, 46, 48), which can be written in any
programming language to run in any
operating system environment. Molecules can reside with a single computing resource, however, they are ideally suited for deployment with different types of
distributed computing resources on a network or in a
parallel processing environment. All
data processing tasks are performed by creating molecules in "logical networks" that are dynamically adapted to accomplish their tasks. Logical networks can be allocated to work with different legacy systems, and applications programmed in different languages, and with any type of data stored in any format. As a result,
data processing tasks in distributed or
parallel processing environments can be performed more efficiently and entirely new types of
network computing or
parallel processing tasks can be adopted.