System and method of interactively developing desired computer programs by using plurality of tools within a process described in graphical language
First Claim
1. A method of interactively developing computer programs on an interactive system comprising the steps of:
- describing in an descriptive language a process using a graphical language illustrating steps necessary to develop said computer program, the descriptive language executable on the interactive system, said process having a plurality of potential states and defining a plurality of steps necessary to develop a desired computer program, and including a specification for each state of the process of at least one responsive action to be taken in developing the desired computer program; and
executing the process by said interactive system to interactively develop the desired computer program, the step of executing including the steps of;
generating an event indicative of the taking of an action by one of a plurality of tools in the development of the desired computer program;
updating of said state of said process to reflect said received event;
analyzing said updated state of said process;
deciding in accordance with the specification of the executing process and the analysis of its updated state at least one suggestion of a responsive procedure to be taken by the tools in developing said computer program; and
compiling said procedure into the computer program comprising executable code.
1 Assignment
0 Petitions
Accused Products
Abstract
The method and system of this invention assist a user in the achievement of a task according to a set of procedures such as those used in the design of software products. A functional description of the process of designing the software is instantiated by the system whereupon the system provides the user with a series of choices relating to the software development. The choices selected, in turn, permit a variety of system tools, each operating in parallel and concurrently, to be used in the development of the software. The system automatically monitors and checks the process during any manipulation and provides error analysis as well as suggested courses of action to the user. The system provides flexible support without requiring the user to follow a rigid development pattern.
-
Citations
14 Claims
-
1. A method of interactively developing computer programs on an interactive system comprising the steps of:
-
describing in an descriptive language a process using a graphical language illustrating steps necessary to develop said computer program, the descriptive language executable on the interactive system, said process having a plurality of potential states and defining a plurality of steps necessary to develop a desired computer program, and including a specification for each state of the process of at least one responsive action to be taken in developing the desired computer program; and executing the process by said interactive system to interactively develop the desired computer program, the step of executing including the steps of; generating an event indicative of the taking of an action by one of a plurality of tools in the development of the desired computer program; updating of said state of said process to reflect said received event; analyzing said updated state of said process; deciding in accordance with the specification of the executing process and the analysis of its updated state at least one suggestion of a responsive procedure to be taken by the tools in developing said computer program; and compiling said procedure into the computer program comprising executable code. - View Dependent Claims (2, 3, 4)
-
-
5. An apparatus for interactively developing computer program comprising:
-
an interactive system having an assistant, and a plurality of tools; means within said assistant for executing a process described in descriptive language, said process having a plurality of potential states and defining in graphical illustrations a plurality of steps necessary to develop a desired computer program and including a specification for each state of the process of at least one responsive action to be taken in developing the desired computer program; means for receiving, in said assistant, an event indicative of the taking of an action by one of said plurality of tools; means, in said assistant, for updating said state of said process to reflect said received event; means, in said assistant, for analyzing said updated state of said process to determine in accordance with the specification of the executing process and the analysis of its updated state at least one suggestion of a responsive procedure to be taken by the tools in developing said computer program; and means for compiling said procedure into the computer program comprising executable code. - View Dependent Claims (6, 7, 8)
-
-
9. A computing system, comprising:
-
a plurality of computer based tools for performing actions and originating events concerning the result of the performed actions; an interactive assistant computing device connected to the plurality of tools and including; a module storing in a descriptive language using graphical description of a process comprising graphical illustrations of the steps needed to develop a computer program, the process description language specifying for each state of the process at least one responsive action to be taken; an interpreter for interpreting the process stored in the module including means responsive to reports of events from the tools for changing the state of the process and, in response thereto, suggesting at least one specified procedure for performance by the tools in furtherance of the development of the computer program; a compiler for compiling said procedure into the computer program comprising executable code; and a message handler connecting the plurality of tools to the assistant computing device, the message handler passing interpreter suggested specified actions to the plurality of tools for performance, and passing events originated in the tools to the interpreter for effecting changes in process state. - View Dependent Claims (10, 11)
-
-
12. A method for developing a computer program, comprising the steps of:
-
describing in an interactive system a process using graphical language, said process including a graphical description illustrating the steps needed to be performed in developing the computer program, the described process having a plurality of states and the description specifying for each state at least one action responsive to the state to be taken in furtherance of developing the computer program; executing the process described in graphical language by the interactive system; generating events indicative of the taking of an action in furtherance of developing the computer program; changing the state of the process to account for the generated events; processing the changed state of the process in accordance with the description of the process to identify the description specified actions responsive to the changed state; suggesting at least one responsive procedure to be taken by the tools in developing the computer program; and compiling said procedure into the computer program comprising executable code. - View Dependent Claims (13, 14)
-
Specification