WO2000055733A1 - Program monitoring method and device - Google Patents
Program monitoring method and device Download PDFInfo
- Publication number
- WO2000055733A1 WO2000055733A1 PCT/DE2000/000626 DE0000626W WO0055733A1 WO 2000055733 A1 WO2000055733 A1 WO 2000055733A1 DE 0000626 W DE0000626 W DE 0000626W WO 0055733 A1 WO0055733 A1 WO 0055733A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- program
- message
- monitoring
- monitoring process
- instrumentation
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3624—Software debugging by performing operations on the source code, e.g. via a compiler
Definitions
- the invention relates to a method and an arrangement for monitoring a program.
- a program is usually monitored by means of special breakpoints (so-called brake points), at which a programmer can view debug information and, if necessary, deduce that the program is malfunctioning.
- brake points special breakpoints
- This manual measure is extremely cumbersome and time-consuming with a sufficiently large program with numerous sub-programs.
- the debug information is mainly evaluated offline, i.e. not at program runtime. If the program is part of a distributed system, clear, manual monitoring can no longer be coordinated.
- the object of the invention is to provide a method and an arrangement for monitoring a program, which enables efficient monitoring even at runtime of the program, in particular in a distributed system. Such monitoring is feasible on the basis of the present invention, especially for a large number of programs.
- a method for monitoring a program is specified in which the program is expanded by an instrumentation part.
- the instrumentation part generates a message and transmits this message to a monitoring process.
- the monitoring process initiates a specified action.
- An instrumentation part is a program part or a (program) code (fragment) that is linked to the program to be monitored. This connection can be made by embedding the instrumentation part m the program itself or m a function associated with the program. For example, the program itself can be instrumented at some points, each of which then sends messages to the monitoring process for certain events.
- Program are instrumented so that, in addition to the normal (ie without instrumentation) output of the program, further expenditure is directed to the monitoring process (instrumentation of the input / output interface of the program).
- the monitoring process preferably takes over the coordination of the messages which are transmitted (possibly by numerous distributed) programs. Furthermore, the monitoring process can have various actions that it can trigger or initiate as a result of the messages:
- the messages are presented.
- the display is preferably dependent on the time, e.g. m in the form of a message flow diagram
- the advantages of the method presented here are the possibility of monitoring the program during its runtime.
- the instrumentation ensures that certain events are also reported to the monitoring process in the form of messages during the runtime. There, these messages are collected and processed appropriately.
- the monitoring process can use a filter function to ensure that only those messages are displayed or taken into account that actually correspond to the filtered specifications.
- the possibility of using a distributed system is a decisive advantage.
- the confusing interaction of many different programs in the distributed system makes troubleshooting difficult.
- the transmission of messages to the monitoring process of each instrumented (also distributed) program of many different programs, which do not all run on the same computer platform enables - after suitable filtering and / or processing, e.g. based on a message flow diagram - maintaining an overview, so that tracking of certain actions in the distributed system and the associated troubleshooting are made significantly easier.
- the above-described program can also be part of a related program or a function (linked) associated with the program.
- a functionality that the program uses can be instrumented centrally. This is particularly advantageous because, for example, not all input / output routines have to be instrumented in the program, but instead the associated routine is instrumented in the middleware. This corresponds exactly to the instrumentation of all I / O routers in the program to be monitored. The actual expansion of the one location in the middleware is extremely economical since the entire program to be monitored does not have to be searched for said routines.
- Instrumentation can be done in one place for all affected routines (encapsulation of the interface). Furthermore, this type of instrumentation is very flexible and expandable. If the program to be monitored changes, the instrumentation for the next program to be monitored with regard to the routines concerned (here as an example the input / output routines) has already been completed.
- a recipient (program or process) is waiting for a message. He can only continue when the message has been transmitted by a sender.
- a process on a different computer tries to start a program.
- the process waits until processing on the "remote” computer has ended. Normally, the process receives notification of the success or failure of the processing.
- One process is added to another process. From then on the added process no longer exists.
- each system is independent and has, for example, its own system clock.
- it is important to check plausibility eg the time stamp of the respective messages.
- Each sent message receives a tent stamp in particular, which can be used for synchronization. So it can happen that the transmission of a message requires a certain period of time and the time sequence must be clarified when displaying the monitoring process for several messages. If the system clocks of the individual systems do not go the same (which is generally to be assumed), the monitoring process determines the correct chronological order of the messages sent. This is done in particular by means of a heuristic that checks whether an assumption is correct or not.
- a time offset is determined which fulfills the plausibility of the system clocks. The offset can be adjusted as soon as another system clock with reference to at least one of the two specific system clocks has to be taken into account.
- the method described above can preferably be used for testing, controlling and maintaining the program or a technical system associated with the program.
- An arrangement for monitoring a program is also specified for solving the task, in which a processor unit is provided which is set up in such a way that a) the program can be expanded by an instrumentation part; b) the instrumentation part generates a message and transmits it to a monitoring process; c) the monitoring process triggers an action.
- Fig.l is a block diagram with logical components for monitoring a program
- FIG. 3 shows a processor unit
- Fig.l shows a block diagram with logical components for monitoring a program.
- the program 101 to be monitored has a filter functionality 102 and a
- Instrumentation 103 provided.
- the monitoring process mentioned many times above includes the block event generator 104 (Event Generator "), Event Manager 109 (" Event Manager ”) and the various display options 115 to 120 (" Views ").
- the event generator 104 contains a parser 105, two night interfaces 106 and 107 and a file 108).
- the event manager 109 comprises a connection unit 110, an event list 111, a filter unit 112 and a filtered list 113. The respective entry within the filtered list 113 is selected via a navigation unit 114 ("Stepper").
- the filter functionality 102 is provided for the selection of certain ones of interest for the respective application
- Instrumentation parts of the instrumentation 103 The result of the instrumentation, the messages, are transmitted to a communication interface “socket” 107 or a file 108 is written.
- the incoming messages are processed by the parser 105 and sent to the
- Connection unit 110 transmitted.
- the entries of the messages received by the parser 105 are stored there in a list 111.
- Block 112 optionally filters all messages stored by the connection unit 110 of the list 111 according to certain specifications. The result is the filtered list 113, the entries of which can be selected using the navigation unit 114.
- the navigation unit 114 serves as an interaction medium for the user. Entries can be made there, which are forwarded to the instrumented program part 103 via the communication interface 106 of the event generator 104. In particular, this interaction enables an interplay of program and instrumentation. The interaction can take place by inputting the user or alternatively via a regulation according to the scheme "whenever ... then ". Furthermore, an action 121 can be carried out, which leads to an external control or another external intervention based on the monitoring process.
- the filtered list 113 can be prepared in m different representations 115 to 120.
- the data of the filtered list 113 can be represented as
- Hierarchically sorted view e.g. according to computers or structure of programs and processes, block 116), message flow diagram (MSC, block 117), whereby a predetermined grouping can be taken into account,
- FIG. 2 shows various representations of the mechanisms of a distributed system to be monitored.
- FIG. 2 is divided into three parts, FIGS. 2A, 2B and 2C.
- the respective horizontal line denotes the time axis t.
- FIG. 2A The message transmission is shown in FIG. 2A.
- a transmitter 201 issues a message at a time t1, which arrives at a receiver 202 at a time t2.
- the receiver 203 has already started to wait for this message. He waited until time t2, now the receiver 202 continues the work.
- Fig. 2B shows the "Remote Procedure Call, RPC" mechanism.
- a process 203 sends a message "CLIENT_BEGIN (Call object. Method specified" to an addressee 204.
- This message arrives at the addressee 204 at a time t5, which is preferably a separate computer, far from is the computer on which process 203 is running.
- the result arrives at process 203, the RPC is issued with the command" CLIENT_END "The process has waited from t4 to t7 and now continues its processing with the result” res "determined on the addressee 204.
- FIG. 2C An example of a control flow is shown in Figure 2C. Two processes are to be linked together ("task join"). At a time t8 a
- Process Taskl 205 a command "JOIN_REQUEST” sent to a process Task2 206. Once there, at a time t9, a command “JOIN_START” causes process Task2 206 to link with process Taskl 205 up to time t10. At time t10, the "JOIN_DONE" command returns to the process Taskl 205, which resumes work at a time t11 with a "JOIN END” command. The process Taskl 205 has waited from t8 to tll, the process task2 206 has ended after t10.
- FIGS. 2A, 2B and 2C illustrate different mechanisms that can be observed in a distributed system in order to obtain an overview of the interaction of distributed programs and processes. When troubleshooting or performing maintenance work, it is an invaluable advantage to be able to track actions at the interprocess interface.
- a processor unit PRZE is shown in FIG.
- the processor unit PRZE comprises a processor CPU, a memory SPE and an input / output interface IOS, which is used in different ways via an interface IFC: an output is visible on a monitor MON and / or on a printer via a graphic interface PRT issued. An entry is made using a mouse MAS or a keyboard TAST.
- the processor unit PRZE also has a data bus BUS, which connects a memory
- additional components can be connected to the data bus BUS, e.g. additional memory, data storage (hard disk) or scanner.
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IL14530400A IL145304A0 (en) | 1999-03-12 | 2000-03-01 | Program monitoring method and device |
CA002366977A CA2366977A1 (en) | 1999-03-12 | 2000-03-01 | Method and arrangement for monitoring a program |
EP00920353A EP1163585A1 (en) | 1999-03-12 | 2000-03-01 | Program monitoring method and device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19911127.8 | 1999-03-12 | ||
DE19911127 | 1999-03-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2000055733A1 true WO2000055733A1 (en) | 2000-09-21 |
Family
ID=7900787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/DE2000/000626 WO2000055733A1 (en) | 1999-03-12 | 2000-03-01 | Program monitoring method and device |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1163585A1 (en) |
CA (1) | CA2366977A1 (en) |
IL (1) | IL145304A0 (en) |
WO (1) | WO2000055733A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10118502C1 (en) * | 2001-04-12 | 2002-08-08 | Siemens Ag | Process for the acquisition and recording of system information and processes in distributed concurrent component-based software systems |
DE102015117949A1 (en) * | 2015-10-21 | 2017-04-27 | Sontheim Industrie Elektronik GmbH | Method for tracking the history in a distributed system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0470322A1 (en) * | 1990-08-07 | 1992-02-12 | BULL HN INFORMATION SYSTEMS ITALIA S.p.A. | Message-based debugging method |
US5307498A (en) * | 1992-12-04 | 1994-04-26 | International Business Machines Corporation | Automated method for adding hooks to software |
US5371746A (en) * | 1991-05-31 | 1994-12-06 | Fuji Xerox Co., Ltd. | Program debugging system for a distributed data processing system |
US5790858A (en) * | 1994-06-30 | 1998-08-04 | Microsoft Corporation | Method and system for selecting instrumentation points in a computer program |
-
2000
- 2000-03-01 WO PCT/DE2000/000626 patent/WO2000055733A1/en not_active Application Discontinuation
- 2000-03-01 IL IL14530400A patent/IL145304A0/en unknown
- 2000-03-01 CA CA002366977A patent/CA2366977A1/en not_active Abandoned
- 2000-03-01 EP EP00920353A patent/EP1163585A1/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0470322A1 (en) * | 1990-08-07 | 1992-02-12 | BULL HN INFORMATION SYSTEMS ITALIA S.p.A. | Message-based debugging method |
US5371746A (en) * | 1991-05-31 | 1994-12-06 | Fuji Xerox Co., Ltd. | Program debugging system for a distributed data processing system |
US5307498A (en) * | 1992-12-04 | 1994-04-26 | International Business Machines Corporation | Automated method for adding hooks to software |
US5790858A (en) * | 1994-06-30 | 1998-08-04 | Microsoft Corporation | Method and system for selecting instrumentation points in a computer program |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10118502C1 (en) * | 2001-04-12 | 2002-08-08 | Siemens Ag | Process for the acquisition and recording of system information and processes in distributed concurrent component-based software systems |
US7665066B2 (en) | 2001-04-12 | 2010-02-16 | Siemens Aktiengesellschaft | Method for determining and recording system information and function in distributed parallel component based software systems |
DE102015117949A1 (en) * | 2015-10-21 | 2017-04-27 | Sontheim Industrie Elektronik GmbH | Method for tracking the history in a distributed system |
Also Published As
Publication number | Publication date |
---|---|
CA2366977A1 (en) | 2000-09-21 |
IL145304A0 (en) | 2002-06-30 |
EP1163585A1 (en) | 2001-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102006021830B4 (en) | System and method for time-controlled program execution | |
DE69712678T3 (en) | Method for real-time monitoring of a computer system for its management and assistance for its maintenance during its operational readiness | |
EP2350873B1 (en) | Capturing the visual content of browser windows | |
EP1110127B1 (en) | Information, control and/or observation system with model-based user interface and method for model-based control and/or observation | |
EP0807883B1 (en) | Communications system with means for exchanging software processes | |
LU93299B1 (en) | Sequence control of program modules | |
WO2006094827A2 (en) | Test device for verifying a batch processing | |
EP3948446A1 (en) | Generating and distributing configuration data structures for control systems | |
DE10118502C1 (en) | Process for the acquisition and recording of system information and processes in distributed concurrent component-based software systems | |
EP2171582B1 (en) | Remotely controlling a browser program | |
WO2000055733A1 (en) | Program monitoring method and device | |
Schäfer et al. | SAP solution manager | |
DE10230883A1 (en) | Automatic evaluation of properties of a system based on process logs | |
EP1636960B1 (en) | Automation system with simplified diagnosis and rectification of errors | |
EP1397891A2 (en) | Method and system for network configuration management and network inventory management | |
EP1374000B1 (en) | Method and assembly for operating and/or observing the device that monitors installation control | |
DE19818041A9 (en) | Computer design generating method for operating and monitoring guiding system | |
WO1995002863A1 (en) | Process for testing an object-oriented programme | |
DE102005008519A1 (en) | A method of monitoring a directory in a computer system, computer program product, and computer system for performing this method | |
WO2007147375A1 (en) | Method for operating an automation device, automation device and automation system comprising said automation device | |
DE10313589A1 (en) | Modification method for modifying modular messages that are to be transferred over an electronic messaging system using a computer, whereby desired changes to a message structure are checked to see if they are permissible | |
WO2003003247A2 (en) | Integrated documentation system with a time-indexed relational data base system | |
DE19807436B4 (en) | System and method for controlling and monitoring programs in a computer network | |
DE202020105648U1 (en) | Machine learning system to support engineering work | |
DE102008045272A1 (en) | Device for transformation of model, has modeling elements, where each modeling element is provided with tag, and modeling elements of transforming model are automatically selected by selection unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): CA IL US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2000920353 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2366977 Country of ref document: CA Kind code of ref document: A |
|
WWP | Wipo information: published in national office |
Ref document number: 2000920353 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 2000920353 Country of ref document: EP |