WO2000055733A1 - Program monitoring method and device - Google Patents

Program monitoring method and device Download PDF

Info

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
Application number
PCT/DE2000/000626
Other languages
German (de)
French (fr)
Inventor
Kai TÖDTER
Peter Zimmerer
Erwin Reyzl
Original Assignee
Siemens Aktiengesellschaft
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to IL14530400A priority Critical patent/IL145304A0/en
Priority to CA002366977A priority patent/CA2366977A1/en
Priority to EP00920353A priority patent/EP1163585A1/en
Publication of WO2000055733A1 publication Critical patent/WO2000055733A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software 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

The invention relates to a method for monitoring a program, wherein the program is extended with an instrumentation part that generates a message and transmits said message to a monitoring process which executes a given action.

Description

Beschreibungdescription
Verfahren und Anordnung zum Überwachen eines ProgrammsMethod and arrangement for monitoring a program
Die Erfindung betrifft ein Verfahren und eine Anordnung zum Überwachen eines Programms .The invention relates to a method and an arrangement for monitoring a program.
Eine Überwachung eines Programms erfolgt üblicherweise mittels spezieller Haltepunkte (sog. Brakepomts) , an denen ein Programmierer Debuginformationen einsehen und gegebenenfalls auf eine Fehlfunktionalitat des Programms ruckschließen kann. Diese handische Maßnahme ist bei einem hinreichend großen Programm mit zahlreichen Unterprogrammen äußerst umständlich und zeitraubend. Weiterhin erfolgt eine Auswertung der Debuginformation hauptsachlich offline, also nicht zur Laufzeit des Programms. Ist das Programm Teil eines verteilten Systems ist eine übersichtliche handische Überwachung nicht mehr koordinierbar.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. This manual measure is extremely cumbersome and time-consuming with a sufficiently large program with numerous sub-programs. Furthermore, 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.
Die Aufgabe der Erfindung besteht darin, ein Verfahren und eine Anordnung zur Überwachung eines Programms anzugeben, das bzw. die auch zur Laufzeit des Programms, insbesondere m einem verteilten System, eine effiziente Überwachung ermöglicht. Gerade für eine Vielzahl von Programmen ist eine derartige Überwachung anhand vorliegender Erfindung machbar.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.
Diese Aufgabe wird gemäß den Merkmalen der unabhängigen Patentansprüche gelost. Weiterbildungen der Erfindung ergeben sich auch aus den abhangigen Ansprüchen.This object is achieved according to the features of the independent claims. Further developments of the invention also result from the dependent claims.
Zur Losung der Aufgabe wird ein Verfahren zur Überwachung eines Programms angegeben, bei dem das Programm um einen Instrumentierungsteil erweitert wird. Der Instrumentierungsteil generiert eine Nachricht und übermittelt diese Nachricht an einen Uberwachungsprozeß . Der Uberwachungsprozeß leitet eine vorgegebene Aktion ein. Ein Instrumentierungsteil ist ein Programmteil oder ein (Programm-) Code (fragment) , das mit dem zu überwachenden Programm verbunden wird. Diese Verbindung kann dadurch erfolgen, daß der Instrumentierungsteil m das Programm selbst oder m eine mit dem Programm assoziierte Funktion eingebettet wird. Beispielsweise kann das Programm selbst an einigen Stellen instrumentiert werden, deren jede dann an den Uberwachungsprozeß bei bestimmten Ereignissen Nachrichten schickt. Gleichzeitig konnte eine Ausgaberoutine desTo solve the problem, 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. At the same time, an output routine of the
Programms instrumentiert werden, so daß zusatzlich zur normalen (also ohne Instrumentierung) Ausgabe des Programms weitere Ausgaben an den Uberwachungsprozeß geleitet werden (Instrumentieren der Eιn-/Ausgabeschnιttstelle des Programms) .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).
Der Uberwachungsprozeß übernimmt vorzugsweise die Koordination der Nachrichten die (ggf. von zahlreichen verteilten) Programmen ubersandt werden. Ferner kann der Uberwachungsprozeß über verschiedene Aktionen verfugen, die er als Folge der Nachrichten auslosen bzw. einleiten kann: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:
• So können z.B. die Nachrichten dargestellt werden. Die Darstellung erfolgt vorzugsweise abhangig von der Zeit, z.B. m Form eines Nachrichtenflußdiagramms• For example, the messages are presented. The display is preferably dependent on the time, e.g. m in the form of a message flow diagram
(engl.: Message Sequence Chart, MSC) . Auch Darstellungsformen als Baumstruktur oder m Form von Listen sind denkbar.(English: Sequence Chart, MSC). Forms of representation as a tree structure or in the form of lists are also conceivable.
• Weiters ist ein Eingriff m den Ablauf des Programms möglich. So konnte der Instrumentierungsteil veranlassen, daß erst auf eine Antwort von dem Uberwachungsprozeß zu warten ist, ehe das Programm selbst fortgesetzt wird. Diese Antwort kann von einem Benutzer/Programmierer vorgenommen werden oder automatisch abhangig von bestimmten Vorgaben erfolgen (IF-THEN-ELSE-Konstruktion) . Der automatisierte Ablauf kann als eigenes Unterprogramm, koordiniert durch den Uberwachungsprozeß, ablaufen.• It is also possible to intervene in the course of the program. The instrumentation section was thus able to arrange for a response from the monitoring process to be waited for before the program itself is continued. This answer can be made by a user / programmer or automatically depending on certain specifications (IF-THEN-ELSE construction). The automated one The process can run as a separate subroutine, coordinated by the monitoring process.
• Auch ist es möglich, daß die Aktion einer Steuerungs- oder Regelungsaufgabe entspricht. Ein Beispiel wäre ein Zu- bzw. Abschalten einer Einheit eines technischen Systems, sobald bestimmte Vorgaben erfüllt sind bzw. an den Uberwachungsprozeß gemeldet wurden.• It is also possible that the action corresponds to a control or regulation task. An example would be switching a unit of a technical system on or off as soon as certain requirements have been met or have been reported to the monitoring process.
Vorteile des hier vorgestellten Verfahrens sind die Möglichkeit der Überwachung des Programms zu seiner Laufzeit. Durch die Instrumentierung ist sichergestellt, daß auch wahrend der Laufzeit bestimmte Ereignisse in Form von Nachrichten an den Uberwachungsprozeß gemeldet werden. Dort werden diese Nachrichten gesammelt und geeignet aufbereitet. Insbesondere kann der Uberwachungsprozeß anhand einer Filterfunktion sicherstellen, daß nur diejenigen Nachrichten dargestellt oder berücksichtigt werden, die auch tatsachlich den gefilterten Vorgaben entsprechen. Weiterhin ist die Emsatzmoglichkeit m einem verteilten System ein entscheidender Vorteil. Die unübersichtliche Interaktion vieler verschiedener Programme m dem verteilten System macnt eine Fehlersuche schwierig. Die Übermittlung von Nachrichten an den Uberwachungsprozeß von jedem instrumentierten (auch verteilten) Programm vieler verschiedener Programme, die nicht alle auf derselben Rechnerplattform ablaufen, ermöglicht - nach geeigneter Filterung und/oder Aufbereitung, z.B. anhand eines Nachrichtenflußdiagramms - die Wahrung einer Übersicht, so daß eine Verfolgung bestimmter Aktion m dem verteilten System und die damit verbundene Fehlersuche deutlich erleichtert werden.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. In particular, 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. Furthermore, 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.
Hierbei sei angemerkt, daß oben beschriebenes Programm durchaus auch je ein Teil eines zusammenhangendes Programms oder eine mit dem Programm verknüpfte (assoziierte) Funktion sein kann. Besonders von Vorteil ist es, wenn eine mit dem zu überwachenden Programm assoziierte 'Middleware' instrumentiert wird. In diesem Fall kann zentral eine Funktionalität, derer sich das Programm bedient, instrumentiert werden. Dies ist gerade deshalb von herausragendem Vorteil, weil so bspw. nicht alle Ein-/Ausgaberoutinen m dem Programm instrumentiert werden müssen, sondern statt dessen die eine zugehörige Routine in der Middleware instrumentiert wird. Dies entspricht gerade der Instrumentierung aller Em-/Ausgaberoutmen m dem zu überwachenden Programm. Die tatsachliche Erweiterung der einen Stelle m der Middleware ist äußerst ökonomisch, da nicht das ganze zu überwachende Programm nach besagten Routinen durchsucht werden muß. Die Änderung derIt should be noted here that the above-described program can also be part of a related program or a function (linked) associated with the program. Especially advantageous is when a berwachenden with the above program to associates 'middleware' is instrumented. In this case, 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. The change in
Instrumentierung kann zentral an einer Stelle für alle betroffenen Routinen erfolgen (Kapselung der Schnittstelle) . Ferner ist diese Art der Instrumentierung sehr flexibel und erweiterbar. Ändert sich das zu überwachende Programm, ist die Instrumentierung für das nächste zu überwachende Programm hinsichtlich der betroffenen Routinen (hier als Beispiel die Eιn-/Ausgaberoutmen) bereits fertiggestellt.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.
Insbesondere werden m einem verteilten System, also m einem System, das mehrere Rechner aufweist, die über ein Netzwerk miteinander verbunden sind, die folgenden Mechanismen m dem Programm überwacht:In particular, the following mechanisms are monitored in the program in a distributed system, that is to say in a system which has a plurality of computers which are connected to one another via a network:
• Nachrichtenübermittlung (engl.: message passmg, task to task) :• Message transmission (task to task):
Ein Empfanger (Programm oder Prozeß) wartet auf eine Nachricht. Er kann erst weitermachen, wenn die Nachricht von einem Sender übermittelt worden ist.A recipient (program or process) is waiting for a message. He can only continue when the message has been transmitted by a sender.
• Remote Procedure Call (RPC) :Remote Procedure Call (RPC):
Beispielsweise versucht ein Prozeß auf einem anderen Rechner ("remote") ein Programm zu starten. Der Prozeß wartet solange, bis auf dem "remote"-Rechner die Bearbeitung beendet ist. Im Normalfall erhalt der Prozeß eine Benachrichtung über Erfolg oder Mißerfolg der Bearbeitung.For example, a process on a different computer ("remote") tries to start a program. The The process waits until processing on the "remote" computer has ended. Normally, the process receives notification of the success or failure of the processing.
• Kontrollfluß (engl.: task join) :• Control flow (task join):
Ein Prozeß wird einem anderen Prozeß hinzugefugt. Der hinzugefugte Prozeß ist von da an nicht langer existent .One process is added to another process. From then on the added process no longer exists.
Liegt ein verteiltes System vor, das aus mehreren Rechnern besteht, so ist jedes System für sich eigenständig und verfugt z.B. über eine eigene Systemuhr. Um eine semantische Korrektheit sicherzustellen ist es wichtig, Plausibilitat, z.B. den Zeitstempel der jeweiligen Nachrichten, zu überprüfen. Jede verschickte Nachricht erhalt insbesondere einen Zeltstempel, der zur Synchronisation einsetzbar ist. So kann es vorkommen, daß die Übermittlung einer Nachricht eine bestimmte Zeitdauer benotigt und bei der Darstellung m dem Uberwachungsprozeß bei mehreren Nachrichten die zeitliche Abfolge geklart werden muß. Gehen die Systemuhren der einzelnen Systeme nicht gleich (wovon m der Regel auszugehen ist), so wird von dem Uberwachungsprozeß die richtige zeitliche Abfolge der gesendeten Nachrichten bestimmt. Dies geschieht insbesondere mittels einer Heuristik, die überprüft, ob eine Annahme korrekt ist oder nicht. Ist dies der Fall, so wird die zuletzt ermittelte zeitliche Abfolge übernommen, im anderen Fall wird eine nächste Annahme überprüft. Die Überprüfung basiert auf einer Semantik der Nachrichten: So kann eine Antwort nicht vor einer Anfrage eingehen. Dies laßt Rückschlüsse auf die Verhaltnisse der beiden mvolvierten Systemuhren zu. Es wird ein zeitlicher Offset bestimmt, der eine Plausibilitat der Systemuhren erfüllt. Der Offset kann angepaßt werden, sobald eine weitere Systemuhr mit einem Bezug zu mindestens einer der beiden bestimmten Systemuhren berücksichtigt werden muß. Das oben beschriebene Verfahren ist bevαrzugt einsetzbar zum Testen, Steuern und Warten des Programms bzw. eines mit dem Programm assoziierten technischen Systems.If there is a distributed system that consists of several computers, each system is independent and has, for example, its own system clock. In order to ensure semantic correctness, 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. If this is the case, the last determined time sequence is adopted, in the other case a next assumption is checked. The check is based on the semantics of the messages: This means that a reply cannot be received before a request. This allows conclusions to be drawn about the relationships between the two system clocks involved. 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.
Auch wird zur Losung der Aufgabe eine Anordnung zum Überwachen eines Programms angegeben, bei der eine Prozessoreinheit vorgesehen ist, die derart eingerichtet ist, daß a) das Programm um einen Instrumentierungsteil erweiterbar ist; b) der Instrumentierungsteil eine Nachricht generiert und an einen Uberwachungsprozeß übermittelt; c) der Uberwachungsprozeß eine Aktion auslost.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.
Diese Anordnung ist insbesondere geeignet zur Durchfuhrung des erfmdungsgemaßen Verfahrens oder einer seiner vorstehend erläuterten Weiterbildungen.This arrangement is particularly suitable for carrying out the method according to the invention or one of its developments explained above.
Ausfuhrungsbeispiele der Erfindung werden nachfolgend anhand der Zeichnung dargestellt und erläutert.Exemplary embodiments of the invention are illustrated and explained below with reference to the drawing.
Es zeigenShow it
Fig.l ein Blockdiagramm mit logischen Komponenten zum Überwachen eines Programms;Fig.l is a block diagram with logical components for monitoring a program;
Fig.2 verschiedene Darstellungen von zu überwachenden Mechanismen eines verteilten Systems;2 shows various representations of mechanisms to be monitored in a distributed system;
Fig.3 eine Prozessoreinheit.3 shows a processor unit.
Fig.l zeigt ein Blockdiagramm mit logischen Komponenten zum Überwachen eines Programms. Das zu überwachende Programm 101 ist mit einer Filterfunktionalitat 102 und einerFig.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
Instrumentierung 103 versehen. Der oben vielfach erwähnte Uberwachungsprozeß umfaßt die Blocke Ereignisgenerator 104 (engl.: "Event Generator"), Ereignismanager 109 (engl.: "Event Manager") und die verschiedenen Darstellungsmoglichkeiten 115 bis 120 (engl.: "Views").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 ").
Der Ereignisgenerator 104 enthalt einen Parser 105, zwei Nachπchtenschnittstellen 106 und 107 und eine Datei 108) . Der Ereignismanager 109 umfaßt eine Verbindungseinheit 110 (engl.: "Merger"), eine Ereignisliste 111 (engl.: "Trace Event List"), ein Filteremheit 112 und eine gefilterte Liste 113. Eine Auswahl des jeweiligen Eintrags innerhalb der gefilterten Liste 113 erfolgt über eine Navigationseinheit 114 (engl. : "Stepper") .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").
Die Filterfunktionalitat 102 ist vorgesehen zur Selektion bestimmter für die jeweilige Anwendung interessierenderThe filter functionality 102 is provided for the selection of certain ones of interest for the respective application
Instrumentierungsteile der Instrumentation 103. Das Ergebnis der Instrumentierung, die Nachrichten, werden an eine Kommunikationsschnittstelle "Socket" 107 übermittelt oder m eine Datei 108 geschrieben. Die eingehenden Nachrichten werden dem Parser 105 aufbereitet und an dieInstrumentation 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
Verbindungseinheit 110 übermittelt. Dort werden die vom Parser 105 erhaltenen Eintrage der Nachrichten m einer Liste 111 abgelegt. Insbesondere erfolgt hier auch die semantische Überprüfung der den Nachrichten anhaftenden Zeltstempel. Optional erfolgt Block 112 eine Filterung aller von der Verbindungseinheit 110 der Liste 111 abgelegten Nachrichten nach bestimmten Vorgaben. Das Ergebnis ist die gefilterte Liste 113, deren Eintrage mittels Navigationseinheit 114 auswahlbar sind.Connection unit 110 transmitted. The entries of the messages received by the parser 105 are stored there in a list 111. In particular, the semantic check of the tent stamps attached to the messages is also carried out here. 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.
Die Navigationseinheit 114 dient als Interaktionsmedium für den Benutzer. Dort können Eingaben erfolgen, die über die Kommunikationsschnittstelle 106 des Ereignisgenerators 104 an den instrumentierten Programmteil 103 weitergeleitet werden. Insbesondere ist durch diese Interaktion ein Zusammenspiel von Programm und Instrumentierung möglich. Die Interaktion kann durch Eingabe des Benutzers oder alternativ über eine Vorschrift nach dem Schema "immer wenn ... dann ..." erfolgen. Weiterhin kann eine Aktion 121 durchgeführt werden, die ausgehend von dem Uberwachungsprozeß zu einer externen Steuerung oder einem sonstigen externen Eingriff fuhrt.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.
Die gefilterte Liste 113 kann m unterschiedlichen Darstellungen 115 bis 120 aufbereitet werden. Die Daten der gefilterten Liste 113 können dargestellt werden alsThe filtered list 113 can be prepared in m different representations 115 to 120. The data of the filtered list 113 can be represented as
• Liste (Block 115) ,List (block 115),
• hierarchisch sortierte Ansicht (z.B. nach Rechnern oder Struktur von Programmen und Prozessen, Block 116), • Nachrichtenflußdiagramm (MSC, Block 117), wobei eine vorgegebene Gruppierung berücksichtigt werden kann,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,
• detaillierte Ansicht (zu jeder Nachricht gibt es eine Reihe von Informationen betreffend Sender, Empfanger, Zeltstempel, Nachrichtenmhalt, etc.; Block 118), • Liste der vom Benutzer durchgeführten Eingaben (Block 119) ,Detailed view (for each message there is a range of information relating to the sender, recipient, tent stamp, message content, etc .; block 118), • list of the entries made by the user (block 119),
• Testreport (Block 120) .• Test report (block 120).
Aus Fig.2 gehen verschiedene Darstellungen von zu überwachenden Mechanismen eines verteilten Systems hervor.2 shows various representations of the mechanisms of a distributed system to be monitored.
Fig.2 ist dazu dreigeteilt m die Figuren 2A, 2B und 2C. Die jeweilige horizontale Linie bezeichnet die Zeitachse t.For this purpose, FIG. 2 is divided into three parts, FIGS. 2A, 2B and 2C. The respective horizontal line denotes the time axis t.
In Fιg.2A ist die Nachrichtenübermittlung dargestellt. Ein Sender 201 setzt zu einem Zeitpunkt tl eine Nachricht ab, die zu einem Zeitpunkt t2 bei einem Empfanger 202 ankommt. Bereits zu einem Zeitpunkt t3 hat der Empfanger 203 damit begonnen auf diese Nachricht zu warten. Bis zu dem Zeitpunkt t2 hat er gewartet, jetzt setzt der Empfanger 202 die Arbeit fort. Fig.2B zeigt den Mechanismus "Remote Procedure Call, RPC". Zu einem Zeitpunkt t4 setzt ein Prozeß 203 an einen Adressaten 204 eine Meldung "CLIENT_BEGIN (Call object . ethod ( ... ) " ab. Diese Nachricht kommt zu einem Zeitpunkt t5 bei dem Adressaten 204 an, der vorzugsweise eine eigener Rechner, fern von dem Rechner auf dem der Prozeß 203 abläuft, ist. Der Adressat 204 veranlaßt zu diesem Zeitpunkt t5 mit dem Befehl "SERVER_BEGIN" die Ausführung des übermittelten Kommandos. Zu einem Zeitpunkt t6 ist die Ausführung bei Adressaten 204 beendet, die Arbeit wird eingestellt ( "SERVER_END" ) und das Ergebnis "res" an den Prozeß 203 zurückgeschickt ("Return res=obj .meth (...)") . Zu einem Zeitpunkt t7 kommt das Ergebnis bei dem Prozeß 203 an, der RPC wird mit dem Befehl "CLIENT_END" beendet. Der Prozeß hat von t4 bis t7 gewartet und setzt jetzt mit dem auf dem Adressaten 204 ermittelten Ergebnis "res" seine Bearbeitung fort.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. At a time t3, 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. At a time t4, a process 203 sends a message "CLIENT_BEGIN (Call object. Method (...)" 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. At this point in time t5, addressee 204 initiates the execution of the transmitted command with the command "SERVER_BEGIN"") and the result" res "sent back to process 203 (" Return res = obj .meth (...) "). At a time t7, 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.
Ein Beispiel für einen Kontrollfluß ist in Fig.2C dargestellt. Dabei sollen zwei Prozesse miteinander verbunden werden ("Task Join") . Zu einem Zeitpunkt t8 wird von einemAn example of a control flow is shown in Figure 2C. Two processes are to be linked together ("task join"). At a time t8 a
Prozeß Taskl 205 ein Kommando "JOIN_REQUEST" zu einem Prozeß Task2 206 geschickt. Dort angekommen, bewirkt zu einem Zeitpunkt t9 ein Kommando "JOIN_START" , daß bis zu einem Zeitpunkt tlO der Prozeß Task2 206 die Verknüpfung mit dem Prozeß Taskl 205 durchführt. Zu dem Zeitpunkt tlO erfolgt mit dem Kommando "JOIN_DONE" eine Rückkehr zu dem Prozeß Taskl 205, der zu einem Zeitpunkt tll mit einem Kommando "JOIN END" die Arbeit wiederaufnimmt. Der Prozeß Taskl 205 hat von t8 bis tll gewartet, der Prozeß Task2 206 ist nach tlO beendet.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.
Die Figuren 2A, 2B und 2C veranschaulichen unterschiedliche Mechanismen, die in einem verteilten System beobachtet werden können, um einen Überblick über die Interaktion von verteilt ablaufenden Programmen und Prozessen zu erhalten. Gerade bei der Fehlersuche oder bei Wartungsarbeiten ist es von unschätzbarem Vorteil, an der interprozessualen Schnittstelle Aktionen mitverfolgen zu können. In Fig.3 ist eine Prozessoreinheit PRZE dargestellt. Die Prozessoreinheit PRZE umfaßt einen Prozessor CPU, einen Speicher SPE und eine Input/Output-Schnittstelle IOS, die über ein Interface IFC auf unterschiedliche Art und Weise genutzt wird: Über eine Grafikschnittstelle wird eine Ausgabe auf einem Monitor MON sichtbar und/oder auf einem Drucker PRT ausgegeben. Eine Eingabe erfolgt über eine Maus MAS oder eine Tastatur TAST. Auch verfügt die Prozessoreinheit PRZE über einen Datenbus BUS, der die Verbindung von einem SpeicherFIGS. 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
MEM, dem Prozessor CPU und der Input/Output-Schnittstelle IOS gewährleistet. Weiterhin sind an den Datenbus BUS zusätzliche Komponenten anschließbar, z.B. zusätzlicher Speicher, Datenspeicher (Festplatte) oder Scanner. MEM, the processor CPU and the input / output interface IOS guaranteed. Furthermore, additional components can be connected to the data bus BUS, e.g. additional memory, data storage (hard disk) or scanner.

Claims

Patentansprüche claims
1. Verfahren zum Überwachen eines Programms, a) bei dem das Programm um einen Instrumentierungsteil erweitert wird; b) bei dem der Instrumentierungsteil eine Nachricht generiert und an einen Überwachungsprozeß übermittelt; c) bei dem der Überwachungsprozeß eine Aktion auslöst.1. Procedure for monitoring a program, a) in which the program is expanded by an instrumentation part; b) in which the instrumentation part generates a message and transmits it to a monitoring process; c) in which the monitoring process triggers an action.
2. Verfahren nach Anspruch 1, bei dem die Aktion eine der folgenden Möglichkeiten umfaßt : d) Darstellung der Nachricht; e) Eingriff in den Ablauf des Programms; f) Steuerung und/oder Regelung einer mit dem Programm assoziierten Einheit.2. The method of claim 1, wherein the action comprises one of the following: d) displaying the message; e) intervention in the running of the program; f) Control and / or regulation of a unit associated with the program.
3. Verfahren nach Anspruch 1 oder 2, bei dem der Instrumentierungsteil nach Übermittlung der Nachricht auf eine Antwort, die von dem Überwachungsprozeß erzeugt wird, wartet.3. The method according to claim 1 or 2, wherein the instrumentation part waits for a response generated by the monitoring process after the message has been transmitted.
4. Verfahren nach Anspruch 3, bei dem die Antwort nach Eingabe eines Benutzers oder durch einen automatisierten Ablauf erstellt wird.4. The method of claim 3, wherein the response is created after input from a user or by an automated process.
5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem mehrere Nachrichten dargestellt werden als Liste, Baumdiagramm oder als ein Nachrichtenflußdiagramme (Message Sequence Chart, MSC) .5. The method according to any one of the preceding claims, in which a plurality of messages are displayed as a list, tree diagram or as a message flow diagram (Message Sequence Chart, MSC).
6. Verfahren nach einem der vorhergehenden Ansprüche, bei dem das Programm ein Teil eines größeren Programms ist . 6. The method according to any one of the preceding claims, wherein the program is part of a larger program.
. Verfahren nach einem der vorhergehenden Ansprüche, bei dem eine mit dem Programm assoziierte Funktion instrumentiert wird.. Method according to one of the preceding claims, in which a function associated with the program is instrumented.
8. Verfahren nach einem der vorhergehenden Ansprüche, bei dem eine mit dem Programm assoziierte Middleware instrumentiert wird.8. The method according to any one of the preceding claims, in which a middleware associated with the program is instrumented.
9. Verfahren nach einem der vorhergehenden Ansprüche, bei dem mindestens einer der folgenden Mechanismen überwacht wird: g) Remote Procedure Call (RPCs) , h) Nachrichtenübermittlung, l) Kontrollfluß.9. The method according to any one of the preceding claims, in which at least one of the following mechanisms is monitored: g) remote procedure call (RPCs), h) message transmission, l) control flow.
10. Verfahren nach einem der vorhergehenden Ansprüche, bei dem mehrere Programm in einem verteilten System oder em Programm, das über das System verteilt ist, überwacht wird.10. The method according to any one of the preceding claims, wherein a plurality of programs in a distributed system or a program that is distributed over the system is monitored.
11. Verfahren nach Anspruch 10, bei dem eine Überprüfung einer semantischen Korrektheit mittels vorgegebener Heuristiken erfolgt.11. The method according to claim 10, in which a check of a semantic correctness is carried out by means of predetermined heuristics.
12. Verfahren nach einem der vorhergehenden Ansprüche zum Testen, Steuern oder Warten eines technischen Systems .12. The method according to any one of the preceding claims for testing, controlling or maintaining a technical system.
13. Anordnung zum Überwachen eines Programms, bei der eine Prozessoreinheit vorgesehen ist, die derart eingerichtet ist, daß j) das Programm um einen Instrumentierungsteil erweiterbar ist; k) der Instrumentierungsteil eine Nachricht generiert und an einen Uberwachungsprozeß übermittelt; 1) der Uberwachungsprozeß eine Aktion auslost. 13. Arrangement for monitoring a program, in which a processor unit is provided which is set up in such a way that j) the program can be expanded by an instrumentation part; k) the instrumentation part generates a message and transmits it to a monitoring process; 1) the monitoring process triggers an action.
PCT/DE2000/000626 1999-03-12 2000-03-01 Program monitoring method and device WO2000055733A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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