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

Event handling in a high level programming language environment

Assignee: International Business Machines Corp
•
Filing: 1993-11-29
•
Granted: 1998-06-30
•
Expires: 2013-11-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and means for handling events in a computer system which occur during the execution of programs including routines prepared in a plurality of computer programming languages is described. The number and identity of each unique computer programming language used in the preparation of the program is determined using a language list contained in the application program. A unique event handling means (event handler) is initialized for each unique computer programming language used in the program. As the program executes selected events of interest to the event handlers are detected. The parameters associated with the selected event are determined. Optionally the detected events may be divided into two types: broadcast or targeted. Broadcast events are sent to all event handlers (except the debug event handler), whereas, the targeted events are sent to a single event handler. An event code and the relevant parameters are passed to the event handlers so that each event handler may perform whatever actions are appropriate for that event in the context of the programming language being supported. The event handlers generate an appropriate return code indicating the success, failure, or non-processing of the event and, for selected events, return request information. The invention provides for a separate specialized debug event handler.

Inventors

  • 👤 William Peter Carney
  • 👤 Laurence Edward England
  • 👤 Gary John Hochmuth
  • 👤 Brian Owings
  • 👤 Eric Lynn Porter
  • 👤 Alfred William Shannon
  • 👤 Robert Aaron Wilson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-28 09:09
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/542

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 258 words
A computer implemented method for managing event handling for processing events in a computer system, the events having associated parameters and occurring during the execution of a program, the program including routines prepared in a plurality of computer programming languages, the computer system having a common execution environment including an event handling unit and an Event Handler Interface Unit, comprising the steps of: (a) determining, in a language list processor portion of the event handling unit, which of a plurality of computer programming languages are used in the program from high level language member identifiers for the program; (b) initializing, in an event handler initializer portion of the event handling unit, based on the step of determining, a plurality of event handling means (event handlers) such that an event handler compatible with each computer programming language used in the program is initialized; (c) detecting, in an event detector portion of the event handling unit, an occurrence of a selected event during execution of the program; (d) determining, in the event handler interface unit, the computer programming language used in a currently executing routine and the associated parameters for the selected event; (e) invoking, using the event handler interface unit, the initialized event handler compatible with the computer programming language used in the currently executing routine and passing an identifying event code and the associated parameters to said initialized event handler to cause the event to be handled, wherein the common execution environment is a single-run time environment; and (f) repeating steps (c)-(e) each time a selected event occurs.
Claim 2
Dependent Claim 258 words
A computer implemented method for managing event handling for processing events in a computer system, the events having associated parameters and occurring during the execution of a program, the program including routines prepared in a plurality of computer programming languages, the computer system having a common execution environment including an event handling unit and an Event Handler Interface Unit, comprising the steps of: (a) determining, in a language list processor portion of the event handling unit, which of a plurality of computer programming languages are used in the program from high level language member identifiers for the program; (b) initializing, in an event handler initializer portion of the event handling unit, based on the step of determining, a plurality of event handling means (event handlers) such that an event handler compatible with each computer programming language used in the program is initialized; (c) detecting, in an event detector portion of the event handling unit, an occurrence of a selected event during execution of the program; (d) determining, in the event handler interface unit, the computer programming language used in a currently executing routine and the associated parameters for the selected event; (e) invoking, using the event handler interface unit, the initialized event handler compatible with the computer programming language used in the currently executing routine and passing an identifying event code and the associated parameters to said initialized event handler to cause the event to be handled, wherein the common execution environment is a single-run time environment; and (f) repeating steps (c)-(e) each time a selected event occurs.
Claim 3
Dependent Claim 74 words
The method of claim 1, further comprising the steps of: determining, in the event handler interface unit, whether the selected event is of a broadcast type which must be sent to all initialized event handlers; and invoking in turn, using the event handler interface unit, for each broadcast type event, each initialized event handler not previously invoked by passing an identifying event code and the associated parameters to each initialized event handler for processing.
Claim 4
Dependent Claim 43 words
The method of claim 1, wherein the step of determining said plurality of computer programming languages used in said program further comprises determining said plurality of computer programming languages from high level language member identifiers contained in at least one program prologue area.
Claim 5
Dependent Claim 44 words
The method of claim 1, wherein said initializing step further comprises the steps of: building an assigned name for each event handler using the high level language member identifiers; and loading, from memory into the computer system each event handler using the assigned name.
Claim 6
Dependent Claim 41 words
The method of claim 1, further comprising the step of receiving, using the event handler interface unit, a return code from the event handler, the return code having a value indicative of success, non-processing or failure of processing of the event.
Claim 7
Dependent Claim 41 words
The method of claim 1, further comprising the step of receiving, using the event handler interface unit, return information from the event handler, said return information indicative of DSA Ownership, Entry Point and Compile Unit Identification, Statement Identification, or DSA Classification.
Claim 8
Dependent Claim 20 words
The method of claim 1, further comprising the step of initializing, using the event handling unit, a debug event handler.
Claim 9
Dependent Claim 40 words
The method of claim 7 wherein the system is capable of detecting error conditions, and the step of initializing the debug event handler is responsive to an initial command string, an error condition, or an express request from the program.
Claim 10
Dependent Claim 129 words
A computer implemented method for handling events for a computer programming language in a computer system having a processor, a common execution environment (CEE) having an event handling unit and an event handler interface unit, and an event handler, comprising the steps of: (a) receiving, in the Event Handler Interface Unit, an Event Code and parameters corresponding to an event from the CEE; (b) determining, in the event handler interface unit, whether the Event Code requires any information, including stack frame ownership information, entry point information, compile unit identification information, or a statement number which corresponds to an address from the event handler, responsive thereto finding the required information; and (c) returning to the CEE any information found in step (b), wherein the CEE is a single-run time environment.
Claim 11
Dependent Claim 129 words
A computer implemented method for handling events for a computer programming language in a computer system having a processor, a common execution environment (CEE) having an event handling unit and an event handler interface unit, and an event handler, comprising the steps of: (a) receiving, in the Event Handler Interface Unit, an Event Code and parameters corresponding to an event from the CEE; (b) determining, in the event handler interface unit, whether the Event Code requires any information, including stack frame ownership information, entry point information, compile unit identification information, or a statement number which corresponds to an address from the event handler, responsive thereto finding the required information; and (c) returning to the CEE any information found in step (b), wherein the CEE is a single-run time environment.
Claim 12
Dependent Claim 171 words
A computer system for handling events occurring during the execution of a program, the program including routines prepared in a plurality of computer programming languages, comprising: means for determining which of a plurality of computer programming languages are used in the program from high level language member identifiers for the program; means for initializing an event handling means (event handler) compatible with each computer programming language; means for detecting an occurrence of a selected event during execution of the program; means for determining the computer programming language used in a currently executing routine and parameters associated with the selected event; and means for invoking an event handler compatible with the computer programming language used in the currently executing routine and passing an identifying event code and the associated parameters to the event handler to cause the event to be handled, wherein said identifying event code and said associated parameters are passed to the event handler through a common execution environment, and wherein said common execution environment is a single-run time environment.
Claim 13
Dependent Claim 171 words
A computer system for handling events occurring during the execution of a program, the program including routines prepared in a plurality of computer programming languages, comprising: means for determining which of a plurality of computer programming languages are used in the program from high level language member identifiers for the program; means for initializing an event handling means (event handler) compatible with each computer programming language; means for detecting an occurrence of a selected event during execution of the program; means for determining the computer programming language used in a currently executing routine and parameters associated with the selected event; and means for invoking an event handler compatible with the computer programming language used in the currently executing routine and passing an identifying event code and the associated parameters to the event handler to cause the event to be handled, wherein said identifying event code and said associated parameters are passed to the event handler through a common execution environment, and wherein said common execution environment is a single-run time environment.
Claim 14
Dependent Claim 50 words
The system of claim 10 further comprising: means for determining whether the selected event is of a broadcast type which must be sent to all initialized event handlers; and means for passing, for all broadcast type events, an identifying event code and the associated parameters to all initialized event handlers.
Claim 15
Dependent Claim 35 words
The system of claim 10 further comprising means for determining an event handler to which to pass the event code and the parameters using high level language member identifiers taken from a program prologue area.
Claim 16
Dependent Claim 40 words
The system of claim 10 wherein the means for initializing further comprises: means for building a name for each event handler by using a preassigned member identifier; and means for requesting dynamic loading of each event handler using the name.
Claim 17
Dependent Claim 34 words
The system of claim 10, further comprising means for receiving a return code from the event handler, the return code having a value indicative of success, non-processing or failure of processing of the event.
Claim 18
Dependent Claim 30 words
The system of claim 10 further comprising means for receiving return information from the event handler indicating DSA Ownership, Entry Point and Compile Unit Identification, Statement Identification, or DSA Classification.
Claim 19
Dependent Claim 14 words
The system of claim 10 further comprising means for initializing a debug event handler.
Claim 20
Dependent Claim 31 words
The system of claim 16 wherein the means for initializing the debug event handler is responsive to an initial command string, an error condition, or an express request from the program.

References Cited (Backward Citations)

GB399822A Cited
US4041467A Cited
US4868745A Cited
US4992971A Cited
US4862349A Cited
US4916610A Cited
US5230049A Cited
US5097533A Cited
US5146593A Cited
US5075847A Cited
US5218699A Cited
US5355484A Cited
US5455949A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-06-29 2001-12-29 2002-06-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-06-29 2005-12-29 2006-06-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-06-29 2009-12-29 2010-06-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag