Dataflow processing with events
First Claim
1. A method of processing data comprisingproviding a flow object, providing a network of interconnected processing components none of which is a flow object and at least one of which is not a user-interface component, associating the flow object with data that has been or is to be processed, enabling a flow within the network which transports from one processing component to another a reference which provides access to the flow object, enabling processing components to use the reference to obtain access to the flow object for the purpose of processing the flow object or the data associated with the flow object, and maintaining consistency across the network, as the flow object or the data associated with it are processed, of the components'"'"' views of the flow object and its data, by a sequence of communications which comprises a communication from a sending processing component to the flow object, and a communication from the flow object to a receiving processing component.
0 Assignments
0 Petitions
Accused Products
Abstract
Interactive event-driven programs are structured and executed using two types of constructs: interconnectable processing components and flow objects with associated data. Components are interconnected in a hierarchical dataflow network, and references which provide access to flow objects flow on the interconnections. Response to events and bidirectional coordination over multicomponent data paths, even in a distributed object system, employ unidirectional dataflows and intercomponent message sequences mediated by flow objects. Scaling and abstraction of complexity are facilitated by encapsulation of constructed networks into new component definitions. An interactive debugger preserves state as an executing program is edited, permitting an event-driven program to be modified in the intervals between processing of events without reinitialization. A component protection method employs multiple Levels of usage authorization within components, enabling developers to define and distribute new protected components in a decentralized component market.
293 Citations
151 Claims
-
1. A method of processing data comprising
providing a flow object, providing a network of interconnected processing components none of which is a flow object and at least one of which is not a user-interface component, associating the flow object with data that has been or is to be processed, enabling a flow within the network which transports from one processing component to another a reference which provides access to the flow object, enabling processing components to use the reference to obtain access to the flow object for the purpose of processing the flow object or the data associated with the flow object, and maintaining consistency across the network, as the flow object or the data associated with it are processed, of the components'"'"' views of the flow object and its data, by a sequence of communications which comprises a communication from a sending processing component to the flow object, and a communication from the flow object to a receiving processing component.
-
86. A tool for developing a software program,
the tool comprising a program under development and a possibly null flow object, the program under development comprising a network comprising components and interconnections, the tool being configured to restructure the network, an interconnection denoting a flow object and being attached to two components, one of the attachments being asource and the other being a sink, the source being associated with a source function, an output from the source function determining the flow object denoted by the interconnection, an input to the source function comprising a flow object denoted by a sink of the source'"'"'s component, and a nonnull flow object comprising a processed object, wherein a component is configured to send a processing message to the processed object, a component is configured to communicate to the nonnull flow object denoted by an interconnection attached to the component, and a component is configured to enable the nonnull flow object denoted by an interconnection attached to the component to communicate to the component.
- 142. The tool of claim 142 wherein the developer interface comprises the user interface of the program under development.
Specification