Patent US5212792A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5212792A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for controlling execution of tools in a computer-aided software engineering system

Assignee: HP Inc
•
Filing: 1989-06-01
•
Granted: 1993-05-18
•
Expires: 2009-06-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for communication between programs, or tools, in a computer system includes the steps of establishing a bi-directional communication path between each tool and a central message server, registering with the message server the patterns of messages which each tool wishes to receive, and storing the message patterns. A message is forwarded to the message server when one tool requires the service of another tool. The message server compares the pattern of the received message with the previously-stored message patterns, and, if the message matches a stored message pattern, the message is forwarded to each tool for which a match occurs. If a message requests the service of another tool and the message does not match the patterns of the previously-stored messages, an execution manager determines from a status table and an execution initialization table which tool can service the request message. The execution manager then invokes the tool and forwards the request message to the tool for execution.

Inventors

  • 👤 M. Colin Gerety
  • 👤 Samuel C. Sands
  • 👤 Martin R. Cagan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 15:57
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/542; G06F8/00; G06F8/20

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 191 words
A method for controlling execution of software tools in a computer system comprising an electronic digital computer and a memory containing computer software for operating said computer, said computer software comprising a plurality of software tools which include means for communicating with each other through messages including request messages, each containing a request by one of said software tools for service by another of said software tools, said computer executing message control software for performing a method comprising the steps of: receiving and forwarding said messages and controlling execution of request messages, said message control software having access to an initialization table for listing software tools that are present in said computer system and to a status table for listing software tools that are in operation in said computer system; determining from said status table if a software tool is in operation for servicing a received request message received by said message control software; and when a software tool is not in operation for servicing said received request message, automatically selecting from said initialization table a software tool for servicing said received request message and automatically starting the selected software tool.
Claim 2
Independent Claim 191 words
A method for controlling execution of software tools in a computer system comprising an electronic digital computer and a memory containing computer software for operating said computer, said computer software comprising a plurality of software tools which include means for communicating with each other through messages including request messages, each containing a request by one of said software tools for service by another of said software tools, said computer executing message control software for performing a method comprising the steps of: receiving and forwarding said messages and controlling execution of request messages, said message control software having access to an initialization table for listing software tools that are present in said computer system and to a status table for listing software tools that are in operation in said computer system; determining from said status table if a software tool is in operation for servicing a received request message received by said message control software; and when a software tool is not in operation for servicing said received request message, automatically selecting from said initialization table a software tool for servicing said received request message and automatically starting the selected software tool.
Claim 3
Dependent Claim 205 words
Apparatus for controlling execution of software tools which include means for communicating with each other through messages and which execute concurrently, comprising: a computer system comprising at least one electronic digital computer and a memory containing computer software for operating said computer, said computer software comprising a plurality of software tools, said messages including request messages each containing a request by one of said software tools for service by another of said software tools; message control means for receiving and forwarding said messages and for controlling execution of request messages, said message control means having access to an initialization table for listing software tools that are present in said computer system and to a status table for listing software tools that are in operation in said computer system; said message control means including means for determining from said status table if a software tool is in operation for servicing a received request message received by said message control means; and said message control means including means for automatically selecting from said initialization table a software tool for servicing said received request message and means for automatically starting the selected software tool when a software tool is not in operation for servicing said received request message.
Claim 4
Dependent Claim 205 words
Apparatus for controlling execution of software tools which include means for communicating with each other through messages and which execute concurrently, comprising: a computer system comprising at least one electronic digital computer and a memory containing computer software for operating said computer, said computer software comprising a plurality of software tools, said messages including request messages each containing a request by one of said software tools for service by another of said software tools; message control means for receiving and forwarding said messages and for controlling execution of request messages, said message control means having access to an initialization table for listing software tools that are present in said computer system and to a status table for listing software tools that are in operation in said computer system; said message control means including means for determining from said status table if a software tool is in operation for servicing a received request message received by said message control means; and said message control means including means for automatically selecting from said initialization table a software tool for servicing said received request message and means for automatically starting the selected software tool when a software tool is not in operation for servicing said received request message.
Claim 5
Dependent Claim 36 words
Apparatus as defined in claim 2 wherein said message control means further includes means for placing the received request message in a queue until the selected software tool is ready to service the received request message.
Claim 6
Dependent Claim 71 words
Apparatus as defined in claim 3 wherein said initialization table includes an invocation command for each tool that is present in the computer system, said invocation command specifying a local host computer or a remote host computer where said invocation command is to be executed, and wherein said means for starting the selected software tool includes means for executing the invocation command from the initialization table on the specified host computer.
Claim 7
Dependent Claim 40 words
Apparatus as defined in claim 4 wherein said message control means further includes means for receiving a ready status notification from the selected software tool and means for entering the status of the selected software tool into the status table.
Claim 8
Dependent Claim 48 words
Apparatus as defined in claim 5 wherein said message control means further includes means for removing the received request message from the queue after a ready status notification is received from the selected software tool and means for forwarding the received request message to the selected software tool.
Claim 9
Dependent Claim 66 words
Apparatus as defined in claim 2 wherein said initialization table includes a tool class and scope for each tool that is present in the computer system and wherein said means for starting the selected software tool includes means for starting an additional instance of the selected software tool if the received request message is outside the scope of a first instance of the selected software tool.
Claim 10
Dependent Claim 36 words
A method for controlling execution as defined in claim 1 further including the step of monitoring messages sent by the software tools to the message control software for forwarding to predetermined ones of the software tools.
Claim 11
Dependent Claim 33 words
A method for controlling execution as defined in claim 1 further including the step of forwarding the received request message to the selected software tool after the selected software tool has been started.
Claim 12
Dependent Claim 42 words
A method for controlling execution as defined in claim 1 wherein each request message includes a destination tool class and a context, and wherein said status table includes a tool class identifier and a context for each tool that is in operation.
Claim 13
Dependent Claim 60 words
A method for controlling execution as defined in claim 10 wherein the step of determining if a software tool is in operation for servicing said received request message includes the steps of determining if the destination tool class and context of the received request message match the tool class identifier and context of any tool listed in the status table.
Claim 14
Dependent Claim 43 words
A method for controlling execution as defined in claim 11 further including the step of placing the received request message in a queue until the selected software tool notifies the message control software that it is ready to service the received request message.
Claim 15
Dependent Claim 30 words
A method for controlling execution as defined in claim 12 wherein said initialization table includes a tool class and scope for each tool that is present in the computer system.
Claim 16
Dependent Claim 28 words
A method for controlling execution as defined in claim 13 wherein said initialization table includes an invocation command for each tool that is present in the computer system.
Claim 17
Dependent Claim 32 words
A method for controlling execution as defined in claim 14 wherein said invocation command specifies a local host computer or a remote host computer where said invocation command is to be executed.
Claim 18
Dependent Claim 36 words
A method for controlling execution as defined in claim 14 wherein the step of starting the selected software tool includes the step of executing the invocation command from the initialization table on the specified host computer.
Claim 19
Dependent Claim 38 words
A method for controlling execution as defined in claim 16 further including the steps of: receiving a ready status notification from the selected software tool, and entering the status of the selected software tool into the status table.
Claim 20
Dependent Claim 46 words
A method for controlling execution as defined in claim 17 further including the steps of: removing the received request message from the queue after a ready status notification is received from the selected software tool, and forwarding the received request message to the selected software tool.
Claim 21
Dependent Claim 51 words
A method for controlling execution as defined in claim 18 wherein the step of determining if a software tool is in operation for servicing said received request message includes the step of monitoring messages sent by the tools to said message control software for forwarding to predetermined ones of the tools.
Claim 22
Dependent Claim 33 words
A method for controlling execution as defined in claim 13 wherein the step of starting the selected software tool includes the step of starting an additional instance of the the selected software tool.
Claim 23
Dependent Claim 40 words
A method for controlling execution as defined in claim 14 wherein said status table and said initialization table each include a file type for each listed tool, said file type identifying the type of files on which the tool operates.
Claim 24
Dependent Claim 50 words
A method for controlling execution as defined in claim 14 wherein the step of starting the selected software tool includes the step of if the received request message is outside the scope of a first instance of the selected software tool, starting an additional instance of the selected software tool.

References Cited (Backward Citations)

US4530051A Cited
US4566078A Cited
US4823304A Cited
US4951192A Cited
US4914583A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-05-17 1996-11-16 1997-05-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-05-17 2000-11-16 2001-05-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-05-17 2004-11-16 2005-05-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag